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