помогите сделать зажимную активацию

killerson

Участник
Автор темы
51
0
Версия MoonLoader
.027.0-preview
нужно поменять активацию в этом скрипте с команды на зажимную на mouse4
 

Вложения

  • nospread (2).lua
    3.6 KB · Просмотры: 3
Решение
По итогу оно должно так выглядеть? Извиняюсь за тупые вопросы, я просто не очень силен в этом
Если прочесть функцию toggle_nospread, то функция лишь переключает спрейд.
если исползовать в цикл, то будет постоянно переключать

Lua:
function main()
    while true do wait(0)
        if isKeyDown(0x06) and not isPressed then
            isPressed = true
            toggle_nospread()
            sampAddChatMessage('Чит активен - пока ты держишь бро!')
        elseif not isKeyDown(0x06) and isPressed then
            isPressed = false
            toggle_nospread()
            sampAddChatMessage('Ну бро, зачем ты отпустил кнопку :(. Давай повтори!')
        end
    end
end

может так

qdIbp

Автор темы
Проверенный
1,443
1,185
А хотя в скрипт дохуя интересный, так что на, пробуй, я не тестил но должно так работать


Lua:
script_name("NoSpread")
script_version("1.0.0")
script_author("Musaigen")
-- / Libraries
local memory = require("memory")
local inicfg = require("inicfg")
-- / Config
-- Состояние, чтобы не сохранялось в конфиг.
local enabled = false

-- Настройки.
local nospread = inicfg.load({
  settings = { add_chat_messages = true, spread = 100 }
}, "nospread.ini")

local patches = {
  spread_for_non_shotguns = 0x8D6110,
  spread_for_shotguns = 0x8D611C
}

-- Константа (ID RPC).
local RPC_SERVERCOMMAND = 50

function main()
    -- Проверяем на SAMPFUNCS.
    if not isSampfuncsLoaded() then
        error("No SAMPFUNCS!")
    end

    while true do
        wait(0)
        if wasKeyPressed(4) then
            process_command_input()
        end
    end
end
-- / Events
function onSendRpc(id, bs)
    if (id == RPC_SERVERCOMMAND) then
    -- Читаем содержимое битстрима.
        local len = raknetBitStreamReadInt32(bs)
        local command = raknetBitStreamReadString(bs, len)

    -- Обрабатываем команду.
        if (command:find("^/nospr")) then
            process_command_input(command:sub(7))
            return false
        end
    end
end

-- / Functions
--- Обрабатывает ввод команды.
---@param arg string
function process_command_input(arg)
    local subcommand = string.match(arg,"%s+(%S+)")
    if not(subcommand) then
        -- Переключаем состояние.
        enabled = not enabled

        -- Информируем пользователя.
        add_chat_message("Состояние: %s{FFFFFF}.", (enabled) and
                           ("{388E3C}Включён") or ("{D32F2F}Выключен"))

        -- Устанавливаем разброс.
        return set_spread((enabled) and (nospread.settings.spread) or (100))
    elseif (subcommand == "msg") then
        nospread.settings.add_chat_messages = not nospread.settings.add_chat_messages
    elseif (subcommand == "spread") then
    -- Получаем значение и проверяем на валидность.
        local value = tonumber(string.match(arg,"%s+%S+%s+(%d+)"))
        if (value == nil) then
            return add_chat_message("Текущий разброс - {D32F2F}%d {FFFFFF}процентов.", nospread.settings.spread)
        end

        if not ((value >= 0) and (value <= 100)) then
            return add_chat_message("Укажите значение от 0 до 100.")
        end

        -- Обновляем разброс.
        nospread.settings.spread = value

        -- Устанавливаем его.
        if (enabled) then
            set_spread(value)
        end

        -- Информируем пользователя.
        add_chat_message("Установлен разброс на {D32F2F}%d{FFFFFF} процентов.", value)
    elseif (subcommand == "help") then
        add_chat_message("Без под-команды - переключение состояния. Под-команды: help / msg / spread [процент].")
    else
        return add_chat_message("Неизвестная под-команда.")
    end

    -- Сохраняем настройки.
    inicfg.save(nospread, "nospread.ini")
