Тебе даже подсветка БХ говорит, что ты (.*) вставил как переменную.AutoHotKey:if (RegExMatch(GetChatLineEx(), "Администратор .*: Раздача \| Первый кто напишет в репорт "(.*)", получит ничего.", out)) { SendChat("/report " out1) }
#SingleInstance, Force
#Persistent
#NoEnv
#Include, %A_ScriptDir%\SAMP.ahk
#If, WinActive("GTA:SA:MP")
!1::
{
addChatMessageEx(0xBDBDBD, "Работает - не трогай")
Loop {
if (RegExMatch(getChatLineEx(), "i)^Администратор \w+: Раздача \| Первый кто напишет в репорт ""(?P<text>.*)"", получит ничего.?$", o)) {
while (isDialogOpen())
continue
SendChat("/report " o["text"])
}
}
}
return[/FONT][/SIZE]
Тебе даже подсветка БХ говорит, что ты (.*) вставил как переменную.AutoHotKey:if (RegExMatch(GetChatLineEx(), "Администратор .*: Раздача \| Первый кто напишет в репорт "(.*)", получит ничего.", out)) { SendChat("/report " out1) }
#SingleInstance, Force
#Persistent
#NoEnv
#Include, %A_ScriptDir%\SAMP.ahk
#If, WinActive("GTA:SA:MP")
!1::
{
addChatMessageEx(0xBDBDBD, "Работает - не трогай")
Loop {
if (RegExMatch(getChatLineEx(), "i)^Администратор \w+: Раздача \| Первый кто напишет в репорт ""(?P<text>.*)"", получит ничего.?$", o)) {
while (isDialogOpen())
continue
SendChat("/report " o["text"])
}
}
}
return[/FONT][/SIZE]
#SingleInstance, Force
#Persistent
#NoEnv
#Include, <UDF>
#Include, <READER>
messages := new ChatReader()
messages.addCallback("msg_events")
msg_events(text) {
if (RegExMatch(text, "i)^Администратор \w+: Раздача \| Первый кто напишет в репорт ""(?P<text>.*)"", получит ничего.?$", o)) {
while (isDialogOpen())
continue
SendChat("/report " o["text"])
}
}
работает, если открыт диалог, верно?Тебе даже подсветка БХ говорит, что ты (.*) вставил как переменную.
Способ №1 на чистом UDF:
Способ №2 через Callback chat reader (для того, чоб глаз радовался и все дела эти):AutoHotKey:#SingleInstance, Force #Persistent #NoEnv #Include, <UDF> #If, WinActive("GTA:SA:MP") !1:: { addChatMessageEx(0xBDBDBD, "Работает - не трогай") Loop { if (RegExMatch(getChatLineEx(), "i)^Администратор \w+: Раздача \| Первый кто напишет в репорт ""\+"", получит ничего.?$")) { while (isDialogOpen()) continue SendChat("/report +") } } } return
Сам Callback chat reader - https://blast.hk/threads/39147/
AutoHotKey:#SingleInstance, Force #Persistent #NoEnv #Include, <UDF> #Include, <READER> messages := new ChatReader() messages.addCallback("msg_events") msg_events(text) { if (RegExMatch(text, "i)^Администратор \w+: Раздача \| Первый кто напишет в репорт ""\+"", получит ничего.?$")) { while (isDialogOpen()) continue SendChat("/report +") } }
Нет, если вдруг так случилось, что ты ввел команду и у тебя открылся диалог, скрипт ждет, пока диалог закроется и сразу же напишет /report +работает, если открыт диалог, верно?
Тебе даже подсветка БХ говорит, что ты (.*) вставил как переменную.
Оно не работает....Не важно! Главное что работает!
Оно не работает....
Оу, меня regex101 подвёл, вчера был не за компом, думал работает, ну тогда ладно!
Посмотреть вложение 45393
1) Зачем ты юзаешь "все, что угодно"? Это самый медленный флаг.Оу, меня regex101 подвёл, вчера был не за компом, думал работает, ну тогда ладно!
Посмотреть вложение 45393
1) Зачем ты юзаешь "все, что угодно"? Это самый медленный флаг.
2) Во втором случае, зачем ты уже юзаешь "все, что угодно" и еще вносишь это в несуществующую переменную?
Хорошо, ну и чем же твой код лучше?
Переменная нужна для отправки её в чат, как было и написано в теме.
Ты уверен? Ты нигде не используешь эту полученную переменную.
#SingleInstance, Force
#Include, samp.ahk
#IfWinActive, GTA:SA:MP
Loop {
if (RegExMatch(getChatLineEx(), "Администратор .*: Раздача \| Первый кто напишет в репорт ""(.*)"", получит ничего.", out)) {
Sendchat("/report " out1)
}
}
return
SAMP.ahk - samp.udf.#SingleInstance, Force #Persistent #NoEnv #Include, <UDF> #If, WinActive("GTA:SA:MP") !1:: { addChatMessageEx(0xBDBDBD, "Работает - не трогай") Loop { if (RegExMatch(getChatLineEx(), "i)^Администратор \w+: Раздача \| Первый кто напишет в репорт ""\+"", получит ничего.?$")) { while (isDialogOpen()) continue SendChat("/report +") } } } return