Добро пожаловать! Игровой форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы на существующие темы, повышать репутацию участников, скачивать вложения и файлы и многое, многое другое. Так чего же вы ждете?

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от вас приятного общения.

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

Free Исходник Dota 2 External Python

wlux.net Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 849
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
Есть готовое смещение на хп объекта, остальное легко найти по адресу объекта.

Для работы используйте режим в окне 1600x900.

1662586224698.png

Python:
import pymem
import pymem.process
from externaloverlayrep import Overlay

entilist = []
overlay = Overlay('Dota 2', 0.0001)
dota = pymem.Pymem("dota2.exe")
client = pymem.process.module_from_name(dota.process_handle, "client.dll")
client = client.lpBaseOfDll

offset_entity = 0x3B944B0
offset_hp = 0x324
offset_entity_x = 0x13F8
offset_entity_y = 0x13FC
offset_entity_z = 0x1400
offset_cam_x = 0x39D0750
offset_cam_y = 0x39D0754


def entity_finder():

    elist = dota.read_longlong(client + offset_entity)

    for i in range(1, 5000):
        try:
            entity = dota.read_longlong(elist + i * 0x04)
            if len(str(entity)) > 8 and len(str(entity)) <= 13:
                entilist.append(entity)

        except Exception as error:
            # print(error)
            pass

    print(entilist)
    main()


def main():
    while True:
        camera_x = dota.read_float(client + offset_cam_x)
        camera_y = dota.read_float(client + offset_cam_y)
        # print(hex(client + offset_cam_y))

        for entity in entilist:
            try:
                hp = dota.read_int(entity + offset_hp)

                #  print(hp)

                entity_x = dota.read_float(entity + offset_entity_x)
                entity_y = dota.read_float(entity + offset_entity_y)
                entity_z = dota.read_float(entity + offset_entity_z)

                o_entity_x = (entity_x - camera_x) / 1.7 + 750
                o_entity_y = (camera_y + 600 - entity_y) / 2 + 450

                if o_entity_x < 1920 and o_entity_y < 1080:
                    overlay.draw_text(f'[{hex(entity)}]', ('Arial', 16), o_entity_x, o_entity_y, (0, 255, 0), False)
                # overlay.draw_text(f'x [{entity_x}] y [{entity_y}]', ('Ebrima', 14), o_entity_x, o_entity_y + 20, (0, 255, 0), False)

                overlay.draw_text(f'cam_x: {int(camera_x)} | cam_y: {int(camera_y)}', ('Ebrima', 20), 15, 50, (255, 255, 255), False)

            except Exception:
                # print(hex(entity))
                pass

        overlay.update_overlay()


if __name__ == "__main__":
    entity_finder()

Стоит понимать, что в Доте при виде сверху, камера - это трапеция, т.е нормальное положение будет только у тех объектов, которые оказались по середине экрана на средней линии, остальные же получат сумасшедшие искажения по всем осям. Это заметно даже на скриншоте по тому, что только герои на средней линии имеют координаты в ногах, у других же, они сдвинуты

Максимальный FOV в доте - 1.(7), мин - 1.1, вообще максимальный FOV по Y - 2.2, но тогда придется перестраивать вычисления и вообще это всё очень долго, так что сочтём за погрешность

Вот код коррекции X и Y координаты, конечно же есть ещё, что можно улучшить

Python:
#Генерация графика перехода
u = []
x = 1.0
for i in range(0,1080):
    u.append(x)
    x+= 0.78/1080

# e - entity, c - camera
x = (e_x-c_x)/1.78 + 1920/2
y = (c_y+560-e_y)/1.78  + 1080/2

#Преобразование Y координаты
if y >= (c_y + 560 - e_y) + 1080 / 2:
    y = (c_y + 560 - e_y) / 1.78 + 1080 / 2 #Для координат до средней линеей
else:
    y = (c_y + 560 - e_y) / 1.2 + 1080 / 2 #Для координат после средней линеей

#Преобразование X координаты с помощью Y
x = (e_x - c_x) / u[-int(y)] + 1920 / 2

Вот собственно говоря результат, как я уже говорил - не идеально, но с этим уже можно работать и даже попробовать написать какой - нибудь автокаст:

Снимок.PNG
 
V Оффлайн

Visualpl

Участник
LV
3
 
11.12.2022
4
0
25
Награды
3
33

Репутация:

На какой версии питона адекватно работает? Ибо на 3.07 пишет что не удается скачать pymem,а на 3.11 ошибки в externaloverlayrep
 
wlux.net Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 849
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #3
1 Оффлайн

1337resn

Участник
LV
0
 
02.02.2023
20
0
15
24

Репутация:

Чет оно так себе работает, безсмысленно
 
A Оффлайн

asdfgqwerty

Местный
Участник
LV
3
 
27.04.2023
101
0
40
Награды
5
25

Репутация:

а его уже пофиксили?
 

Поиск по форуму

Похожие темы:

shape1
shape2
shape3
shape4
shape7
shape8
Верх