end

--- Устанавливает разброс для оружия.
---@param spread number
function set_spread(spread)
    local actual_spread = (spread <= 0) and (0.1) or (spread)
    local spread_for_non_shotguns = (0.75 * (spread / 100))
    local spread_for_shotguns = (0.050000001 * (actual_spread / 100))

    memory.setfloat(patches.spread_for_non_shotguns, spread_for_non_shotguns, true)
    memory.setfloat(patches.spread_for_shotguns, spread_for_shotguns, true)
end

--- Добавляет сообщение в чат.
---@param text string
---@param ... any
function add_chat_message(text, ...)
      if not (nospread.settings.add_chat_messages) then
        return
      end

  -- Форматируем строку.
  local str = ("{D32F2F}[NoSpread]:{FFFFFF} %s"):format(string.format(text, ...))
  sampAddChatMessage(str, -1) -- Отправляем сообщение.
end

function onScriptTerminate(scr)
    if (scr == script.this) then
        set_spread(100)
    end
end

не совсем понятно где оно должно быть в таком коде
в бесконечном цикле, которого нету
 

killerson

Участник
Автор темы
51
0
А хотя в скрипт дохуя интересный, так что на, пробуй, я не тестил но должно так работать


Lua:
script_name("NoSpread")
script_version("1.0.0")
script_author("Musaigen")
-- / Libraries
local memory = require("memory")
local inicfg = require("inicfg")
-- / Config
-- Состояние, чтобы не сохранялось в конфиг.
local enabled = false

-- Настройки.
local nospread = inicfg.load({
  settings = { add_chat_messages = true, spread = 100 }
}, "nospread.ini")

local patches = {
  spread_for_non_shotguns = 0x8D6110,
  spread_for_shotguns = 0x8D611C
}

-- Константа (ID RPC).
local RPC_SERVERCOMMAND = 50

function main()
    -- Проверяем на SAMPFUNCS.
    if not isSampfuncsLoaded() then
        error("No SAMPFUNCS!")
    end

    while true do
        wait(0)
        if wasKeyPressed(4) then
            process_command_input()
        end
    end
end
-- / Events
function onSendRpc(id, bs)
    if (id == RPC_SERVERCOMMAND) then
    -- Читаем содержимое битстрима.
        local len = raknetBitStreamReadInt32(bs)
        local command = raknetBitStreamReadString(bs, len)

    -- Обрабатываем команду.
        if (command:find("^/nospr")) then
            process_command_input(command:sub(7))
            return false
        end
    end
end

-- / Functions
--- Обрабатывает ввод команды.
---@param arg string
function process_command_input(arg)
    local subcommand = string.match(arg,"%s+(%S+)")
    if not(subcommand) then
        -- Переключаем состояние.
        enabled = not enabled

        -- Информируем пользователя.
        add_chat_message("Состояние: %s{FFFFFF}.", (enabled) and
                           ("{388E3C}Включён") or ("{D32F2F}Выключен"))

        -- Устанавливаем разброс.
        return set_spread((enabled) and (nospread.settings.spread) or (100))
    elseif (subcommand == "msg") then
        nospread.settings.add_chat_messages = not nospread.settings.add_chat_messages
    elseif (subcommand == "spread") then
    -- Получаем значение и проверяем на валидность.
        local value = tonumber(string.match(arg,"%s+%S+%s+(%d+)"))
        if (value == nil) then
            return add_chat_message("Текущий разброс - {D32F2F}%d {FFFFFF}процентов.", nospread.settings.spread)
        end

        if not ((value >= 0) and (value <= 100)) then
            return add_chat_message("Укажите значение от 0 до 100.")
        end

        -- Обновляем разброс.
        nospread.settings.spread = value

        -- Устанавливаем его.
        if (enabled) then
            set_spread(value)
        end

        -- Информируем пользователя.
        add_chat_message("Установлен разброс на {D32F2F}%d{FFFFFF} процентов.", value)
    elseif (subcommand == "help") then
        add_chat_message("Без под-команды - переключение состояния. Под-команды: help / msg / spread [процент].")
    else
        return add_chat_message("Неизвестная под-команда.")
    end

    -- Сохраняем настройки.
    inicfg.save(nospread, "nospread.ini")
