sampGetPlayerNickname() ошибка в фунции

Fasmin

Участник
Автор темы
175
6
Версия MoonLoader
.026-beta
код:
repeat wait(0) until isSampAvailable()
sampRegisterChatCommand("test", function()
    test = not test
end)
while true do wait(0)
    if nicks == 1 then
        for i=0, 999 do
            if test then
                local name = sampGetPlayerNickname(i)
                local score = sampGetPlayerScore(i)
                if sampIsPlayerConnected(i) then
                    printString("["..i.."]" .. name .. "[lvl:" .. score .. "]", 1000)
                    wait(1)
                end
            else
                break
                nicks = 0
            end
        end
    end
end
end

Такой код, получается когда игрок выходит с сервера или перезаходит, то скрипт багается и крашит с ошибкой
.lua: cannot resume non-suspended coroutine
stack traceback:
[C]: in function 'sampGetPlayerNickname'


Как это можно исправить?
 

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,982
2,187
делай проверку, что чел подключен раньше, чем ты получаешь его ник, логично ведь :/
Lua:
if nicks == 1 and test then
    for i = 0, sampGetMaxPlayerId() do
        if sampIsPlayerConnected(i) then
            local name = sampGetPlayerNickname(i)
            local score = sampGetPlayerScore(i)
            printString("["..i.."]" .. name .. "[lvl:" .. score .. "]", 1000)
            wait(1)
        end
        if not test then
            nicks = 0
            break
        end
    end
end
 
  • Нравится
  • Ха-ха
Реакции: qdIbp, Fasmin и Masayuki