Как узнать хендл других игроков ?

P%R

Участник
Автор темы
51
12
Версия MoonLoader
Другое
1. Как узнать хендл других игроков ?

Это не работает (не выводит хендл):
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('xz', function (id)
        local _, penis = sampGetCharHandleBySampPlayerId(id)
        if _ then
            sampAddChatMessage(penis, -1)
        end
    end)
    wait(-1)
end
 
Решение
Переменная _ всегда nil. Заменяй на result
1724746895706.png


все командные аргументы с командах бывают пустое значение как nil
там не может быть nil ни в каком случае, только строка

1. Как узнать хендл других игроков ?

Это не работает (не выводит хендл):
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('xz', function (id)
        local _, penis = sampGetCharHandleBySampPlayerId(id)
        if _ then
            sampAddChatMessage(penis, -1)
        end
    end)
    wait(-1)
end
не работает на тебе (локальном игроке) и игроках, которые не находятся в зоне стриме:
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('xz'...

kyrtion

Известный
902
321
1. Как узнать хендл других игроков ?

Это не работает (не выводит хендл):
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('xz', function (id)
        local _, penis = sampGetCharHandleBySampPlayerId(id)
        if _ then
            sampAddChatMessage(penis, -1)
        end
    end)
    wait(-1)
end
Переменная _ всегда nil. Заменяй на result

Не указывай имя такие непристойные как sex, anal, penis. Заменяй на playerPed

Далее, все командные аргументы с командах бывают пустое значение как nil и строковое. Поэтому их нужно проверять что это число с помощью регулярное выражение (это я постоянно пользуюсь, удобно).

Не пускать если не число или невалидное значение:
if not id or not id:find('^%d+$') then return end

Превратим в число после проверки:
id = tonumber(id)
 
  • Эм
Реакции: MLycoris

wojciech?

Известный
Проверенный
349
230
Переменная _ всегда nil. Заменяй на result
1724746895706.png


все командные аргументы с командах бывают пустое значение как nil
там не может быть nil ни в каком случае, только строка

1. Как узнать хендл других игроков ?

Это не работает (не выводит хендл):
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('xz', function (id)
        local _, penis = sampGetCharHandleBySampPlayerId(id)
        if _ then
            sampAddChatMessage(penis, -1)
        end
    end)
    wait(-1)
end
не работает на тебе (локальном игроке) и игроках, которые не находятся в зоне стриме:
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('xz', function(id)
        id = tonumber(id)
        if id then
            local result, ped = sampGetCharHandleBySampPlayerId(id)
            if result then
                sampAddChatMessage(ped, -1)
            end
        end
    end)
    wait(-1)
end
 
  • Нравится
Реакции: P%R и MLycoris

kyrtion

Известный
902
321
Посмотреть вложение 250380

там не может быть nil ни в каком случае, только строка

не работает на тебе (локальном игроке) и игроках, которые не находятся в зоне стриме
Все писал через телфа и нет времени чтобы проверять

Переменная _ лучше не создавать для обработки данных или для проверки, это как бы сказать, не желательно
 
Последнее редактирование:
  • Эм
Реакции: sdfy и MLycoris