Напиши его сам) Вывести уровень и пинг игрока можно с помощью getPlayerScoreById(ID) - получить уровень игрока по ID и getPlayerPingById(ID) - получить пинг игрока по ID (НЕОБХОДИМО подключить SAMP UDF)
Код:loop { if (RegExMatch(GetChatLineEx(), "Connected. Joining the game...", vars)) { Sleep, 500 addChatMessage("Done") break } } return
Не получается поэтому обратился к вам,проблемы с input,v и с выводом(в чат).Кароче даже кастылно у меня работат не будет,побовал уже
#Include SAMP-UDF.ahk ;обязательно подключаешь SAMP UDF.. Найти его можешь на этом форуме
$~NumpadEnter::
$~Enter::
if (isInChat() && !isDialogOpen())
{
Sleep 200
chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if(RegExMatch(chatInput, "^/com"))
{
if(RegExMatch(chatInput, "^/com (\d{1,3})", info))
{
nick := getPlayerNameById(info1) ;получаем никнейм по введённому ID
score := getPlayerScoreById(info1) ;получаем уровень по введённому ID
ping := getPlayerPingById(info1) ;получаем пинг по введённому ID
addChatMessageEx("{0070ba}","[AHK] {bdbdbd}У игрока {0070ba}" nick "[" info1 "] {bdbdbd}" score " уровень и " ping " пинг.") ;вывод информации в чат
}
else addChatMessageEx("{0070ba}","[AHK] {bdbdbd}Используйте: {FFFFFF}/com [id]") ;Если неверно использовал команду
}
}
Return
Спасибо за коментарии и за код,этот код значительно отличается он моего,правда я не понял что делает строка chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256)Ну раз так, вот тебе пример:
Код:#Include SAMP-UDF.ahk ;обязательно подключаешь SAMP UDF.. Найти его можешь на этом форуме $~NumpadEnter:: $~Enter:: if (isInChat() && !isDialogOpen()) { Sleep 200 chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256) if(RegExMatch(chatInput, "^/com")) { if(RegExMatch(chatInput, "^/com (\d{1,3})", info)) { nick := getPlayerNameById(info1) ;получаем никнейм по введённому ID score := getPlayerScoreById(info1) ;получаем уровень по введённому ID ping := getPlayerPingById(info1) ;получаем пинг по введённому ID addChatMessageEx("{0070ba}","[AHK] {bdbdbd}У игрока {0070ba}" nick "[" info1 "] {bdbdbd}" score " уровень и " ping " пинг.") ;вывод информации в чат } else addChatMessageEx("{0070ba}","[AHK] {bdbdbd}Используйте: {FFFFFF}/com [id]") ;Если неверно использовал команду } } Return
Да и тебе тут врятли кто-то будет разжёвывать, так что вчитывайся и изучай информацию.
#Include samp-udf.ahk
;это мой код
:?:/pinfo::
SendInput /pinfo{space}
Input, idp, V, {Enter}{F6}
idp1 := "ID Игрока: "
name := "Имя игрока: "
name1 := getPlayerNameById(%idp%)
lvl := "{ff0000}Уровень: "
lvl1 := getPlayerScoreById(%idp%)
ping := "Ping: "
ping1 := getPlayerPingById(%idp%)
addChatMessageEx("{ff00ff}" , "{ff0000}__________ Player Info __________")
addChatMessageEx("{ff00ff}" , "{ff00ff}"(idp1)(idp))
addChatMessageEx("{ff00ff}" , "{ff00ff}"(name)(name1))
addChatMessageEx("{ff00ff}" , "{ff00ff}"(lvl)(lvl1))
addChatMessageEx("{ff00ff}" , "{ff00ff}"(ping)(ping1))
addChatMessageEx("{ff00ff}" , "{ff0000}___________________________________")
addChatMessage(lvl , "{ff0000}[", lvl1 ,"]")
name1 := getPlayerNameById(id)
addChatMessage(ping , "{ff0000}[" , ping1 , "]")
addChatMessage("{ff0000}ID:[" , id , "]"
return
В цикле имеешь ввиду?Как там сделать, чтобы одна из функций АХК работала постоянно? Тип вместо нажатия на клавишу, он по кд работал.
Спасибо за коментарии и за код,этот код значительно отличается он моего,правда я не понял что делает строка chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256)
Lua:#Include samp-udf.ahk ;это мой код :?:/pinfo:: SendInput /pinfo{space} Input, idp, V, {Enter}{F6} idp1 := "ID Игрока: " name := "Имя игрока: " name1 := getPlayerNameById(%idp%) lvl := "{ff0000}Уровень: " lvl1 := getPlayerScoreById(%idp%) ping := "Ping: " ping1 := getPlayerPingById(%idp%) addChatMessageEx("{ff00ff}" , "{ff0000}__________ Player Info __________") addChatMessageEx("{ff00ff}" , "{ff00ff}"(idp1)(idp)) addChatMessageEx("{ff00ff}" , "{ff00ff}"(name)(name1)) addChatMessageEx("{ff00ff}" , "{ff00ff}"(lvl)(lvl1)) addChatMessageEx("{ff00ff}" , "{ff00ff}"(ping)(ping1)) addChatMessageEx("{ff00ff}" , "{ff0000}___________________________________") addChatMessage(lvl , "{ff0000}[", lvl1 ,"]") name1 := getPlayerNameById(id) addChatMessage(ping , "{ff0000}[" , ping1 , "]") addChatMessage("{ff0000}ID:[" , id , "]" return
SendInput, {F6}Привет, меня зовут %var%{Enter} ;так переменную выделяют в стандартном исполнении макросового языка
SendChat("Привет, меня зовут " var) ;в функции SAMP UDF
В цикле имеешь ввиду?
Loop
{
*code*
}
;наглядный пример
SetTimer, test, 500 ;test - метка, 500 - задержка (в м/с)
test:
;тут твой код
Return
F2::
SetTimer, test, Off ;выключить цикл
Return
я понял что работает так:/com id(в чат),но чего-то не работаетНеправильно используешь переменные в своём коде. Делай всё по примеру. В функциях UDF не допустимы %.
ChatInput - переменная, которая считывает что ты вводишь в строку чата.
Код:SendInput, {F6}Привет, меня зовут %var%{Enter} ;так переменную выделяют в стандартном исполнении макросового языка SendChat("Привет, меня зовут " var) ;в функции SAMP UDF
Можно так, а можно и через SetTimer
Код:;наглядный пример SetTimer, test, 500 ;test - метка, 500 - задержка (в м/с) test: ;тут твой код Return F2:: SetTimer, test, Off ;выключить цикл Return
Вчера лично проверял.я понял что работает так:/com id(в чат),но чего-то не работает
Установил ахк в ANSI-32 и все работает)Вчера лично проверял.
Пробуй один из вариантов:
- установи АХК в ANSI-32
- скачай SAMP-UDF под версию твоего клиента SAMP (если клиент SAMP R2, то и версия такая же)
- может работе мешать антивирус
- запусти от имени администратора
Скинь эту строку из чатлога (Мои документы/GTA San Andreas User Files/SAMP/chatlog.txt) я тебе напишу код.Можно сделать скрипт,чтоб он брал информацию из чата и переносил её туда же.Вот пример:(нужно то,что в кавычках)
Скинь эту строку из чатлога (Мои документы/GTA San Andreas User Files/SAMP/chatlog.txt) я тебе напишу код.
{FF0000}Викторина: {11FF00}Тот кто быстрее введет "{FFC000}gmzhgby3{11FF00}", то получит {FF0000}$650000
И ещё нельзя ли сделать на подобие только на решение примера ? Срока из чат лога:
{FF0000}Викторина: {11FF00}Сколько будет {F3FF00}1088{FFC000} + {F3FF00}761{FF0000} ? {AFFF00}
#Include SAMP-UDF.ahk
Loop
{
if (RegExMatch(getChatLineEx(), "Викторина:\s\{\w+\}Тот\sкто\sбыстрее\sвведет\s\''\{\w+\}(\w+)\{\w+\}\''", var))
{
SendChat(var1)
addChatMessage("Отправил из викторины " var1 " в чат..")
}
if (RegExMatch(getChatLineEx(), "Викторина:\s\{\w+\}Сколько\sбудет\s\{\w+\}(\d+)\{\w+\}\s(\W)\s\{\w+\}(\d+)\{\w+\}", vars))
{
if (vars2=="+")
otvet := vars1 + vars3
if (vars2=="-")
otvet := vars1 - vars3
SendChat(otvet)
addChatMessage("Отправил из викторины " otvet " в чат..")
}
}
Подскажи какПодключи SAMP UDF
Код:#Include SAMP-UDF.ahk Loop { if (RegExMatch(getChatLineEx(), "Викторина:\s\{\w+\}Тот\sкто\sбыстрее\sвведет\s\''\{\w+\}(\w+)\{\w+\}\''", var)) { SendChat(var1) addChatMessage("Отправил из викторины " var1 " в чат..") } if (RegExMatch(getChatLineEx(), "Викторина:\s\{\w+\}Сколько\sбудет\s\{\w+\}(\d+)\{\w+\}\s(\W)\s\{\w+\}(\d+)\{\w+\}", vars)) { if (vars2=="+") otvet := vars1 + vars3 if (vars2=="-") otvet := vars1 - vars3 SendChat(otvet) addChatMessage("Отправил из викторины " otvet " в чат..") } }
Подскажи как