Перебор от 1 до 1000 + остановка в нужный момент. (Для сервера HackMySoftware)

влад динозавр

Известный
Автор темы
1,296
615
Версия MoonLoader
.026-beta
Нужно что бы скрипт писал /vw от 1 до 1000, и пока этот процесс будет идти он будет проверять радар, и если на радаре появиться клист(игрок), то скрипт остановит свою работу.
Например: Я в 0 виртуальном мире, а мой друг в 20. И я хочу к нему попасть: Прописываю команду /per, и меня начинает тепать по мирам от 1 до 1000, и как только доходит очередь до 20 мира, где мой друг то тогда скрипт просто остановит свою работу.

Для сервера HackMySoftware
@MrCreepTon @Стэнфорд @chapo
 
Решение
не тестил, но работать должно
Lua:
local events = require('lib.samp.events')
local state = false
local counter = 1

function main()
    sampRegisterChatCommand('start', start)
    wait(-1)
end

function start()
    lua_thread.create(function()
        state = not state
        counter = 1 
        sampAddChatMessage(state and 'on' or 'off')
        while state do 
            sampSendChat(('/vw %d'):format(counter))
            counter = counter + 1 
            wait(1000) -- задержка нужна для того что бы игроки прогрузились
        end
    end)
end

function events.onPlayerStreamIn(id, team, model, position, rotation, color, fightingStyle)
    if state then 
        state = not state
        sampAddChatMessage(('found player in %d...

манку хлебал

Потрачен
302
122
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
не тестил, но работать должно
Lua:
local events = require('lib.samp.events')
local state = false
local counter = 1

function main()
    sampRegisterChatCommand('start', start)
    wait(-1)
end

function start()
    lua_thread.create(function()
        state = not state
        counter = 1 
        sampAddChatMessage(state and 'on' or 'off')
        while state do 
            sampSendChat(('/vw %d'):format(counter))
            counter = counter + 1 
            wait(1000) -- задержка нужна для того что бы игроки прогрузились
        end
    end)
end

function events.onPlayerStreamIn(id, team, model, position, rotation, color, fightingStyle)
    if state then 
        state = not state
        sampAddChatMessage(('found player in %d virtual world'):format(counter))
    end
end
 

манку хлебал

Потрачен
302
122
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я знаю. 1 секунда - 1000 мс, соответственно 100 секунд требуется на 1000 миров, но это долго
можешь уменьшить задержку, все зависит от твоего пинга и прозводительности сервера