end

--- Устанавливает разброс для оружия.
---@param spread number
function set_spread(spread)
    local actual_spread = (spread <= 0) and (0.1) or (spread)
    local spread_for_non_shotguns = (0.75 * (spread / 100))
    local spread_for_shotguns = (0.050000001 * (actual_spread / 100))

    memory.setfloat(patches.spread_for_non_shotguns, spread_for_non_shotguns, true)
    memory.setfloat(patches.spread_for_shotguns, spread_for_shotguns, true)
end

--- Добавляет сообщение в чат.
---@param text string
---@param ... any
function add_chat_message(text, ...)
      if not (nospread.settings.add_chat_messages) then
        return
      end

  -- Форматируем строку.
  local str = ("{D32F2F}[NoSpread]:{FFFFFF} %s"):format(string.format(text, ...))
  sampAddChatMessage(str, -1) -- Отправляем сообщение.
end

function onScriptTerminate(scr)
    if (scr == script.this) then
        set_spread(100)
    end
end


в бесконечном цикле, которого нету
не работает
 

klyuchik

Участник
70
8
Пырывет
Lua:
script_name("NoSpread")
script_version("1.0.0")
script_author("Musaigen")

local memory = require("memory")
local inicfg = require("inicfg")

local enabled = false

local nospread = inicfg.load({
  settings = { add_chat_messages = true, spread = 100 }
}, "nospread.ini")

local patches = {
  spread_for_non_shotguns = 0x8D6110,
  spread_for_shotguns = 0x8D611C
}

local RPC_SERVERCOMMAND = 50

function main()
  if not isSampfuncsLoaded() then
    error("No SAMPFUNCS!")
  end

  while true do
    wait(0)

    if isKeyPressed(4) then
      toggle_nospread()
    end
  end
end

function onSendRpc(id, bs)
  if (id == RPC_SERVERCOMMAND) then
    local len = raknetBitStreamReadInt32(bs)
    local command = raknetBitStreamReadString(bs, len)

    if (command:find("^/nospr")) then
      process_command_input(command:sub(7))
      return false
    end
  end
end

function onScriptTerminate(scr)
  if (scr == script.this) then
    set_spread(100)
  end
end

function toggle_nospread()
  enabled = not enabled
  add_chat_message("Носприд: %s{FFFFFF}.", (enabled) and ("{388E3C}Включен") or ("{D32F2F}Выключен"))
  return set_spread((enabled) and (nospread.settings.spread) or (100))
end

function process_command_input(arg)
  local subcommand = arg:match("%s+(%S+)")
  if not subcommand then
    enabled = not enabled
    add_chat_message("Носприд: %s{FFFFFF}.", (enabled) and ("{388E3C}Включен") or ("{D32F2F}Выключен"))
    return set_spread((enabled) and (nospread.settings.spread) or (100))
  elseif subcommand == "msg" then
    nospread.settings.add_chat_messages = not nospread.settings.add_chat_messages
  elseif subcommand == "spread" then
    local value = tonumber(arg:match("%s+%S+%s+(%d+)"))
    if value == nil then
      return add_chat_message("Текущий спред - {D32F2F}%d {FFFFFF}единиц.", nospread.settings.spread)
    end
    if not ((value >= 0) and (value <= 100)) then
      return add_chat_message("Значение спреда должно быть от 0 до 100.")
    end
    nospread.settings.spread = value
    if enabled then
      set_spread(value)
    end
    add_chat_message("Спред установлен на {D32F2F}%d{FFFFFF} единиц.", value)
  elseif subcommand == "help" then
    add_chat_message("Доступные команды: help / msg / spread [значение].")
  else
    return add_chat_message("Неизвестная команда.")
  end

  inicfg.save(nospread, "nospread.ini")
