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

Forfeit

Участник
69
12
Написать сможешь пожалуйста? А то я не особо шарю :D
Код:
if(RegExMatch(ChatInput, "(.*?) (.[0-9]*) (.*)", ChatInputOut))
{
    IfInString, ChatInputOut1, /buninvite
    {
        if(RegExMatch(ChatInputOut2, "[0-9]", CommandID))
        {
            SendChat(ChatInputOut1 " " CommandID " " ChatInputOut3)
        }
        else
        {
            addChatMessage("ID указан не верно. Используйте числа!")
        }
    }
}
 

TeOdooR

Новичок
24
1
Вопросик, сделал подобие ускорения для байков (да-да, я знаю что я тупой и такие уже существуют, но всё же...) с чекером, нахожусь ли я в тс...
так вот можно ли сделать доп. считывание есть ли кто-то ещё в тс и если да - то перезагружать скрипт, если нет - продолжать работу... (если скинете просто чекер буду примного благодарен)
 

never_dk

Новичок
9
0
Подскажите как сделать так что бы когда при подключению к серверу когда выбивается надпись Connecting to Diamond RP | Amber*например в переменную записывался только сервак, тобишь Amber в regEx не шарю вообще
 

Cucumber

Участник
40
21
Вопросик, сделал подобие ускорения для байков (да-да, я знаю что я тупой и такие уже существуют, но всё же...) с чекером, нахожусь ли я в тс...
так вот можно ли сделать доп. считывание есть ли кто-то ещё в тс и если да - то перезагружать скрипт, если нет - продолжать работу... (если скинете просто чекер буду примного благодарен)
Как один из вариантов - проверять пассажиров через функцию getMyPassengerId()

Подскажите как сделать так что бы когда при подключению к серверу когда выбивается надпись Connecting to Diamond RP | Amber*например в переменную записывался только сервак, тобишь Amber в regEx не шарю вообще
Читать чат через память/чатлог. Выше есть куча примеров работы с чатлогом.
 

conik232

Новичок
1
0
всем ку, можно в ахк как-то сделать чтобы перс в сампе шёл на альте, и я мог писать в чат? То есть через ахк запускаешь автоходилку и спокойно пользуешься чатом.
 

Kev1H

Новичок
19
0
помогите пожалуйста. Как внутри диалога сделать еще один диалог? Вот, делю себе хелпер.

~F6::
menu:=0 ; если открыли чат то выключаем меню
return

:?:/ah:: ; вызов самого фейкового меню
a:=1 ; как и говорилось переменная получающая выбранную строку (1 т.к в меню активная строка начинается с первой)
menu:=1 ; Меню активно
sleep 200
ShowDialog("2", "{fac152}Admin Helper 0.2", "{FFFFFF}• Команды Администратора`n• Список биндов`n• Телепорт по местам`n• Спавн транспорта", "Закрыть") ; сам диалог
return

~UP:: ; при нажатии на кнопку вверх
if a>1 ; если активная строка не первая
{
a:=a-1 ; поднимаем значение активной строки на 1 пункт вверх
}
return ; ретерним

~Down:: ; при нажатии на кнопку вниз
if a<8 ; если активная строка не последняя
{
a:=a+1 ; опускаем активную строку на 1 пункт вниз
}
return ; ретерним

~Enter:: ; при нажатии на Entrer
if (menu==1) { ; если меню активно
punk:="label"+a ; получение имени метки выбранного пункта в переменную
Gosub, %punk% ; переходит на мету выбранного пункта
menu:=0 ; деактивирует меню
}
return ; ретерним

label1:
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/ahelp{enter}
return

