Библиотека Dota Scripts Builder - функции, которые облегчат и ускорят написание скриптов для Доты 2.
Особенность заключается в работе со слотами, а именно их координатами.
Здесь не буду рассматривать примеры возможной реализации, подробней ниже.
Особенность заключается в работе со слотами, а именно их координатами.
Здесь не буду рассматривать примеры возможной реализации, подробней ниже.
SetSettings() | Настройки для корректной работы функций библиотеки. |
PixelTrigger(savecrds, slotnumb, R, R2) | savecrds - режим "1" - сохранить координаты, "0" - определять по сохранённым координатам. slot - номер слота, от координат которого будет определятся пиксели. R - отклонение от координат слота. Отклонение при сохранении. R2 -отклонение от координат слота. Отклонение при определении. |
bhsetslotcoords(letter, numeral, slot, coordinate, type) | Сохранение координаты слота в нужный элемент по: 1) Letter - Символу координаты 2) Numeral - № координаты 3) Slot - № слота 4) Coordinate - Указываемой координаты Type - Сохранение координат (inventory, skill, backpack). |
byhandsetslotcoords(x11 - y26, type) | То же самое что сверху, только сохранение координат идёт для всех слотов сразу. Добавлено для исключительных случаев. |
setslotcoords(Q1, Q2, Q3, Q4, Q5, Q6, type) | Сохранение координат слотов указанного типа. Сохранение сопровождается звуковыми сигналами. Возможность самому пользователю указать координаты своих слотов. Qn - номер слота, координаты которого мы сохраняем. Type - Координаты чего мы сохраняем (inventory, skill, backpack). |
vksend(key, status) | Отправка нажатия клавиши по VK коду. Key - код клавиши, Status: d - зажать, u - отпустить, 0 - простое нажатие. |
scsend(key, status) | Отправка нажатия клавиши по SC коду. Key - код клавиши, Status: d - зажать, u - отпустить, 0 - простое нажатие. |
modsend(key, modkey) | Отправка нажатия через модификатор. Key - имя клавиши, Modkey - модификатор (alt, ctrl). |
send(key, status) | Отправка нажатия клавиши. Key - имя клавиши, Status: d - зажать, u - отпустить, 0 - простое нажатие. |
itemsearch(slot, image) | Поиск image в указанном слоте/всех по ранее сохранённым координатам. slot - номер слота, image - название/путь к изображению. |
eventlist(type) | Возвращает содержание переменных по указанным параметрам. Параметры: (Координаты конкретного слота, все координаты, клавиши) inventory.coords.n.n.n [n- № слота(1/6), n- № координаты(1/2), n- координата(x/y).] inventory.key.n [n - № слота] inventory.coords.all inventory.key.all skill.coords.n.n.n skill.coords.all skill.key.n skill.key.all backpack.coords.n.n.n backpack.coords.all |
abuseitems(side, speed, itemslot, backslot, R, R2) | Абуз предметов в инвентаре через рюкзак. side - сторона абуза, speed - скорость курсора, itemslot - номер слота инвентаря, backslot - номер слота рюкзака, R - отклонение от координат слота инвентаря, R2 - рюкзака. |
ExitProcess() | Завершение процесса. |
Пример поиска изображения в указанных вручную координатах слота:
Хотел бы озвучить, что в сей библиотеке нет работы с памятью, все функции построены на работе с изображениями и координатами.
Основное желание у меня при написании - это было облегчить процесс написания скриптов для доты и сделать это менее муторным, хотя бы на этапе работы со слотами. Получилось у меня или нет - решать вам.
Есть предложение по улучшению одной из функций или вовсе идея для новой? С радостью добавлю и укажу ваше авторство.
AutoHotKey:
#Include DotaScriptsBuilder.ahk
; Подключаем библиотеку
SetSettings()
; Функцией SetSettings() создаем папку \Documents\DotaScriptsBuilder и ставим coordmode.
bhsetslotcoords("x", "1", "6", "1488", "inventory")
bhsetslotcoords("x", "2", "6", "1528", "inventory")
bhsetslotcoords("y", "1", "6", "1019", "inventory")
bhsetslotcoords("y", "2", "6", "1047", "inventory")
; Сохраняем координаты 6-го слота инвентаря
numpad0::
msgbox % itemsearch("6", "tranquilboots.png")
; Ищем изображение tranquilboots.png (находится по пути \Documents\DotaScriptsBuilder) в координатах 6-го слота.
Основное желание у меня при написании - это было облегчить процесс написания скриптов для доты и сделать это менее муторным, хотя бы на этапе работы со слотами. Получилось у меня или нет - решать вам.
Есть предложение по улучшению одной из функций или вовсе идея для новой? С радостью добавлю и укажу ваше авторство.
Установка: перенести файл в удобное для вас место и в начале любого скрипта указывать #include.