end

function set_spread(spread)
  local actual_spread = (spread <= 0) and (0.1) or (spread)
  local spread_for_non_shotguns = (0.75 * (spread / 100))
  local spread_for_shotguns = (0.050000001 * (actual_spread / 100))

  memory.setfloat(patches.spread_for_non_shotguns, spread_for_non_shotguns, true)
  memory.setfloat(patches.spread_for_shotguns, spread_for_shotguns, true)
end

function add_chat_message(text, ...)
  if not nospread.settings.add_chat_messages then
    return
  end

  local str = string.format("{D32F2F}[NoSpread]:{FFFFFF} %s", text:format(...))
  sampAddChatMessage(str, -1)
end
 
Последнее редактирование:

killerson

Участник
Автор темы
51
0
Пырывет
Lua:
script_name("NoSpread")
script_version("1.0.0")
script_author("Musaigen")

local memory = require("memory")
local inicfg = require("inicfg")

local enabled = false

local nospread = inicfg.load({
  settings = { add_chat_messages = true, spread = 100 }
}, "nospread.ini")

local patches = {
  spread_for_non_shotguns = 0x8D6110,
  spread_for_shotguns = 0x8D611C
}

local RPC_SERVERCOMMAND = 50

function main()
  if not isSampfuncsLoaded() then
    error("No SAMPFUNCS!")
  end

  while true do
    wait(0)

    if isKeyPressed(4) then
      toggle_nospread()
    end
  end
end

function onSendRpc(id, bs)
  if (id == RPC_SERVERCOMMAND) then
    local len = raknetBitStreamReadInt32(bs)
    local command = raknetBitStreamReadString(bs, len)

    if (command:find("^/nospr")) then
      process_command_input(command:sub(7))
      return false
    end
  end
end

function onScriptTerminate(scr)
  if (scr == script.this) then
    set_spread(100)
  end
end

function toggle_nospread()
  enabled = not enabled
  add_chat_message("Носприд: %s{FFFFFF}.", (enabled) and ("{388E3C}Включен") or ("{D32F2F}Выключен"))
  return set_spread((enabled) and (nospread.settings.spread) or (100))
end

function process_command_input(arg)
  local subcommand = arg:match("%s+(%S+)")
  if not subcommand then
    enabled = not enabled
    add_chat_message("Носприд: %s{FFFFFF}.", (enabled) and ("{388E3C}Включен") or ("{D32F2F}Выключен"))
    return set_spread((enabled) and (nospread.settings.spread) or (100))
  elseif subcommand == "msg" then
    nospread.settings.add_chat_messages = not nospread.settings.add_chat_messages
  elseif subcommand == "spread" then
    local value = tonumber(arg:match("%s+%S+%s+(%d+)"))
    if value == nil then
      return add_chat_message("Текущий спред - {D32F2F}%d {FFFFFF}единиц.", nospread.settings.spread)
    end
    if not ((value >= 0) and (value <= 100)) then
      return add_chat_message("Значение спреда должно быть от 0 до 100.")
    end
    nospread.settings.spread = value
    if enabled then
      set_spread(value)
    end
    add_chat_message("Спред установлен на {D32F2F}%d{FFFFFF} единиц.", value)
  elseif subcommand == "help" then
    add_chat_message("Доступные команды: help / msg / spread [значение].")
  else
    return add_chat_message("Неизвестная команда.")
  end

  inicfg.save(nospread, "nospread.ini")
end

