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

RTD

Нестандартное звание
Модератор
391
414
  • Нравится
Реакции: Cesar Ballard

EazyBoost

Известный
207
24
Как сделать так, что бы когда был открыт диалог то выполнялось какое-то действие? И можно сделать по конкретному ид диалогу такое?

Код:
if (isDialogOpen())
{
addChatMessage("{FB0000} MY TEXT")
}
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Кто поможет с getpixelcolor? Нужно узнавать цвет текстдрава, и если он соответствует тому который в коде - нажимается определённая кнопка.
AutoHotKey:
PixelGetColor, color, 1502, 13   
if color = 0xFFFFFF
    MouseClick, left,  833, 627
 

HURACAN

Известный
42
3
hello
if (RegExMatch(Chatlog, "Сообщение от\s(\w+)\[(\d{1,3})\]:\s(.*)", out))
Как сделать,чтобы после "Сообщение от\s(\w+)\[(\d{1,3})\]: искались только цифры"
Пример: Сообщение от Test[0]: text test 0 test (после: от Test[0]: может быть и другой текст)
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Спасибо, а можешь сказать как узнавать цвет текстдрава по координатам и выводить это дело в чат?
Пишем тестовый скрипт, который выведет координаты и цвет при клике левой кнопкой мыши.
AutoHotKey:
~LButton::
MouseGetPos, xpos, ypos
PixelGetColor, color, xpos, ypos
Msgbox, Текущие координаты курсора: X: %xpos% Y: %ypos%.`nЦвет пикселя: %color%
return


hello
if (RegExMatch(Chatlog, "Сообщение от\s(\w+)\[(\d{1,3})\]:\s(.*)", out))
Как сделать,чтобы после "Сообщение от\s(\w+)\[(\d{1,3})\]: искались только цифры"
Пример: Сообщение от Test[0]: text test 0 test (после: от Test[0]: может быть и другой текст)
RegEx -Autohotkey(http://ahk-wiki.ru/regex)
RegExMatch() -Autohotkey(http://ahk-wiki.ru/regexmatch)
 

Adam_Rockwell

Активный
143
25
Кто поможет с getpixelcolor? Нужно узнавать цвет текстдрава, и если он соответствует тому который в коде - нажимается определённая кнопка.
Лучше юзай fisher bot на Lua) Он без багов хоть работать будет.
Писал подобный бот рыбалку на АХК, замучался в багах. Если надо, в личку отпиши, скину.
 

Adam_Rockwell

Активный
143
25
У меня есть четыре скрипта, я когда запускаю основной, они все открываются. Мне нужно сразу при запуске чтобы один из них ставился на паузу, и если я его сниму с паузы то остальные три идут на паузу, как это сделать?
Чтобы при запуске запускались остальные 4, то в начало кода основного скрипта впиши это
run , script1
run , script2
run , script3
run , script4

Как ставить на паузу, не знаю) Да и по-любому это не нужно. Просто ты всё усложняешь.
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
У меня есть четыре скрипта, я когда запускаю основной, они все открываются. Мне нужно сразу при запуске чтобы один из них ставился на паузу, и если я его сниму с паузы то остальные три идут на паузу, как это сделать?
Нахера 4 скрипта, это типо многопоточность - бред, нормальный способ есть на официальном форуме autohotkey.com (English)
Самый тупой способ, есть один ini файл с которого все ахк считывают инфу если там 1 - работаем, если 0 ставим на паузу(Не Pause а перед каждой командой пишем функцию и т.п).
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Как сделать чтобы при одинарном нажатии клавиши делалось одно, а при двойном - кое что другое?
Ну типо поставить счётчик и отслеживать статус клавиши в течении секунды например.
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Подскажешь как этот счётчик ставить и как отслеживать?
GetKeyState: GetKeyState(https://www.autohotkey.com/docs/commands/GetKeyState.htm)
A_TickCount: Variables and Expressions(https://www.autohotkey.com/docs/Variables.htm)[/sup

Хотя немного подумав сделал более простую реализацию без расчетов времени.
AutoHotKey:
F2::
if (key_presses > 0) {
    key_presses++
    return
}
key_presses = 1
SetTimer, KeyCheck, 500 ; Ожидание нажатия клавиши
return

KeyCheck:
SetTimer, KeyCheck, Off
if (key_presses = 1) ; Одинарное нажатие
    MsgBox, Ты нажал на кнопку 1 раз.
else if (key_presses = 2) ; Двойное нажатие
    MsgBox, Ты нажал на кнопку 2 раза.
key_presses = 0
return
 
Последнее редактирование:

#Rin

Известный
Всефорумный модератор
1,214
1,036
  • Нравится
Реакции: Vlad Horii

SiTrak

Известный
193
251
Возможно ли сделать так, чтоб персонаж передвигался по координатам?
 
  • Нравится
Реакции: Mastir228

#Rin

Известный
Всефорумный модератор
1,214
1,036
CordMaster или пишешь собственную функцию с эмуляцией движения.