- 135
- 13
- Версия MoonLoader
- .026-beta
123:
require 'lib.moonloader'
require 'lib.moonloader'
local hook = require 'lib.samp.events'
local main_color = 0xFFFFFF
nickname = 'Roman_Vorontsov'
forhome = '1$'
onhome = 0
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
sampAddChatMessage('Крутой текст', main_color)
sampRegisterChatCommand('idn', cmd_idn)
while true do
wait(0)
end
end
function sampGetPlayerIdByNickname(nick)
nick = tostring(nick)
local _, myid = sampGetPlayerIdByCharHandle(PLAYER_PED)
if nick == sampGetPlayerNickname(myid) then return myid end
for i = 0, 1003 do
if sampIsPlayerConnected(i) and sampGetPlayerNickname(i) == nick then
return i
end
end
end
function cmd_idn()
local idln = sampGetPlayerIdByNickname(nickname)
if idln then
sampAddChatMessage(nickname..'['..idln..']', -1)
end
end
function hook.onServerMessage(color, text)
if onhome == 0 then
if color == 865730559 then
idlnh = sampGetPlayerIdByNickname(nickname)
if idlnh then
if text:find(nickname .. '[' .. idlnh .. '] передал Вам ' .. forhome) then
sampAddChatMessage('123', main_color)
end
end
end
end
end
Суть скрипта и проблемы. Нужно хукнуть этот текст. В строке должно быть "Вы передали игроку", nickname(переменная в самом начале), idlnh(в хуке) и forhome(переменная в самом начале) и если это будет в строке, то напишется 123. Пример: nickname = 'Oleg_Lolov', forhome = '1$'. Если в строке будет: nickname[idlnh] передал Вам forhome (примерно такого формата должен быть текст) и значения совпадут с переменными - то вывод 123 в чат. Текст просто не хукается, сообщение не отправляется, не понимаю в чём проблема.
Цвет верный и прочек айди(потом нужен будет) рабочий, именно проблема в 53-55 строке.
Последнее редактирование: