Библиотека 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()
Завершения процесса
Пример поиска изображения в указанных вручную координатах слота:
Код:
#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.
Скачать: DotaScriptBuilder
Скачать полные файлы: DotaSB-Master.zip
Скачать: AutoHotkey
Поставьте спасибо посту, и так-же не забывайте о Репутации, от этого зависит как много будет новых скриптов для Дота2
Поддержите меня.
Qiwi: +380958918102 (Rub)
Qiwi: +380958918102 (Rub)