Помощь в АХК

qwerrtyydkjfklsd

Новичок
Автор темы
9
0
Помогите сделать скрипт, который будет автоматически вставлять текст из чата
Например в чате появилось сообщение: /jail 292 60 дм/Сэм
И мой скрипт в моем чате автоматически примет эту форму и напишет: /jail 292 60 дм/Сэм
У меня есть образец, но там активация стоит.
То есть, если в чате появляется такое сообщение,мне нужно нажать Numpad+
И он примет форму.
Мне нужно чтобы без активации,без моего участия он принимал данную форме.
Вот образец:
#IfWinActive GTA:SA:MP
#SingleInstance Force
#NoEnv
ListLines Off
SetBatchLines -1

chatlog := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"

Words = (kick|mute|jail|sethp|unmute)

NumpadAdd:: Клавиша активации, ее нужно заменить на автоматическую
FileRead, Str, %A_MyDocuments%\GTA San Andreas User Files\SAMP\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
SendMessage, 0x50,, 0x4190419,, A
Sleep 0
SendInput,{F6}%match1%{return}
clipboard =
ToolTip
FileDelete,%A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
Return
 

qwerrtyydkjfklsd

Новичок
Автор темы
9
0
[02:24:55] [A] Manyel_Mussolini[5]: /jail 507 120 дм зз/М. Муссолини

Точно так же могут запросить и /mute /sethp /unmute /ban
Нужно, чтобы АХК реагировало на такие строчки и без моего участия автоматом выдавало наказание
 
Последнее редактирование:

Kvisk

Известный
204
209
Сделал так, по-колхозному на быструю руку.. Будут проблемы пиши)
зашел в игру - включил, заранее не стоит, так как будет читать твой старый чатлог
AutoHotKey:
#NoEnv
#SingleInstance Force
arr := []
i := 1
act_1:
FileRead, chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
StringSplit, LineArr, chatlog, `n
number := LineArr0 - 1
loop, 5 {
    RegExMatch(LineArr%number%, "i)^\[([\d:]+)] \[A] (\w+)\[\d{1,3}]: (/(kick|mute|jail|sethp|unmute|ban) \d{1,3} .*)", jgmt)
    if (jgmt1 <> "")
        goto act_2
    number--
}
goto act_1
return
act_2:
for index, value in arr
{
    if (value <> jgmt1)
        Continue
    goto act_1
}
arr[i] := jgmt1
i++
FormatTime, time, , в HH:mm dd.MM.yy
SendMessage, 0x50,, 0x4190419,, A
sleep, 10
SendInput, {F6}%jgmt3%{enter}
FileAppend, [A] %jgmt2% %time% - %jgmt3%`n, LogJudgments.txt
sleep, 1100
goto act_1
return
 
Последнее редактирование:

qwerrtyydkjfklsd

Новичок
Автор темы
9
0
Сделал так, по-колхозному на быструю руку.. Будут проблемы пиши)
зашел в игру - включил, заранее не стоит, так как будет читать твой старый чатлог
AutoHotKey:
#NoEnv
#SingleInstance Force
arr := []
i := 1
act_1:
FileRead, chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
StringSplit, LineArr, chatlog, `n
number := LineArr0 - 1
loop, 5 {
    RegExMatch(LineArr%number%, "i)^\[([\d:]+)] \[A] (\w+)\[\d{1,3}]: (/(kick|mute|jail|sethp|unmute|ban) \d{1,3} .*)", jgmt)
    if (jgmt1 <> "")
        goto act_2
    number--
}
goto act_1
return
act_2:
for index, value in arr
{
    if (value <> jgmt1)
        Continue
    goto act_1
}
arr[i] := jgmt1
i++
FormatTime, time, , в HH:mm dd.MM.yy
SendMessage, 0x50,, 0x4190419,, A
sleep, 10
SendInput, {F6}%jgmt3%{enter}
FileAppend, [A] %jgmt2% %time% - %jgmt3%`n, LogJudgments.txt
sleep, 1100
goto act_1
return

Ты самый лучший!!!
Я над этим кодом мучился 3 дня... Уже отчаялся совсем, ты меня спас))