Регулярные выражения в lua

Crazy Aim

Участник
Автор темы
29
1
Версия MoonLoader
.026-beta
Можно объяснить вообще как ими работать?
например "[A] Nikita_Immortal[1]: /kick 28 test"
правильно ли вот так будет?
"^%[A%] (%w+_?%w+)%[(%d+)%]%: (.*)"
 
Решение
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)...