Получить ник /r

kazantsev

Участник
Автор темы
21
2
Версия MoonLoader
.026-beta
Я только начал учить LUA и я не сильно понимаю вот такие строчки:
Lua:
if text:find('%[.*%] (%w+_?%w+)%[(%d+)%]%: [Forma] +') then


Мне необходимо когда появляется текст в /r что форма сработала понять что forma skipped

Код:
[R] Администратор Immanuil_Berezin[0]:(( [PD Forma]: Док-ва?(+ / -) ))



А также получить ник игрока который отправил саму форму

Пример:
[15:04:20] [R] Шеф Полиции Immanuil_Berezin[0]: I. Berezin на CONTROL. Запрашиваю объявление в розыск дело N-1.
[15:04:22] [R] Шеф Полиции Immanuil_Berezin[0]: Причина запроса - 10.2 УК, 1 степень.
[15:04:23] [R] Шеф Полиции Immanuil_Berezin[0]: Употребление наркотических веществ (+ изъятие наркотических веществ)

Lua:
if text:find("Запрашиваю объявление в розыск дело N-") then
    print("Форма получена!")
 

qdIbp

Автор темы
Проверенный
1,450
1,191
Так?
Lua:
local nick = string.match(text,'%[R%] %D+ ([A-Za-z0-9_]+)%[%d+%]%:%(%( %[PD Forma%]%: Док%-ва%?%(%+ %/ %-%) %)%)')
if nick then
    print(nick)
end
1667028360020.png
 

kazantsev

Участник
Автор темы
21
2
Так?
Lua:
local nick = string.match(text,'%[R%] %D+ ([A-Za-z0-9_]+)%[%d+%]%:%(%( %[PD Forma%]%: Док%-ва%?%(%+ %/ %-%) %)%)')
if nick then
    print(nick)
end
Посмотреть вложение 175081

Спасибо большое за ответ, но нужно другое.
Мне нужно достать от сюда ник

Код:
[R] Шеф Полиции Immanuil_Berezin[0]: I. Berezin на CONTROL. Запрашиваю объявление в розыск дело N-1.
 

qdIbp

Автор темы
Проверенный
1,450
1,191
Lua:
local text = '[R] Шеф Полиции Immanuil_Berezin[0]: I. Berezin на CONTROL. Запрашиваю объявление в розыск дело N-1.'
local nick = string.match(text,'%[R%] %D+ ([A-Za-z0-9_]+)%[%d+%]%: %D+. [A-Za-z0-9]+ на %S+. Запрашиваю объявление в розыск дело N%-1.')
if nick then
    print(nick)
end