function set_spread(spread)
  local actual_spread = (spread <= 0) and (0.1) or (spread)
  local spread_for_non_shotguns = (0.75 * (spread / 100))
  local spread_for_shotguns = (0.050000001 * (actual_spread / 100))

  memory.setfloat(patches.spread_for_non_shotguns, spread_for_non_shotguns, true)
  memory.setfloat(patches.spread_for_shotguns, spread_for_shotguns, true)
end

function add_chat_message(text, ...)
  if not nospread.settings.add_chat_messages then
    return
  end

  local str = string.format("{D32F2F}[NoSpread]:{FFFFFF} %s", text:format(...))
  sampAddChatMessage(str, -1)
end
[20:18:04.067347] (error) NoSpread: D:\GTA San Andreas Clear\moonloader\nospread.lua:29: attempt to call global 'isKeyPressed' (a nil value)
stack traceback:
D:\GTA San Andreas Clear\moonloader\nospread.lua: in function <D:\GTA San Andreas Clear\moonloader\nospread.lua:21>
[20:18:04.067347] (error) NoSpread: Script died due to an error. (17979DC4)
 

klyuchik

Участник
70
8
[20:18:04.067347] (error) NoSpread: D:\GTA San Andreas Clear\moonloader\nospread.lua:29: attempt to call global 'isKeyPressed' (a nil value)
stack traceback:
D:\GTA San Andreas Clear\moonloader\nospread.lua: in function <D:\GTA San Andreas Clear\moonloader\nospread.lua:21>
[20:18:04.067347] (error) NoSpread: Script died due to an error. (17979DC4)
Lua:
script_name("NoSpread")
script_version("1.0.0")
script_author("Musaigen")

local memory = require("memory")
local inicfg = require("inicfg")

local enabled = false

local nospread = inicfg.load({
  settings = { add_chat_messages = true, spread = 100 }
}, "nospread.ini")

local patches = {
  spread_for_non_shotguns = 0x8D6110,
  spread_for_shotguns = 0x8D611C
}

local RPC_SERVERCOMMAND = 50

function isKeyPressed(key)
  return getGameKeys():isPressed(key)
end

function main()
  if not isSampfuncsLoaded() then
    error("No SAMPFUNCS!")
  end

  while true do
    wait(0)

    if isKeyPressed(4) then
      toggle_nospread()
    end
  end
end

function onSendRpc(id, bs)
  if (id == RPC_SERVERCOMMAND) then
    local len = raknetBitStreamReadInt32(bs)
    local command = raknetBitStreamReadString(bs, len)

    if (command:find("^/nospr")) then
      process_command_input(command:sub(7))
      return false
    end
  end
end

function onScriptTerminate(scr)
  if (scr == script.this) then
    set_spread(100)
  end
end

function toggle_nospread()
  enabled = not enabled
  add_chat_message("Носприд: %s{FFFFFF}.", (enabled) and ("{388E3C}Включен") or ("{D32F2F}Выключен"))
  return set_spread((enabled) and (nospread.settings.spread) or (100))
end

function process_command_input(arg)
  local subcommand = arg:match("%s+(%S+)")
  if not subcommand then
    enabled = not enabled
    add_chat_message("Носприд: %s{FFFFFF}.", (enabled) and ("{388E3C}Включен") or ("{D32F2F}Выключен"))
    return set_spread((enabled) and (nospread.settings.spread) or (100))
  elseif subcommand == "msg" then
    nospread.settings.add_chat_messages = not nospread.settings.add_chat_messages
  elseif subcommand == "spread" then
    local value = tonumber(arg:match("%s+%S+%s+(%d+)"))
    if value == nil then
      return add_chat_message("Текущий спред - {D32F2F}%d {FFFFFF}единиц.", nospread.settings.spread)
    end
    if not ((value >= 0) and (value <= 100)) then
      return add_chat_message("Значение спреда должно быть от 0 до 100.")
    end
    nospread.settings.spread = value
    if enabled then
      set_spread(value)
    end
    add_chat_message("Спред установлен на {D32F2F}%d{FFFFFF} единиц.", value)
  elseif subcommand == "help" then
    add_chat_message("Доступные команды: help / msg / spread [значение].")
  else
    return add_chat_message("Неизвестная команда.")
  end

  inicfg.save(nospread, "nospread.ini")
