как достать id человека из чатлога crmp - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
как достать id человека из чатлога crmp
refactoring35764 Дата: Вторник, 05.11.2024, 18:57 | Сообщение # 1
Новичок
Сообщений: 1
Статус: Offline
В общем, такая тема, без всяких udf и т.п прошу помощи у тех, кто разбирается

Есть код:

Код
#IfWinActive, ahk_exe gta_sa.exe

#SingleInstance Force

#NoEnv

ListLines Off

SetBatchLines -1

chatlog := A_MyDocuments "\RADMIR CRMP User Files\SAMP\chatlog.txt"

;FileDelete, %chatlog%

Words = (warn|kick|ban|mute|jail|skick|hp|skin|o|msg|unban|unwarn|unmute|rban|unjail|offban|offwarn|spcar|sban|offjail|offmute|sp|get|money|alist|offunwarn|getv|slap|getcar|okay|setleader|setweather|sw|settime|st|z|z_close|rmute|soffban|msg)

F5::

FileRead, Str, %chatlog%

StringReplace, Str, Str, `r`n, `n, 1

StringReplace, Str, Str, `r, `n, 1

RegExMatch("`n" Str "`n", "i).*\n\[\d+:\d+:\d+]\s*\[A].*?\[.*?]:\s*(/`*" Words "\s.*?)\n", Match)

FileAppend,%Match1%`n,chat.ini

SendMessage, 0x50,, 0x4190419,, A

SendInput,{F6}%match1%{space}

Return

Вроде как должен работать так:

человек пишет в чат:

[чч:мм:сс] [А] Nick_Name[ID человек]: /ban Nick_Name(или же id, вроде все что угодно) время причина

А скрипт берет строку: /ban Nick_Name(или же id, вроде все что угодно) время причина

и сразу же вписывает ее в чат, который на F6 работает.

ТЕПЕРЬ САМ ВОПРОС
Кто разбирается, можете пожалуйста изменить этот ахк так, чтобы при подобном сообщении в чатлоге:

[чч:мм:сс] [какой-то текст большими буквами] Nick_Name[ID игрока] : {FFCD00}Текст

(строку выше взял полностью из чат лога, заменил все, что понимаю, а что идет до текста, я так понял это его цвет)

скрипт по нажатию определенных клавишь выводил мне в чат сообщение:

/pm [И ВОТ ТУТ ID ИГРОКА без скобочек]

Вроде описал более менее подробно, буду благодарен помощи, т.к в ахк совсем не разбираюсь. пытался делать сам, не видит ничего


-
Ky6uk^ Дата: Среда, 06.11.2024, 14:28 | Сообщение # 2
Боец
Сообщений: 240
Статус: Offline
; Открываем чатлог
ControlSend, , /chatlog, ahk_class gta_sa

; Ждем некоторое время, чтобы чатлог загрузился
Sleep, 500

; Вводим команду, чтобы получить список игроков
ControlSend, , /players, ahk_class gta_sa

; Ждем некоторое время, чтобы список игроков загрузился
Sleep, 500

; Копируем весь текст чатлога в переменную
ControlSend, , ^a^c, ahk_class gta_sa
Sleep, 500
text := Clipboard

; Разделяем текст на строки
Loop, Parse, text, `n
{
; Проверяем каждую строку на наличие id конкретного игрока
if InStr(A_LoopField, "PlayerName")
{
; Парсим id игрока
StringSplit, id, A_LoopField, `,

; Выводим id игрока
MsgBox, % "ID игрока: " id1
}
}


Если вам удалось кинуть кого-то,не думайте что он дурак,просто человек доверял вам больше,чем вы того заслуживаете !
  • Страница 1 из 1
  • 1
Поиск: