Исходник [Dota SB] Dota Scripts Builder | AHK

BASS_DEVSOFTWARE

Известный 🇺🇦
Автор темы
Друг
264
568






Dota-2.png
Библиотека 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()Завершение процесса.
[TBODY] [/TBODY]
Пример поиска изображения в указанных вручную координатах слота:
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-го слота.
Хотел бы озвучить, что в сей библиотеке нет работы с памятью, все функции построены на работе с изображениями и координатами.
Основное желание у меня при написании - это было облегчить процесс написания скриптов для доты и сделать это менее муторным, хотя бы на этапе работы со слотами. Получилось у меня или нет - решать вам.

Есть предложение по улучшению одной из функций или вовсе идея для новой? С радостью добавлю и укажу ваше авторство.
Screenshot-3.png

Установка: перенести файл в удобное для вас место и в начале любого скрипта указывать #include.

 

Вложения

  • dotascriptsbuilder.ahk
    15.8 KB · Просмотры: 58
  • ComboWombo.png
    ComboWombo.png
    666.9 KB · Просмотры: 291
  • AItem.png
    AItem.png
    566.1 KB · Просмотры: 243