не работает код, как задумано

Я кавказец

Известный
Автор темы
440
108
Версия MoonLoader
.026-beta
Lua:
local peds = getAllChars()
local tag = "{00008B}[Ping Informer]: {FFFFFF}"
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage(tag.."Скрипт успешно загружен.", -1)
    sampRegisterChatCommand("ping", ping_inf)
    sampRegisterChatCommand("scan", function() active = not active end)
    wait(-1)
end

function ping_inf(ping_check)
    if ping_check == 0 or ping_check == nil then
        sampAddChatMessage(tag.."Укажите какой пинг должен быть у человека для варнинга", -1)
    else
        sampAddChatMessage(tag.."Если у человека будет пинг выше "..ping_check.. "ms, то вам выйдет варнинг",-1)
    end
    if active then
        for _, v in pairs(peds) do
            local result, id = sampGetPlayerIdByCharHandle(v)
            if result and id ~= sampGetPlayerIdByCharHandle(PLAYER_PED) then
            end
        end
        if ping_check == sampGetPlayerPing(id) then
            sampAddChatMessage(tag.. "Игрок с "..id.." имеет пинг выше "..ping_check.."ms", -1)
        end
    end
end
 

meowprd

Тот самый Котовский
Проверенный
1,278
720
Не проверял.
Lua:
local tag = "{00008B}[Ping Informer]: {FFFFFF}"
local active = false
local ping = 0
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage(tag.."Скрипт успешно загружен.", -1)
    sampRegisterChatCommand("ping", ping_inf)
    sampRegisterChatCommand("scan", function() active = not active end)
   
    while true do
        wait(0)
        if active then
            local peds = getAllChars()
            if active then
                for k, v in pairs(peds) do
                    local result, id = sampGetPlayerIdByCharHandle(v)
                    if result then
                        if sampGetPlayerPing(id) >= ping_check then
                            sampAddChatMessage(tag.. "Игрок с "..id.." имеет пинг выше "..ping_check.."ms", -1)
                        end
                    end
                end
            end
        end

    end
end

function ping_inf(ping_check)
    if ping_check == 0 or ping_check == nil then
        sampAddChatMessage(tag.."Укажите какой пинг должен быть у человека для варнинга", -1)
    else
        sampAddChatMessage(tag.."Если у человека будет пинг выше "..ping_check.. "ms, то вам выйдет варнинг",-1)
    end

    local ping_check = tonumber(ping_check)
    if ping_check then
        sampAddChatMessage(tag.."Если у человека будет пинг выше "..ping_check.. "ms, то вам выйдет варнинг",-1)
        ping = ping_check
    else
        sampAddChatMessage(tag.."Укажите какой пинг должен быть у человека для варнинга", -1)
    end
end
 

Я кавказец

Известный
Автор темы
440
108
Не проверял.
Lua:
local tag = "{00008B}[Ping Informer]: {FFFFFF}"
local active = false
local ping = 0
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage(tag.."Скрипт успешно загружен.", -1)
    sampRegisterChatCommand("ping", ping_inf)
    sampRegisterChatCommand("scan", function() active = not active end)
  
    while true do
        wait(0)
        if active then
            local peds = getAllChars()
            if active then
                for k, v in pairs(peds) do
                    local result, id = sampGetPlayerIdByCharHandle(v)
                    if result then
                        if sampGetPlayerPing(id) >= ping_check then
                            sampAddChatMessage(tag.. "Игрок с "..id.." имеет пинг выше "..ping_check.."ms", -1)
                        end
                    end
                end
            end
        end

    end
end

