local SEAvailable, SE = pcall(require, 'samp.events') -- require SAMP Events
if SEAvailable then -- if SAMP Events is available
function SE.onServerMessage(color, text) -- creating message hook
local nick, id, string = text:match("^%[A%]%s*(%S+)%[(%d+)%]:%s*(.+)")
if nick and id and string then -- if message is under pattern
local command, params = string:match("^/(%S+)%s*(.+)")
if command and params then -- if message contains command with params
if command:find('kick') then -- if this command is kick, then check params
local kickId, kickReason = params:match("^(%d+)%s*(.+)")
if kickId and kickReason then
sampSendChat('/kick '..kickId..' '..kickReason)...
local string = "[A] Nikita_Immortal[1]: /kick 28 test"
local nick, id, text = string:match("^%[A%]%s*(%S+)%[(%d+)%]:%s*(.+)")
можешь ли сделать функцию автоформа(которая будет при виде этого выполнять команду эту)? типа я не могу понять как правильно сделать ибо у меня он не может найди как понимаю текстLua:local string = "[A] Nikita_Immortal[1]: /kick 28 test" local nick, id, text = string:match("^%[A%]%s*(%S+)%[(%d+)%]:%s*(.+)")
local SEAvailable, SE = pcall(require, 'samp.events') -- require SAMP Events
if SEAvailable then -- if SAMP Events is available
function SE.onServerMessage(color, text) -- creating message hook
local nick, id, string = text:match("^%[A%]%s*(%S+)%[(%d+)%]:%s*(.+)")
if nick and id and string then -- if message is under pattern
local command, params = string:match("^/(%S+)%s*(.+)")
if command and params then -- if message contains command with params
if command:find('kick') then -- if this command is kick, then check params
local kickId, kickReason = params:match("^(%d+)%s*(.+)")
if kickId and kickReason then
sampSendChat('/kick '..kickId..' '..kickReason)
else
sampSendChat('/a Указаны неверные параметры: [ID] [Причина]!')
end
end
end
end
end
end
Слушай не работает)Lua:local SEAvailable, SE = pcall(require, 'samp.events') -- require SAMP Events if SEAvailable then -- if SAMP Events is available function SE.onServerMessage(color, text) -- creating message hook local nick, id, string = text:match("^%[A%]%s*(%S+)%[(%d+)%]:%s*(.+)") if nick and id and string then -- if message is under pattern local command, params = string:match("^/(%S+)%s*(.+)") if command and params then -- if message contains command with params if command:find('kick') then -- if this command is kick, then check params local kickId, kickReason = params:match("^(%d+)%s*(.+)") if kickId and kickReason then sampSendChat('/kick '..kickId..' '..kickReason) else sampSendChat('/a Указаны неверные параметры: [ID] [Причина]!') end end end end end end
Что именно не работает? Я не тестировал код.Слушай не работает)
вообще нечего происходит если делать "/a /kick 1 test"Что именно не работает? Я не тестировал код.
Я проверю через несколько минут и отпишу.вообще нечего происходит если делать "/a /kick 1 test"
sampSendChat() отправляет сообщение средствами ракнета, в сампфунксе есть такой баг, что нельзя хукнуть что - то внутри другого хука.Я проверю через несколько минут и отпишу.
Очень странно, потому что у меня всё работает 🤔sampSendChat() отправляет сообщение средствами ракнета, в сампфунксе есть такой баг, что нельзя хукнуть что - то внутри другого хука.
Нужно создавать отдельный поток, и там отправлять.
Кхм а в чём может быть проблема тогда?Очень странно, потому что у меня всё работает 🤔
Я только что проверил скрипт у себя и всё замечательно работает. Может быть шаблон сообщения неверный, там нет никаких HEX-кодов внутри?Кхм а в чём может быть проблема тогда?
я ща переписал чуток и заработала, только теперь при этом походу мне пишет Не флудитеЯ только что проверил скрипт у себя и всё замечательно работает. Может быть шаблон сообщения неверный, там нет никаких HEX-кодов внутри?
Если другой администратор будет писать, не должно так писать. Это всё по той причине, что команда исполняется сразу после ещё одной практически без задержки.я ща переписал чуток и заработала, только теперь при этом походу мне пишет Не флудите
а можно как то из файла ini вытаскивать какие команды обрабатывать? на эту же функциюЕсли другой администратор будет писать, не должно так писать. Это всё по той причине, что команда исполняется сразу после ещё одной практически без задержки.