Копирование

Помощь в написании скриптов для игр.
Belka20
Posts: 3
Joined: 19 Jun 2022, 08:29

Копирование

Post by Belka20 » 19 Jun 2022, 08:31

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 игрока и ответ игроку.
Ниже предоставил пример из чатлога.
Attachments
chatlog.txt
(747 Bytes) Downloaded 46 times

Return to “Скрипты для Игр”