не работает чекер выхода

bruskin

Участник
Автор темы
151
14
Версия MoonLoader
Другое
Lua:
function pg(arg)
    if arg == nil or arg == '' or arg < '0' or arg > '999' then
        sampAddChatMessage('{663300}[Defense Helper] {FFFFFF}Используйте /pg [id]', -1)
    else
        lua_thread.create(function()
        statuspg = true
        idpg = arg
        nickpg = sampGetPlayerNickname(arg)
        wait(200)
        sampAddChatMessage('{663300}[Defense Helper] {FFFFFF}Вы начали погоню за игроком '..nickpg..'['..idpg..'].', -1)
        end)
    end
end

function sampev.onPlayerQuit(playerId, reason)
    if playerId == idpg and statuspg == true then
        statuspg = false
        sampAddChatMessage('{663300}[Defense Helper] {FFFFFF}Погоня за '..nickpg..'['..idpg..'] завершена. Выход ('..reason..')', -1)
    end
end

чтобы чела добавить на проверку на выход - скрипт работает, а если он оффнется - ничего не пишет
 
  • Эм
Реакции: qdIbp
Решение
Попробуй так
Lua:
local sampev = require('lib.samp.events')
local reason = {
    [0] = 'crash',
    [1] = 'quit',
    [2] = 'kick/ban'
}
function main()
    sampRegisterChatCommand('pg', function(arg)
        idpg = tonumber(arg)
        if not(idpg) or idpg < 0 or idpg > 999 then
            return sampAddChatMessage('[Defense Helper] {FFFFFF}Используйте /pg [id]', 0x663300) end
        lua_thread.create(function()
            statuspg, nickpg = true, sampGetPlayerNickname(idpg)
            wait(200)
            sampAddChatMessage('[Defense Helper] {FFFFFF}Вы начали погоню за игроком '..nickpg..'['..idpg..'].', 0x663300)
        end)
    end)
    wait(-1)
end

function sampev.onPlayerQuit(playerId, reas)
    if statuspg and playerId ==...

qdIbp

Автор темы
Проверенный
1,438
1,180
Попробуй так
Lua:
local sampev = require('lib.samp.events')
local reason = {
    [0] = 'crash',
    [1] = 'quit',
    [2] = 'kick/ban'
}
function main()
    sampRegisterChatCommand('pg', function(arg)
        idpg = tonumber(arg)
        if not(idpg) or idpg < 0 or idpg > 999 then
            return sampAddChatMessage('[Defense Helper] {FFFFFF}Используйте /pg [id]', 0x663300) end
        lua_thread.create(function()
            statuspg, nickpg = true, sampGetPlayerNickname(idpg)
            wait(200)
            sampAddChatMessage('[Defense Helper] {FFFFFF}Вы начали погоню за игроком '..nickpg..'['..idpg..'].', 0x663300)
        end)
    end)
    wait(-1)
end

function sampev.onPlayerQuit(playerId, reas)
    if statuspg and playerId == idpg then
        statuspg = false
        sampAddChatMessage('Defense Helper] {FFFFFF}Погоня за '..nickpg..'['..idpg..'] завершена. Причина: '..reason[reas], 0x663300)
    end
end

Lua:
function pg(arg)
    if arg == nil or arg == '' or arg < '0' or arg > '999' then
        sampAddChatMessage('{663300}[Defense Helper] {FFFFFF}Используйте /pg [id]', -1)
    else
        lua_thread.create(function()
        statuspg = true
        idpg = arg
        nickpg = sampGetPlayerNickname(arg)
        wait(200)
        sampAddChatMessage('{663300}[Defense Helper] {FFFFFF}Вы начали погоню за игроком '..nickpg..'['..idpg..'].', -1)
        end)
    end
end

function sampev.onPlayerQuit(playerId, reason)
    if playerId == idpg and statuspg == true then
        statuspg = false
        sampAddChatMessage('{663300}[Defense Helper] {FFFFFF}Погоня за '..nickpg..'['..idpg..'] завершена. Выход ('..reason..')', -1)
    end
end

чтобы чела добавить на проверку на выход - скрипт работает, а если он оффнется - ничего не пишет
не работает потому что ты работаешь со строками, а не числами

еще бонусом изучи https://uopilot.uokit.com/wiki/index.php?title=String.format_(Lua)
 
Последнее редактирование:
  • Нравится
Реакции: bruskin

bruskin

Участник
Автор темы
151
14
Попробуй так
Lua:
local sampev = require('lib.samp.events')
local reason = {
    [0] = 'crash',
    [1] = 'quit',
    [2] = 'kick/ban'
}
function main()
    sampRegisterChatCommand('pg', function(arg)
        idpg = tonumber(arg)
        if not(idpg) or idpg < 0 or idpg > 999 then
            return sampAddChatMessage('[Defense Helper] {FFFFFF}Используйте /pg [id]', 0x663300) end
        lua_thread.create(function()
            statuspg, nickpg = true, sampGetPlayerNickname(idpg)
            wait(200)
            sampAddChatMessage('[Defense Helper] {FFFFFF}Вы начали погоню за игроком '..nickpg..'['..idpg..'].', 0x663300)
        end)
    end)
    wait(-1)
end

function sampev.onPlayerQuit(playerId, reas)
    if statuspg and playerId == idpg then
        statuspg = false
        sampAddChatMessage('Defense Helper] {FFFFFF}Погоня за '..nickpg..'['..idpg..'] завершена. Причина: '..reason[reas], 0x663300)
    end
end


не работает потому что ты работаешь со строками, а не числами

еще бонусом изучи https://uopilot.uokit.com/wiki/index.php?title=String.format_(Lua)
сделал твой код по свой (как мне удобно), все работает, огромное спасибо
1694353596542.png
 
  • Эм
Реакции: qdIbp