end

function set_spread(spread)
  local actual_spread = (spread <= 0) and (0.1) or (spread)
  local spread_for_non_shotguns = (0.75 * (spread / 100))
  local spread_for_shotguns = (0.050000001 * (actual_spread / 100))

  memory.setfloat(patches.spread_for_non_shotguns, spread_for_non_shotguns, true)
  memory.setfloat(patches.spread_for_shotguns, spread_for_shotguns, true)
end

function add_chat_message(text, ...)
  if not nospread.settings.add_chat_messages then
    return
  end

  local str = string.format("{D32F2F}[NoSpread]:{FFFFFF} %s", text:format(...))
  sampAddChatMessage(str, -1)
end
 

killerson

Участник
Автор темы
51
0
Lua:
script_name("NoSpread")
script_version("1.0.0")
script_author("Musaigen")

local memory = require("memory")
local inicfg = require("inicfg")

local enabled = false

local nospread = inicfg.load({
  settings = { add_chat_messages = true, spread = 100 }
}, "nospread.ini")

local patches = {
  spread_for_non_shotguns = 0x8D6110,
  spread_for_shotguns = 0x8D611C
}

local RPC_SERVERCOMMAND = 50

function isKeyPressed(key)
  return getGameKeys():isPressed(key)
end

function main()
  if not isSampfuncsLoaded() then
    error("No SAMPFUNCS!")
  end

  while true do
    wait(0)

    if isKeyPressed(4) then
      toggle_nospread()
    end
  end
end

function onSendRpc(id, bs)
  if (id == RPC_SERVERCOMMAND) then
    local len = raknetBitStreamReadInt32(bs)
    local command = raknetBitStreamReadString(bs, len)

    if (command:find("^/nospr")) then
      process_command_input(command:sub(7))
      return false
    end
  end
end

function onScriptTerminate(scr)
  if (scr == script.this) then
    set_spread(100)
  end
end

function toggle_nospread()
  enabled = not enabled
  add_chat_message("Носприд: %s{FFFFFF}.", (enabled) and ("{388E3C}Включен") or ("{D32F2F}Выключен"))
  return set_spread((enabled) and (nospread.settings.spread) or (100))
end

function process_command_input(arg)
  local subcommand = arg:match("%s+(%S+)")
  if not subcommand then
    enabled = not enabled
    add_chat_message("Носприд: %s{FFFFFF}.", (enabled) and ("{388E3C}Включен") or ("{D32F2F}Выключен"))
    return set_spread((enabled) and (nospread.settings.spread) or (100))
  elseif subcommand == "msg" then
    nospread.settings.add_chat_messages = not nospread.settings.add_chat_messages
  elseif subcommand == "spread" then
    local value = tonumber(arg:match("%s+%S+%s+(%d+)"))
    if value == nil then
      return add_chat_message("Текущий спред - {D32F2F}%d {FFFFFF}единиц.", nospread.settings.spread)
    end
    if not ((value >= 0) and (value <= 100)) then
      return add_chat_message("Значение спреда должно быть от 0 до 100.")
    end
    nospread.settings.spread = value
    if enabled then
      set_spread(value)
    end
    add_chat_message("Спред установлен на {D32F2F}%d{FFFFFF} единиц.", value)
  elseif subcommand == "help" then
    add_chat_message("Доступные команды: help / msg / spread [значение].")
  else
    return add_chat_message("Неизвестная команда.")
  end

  inicfg.save(nospread, "nospread.ini")
end

