Как сделать переменную? Ну тип, если:
Alkash_Vasily достал кошелёк и передал деньги Vasiliy_Alkashnikov
Vasiliy_Alkashnikov передал вам 5.000$
то как мне записать в переменную именно ник Vasiliy_Alkashnikov, и саму суму передачи мне
RegExMatch(chatlog, "(\w+_\w+)\sпередал\sвам\s(\d+)\$", var)
Помоги и мне с считыванием, спасибо за прошлую помощь)Читаем чат, ищем регулярное выражение:
Где var1 - ник, var2 - сумма.AutoHotKey:RegExMatch(chatlog, "(\w+_\w+)\sпередал\sвам\s(\d+)\$", var)
Скриншот бы самого диалога, откуда считывать.Помоги и мне с считыванием, спасибо за прошлую помощь)
Функцией из SAMP-UDF.Как взять ID игрока через ник?
Alkash_Vasily достал кошелёк и передал деньги Vasiliy_Alkashnikov
Vasiliy_Alkashnikov передал вам 5.000$
Как мне взять ID Vasiliy_Alkashnikov?
getPlayerIdByName(id)
Читаешь последнюю строку чата, потом ищешь регуляркой розыск
Уровень розыска интересует
RegExMatch(getChatLineEx(), "Уровень розыска\:\s(\d)", var)
Читаешь последнюю строку чата, потом ищешь регуляркой розыск
Где var1 - уровень розыска.AutoHotKey:RegExMatch(getChatLineEx(), "Уровень розыска\:\s(\d)", var)
Да и у тебя в коде он ждёт диалога, хотя паспорт отображается в чате. Не сработает.
if (chatInput == "/pas") {
sendchat("Здравствуйте, Вас беспокоит сотрудник ЛСПД - Andy Safino.")
Sleep, 1000
sendchat("Предъявите Ваши документы, уверяю Вас, это обычная проверка.")
addChatMessage("{fa9005}|{FFFFFF}Скрипт {00CED1}ожидает{00CED1}, {FFFFFF}пока игрок покажет паспорт.")
while(!isDialogOpen())
continue
RegExMatch(getChatLineEx(), "Уровень розыска\:\s(\d)", var)
SendInput, {enter}
if (var1 == 0) {
sendchat("бла бла бла, вернул паспорт")
sendchat("бла бла бла, вернул паспорт")
} else if (var1 >= 1) {
addChatMessage(" {fa9005}| {FF0000}ВНИМАНИЕ! {FFFFFF}Игрок находится в розыске! Уровень розыска: " var1)
sendchat("ну типо ты в розыске, бро")
} else
addChatMessage(" {fa9005}| {FF0000}ОШИБКА! {FFFFFF}Не удалось определить розыск")
}
return
Братик, правильно?Код:if (chatInput == "/pas") { sendchat("Здравствуйте, Вас беспокоит сотрудник ЛСПД - Andy Safino.") Sleep, 1000 sendchat("Предъявите Ваши документы, уверяю Вас, это обычная проверка.") addChatMessage("{fa9005}|{FFFFFF}Скрипт {00CED1}ожидает{00CED1}, {FFFFFF}пока игрок покажет паспорт.") while(!isDialogOpen()) continue RegExMatch(getChatLineEx(), "Уровень розыска\:\s(\d)", var) SendInput, {enter} if (var1 == 0) { sendchat("бла бла бла, вернул паспорт") sendchat("бла бла бла, вернул паспорт") } else if (var1 >= 1) { addChatMessage(" {fa9005}| {FF0000}ВНИМАНИЕ! {FFFFFF}Игрок находится в розыске! Уровень розыска: " var1) sendchat("ну типо ты в розыске, бро") } else addChatMessage(" {fa9005}| {FF0000}ОШИБКА! {FFFFFF}Не удалось определить розыск") } return
if (chatInput == "/pas") {
sendchat("Здравствуйте, Вас беспокоит сотрудник ЛСПД - Andy Safino.")
Sleep, 1000
sendchat("Предъявите Ваши документы, уверяю Вас, это обычная проверка.")
addChatMessage("{fa9005}|{FFFFFF}Скрипт {00CED1}ожидает{00CED1}, {FFFFFF}пока игрок покажет паспорт.")
Loop {
if RegExMatch(getChatLineEx(), "Уровень розыска\:\s(\d)", var)
break
}
if (var1 == 0) {
sendchat("бла бла бла, вернул паспорт")
sendchat("бла бла бла, вернул паспорт")
} else if (var1 >= 1) {
addChatMessage(" {fa9005}| {FF0000}ВНИМАНИЕ! {FFFFFF}Игрок находится в розыске! Уровень розыска: " var1)
sendchat("ну типо ты в розыске, бро")
} else
addChatMessage(" {fa9005}| {FF0000}ОШИБКА! {FFFFFF}Не удалось определить розыск")
}
return
Братик, правильно?Код:if (chatInput == "/pas") { sendchat("Здравствуйте, Вас беспокоит сотрудник ЛСПД - Andy Safino.") Sleep, 1000 sendchat("Предъявите Ваши документы, уверяю Вас, это обычная проверка.") addChatMessage("{fa9005}|{FFFFFF}Скрипт {00CED1}ожидает{00CED1}, {FFFFFF}пока игрок покажет паспорт.") while(!isDialogOpen()) continue RegExMatch(getChatLineEx(), "Уровень розыска\:\s(\d)", var) SendInput, {enter} if (var1 == 0) { sendchat("бла бла бла, вернул паспорт") sendchat("бла бла бла, вернул паспорт") } else if (var1 >= 1) { addChatMessage(" {fa9005}| {FF0000}ВНИМАНИЕ! {FFFFFF}Игрок находится в розыске! Уровень розыска: " var1) sendchat("ну типо ты в розыске, бро") } else addChatMessage(" {fa9005}| {FF0000}ОШИБКА! {FFFFFF}Не удалось определить розыск") } return
!1::
ShowDialog(2, "" MvdTitl "Проверка документов","» Попросить предъявить документы`n» Проверка документов","Закрыть")
Result := LineResult()
if (!Result)
return
Gosub, mpass%Result%
return
mpass1:
my_nick := getUsername()
my_nick := RegExReplace(my_nick, "_", " ")
sendchat("Здравствуйте, Вас беспокоит " zvan " " frak ", " my_nick ".")
sleep,700
sendchat("/do На груди висит жетон " frak ".")
sleep,700
sendchat("Будьте добры Ваши документы.")
return
mpass2:
t_a := 0
flag := 0
Loop, 20
{
s := 20 - A_Index
s := getChatLineEx(s)
if s contains Телефон
{
if s contains Уровень розыска
{
if s contains Законопослушность
{
RegExMatch(s,"Телефон\: ([0-9]*) \| Уровень розыска\: ([0-9]*) \| Законопослушность\: ([0-9]*)",s_p)
t_a := s_p2
flag := 1
}
}
}
}
if (flag == 0)
{
addChatMessageEx(0x4285F4, MvdTitl "Скрипт не обнаружил паспорт")
SendChat("Спасибо за предоставленные документы.")
}
else if (t_a == 0)
{
SendChat("Спасибо за предоставленные документы.")
}
else if (t_a > 0)
{
addChatMessageEx(0x4285F4, MvdTitl "Игрок в розыске! Уровень розыска: {E57368}" t_a)
SendChat("Сэр, Вы в розыске, вам придется пройти за мной!")
}
return
Ребят, как запилить одну тему, система чекает список сотрудников - /find, и тех, кто в онлайне система чекает на ЧС и по /history и по всему, например в блокноте, помогите кто может)
blfind:
SendChat("/find")
sleep, 600
a := GetDialogText()
a := RegExReplace(a, "[\s]+")
RegExMatch(a, "Изнихонлайн:(.*)Напау",p)
a1 := p1
a2 := 2
Result := 0
filename := "bl.txt"
ftestt := ""
Loop, %a1%
{
a2 ++
RegExMatch(getDialogLine(a2),"\[([0-9]*)\]",s)
name := getPlayerNameById(s1)
name2 := RegExReplace(name,"_"," ")
FileEncoding, UTF-8
test := 0
Loop, Read, %filename%
{
str := RegExReplace(A_LoopReadLine,"""")
dol := ",(.*?),(.*?),(.*?),(.*?),(.*?),(.*?),(.*?),"
RegExMatch(str,dol,p)
if (p2 == name || p2 == name2)
{
Result ++
test := 1
if (ftestt == "")
ftestt := name
else
ftestt := ", " name
}
}
}
addChatMessageEx(0x4285F4, MvdTitl "Результат проверки /find на ЧС: {ff5c33}" result " в ЧС МВД")
sleep, 300
if (result != 0)
addChatMessageEx(0x4285F4, MvdTitl "Для списка того кто в ЧС МВД введите /bfcheck")
return
bfcheck:
if (ftestt == "")
{
addChatMessageEx(0x4285F4, MvdTitl "Проверка не осуществлена: {ff5c33}/blfind")
return
}
else
{
dial := RegExReplace(ftestt,", ","`n")
sleep, 300
AntiCrash()
ShowDialog("0","" MvdTitl "Список","{ffffff}" dial,"Закрыть")
AntiCrash()
return
}
return
ребзя, вот полный код, ничего не менял но при запуске у меня через 2-3 секунды скрипт автоматически выключается.Код:blfind: SendChat("/find") sleep, 600 a := GetDialogText() a := RegExReplace(a, "[\s]+") RegExMatch(a, "Изнихонлайн:(.*)Напау",p) a1 := p1 a2 := 2 Result := 0 filename := "bl.txt" ftestt := "" Loop, %a1% { a2 ++ RegExMatch(getDialogLine(a2),"\[([0-9]*)\]",s) name := getPlayerNameById(s1) name2 := RegExReplace(name,"_"," ") FileEncoding, UTF-8 test := 0 Loop, Read, %filename% { str := RegExReplace(A_LoopReadLine,"""") dol := ",(.*?),(.*?),(.*?),(.*?),(.*?),(.*?),(.*?)," RegExMatch(str,dol,p) if (p2 == name || p2 == name2) { Result ++ test := 1 if (ftestt == "") ftestt := name else ftestt := ", " name } } } addChatMessageEx(0x4285F4, MvdTitl "Результат проверки /find на ЧС: {ff5c33}" result " в ЧС МВД") sleep, 300 if (result != 0) addChatMessageEx(0x4285F4, MvdTitl "Для списка того кто в ЧС МВД введите /bfcheck") return bfcheck: if (ftestt == "") { addChatMessageEx(0x4285F4, MvdTitl "Проверка не осуществлена: {ff5c33}/blfind") return } else { dial := RegExReplace(ftestt,", ","`n") sleep, 300 AntiCrash() ShowDialog("0","" MvdTitl "Список","{ffffff}" dial,"Закрыть") AntiCrash() return } return
SetWorkingDir %A_ScriptDir%
#Include samp udf.ahk
blfind:
SendChat("/find")
sleep, 600
a := GetDialogText()
a := RegExReplace(a, "[\s]+")
RegExMatch(a, "Изнихонлайн:(.*)Напау",p)
a1 := p1
a2 := 2
Result := 0
filename := "bl.txt"
ftestt := ""
Loop, %a1%
{
a2 ++
RegExMatch(getDialogLine(a2),"\[([0-9]*)\]",s)
name := getPlayerNameById(s1)
name2 := RegExReplace(name,"_"," ")
FileEncoding, UTF-8
test := 0
Loop, Read, %filename%
{
str := RegExReplace(A_LoopReadLine,"""")
dol := ",(.*?),(.*?),(.*?),(.*?),(.*?),(.*?),(.*?),"
RegExMatch(str,dol,p)
if (p2 == name || p2 == name2)
{
Result ++
test := 1
if (ftestt == "")
ftestt := name
else
ftestt := ", " name
}
}
}
addChatMessageEx(0x4285F4, MvdTitl "Результат проверки /find на ЧС: {ff5c33}" result " в ЧС МВД")
sleep, 300
if (result != 0)
addChatMessageEx(0x4285F4, MvdTitl "Для списка того кто в ЧС МВД введите /bfcheck")
return
bfcheck:
if (ftestt == "")
{
addChatMessageEx(0x4285F4, MvdTitl "Проверка не осуществлена: {ff5c33}/blfind")
return
}
else
{
dial := RegExReplace(ftestt,", ","`n")
sleep, 300
AntiCrash()
ShowDialog("0","" MvdTitl "Список","{ffffff}" dial,"Закрыть")
AntiCrash()
return
}
return
#SingleInstance в начало, не будет выключаться..ребзя, вот полный код, ничего не менял но при запуске у меня через 2-3 секунды скрипт автоматически выключается.
Код:SetWorkingDir %A_ScriptDir% #Include samp udf.ahk blfind: SendChat("/find") sleep, 600 a := GetDialogText() a := RegExReplace(a, "[\s]+") RegExMatch(a, "Изнихонлайн:(.*)Напау",p) a1 := p1 a2 := 2 Result := 0 filename := "bl.txt" ftestt := "" Loop, %a1% { a2 ++ RegExMatch(getDialogLine(a2),"\[([0-9]*)\]",s) name := getPlayerNameById(s1) name2 := RegExReplace(name,"_"," ") FileEncoding, UTF-8 test := 0 Loop, Read, %filename% { str := RegExReplace(A_LoopReadLine,"""") dol := ",(.*?),(.*?),(.*?),(.*?),(.*?),(.*?),(.*?)," RegExMatch(str,dol,p) if (p2 == name || p2 == name2) { Result ++ test := 1 if (ftestt == "") ftestt := name else ftestt := ", " name } } } addChatMessageEx(0x4285F4, MvdTitl "Результат проверки /find на ЧС: {ff5c33}" result " в ЧС МВД") sleep, 300 if (result != 0) addChatMessageEx(0x4285F4, MvdTitl "Для списка того кто в ЧС МВД введите /bfcheck") return bfcheck: if (ftestt == "") { addChatMessageEx(0x4285F4, MvdTitl "Проверка не осуществлена: {ff5c33}/blfind") return } else { dial := RegExReplace(ftestt,", ","`n") sleep, 300 AntiCrash() ShowDialog("0","" MvdTitl "Список","{ffffff}" dial,"Закрыть") AntiCrash() return } return
Это для того что бы определить можно ли включать 2 копии скрипта и т.п.#SingleInstance в начало, не будет выключаться..
#Persistentребзя, вот полный код, ничего не менял но при запуске у меня через 2-3 секунды скрипт автоматически выключается.