Imgur: The magic of the Internet(https://imgur.com/a/N46jH) помогите исправить ошибку пожалуйста.Автор кода: Phoenixxx_CzarКод:#include UDF_037.ahk ; UDF_037.ahk - это название файла UDF ;============================================= ; Обнуление переменной при нажатии ESC и F6 ;============================================= ~ESC:: ~F6:: menu:=0 return ;============================================= ; Кнопки вызова диалогов ;============================================= F3:: menu := 1 ShowDialog(2, "Диалог 1", "Первая`nВторая", "X") return F4:: menu := 2 ShowDialog(2, "Диалог с подменю", "Лекции`nПункт без доп. меню", "X") return ~LButton:: Time := A_TickCount while(isDialogOpen()) { if (A_TickCount - Time > 500) { Return } } checkdialogMenu: if (isDialogButton1Selected() == 1) { menu := 0 } ifWinNotActive, GTA:SA:MP { return } ;============================================= ; Проверка на активное меню ;============================================= if (menu == 1) { menu := 0 line_num := getDialogLineNumber() line_text := getDialogLine(line_num) addChatMessage("Выбрано: " line_text) return } else if (menu == 2) { menu := 0 line_num := getDialogLineNumber() line_text := getDialogLine(line_num) if (line_num == 1) { showDialog(2, "Подменю", "Первый пукнкт`nВторой пункт", "X") menu := 3 } else if (line_num == 2) addChatMessage("Выбрано: " line_text) return } else if (menu == 3) { menu := 0 line_num := getDialogLineNumber() line_text := getDialogLine(line_num) addChatMessage("В подменю выбрано: " line_text) return } return ~Enter:: gosub, checkdialogMenu return
Если шо, вот пример скрипта (ссылка чи шо це таке?)
А как сделать включение диалога на команду? Например /redСамп удф подключен? Измени на if (isdialogopen())
Спасибо работает :3Вроде работает, дальше сам разберешься, не сложно)
Код:showDialog(1, "Заголовок диалога", "Введите ваш тэг","Enter") Input, tag, V, {enter} yourtag:="["tag "]: " i:=1 return :?:/r:: if i=1 { SendInput,/r %yourtag% } else { SendInput,/r{Space} } return
Кстати я вот не понимаю, я делаю в /f тоже самое, ну в другой чат, но если я меняю теги, например /r то тег, не будет работать, подскажи как исправить, кстати объясните, что значит значит " i:= " я просто в интернете не могу найти.Вроде работает, дальше сам разберешься, не сложно)
Код:showDialog(1, "Заголовок диалога", "Введите ваш тэг","Enter") Input, tag, V, {enter} yourtag:="["tag "]: " i:=1 return :?:/r:: if i=1 { SendInput,/r %yourtag% } else { SendInput,/r{Space} } return
Вроде так, если не ошибся что должно возвращать функцию isTargetInAnyVehicleById(dwid)Помогите пожалуйста, мне надо сделать проверку на ближайшего игрока, находится ли он в машине, а если не находится в машине, то чтобы писало слово, например "Нет", буду благодарен :3
$~NumpadEnter::
$~Enter::
if (isInChat() = 1 && isDialogOpen() = 0)
{
Sleep 250
dwAddress := dwSAMP + 0x12D8F8
chatInput := readString(hGTA, dwAddress, 256)
if (chatInput == /test)
{
ids := getClosestPlayerId()
nick := getPlayerNameById(ids)
inveh := isTargetInAnyVehicleById(ids)
If (inveh == 1) {
addchatmessageEx(0xf7943c, "[AHK] Ближайший к вам игрок " nick "[" ids "] находиться в транспорте")
} else if (inveh == 0){
addchatmessageEx(0xf7943c, "[AHK] Ближайший к вам игрок " nick "[" ids "] не находиться в транспорте")
} else {
addchatmessageEx(0xf7943c, "[AHK] Ошибка")
}
}
}
if chatInput = /ahkset
{
SendChat("/mn")
sleep 500
SendInput, {Enter}
sleep 500
text := getDialogText()
text := RegExReplace(text, A_Tab, "")
text := RegExReplace(text, "{FFFFFF}", "")
text := RegExReplace(text, "{0099FF}", "")
RegExMatch(text, "Имя:([_A-Za-z]+)`n", nm)
nm1 := RegExReplace(nm1, "_", " ")
RegExMatch(text, "Номер телефона:([0-9]+)`n", tel)
RegExMatch(text, "Работа / должность:(.*)`nРанг", rbt)
RegExMatch(text, "Ранг:([0-9]+)`n", rng)
if RegExMatch(text, "Замужем за:")
{
RegExMatch(text, "Пол:(.*)`nЗамужем", sex)
}
if RegExMatch(text, "Женат на:")
{
RegExMatch(text, "Пол:(.*)`nЖенат", sex)
}
AddChatMessageEx("0xFFFFFF", "Имя: {97004B}" nm1)
sleep 100
AddChatMessageEx("0xFFFFFF", "Телефон: {97004B}" tel1)
sleep 100
AddChatMessageEx("0xFFFFFF", "Должность: {97004B}" rbt1)
sleep 100
AddChatMessageEx("0xFFFFFF", "Ранг: {97004B}" rng1)
sleep 100
AddChatMessageEx("0xFFFFFF", "Пол: {97004B}" sex1)
SendInput, {Enter}
IniWrite, %nm1%, %DIRSET%, Info, NAME
IniWrite, %tel1%, %DIRSET%, Info, TEL
IniWrite, %rbt1%, %DIRSET%, Info, WRK
IniWrite, %rng1%, %DIRSET%, Info, RANG
IniWrite, %sex1%, %DIRSET%, Info, SEX
proverka := 1
IniWrite, %proverka%, %DIRSET%, Info, Proverka
return
}
Что такое getTargetPed(), Я знаю, я имел ввиду, чтобы не держать таргет, а чтобы прицелился, отпустил, но id в память как-то записался, и уже не держа таргета активировать скрипт с этим id, ну вроде объяснил)Код:target := getTargetPed() ; не уверен что именно getTargetPed, это сам проверь, сейчас не у компа. :( Но суть ты понял
Спасибо, помогли. Но вот возникла еще одна задача, возможно ли, id полученное таргетом ( getTargetPed() ) Записать в память, чтобы его можно было потом использовать? К примеру, я навелся на педа, получил через таргет id, а потом последний полученный id прописывался в addchatmessageEx к примеру. Спасибо заранее.
~RButton::
ids := getIdByPed(getTargetPed())
return