function set_spread(spread)
  local actual_spread = (spread <= 0) and (0.1) or (spread)
  local spread_for_non_shotguns = (0.75 * (spread / 100))
  local spread_for_shotguns = (0.050000001 * (actual_spread / 100))

  memory.setfloat(patches.spread_for_non_shotguns, spread_for_non_shotguns, true)
  memory.setfloat(patches.spread_for_shotguns, spread_for_shotguns, true)
end

function add_chat_message(text, ...)
  if not nospread.settings.add_chat_messages then
    return
  end

  local str = string.format("{D32F2F}[NoSpread]:{FFFFFF} %s", text:format(...))
  sampAddChatMessage(str, -1)
end
[00:22:55.256326] (error) NoSpread: D:\GTA San Andreas Clear\moonloader\nospread.lua:22: attempt to call global 'getGameKeys' (a nil value)
stack traceback:
D:\GTA San Andreas Clear\moonloader\nospread.lua: in function 'isKeyPressed'
D:\GTA San Andreas Clear\moonloader\nospread.lua:33: in function <D:\GTA San Andreas Clear\moonloader\nospread.lua:25>
[00:22:55.256326] (error) NoSpread: Script died due to an error. (1796B5B4)
 

kyrtion

Известный
1,056
379
function isKeyPressed(key) return getGameKeys():isPressed(key) end
Мы вам не роблоксеры
1736892921938.png


И такс,
[20:18:04.067347] (error) NoSpread: D:\GTA San Andreas Clear\moonloader\nospread.lua:29: attempt to call global 'isKeyPressed' (a nil value)
stack traceback:
D:\GTA San Andreas Clear\moonloader\nospread.lua: in function <D:\GTA San Andreas Clear\moonloader\nospread.lua:21>
[20:18:04.067347] (error) NoSpread: Script died due to an error. (17979DC4)
Попробуй заменить на isKeyJustPressed, исполняет один раз на 1 кнопку. Если постоянно то isKeyDown
 
  • Нравится
Реакции: qdIbp

killerson

Участник
Автор темы
51
0

killerson

Участник
Автор темы
51
0
Попробуйте тогда эти:
Lua:
VK_MBUTTON = 0x04
VK_XBUTTON1 = 0x05
VK_XBUTTON2 = 0x06

-- isKeyPressed(0x04) and other
isKeyDown(6) работает, но не совсем корректно, при зажатии кнопки оно быстро включается и выключается, что в целом дает эффект носприда, но он прерывчатый и после отжима кнопки он может остановиться на включенном состоянии, а я же хочу добиться того, чтобы при зажатии он включался, бесперебойно работал, пока палец находится на кнопке, а после отжатия выключался. заранее извиняюсь за такие огромные наглые запросы
isKeyJustPressed(6) работает по нажатию, а не зажатии
isKeyPressed(6) просто не работает

Все еще актуально!
 
Последнее редактирование:

kyrtion

Известный
1,056
379
при зажатии кнопки оно быстро включается и выключается, что в целом дает эффект носприда, но он прерывчатый и после отжима кнопки он может остановиться на включенном состоянии, а я же хочу добиться того, чтобы при зажатии он включался, бесперебойно работал, пока палец находится на кнопке, а после отжатия выключался
В таком случае isKeyDown постоянно проверяет на зажатие, но это постоянно, то есть ты долго удерживаешь кнопку пока не отпустишь
Один раз - isKeyJustPressed

Я понял твоей просьбы, следуем так:
Lua:
local isPressed = false

function main()
    while true do wait(0)
        if isKeyDown(0x06) and not isPressed then
            isPressed = true
            sampAddChatMessage('Чит активен - пока ты держишь бро!')
        elseif not isKeyDown(0x06) and isPressed then
            isPressed = false
            sampAddChatMessage('Ну бро, зачем ты отпустил кнопку :(. Давай повтори!')
        end
    end
end

То есть потребуется 2 проверки, наличие что кнопка активна и переменная неактивная, то нужно включить и отправить чат
В случае если отпустил кнопку, то нужно проверить что кнопка не активна и переменная должна активна - выключит и снова отправит чат