нужна помощь с луа

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,345
1,092
Версия MoonLoader
.026-beta
допустим пишу команду /start и скрипт выполняет код постоянно когда команда включена
как сделать это?
прошу дать не просто скрипт написаный вами а обьяснить как это работает, спасибо <3
 
Решение
допустим пишу команду /start и скрипт выполняет код постоянно когда команда включена
как сделать это?
прошу дать не просто скрипт написаный вами а обьяснить как это работает, спасибо <3
Lua:
local act = false -- по умолчанию значение активации false (ложно)

function main() -- главная функция, вызывается при запуске скрипта
    repeat wait(0) until isSampAvailable() -- ждем, пока самп не станет доступным
    sampRegisterChatCommand("start", function() -- регистрируем команду (слэш писать не нужно)
        act = not act -- ставим значение нашей активации, противоположное прошлому
        sampAddChatMessage("скриптик "..(act and "включен" or "выключен"), -1) -- пишем, что скрипт включен или выключен
    end)
    while true do --...

UN_team

Участник
106
11
  • Bug
Реакции: Fott

kizn

О КУ)))
Всефорумный модератор
2,405
2,054
допустим пишу команду /start и скрипт выполняет код постоянно когда команда включена
как сделать это?
прошу дать не просто скрипт написаный вами а обьяснить как это работает, спасибо <3
Lua:
local act = false -- по умолчанию значение активации false (ложно)

function main() -- главная функция, вызывается при запуске скрипта
    repeat wait(0) until isSampAvailable() -- ждем, пока самп не станет доступным
    sampRegisterChatCommand("start", function() -- регистрируем команду (слэш писать не нужно)
        act = not act -- ставим значение нашей активации, противоположное прошлому
        sampAddChatMessage("скриптик "..(act and "включен" or "выключен"), -1) -- пишем, что скрипт включен или выключен
    end)
    while true do -- бесконечный цикл (выполняется все время)
        wait(0) -- в бесконечном цикле нужна минимальная задержка, иначе игра повиснет
        if act then -- если активация работает, то
            -- твои действия
        end
    end
end
 
  • Нравится
Реакции: Vintik

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,345
1,092

kizn

О КУ)))
Всефорумный модератор
2,405
2,054
шото не работает, мне надо чтоб он делал так: запускаю скрипт командой, и скрипт начинайет хуярить команду которую я впишу каждые ~10 секунд
Lua:
local act = false -- по умолчанию значение активации false (ложно)

function main() -- главная функция, вызывается при запуске скрипта
    repeat wait(0) until isSampAvailable() -- ждем, пока самп не станет доступным
    sampRegisterChatCommand("start", function() -- регистрируем команду (слэш писать не нужно)
        act = not act -- ставим значение нашей активации, противоположное прошлому
        sampAddChatMessage("скриптик "..(act and "включен" or "выключен"), -1) -- пишем, что скрипт включен или выключен
    end)
    while true do -- бесконечный цикл (выполняется все время)
        wait(0) -- в бесконечном цикле нужна минимальная задержка, иначе игра повиснет
        if act then -- если активация работает, то
            sampSendChat("/твоякоманда")
            wait(10 * 1000)
        end
    end
end
 

Fott

Простреленный
3,426
2,257
шото не работает, мне надо чтоб он делал так: запускаю скрипт командой, и скрипт начинайет хуярить команду которую я впишу каждые ~10 секунд
учим азы
Lua:
sampRegisterChatCommand('fuck', function()
    active = not active -- on/off
    lua_thread.create(function() -- potok
        while active do -- elsi on
            wait(0) -- wait 0
            print('Жопа') -- pishem jopa
            wait(10000)
        end
    end)
end)
 
Последнее редактирование:
  • Грустно
Реакции: molimawka

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,345
1,092
Lua:
local act = false -- по умолчанию значение активации false (ложно)

function main() -- главная функция, вызывается при запуске скрипта
    repeat wait(0) until isSampAvailable() -- ждем, пока самп не станет доступным
    sampRegisterChatCommand("start", function() -- регистрируем команду (слэш писать не нужно)
        act = not act -- ставим значение нашей активации, противоположное прошлому
        sampAddChatMessage("скриптик "..(act and "включен" or "выключен"), -1) -- пишем, что скрипт включен или выключен
    end)
    while true do -- бесконечный цикл (выполняется все время)
        wait(0) -- в бесконечном цикле нужна минимальная задержка, иначе игра повиснет
        if act then -- если активация работает, то
            sampSendChat("/твоякоманда")
            wait(10 * 1000)
        end
    end
end
почему 10 умножить на 1000? типа 10 раз каждые 1000 мс?
 

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,345
1,092

PanSeek

t.me/dailypanseek
Всефорумный модератор
899
1,745
я не спрашивал приниманет ли, я спросл как работает * в wait
* - умножение
10 умножаем на 1000, получаем 10000, чтоб не путаться в нулях можно сделать так. Кому как удобнее, как говорится.
Либо можно еще сделать что-то вроде такого:
Lua:
local second = 5

-- где-то в коде
wait(second * 1000)
Если есть переменная и ее используешь несколько раз к примеру, либо где нужно ввести пользователем сколько секунд, чтоб он не вводил, 5000 мс, а просто ввел 5 и это перевелось в 5000 мс = 5 секунд.
 
  • Нравится
Реакции: James Saula и VRush

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,345
1,092
и последний вопрос, как можно сделать таких команд штук 3 и больше, типа так?

Код:
local act = false -- по умолчанию значение активации false (ложно)

function main() -- главная функция, вызывается при запуске скрипта
    repeat wait(0) until isSampAvailable() -- ждем, пока самп не станет доступным
    sampRegisterChatCommand("start", function() -- регистрируем команду (слэш писать не нужно)
        act = not act -- ставим значение нашей активации, противоположное прошлому
        sampAddChatMessage("скриптик "..(act and "включен" or "выключен"), -1) -- пишем, что скрипт включен или выключен
    end)
    while true do -- бесконечный цикл (выполняется все время)
        wait(0) -- в бесконечном цикле нужна минимальная задержка, иначе игра повиснет
        if act then -- если активация работает, то
            -- твои действия
        end
    end
     sampRegisterChatCommand("start", function() -- регистрируем команду (слэш писать не нужно)
        act = not act -- ставим значение нашей активации, противоположное прошлому
        sampAddChatMessage("скриптик "..(act and "включен" or "выключен"), -1) -- пишем, что скрипт включен или выключен
    end)
    while true do -- бесконечный цикл (выполняется все время)
        wait(0) -- в бесконечном цикле нужна минимальная задержка, иначе игра повиснет
        if act then -- если активация работает, то
            -- твои действия
        end
    end
end