Вопросы по AHK-скриптингу

Lighterr

Новичок
3
0
Помогите сделать диалоговый ахк скрипт с собеседованиями для сми в другие организации,
т.к. примерно похожее сделали с больницей.
 
Последнее редактирование:

VladislavOO

Новичок
3
0
Здравствуйте, Вот я хочу например сделать так, когда пишешь вот такое сообщение "/r", хочу чтобы после пробела выскакивало автоматически тег. Т. е.
/r>(Пробел) [Название].
Кто отпишет, буду вам очень благодарен.
 

Lighterr

Новичок
3
0
Код:
#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
Автор кода: Phoenixxx_Czar
Если шо, вот пример скрипта (ссылка чи шо це таке?)
Imgur: The magic of the Internet(https://imgur.com/a/N46jH) помогите исправить ошибку пожалуйста.

По идее этот скрипт будет похожий на этот? Просто мне нужно похожий на этот, только бинды под себя.

N46jH
 
Последнее редактирование:

VladislavOO

Новичок
3
0
Как сделать, наподобие префикса, т.е.
Например я написал /prefix [Ххх], потом данный код будет реагировать таким образом например: /r [Xxx] текст и с /f [Xxx] текст.
И также например со званиями, но с другой командой /fpreifx.
- Здравия желаю, я [Матрос], имя фамилия, предъявите ваше удостоверение.
Буду очень благодарен.
 
Последнее редактирование:

IceBurn

Известный
10
1
Помогите пожалуйста. Декомпилировал скрипт чтобы добавить в него кое-что своё. Сам скрипт запускается в виде отдельного окна. В итоге изменил что надо, но обратно в exe файл он не компилируется, ругается на что-то. Кто может мой готовый файл скомпилировать? Буду благодарен
 

Вложения

  • AutoPolice.txt
    420.9 KB · Просмотры: 29

VladislavOO

Новичок
3
0
Вроде работает, дальше сам разберешься, не сложно)
Код:
showDialog(1, "Заголовок диалога", "Введите ваш тэг","Enter")
Input, tag, V, {enter}
yourtag:="["tag "]: "
i:=1
return
:?:/r::
if i=1
{
    SendInput,/r %yourtag%
}
else
{
    SendInput,/r{Space}
}
return
Спасибо работает :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:= " я просто в интернете не могу найти.
Че не так.txt

Наверно последний мой вопрос.
Как сделать нонРП рации?, например:
Я пишу команду /rn(Пробел), пишутся скобки (( (В данной местности появляется возможность писать и также автом. ставит сюда.) ))
Также с /fn (( )) и посередине появляется возможность сразу писать.
 
Последнее редактирование модератором:

Yashka

Известный
15
1
Напишите плиз AHK релог / рекконект к серверу
у UDF есть setrestart(), но хз чето
 

banan4eg

Известный
47
15
Помогите пожалуйста, мне надо сделать проверку на ближайшего игрока, находится ли он в машине, а если не находится в машине, то чтобы писало слово, например "Нет", буду благодарен :3
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Помогите пожалуйста, мне надо сделать проверку на ближайшего игрока, находится ли он в машине, а если не находится в машине, то чтобы писало слово, например "Нет", буду благодарен :3
Вроде так, если не ошибся что должно возвращать функцию isTargetInAnyVehicleById(dwid)
AutoHotKey:
$~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] Ошибка")
}
}
}
 
  • Нравится
Реакции: Vlad Horii

RandeVulll

Новичок
5
1
Код:
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
}

вообщем получается, он считавает данные, сюда надо просто добавить строку считывания строки "Бизнес:"
  • И вывод если там что-то то есть, в переменную, то есть, например что-бы на номер отсылалась смс с названием бизнеса и его номер, в случае если есть
  • если нету бизнеса, то ничего, просто считывает и все.
Как это делается?
 
Последнее редактирование модератором:

banan4eg

Известный
47
15
Спасибо, помогли. Но вот возникла еще одна задача, возможно ли, id полученное таргетом ( getTargetPed() ) Записать в память, чтобы его можно было потом использовать? К примеру, я навелся на педа, получил через таргет id, а потом последний полученный id прописывался в addchatmessageEx к примеру. Спасибо заранее.
 

banan4eg

Известный
47
15
Код:
target := getTargetPed() ; не уверен что именно getTargetPed, это сам проверь, сейчас не у компа. :( Но суть ты понял
Что такое getTargetPed(), Я знаю, я имел ввиду, чтобы не держать таргет, а чтобы прицелился, отпустил, но id в память как-то записался, и уже не держа таргета активировать скрипт с этим id, ну вроде объяснил)
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Спасибо, помогли. Но вот возникла еще одна задача, возможно ли, id полученное таргетом ( getTargetPed() ) Записать в память, чтобы его можно было потом использовать? К примеру, я навелся на педа, получил через таргет id, а потом последний полученный id прописывался в addchatmessageEx к примеру. Спасибо заранее.
AutoHotKey:
~RButton::
ids := getIdByPed(getTargetPed())
return
 

Cesar Ballard

Участник
81
5
В общем, может кто-то шарит или имеет какой-то образец кода в ахк с такой последовательностью действий

Пример:

На Х сервере есть некая администрация, и там типа меряются пиписками кто быстрее ответит. Прилетел какой-то вопрос ты хоба /команда ID ответ

Но ответ иногда заеб писать, и пользоватся клео шпора не всегда по кайфу ибо оно глюканафты часто ловит

А хотелось бы иметь след. пример скрипта.
Я записываю некий текст в код ахк, потом в игре не нажатием горячих кнопок, а допустим, я прописал для кода команду в чат в игре, пускай будет /help ID игрока определённому игроку с тем ID что я указал летит ответ
типа пример: /adm ID {определяет ай ди тот шо я указал в /help ID} что бы отрыть тачку поедьте туда-то туда, и стелайте то и то.