Code: Select all
NumpadSub::
FileRead, Str, %A_MyDocuments%\SAMP User Files\SAMP\chatlog.txt
rx = ; Регулярное выражение разбито на части для упрощения понимания
( Join LTrim Comments
m) ; Флаг m (multi-line) упрощает работу с многострочными текстами
^ ; Символ ^ - начало строки (с флагом m - любой строки, а не всего текста)
\[\d\d:\d\d:\d\d\] ; Метка времени в формате [NN:NN:NN], где N - любое число
\s* ; Пробелы после метки времени (похоже, обычно один, но мало ли что)
\S+_\S+ ; Имя в формате ТЕКСТ_ТЕКСТ; \S - не-пробелы (например, буквы)
\[(\d+)\] ; Числовой Id в квадратных скобках. Круглые скобки - для записи в match1
\s:\s ; Пробел-двоеточие-пробел, разделяющие автора сообщения и его текст
.* ; Текст сообщения, совершенно любой.
$ ; Конец строки (как и ^, зависит от флага m)
)
RegexMatch(Str, rx, match)
ToolTip % Clipboard := match1
FileAppend,%match1%`n,chatidhelp.ini
Sleep 0
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}/sp %match1%{Enter}
clipboard =
ToolTip
match1 = %match1%
AddChatMessage("Помошь игроку: " match1 "")
FileDelete,%A_MyDocuments%\SAMP User Files\SAMP\chatlog.txt
Return
"[04:26:32] Администратор Ivan_Ivanov[47] для Mark_Petrov[12]: нет, не можем | Приятной игры на на сервере "
Мне надо чтобы код скопировал id игрока(в данном случае 12) и ответ админа(в данном случае "нет, не можем").
/pm %match1% %match2%{Enter} - команда для ответа игроку.
И так каждый раз по нажатию кнопки копировал id игрока и ответ игроку.
Ниже предоставил пример из чатлога.