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

askfmaskfaosflas

Потрачен
Автор темы
1,089
509
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия 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...

манку хлебал

Потрачен
305
121
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
не тестил, но работать должно
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
 

askfmaskfaosflas

Потрачен
Автор темы
1,089
509
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
  • Злость
Реакции: qdIbp

askfmaskfaosflas

Потрачен
Автор темы
1,089
509
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

манку хлебал

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