Вопрос по луа скриптингу /\ поиск значения в строке

Gat

Участник
Автор темы
52
6
Привет!

Нужна помощь. Хотелось бы узнать, как из появившейся в чате строки получить нужное значение.
К примеру, в чате появляется строка: Администратор Admin_Istrator[666] выпустил игрока Some_Player[852] из деморгана.
Из этой строки нужно получить ник администратора и его ID, а также ник игрока и его ID.

Еще пример. В чате появляется строка: Администратор Admin_Istrator[666] посадил игрока Some_Player[852] в деморган на 60 минут.
Отсюда то же самое, что из первого примера, но еще нужно получить время, на которое игрока посадили.

И речь не о таком коде:
обычный поиск строки:
local ev = require 'lib.samp.event'

function ev.OnServerMessage(text, color)
    id_adm = text:find('666')
    nick_adm = text:find('Admin_Istrator')
end

Нужно получать ник и ID админов и игроков при каждой выдаче наказания от того или иного админа тому или иному игроку.

Спасибо!
 
Последнее редактирование:

Tema05

Известный
1,474
439
Привет!

Нужна помощь. Хотелось бы узнать, как из появившейся в чате строки получить нужное значение.
К примеру, в чате появляется строка: Администратор Admin_Istrator[666] выпустил игрока Some_Player[852] из деморгана.
Из этой строки нужно получить ник администратора и его ID, а также ник игрока и его ID.

Еще пример. В чате появляется строка: Администратор Admin_Istrator[666] посадил игрока Some_Player[852] в деморган на 60 минут.
Отсюда то же самое, что из первого примера, но еще нужно получить время, на которое игрока посадили.

И речь не о таком коде:
обычный поиск строки:
local ev = require 'lib.samp.event'

function ev.OnServerMessage(text, color)
    id_adm = text:find('666')
    nick_adm = text:find('Admin_Istrator')
end

Нужно получать ник и ID админов и игроков при каждой выдаче наказания от того или иного админа тому или иному игроку.

Спасибо!
id_adm = text:match('%[(%d%d?%d?)%]')
nick_adm = text:match('Администратор (.-)%[')
 
  • Нравится
Реакции: Gat