label2:
sleep 200
showDialog(0, "{fac152}Список биндов", "{00ff04}F1 {FFFFFF}- /ans ответ игроку`n{00ff04}F3 {FFFFFF}- Пожелать приятной игры`n{00ff04}Alt+1 {FFFFFF}- Слежу за игроком`n{00ff04}Alt+2 {FFFFFF}- /sp слежка за игроком`n{00ff04}Правый Ctrl {FFFFFF}- Проверка на Анти AFK`n{00ff04}Caps Lock {FFFFFF}- Время и норма`n{00ff04}PgDn {FFFFFF}- Телепорт на метку`n{00ff04}Del {FFFFFF}- Заправить и починить авто`n{00ff04}Insert {FFFFFF}- Перезапуск скрипта", "Понятно") ;Можно использовать как 2 так и 1 кнопку
return

label3:
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/tp{enter}
return

label4:
{
c:=1 ; как и говорилось переменная получающая выбранную строку (1 т.к в меню активная строка начинается с первой)
menu:=1 ; Меню активно
Sleep 200
showDialog(2, "{fac152}Спавн авто", "{00ff04}NRG-500 {FFFFFF}- {FFFF00}522 id`n{00ff04}Dumper {FFFFFF}- {FFFF00}406 id`n{00ff04}Infernus {FFFFFF}- {FFFF00}411 id`n{00ff04}Sultan {FFFFFF}- {FFFF00}560 id`n{00ff04}Maverick {FFFFFF}- {FFFF00}487 id`n{00ff04}Поливалка {FFFFFF}- {FFFF00}601 id", "Понятно") ;
return

~UP:: ; при нажатии на кнопку вверх
if c>1 ; если активная строка не первая
{
c:=c-1 ; поднимаем значение активной строки на 1 пункт вверх
}
return ; ретерним

~Down:: ; при нажатии на кнопку вниз
if c<6 ; если активная строка не последняя
{
c:=c+1 ; опускаем активную строку на 1 пункт вниз
}
return ; ретерним

~Enter:: ; при нажатии на Entrer
if (menu==1) { ; если меню активно
cars:="car"+c ; получение имени метки выбранного пункта в переменную
Gosub, %cars% ; переходит на мету выбранного пункта
menu:=0 ; деактивирует меню
}
return ; ретерним

car1:
Sleep 200
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/me заспавнил NRG-500{enter}
return

car2:
Sleep 200
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/me заспавнил Dumper{enter}
return

car3:
Sleep 200
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/me заспавнил Infernus{enter}
return

car4:
Sleep 200
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/me заспавнил Sultan{enter}
return

car5:
Sleep 200
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/me заспавнил Maverick{enter}
return

car6:
Sleep 200
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/me заспавнил Поливалку{enter}
return
}
return

Все проблемы начинаются со строчки нового диалога "label4:"

Красным цветом я пометил места, в которых ошибки вылазят. Пишет что уже повторяются эти горячие клавиши
upload_2019-2-9_13-16-43.png


Если я их заменяю допустим на "~Enter & ~Enter::" или "~Enter & ctrl::" и т.д. Скрипт и команды "/me" которые указал ниже, отказываются работать.

Вот у меня /ans вот у меня и вопрос. Можно ли как-то заменить эти клавиши и нет?
Как действует скрипт:
1) Открывается основной далог
2) Выбираю строку "Спавн транспорта"
3) Открывается диалог с выбором ТС
4) Выбираю какую нужно строку
5) Производится команда спавна "В данный момент - /me заспавнил транспорт (Название)"

Еще помогите с этим:
F1::
showDialog(1, "{fac152}Мероприятие", "{FFFFFF}Введите {00ff04}[Название] {FFFFFF}мероприятия", "Понятно") ;
input, NameMP, V, {enter}
Sleep 200
showDialog(1, "{fac152}Мероприятие", "{FFFFFF}Введите {00ff04}[Сумму] {FFFFFF}приза", "Понятно") ;
input, SummaPriza, V, {enter}
Sleep 200
showDialog(1, "{fac152}Мероприятие", "{FFFFFF}Введите {00ff04}[Ник] {FFFFFF}спонсора", "Понятно") ;
input, NameSponsor, V, {enter}
Sleep 200
Sendmessage, 0x50,, 0x4190419,, A
SendInput, {f6}/msg [МП]: Сейчас пройдет мероприятие %NameMP%. Приз МП - %SummaPriza%$ и временный скин.{enter}
Sleep 200
SendInput, {f6}/msg [МП]: Спонсор мероприятия - %NameSponsor%{enter}
return