function ping_inf(ping_check)
    if ping_check == 0 or ping_check == nil then
        sampAddChatMessage(tag.."Укажите какой пинг должен быть у человека для варнинга", -1)
    else
        sampAddChatMessage(tag.."Если у человека будет пинг выше "..ping_check.. "ms, то вам выйдет варнинг",-1)
    end

    local ping_check = tonumber(ping_check)
    if ping_check then
        sampAddChatMessage(tag.."Если у человека будет пинг выше "..ping_check.. "ms, то вам выйдет варнинг",-1)
        ping = ping_check
    else
        sampAddChatMessage(tag.."Укажите какой пинг должен быть у человека для варнинга", -1)
    end
end
Варнинг не идет
 

meowprd

Тот самый Котовский
Проверенный
1,278
720
Потому что я перепутал переменную.
Исправил.

Lua:
local tag = "{00008B}[Ping Informer]: {FFFFFF}"
local active = false
local ping = 0
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage(tag.."Скрипт успешно загружен.", -1)
    sampRegisterChatCommand("ping", ping_inf)
    sampRegisterChatCommand("scan", function() active = not active end)
  
    while true do
        wait(0)
        if active then
            local peds = getAllChars()
            if active then
                for k, v in pairs(peds) do
                    local result, id = sampGetPlayerIdByCharHandle(v)
                    if result then
                        if sampGetPlayerPing(id) >= ping and ping ~= 0 then
                            sampAddChatMessage(tag.. "Игрок с "..id.." имеет пинг выше "..ping_check.."ms", -1)
                        end
                    end
                end
            end
        end

    end
end

function ping_inf(ping_check)
    if ping_check == 0 or ping_check == nil then
        sampAddChatMessage(tag.."Укажите какой пинг должен быть у человека для варнинга", -1)
    else
        sampAddChatMessage(tag.."Если у человека будет пинг выше "..ping_check.. "ms, то вам выйдет варнинг",-1)
    end

    local ping_check = tonumber(ping_check)
    if ping_check then
        sampAddChatMessage(tag.."Если у человека будет пинг выше "..ping_check.. "ms, то вам выйдет варнинг",-1)
        ping = ping_check
    else
        sampAddChatMessage(tag.."Укажите какой пинг должен быть у человека для варнинга", -1)
    end
end
 

meowprd

Тот самый Котовский
Проверенный
1,278
720
[ML] (error) pingInformer.lua: E:\GTA San Andreas\moonloader\pingInformer.lua:20: attempt to concatenate global 'ping_check' (a nil value)
stack traceback:
E:\GTA San Andreas\moonloader\pingInformer.lua: in function <E:\GTA San Andreas\moonloader\pingInformer.lua:4>
[ML] (error) pingInformer.lua: Script died due to an error. (052C70F4)
Lua:
local tag = "{00008B}[Ping Informer]: {FFFFFF}"
local active = false
local ping = 0
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage(tag.."Скрипт успешно загружен.", -1)
    sampRegisterChatCommand("ping", ping_inf)
    sampRegisterChatCommand("scan", function() active = not active end)
 
    while true do
        wait(0)
        if active then
            local peds = getAllChars()
            if active then
                for k, v in pairs(peds) do
                    local result, id = sampGetPlayerIdByCharHandle(v)
                    if result then
                        if sampGetPlayerPing(id) >= ping and ping ~= 0 then
                            sampAddChatMessage(tag.. "Игрок с "..id.." имеет пинг выше "..ping.."ms", -1)
                        end
                    end
                end
            end
        end

    end
end

function ping_inf(ping_check)
    if ping_check == 0 or ping_check == nil then
        sampAddChatMessage(tag.."Укажите какой пинг должен быть у человека для варнинга", -1)
    else
        sampAddChatMessage(tag.."Если у человека будет пинг выше "..ping_check.. "ms, то вам выйдет варнинг",-1)
    end

    local ping_check = tonumber(ping_check)
    if ping_check then
        sampAddChatMessage(tag.."Если у человека будет пинг выше "..ping_check.. "ms, то вам выйдет варнинг",-1)
        ping = ping_check
    else
        sampAddChatMessage(tag.."Укажите какой пинг должен быть у человека для варнинга", -1)
    end
end