[CR:MP] Помогите написать скрипт для выдачи наказаний

Статус
В этой теме нельзя размещать новые ответы.

DKameroon

Новичок
Автор темы
6
0
Доброго времени суток, хочу написать скрипт для автоматической выдачи наказаний по нажатию клавиш.
Так-как прошу для CR:MP , это будет сложно ( ибо КРМП работает на SAMP 0.3e )
Прошу помощи.
Нужно доделать :
1. Нужно добавить считывание Ников Администраторов , которые пишут наказаний .
К примеру : [A] Terry_Cartman : /ban 227 30 Cheat , я нажимаю ALT + стрелочку вниз и выдаю наказание. Но нужно, что-бы скрипт считывал ник , кто просил выдать , а желательно Фамилию, и в конце автоматически приписывал фамилию администратора, который попросил выдать.
Что-бы у игроков это выглядело вот так Администратор Nick_Name выдал бан Nick_Name на 30 дней. Причина : Cheat | Фамилия администратора, который попросил выдать.
P.S Нужно что-бы с чатлога считывалась фамилия администратора и автоматически вводила её в конце, а не что-бы администратор сам писал свою фамилию

Вот код , кто поможет буду очень благодарен :
Код:
ListLines Off 
SetBatchLines -1

Words = (warn|ban|skick|sethp|tempskin|msg|unwarn|sban) 

!Down:: 
 FileRead, Str, %A_MyDocuments%\GTA San Andreas User Files\CR-MP\GenerationC\chatlog.txt
 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) 
 ToolTip % Clipboard := Match1
 FileAppend,%Match1%`n,logachat.ini
 Sleep 100
 SendInput,{F6}%match1%
 clipboard =
 ToolTip
 FileDelete,%A_MyDocuments%\GTA San Andreas User Files\CR-MP\GenerationC\chatlog.txt
 Return
 

darksoor

Известный
674
353
Не совсем понял, можешь объяснить пожалуйста? Мне нужно считывание ников, и автоматическая подстановка.
Замени эти две строчки, что я кинул тебе в твоём коде, сложно так?

Поиск регулярного выражения в чатлоге:
AutoHotKey:
RegExMatch("`n" Str "`n", "i).*\n\[\d+:\d+:\d+]\s*\[A\]\s\w+_(\w+)\[.*?\]\:\s*(\/`*" World "\s.*?)\n", Match)

Автоматически прописываем команду, которую просил администратор (Пример: /ban 228 30 Cheat | Kameron)
AutoHotKey:
SendInput,{F6}%match2% | %match1%{Enter}
 

DKameroon

Новичок
Автор темы
6
0
Она сама вписывает фамилию администратора? Или нужно вводить в AHK их?

Если да - то кинь пожалуйста весь код, итоговый ( я тупой немного ) , если нет то помоги сделать ... | P.S я очень тупой в АHK , начинающий так сказать объясни мне, как для умственно-отсталого пожалуйста...
 

darksoor

Известный
674
353
Сам вставит, если ваш код рабочий вообще.
AutoHotKey:
ListLines Off
SetBatchLines -1

Words = (warn|ban|skick|sethp|tempskin|msg|unwarn|sban)

!Down::
FileRead, Str, %A_MyDocuments%\GTA San Andreas User Files\CR-MP\GenerationC\chatlog.txt
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\w+_(\w+)\[.*?\]\:\s*(\/`*" World "\s.*?)\n", Match) 
ToolTip % Clipboard := Match1
FileAppend,%Match1%`n,logachat.ini
Sleep 100
SendInput,{F6}%match2% | %match1%{Enter}
clipboard =
ToolTip
FileDelete,%A_MyDocuments%\GTA San Andreas User Files\CR-MP\GenerationC\chatlog.txt
Return
 

darksoor

Известный
674
353
При нажатии клавиш всё работает, но в чате ставит пробел, и выходит, что я пишу в обычный чат команду, а не ввожу её.
Значит регулярка неверная. Лучше бы строку с чатлога кинули, я бы написал нормальный код.
 

DKameroon

Новичок
Автор темы
6
0
Значит регулярка неверная. Лучше бы строку с чатлога кинули, я бы написал нормальный код.
[20:23:57] [A] Kolya_Tayson[286]: /ban 10 30 Cheat

Данная строка требуется ? Или что именно?
 

darksoor

Известный
674
353
У меня всё работает, пробуйте.
AutoHotKey:
ListLines Off
SetBatchLines -1

Words = (warn|ban|skick|sethp|tempskin|msg|unwarn|sban)

!Down::
FileRead, Str, %A_MyDocuments%\GTA San Andreas User Files\CR-MP\GenerationC\chatlog.txt
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\w+_(\w+)\[.*?]:\s*(/`*" Words "\s.*?)\n", Match)
ToolTip % Clipboard := Match1
FileAppend,%Match2% | %Match1%`n,logachat.ini
Sleep 100
SendInput,{F6}%match2% | %match1%
clipboard =
ToolTip
FileDelete,%A_MyDocuments%\GTA San Andreas User Files\CR-MP\GenerationC\chatlog.txt
Return
 
Статус
В этой теме нельзя размещать новые ответы.