В чем проблема в скрипте?

фанат павлова

Известный
Автор темы
72
12
Вот мой скрипт, он должен вводить /time постепенно с рандомной задержкой, не чето он не фурычит, прошу помогите

up
 

Вложения

  • helper.lua
    1.6 KB · Просмотры: 4
  • settings.ini
    36 байт · Просмотры: 3
Последнее редактирование:

chapo

чопа сребдс // @moujeek
Модератор
8,868
11,576
не хватает двух end'ов
1634500939635.png




полностью рабочий код, установка задержки: /setdelay [мин.], [макс.]
Lua:
require 'lib.moonloader'
local inicfg = require 'inicfg'
local directIni = 'AutoHelper.ini'
local ini = inicfg.load(inicfg.load({
    main = {
        delay_min = 30,
        delay_max = 100,
    },
}, directIni))
inicfg.save(ini, directIni)

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('setdelay', function(arg)
        if arg:find('(%d+), (%d+)') then
            local min, max = arg:match('(%d+), (%d+)')
            local min, max = tonumber(min), tonumber(max)
            if min >= 5 and min <= 400 and max >= 5 and max <= 400 then
                ini.main.delay_min, ini.main.delay_max = min, max
                inicfg.save(ini, directIni)
                sampAddChatMessage('[AutoHelper]: Задержка установлена (мин. '..ini.main.delay_min..', макс. '..ini.main.delay_max..')', -1)
            else
                sampAddChatMessage('[AutoHelper]: Ошибка, задержка указано неверно (5 - 400)', -1)
            end
        else
            sampAddChatMessage('/setdelay [min], [max]', -1)
        end
    end)
    while true do
        wait(0)
        if isKeyDown(VK_LMENU) and wasKeyPressed(VK_1) then
            sampSetChatInputEnabled(true)
            sampSetChatInputText('')
            for i = 1, string.len('/time') do
                sampSetChatInputText(sampGetChatInputText()..string.sub('/time', i, i))
                math.randomseed(os.clock())
                wait(math.random(ini.main.delay_min, ini.main.delay_max))
            end
        end
    end
end
Lua:
require 'lib.moonloader' -- для использования VK_клавиша
local inicfg = require 'inicfg' -- подключаем модуль inicfg
local directIni = 'AutoHelper.ini' -- название файла с настройками
local ini = inicfg.load(inicfg.load({
    main = {
        delay_min = 30,
        delay_max = 100,
    },
}, directIni))
inicfg.save(ini, directIni)

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('setdelay', function(arg) -- регаем команду с аргуменом
        if arg:find('(%d+), (%d+)') then -- если после команды введен текст в формате "число, число", то...
            local min, max = arg:match('(%d+), (%d+)') -- min = первое число, max = второе число
            local min, max = tonumber(min), tonumber(max) -- переводим string в int
            if min >= 5 and min <= 400 and max >= 5 and max <= 400 then -- проверяем что задержки не менее 5 и не более 400
                ini.main.delay_min, ini.main.delay_max = min, max -- изменяем значения данным в конфике
                inicfg.save(ini, directIni) -- сохраняем изменения
                sampAddChatMessage('[AutoHelper]: Задержка установлена (мин. '..ini.main.delay_min..', макс. '..ini.main.delay_max..')', -1)
            else -- иначе (если хотя бы одна из задержек меньше 5 или больше 400), то...
                sampAddChatMessage('[AutoHelper]: Ошибка, задержка указано неверно (5 - 400)', -1)
            end
        else -- иначе (если после команды НЕ введен текст в формате "число, число"), то...
            sampAddChatMessage('/setdelay [min], [max]', -1)
        end
    end)
    while true do
        wait(0)
        if isKeyDown(VK_LMENU) and wasKeyPressed(VK_1) then -- если зажата клавиша альт и 1 раз была нажата клавиша 1, то
            sampSetChatInputEnabled(true) -- открываем чат
            sampSetChatInputText('') -- очищаем поле ввода
            for i = 1, string.len('/time') do -- перебираем все символы из текста "/time"
                sampSetChatInputText(sampGetChatInputText()..string.sub('/time', i, i)) -- добавляем к существующему тексту из поля ввода следующий символ из текста "/time"
                math.randomseed(os.clock()) -- эта строка нужна что бы рандом был действительно рандомным
                wait(math.random(ini.main.delay_min, ini.main.delay_max)) -- рандомная задержка
            end
        end
    end
 
Последнее редактирование:

фанат павлова

Известный
Автор темы
72
12
не хватает двух end'ов
Посмотреть вложение 118267



полностью рабочий код, установка задержки: /setdelay [мин.], [макс.]
Lua:
require 'lib.moonloader'
local inicfg = require 'inicfg'
local directIni = 'AutoHelper.ini'
local ini = inicfg.load(inicfg.load({
    main = {
        delay_min = 30,
        delay_max = 100,
    },
}, directIni))
inicfg.save(ini, directIni)

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('setdelay', function(arg)
        if arg:find('(%d+), (%d+)') then
            local min, max = arg:match('(%d+), (%d+)')
            local min, max = tonumber(min), tonumber(max)
            if min >= 5 and min <= 400 and max >= 5 and max <= 400 then
                ini.main.delay_min, ini.main.delay_max = min, max
                inicfg.save(ini, directIni)
                sampAddChatMessage('[AutoHelper]: Задержка установлена (мин. '..ini.main.delay_min..', макс. '..ini.main.delay_max..')', -1)
            else
                sampAddChatMessage('[AutoHelper]: Ошибка, задержка указано неверно (5 - 400)', -1)
            end
        else
            sampAddChatMessage('/setdelay [min], [max]', -1)
        end
    end)
    while true do
        wait(0)
        if isKeyDown(VK_LMENU) and wasKeyPressed(VK_1) then
            sampSetChatInputEnabled(true)
            sampSetChatInputText('')
            for i = 1, string.len('/time') do
                sampSetChatInputText(sampGetChatInputText()..string.sub('/time', i, i))
                math.randomseed(os.clock())
                wait(math.random(ini.main.delay_min, ini.main.delay_max))
            end
        end
    end
end
Lua:
require 'lib.moonloader' -- для использования VK_клавиша
local inicfg = require 'inicfg' -- подключаем модуль inicfg
local directIni = 'AutoHelper.ini' -- название файла с настройками
local ini = inicfg.load(inicfg.load({
    main = {
        delay_min = 30,
        delay_max = 100,
    },
}, directIni))
inicfg.save(ini, directIni)

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('setdelay', function(arg) -- регаем команду с аргуменом
        if arg:find('(%d+), (%d+)') then -- если после команды введен текст в формате "число, число", то...
            local min, max = arg:match('(%d+), (%d+)') -- min = первое число, max = второе число
            local min, max = tonumber(min), tonumber(max) -- переводим string в int
            if min >= 5 and min <= 400 and max >= 5 and max <= 400 then -- проверяем что задержки не менее 5 и не более 400
                ini.main.delay_min, ini.main.delay_max = min, max -- изменяем значения данным в конфике
                inicfg.save(ini, directIni) -- сохраняем изменения
                sampAddChatMessage('[AutoHelper]: Задержка установлена (мин. '..ini.main.delay_min..', макс. '..ini.main.delay_max..')', -1)
            else -- иначе (если хотя бы одна из задержек меньше 5 или больше 400), то...
                sampAddChatMessage('[AutoHelper]: Ошибка, задержка указано неверно (5 - 400)', -1)
            end
        else -- иначе (если после команды НЕ введен текст в формате "число, число"), то...
            sampAddChatMessage('/setdelay [min], [max]', -1)
        end
    end)
    while true do
        wait(0)
        if isKeyDown(VK_LMENU) and wasKeyPressed(VK_1) then -- если зажата клавиша альт и 1 раз была нажата клавиша 1, то
            sampSetChatInputEnabled(true) -- открываем чат
            sampSetChatInputText('') -- очищаем поле ввода
            for i = 1, string.len('/time') do -- перебираем все символы из текста "/time"
                sampSetChatInputText(sampGetChatInputText()..string.sub('/time', i, i)) -- добавляем к существующему тексту из поля ввода следующий символ из текста "/time"
                math.randomseed(os.clock()) -- эта строка нужна что бы рандом был действительно рандомным
                wait(math.random(ini.main.delay_min, ini.main.delay_max)) -- рандомная задержка
            end
        end
    end
Спасибо