Тебе нужно написать в SAMP чат "/cmd", после этого всем игрокам в зоне стрима будет отправлено сообщение. В моём случае он отправит "/pm ID", добавь строчку для текста. В 13-ой строке:
sampSendChat("/pm "..id.." привет") -- пример: "/pm 134 привет"
Продолжили диалог в личных сообщениях. Вот более корректный код (первый вариант не работает, т.к я не учёл при проверки на собственного педа, что функция
sampGetPlayerIdByCharHandle(handle)
вовзвращает 2 переменных: результат и ID игрока.
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end -- проверка на загрузку SF и SAMP
while not isSampAvailable() do wait(100) end -- проверка на инициализацию структур SAMP
sampRegisterChatCommand("cmd", sendPM) -- регистрируем команду "cmd" с функией "sendPM"
wait(-1) -- ставим функцию "main" в режим ожидания
end
function sendPM() -- объявляем функцию, которая "прикреплена" к команде
local peds = getAllChars() -- объявляем массив с хэндлами всех созданных персонажей, включая персонажа игрока.
for _, v in pairs(peds) do -- организуем перебор элементов массива через цикл for
local result, id = sampGetPlayerIdByCharHandle(v) -- получаем ID игрока через хэндл-элемент массива
local _, my_id = sampGetPlayerIdByCharHandle(PLAYER_PED) -- отводим отдельную переменную конкретно под собственный ID
if result and id ~= my_id sampGetPlayerIdByCharHandle(PLAYER_PED) then -- проверяем успешность; не является ли ID твоим (чтобы не отправить сообщение самому себе)
sampSendChat("/pm "..id.." привет") -- выполняем конкантенсацию и отправляем строку в чат
end -- закрываем блок условного оператора
end -- закрываем цикл for
end