Как сделать так, чтобы если я случайно прожал этот скрипт, то по нажатию клавиши ESC, он останавливался. И больше не появлялись диалоговые окна после нажатия Enter
 

index

Известный
126
82
помогите пожалуйста. Как внутри диалога сделать еще один диалог? Вот, делю себе хелпер.



Все проблемы начинаются со строчки нового диалога "label4:"

Красным цветом я пометил места, в которых ошибки вылазят. Пишет что уже повторяются эти горячие клавиши
Посмотреть вложение 24965

Если я их заменяю допустим на "~Enter & ~Enter::" или "~Enter & ctrl::" и т.д. Скрипт и команды "/me" которые указал ниже, отказываются работать.

Вот у меня /ans вот у меня и вопрос. Можно ли как-то заменить эти клавиши и нет?
Как действует скрипт:
1) Открывается основной далог
2) Выбираю строку "Спавн транспорта"
3) Открывается диалог с выбором ТС
4) Выбираю какую нужно строку
5) Производится команда спавна "В данный момент - /me заспавнил транспорт (Название)"

Еще помогите с этим:


Как сделать так, чтобы если я случайно прожал этот скрипт, то по нажатию клавиши ESC, он останавливался. И больше не появлялись диалоговые окна после нажатия Enter
Номер выбранной в диалоге строки можно получить через GetDialogIndex(), не надо лепить костылей.
Второй момент - метка для каждой горячей клавиши в твоем случае можнт быть только одна.
 

Kev1H

Новичок
19
0
Номер выбранной в диалоге строки можно получить через GetDialogIndex(), не надо лепить костылей.
Второй момент - метка для каждой горячей клавиши в твоем случае можнт быть только одна.
Можешь пожалуйста рассказать, как именно. А то я начинающий, такие заумные слова не понимаю. Писал по роликам с ютаба. :(
 

index

Известный
126
82
Можешь пожалуйста рассказать, как именно. А то я начинающий, такие заумные слова не понимаю. Писал по роликам с ютаба. :(
1. На читмастере урок хороший: [Урок] [Обновлено] Рабочее меню со списком - Форум Cheat-Master.ru(https://cheat-master.ru/forum/149-675583-1)
2. Не надо делать по 2+ меток ~UP, ~Down, ~Enter. В твоем случае ахк этого не поймет, все должно быть в одной подпрограмме.
 

GR4NDLE | CS:GO

Новичок
14
1
1. На читмастере урок хороший: [Урок] [Обновлено] Рабочее меню со списком - Форум Cheat-Master.ru(https://cheat-master.ru/forum/149-675583-1)
2. Не надо делать по 2+ меток ~UP, ~Down, ~Enter. В твоем случае ахк этого не поймет, все должно быть в одной подпрограмме.
как сделать во 2 пункте все в 1. Если у меня эти метки стоят под клавиши. Убрал и сделал все под 1 метку ~UP, у меня не рабит

P.S. Это я, тот же Kev1H.
 

index

Известный
126
82
как сделать во 2 пункте все в 1. Если у меня эти метки стоят под клавиши. Убрал и сделал все под 1 метку ~UP, у меня не рабит

P.S. Это я, тот же Kev1H.
Смотри урок с ЧМа, что я скинул. Там всё описано. Тебе up и down вообще не нужны.
 

PiskaBegemota1337CM

Новичок
12
2
Ребят, хочу крч АХК сделать, что бы за меня по к\д жал букву Н ( англ ). Кто может код скинуть? Буду благодарен)
 

Square

Новичок
8
0
Друзья, делаю скрипт. Активация есть, но как сделать что бы
Код:
:?:/mr::
   SendChat("123")
   return

Работала только при активации?