• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Вопрос Поиск localplayer entlist

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
25 Ноя 2024
Сообщения
53
Реакции
0
Как найти localplayer entity list, я умею находить смещение здоровья например, но вот как найти локального игрока или список сущностей?
 
Тут это уже раз 100 обсуждалось. Находишь энтити с именем dota_player_controller (ну или по имени класса или еще как хочешь) и чекаешь у него нетвар m_bIsLocalPlayerController.
Если true — молодец, нашел. Как-то так:

C++:
Expand Collapse Copy
std::vector<C_DOTAPlayerController*> players = vmt.entity_system->find_vector_by_name<C_DOTAPlayerController>("dota_player_controller");

for (const auto player : players) {
    if (player->is_local_player())
        // Делаешь что тебе надо
}
 
Тут это уже раз 100 обсуждалось. Находишь энтити с именем dota_player_controller (ну или по имени класса или еще как хочешь) и чекаешь у него нетвар m_bIsLocalPlayerController.
Если true — молодец, нашел. Как-то так:

C++:
Expand Collapse Copy
std::vector<C_DOTAPlayerController*> players = vmt.entity_system->find_vector_by_name<C_DOTAPlayerController>("dota_player_controller");

for (const auto player : players) {
    if (player->is_local_player())
        // Делаешь что тебе надо
}
я новичок, можешь помочь мне найти оффсет, в ide например, что бы потом использовать его, например для поиска моего хп
 
я новичок, можешь помочь мне найти оффсет, в ide например, что бы потом использовать его, например для поиска моего хп
От просто оффсета толку почти ноль, любая обнова и он изменится. Нужен дампер нетваров, без него никуда. Если речь конкретно о Source2-играх.
ХП — это m_iHealth, макс ХП — m_iMaxHealth
Поищи тут в соседних темах, есть вся нужная инфа. Ну а так, тебе рановато пока, базу изучи.
 
от того что ты одни и те же вопросы задаешь ничего магического не произойдет. спрашивай конкретные вещи. что пробовал что не получилось и т.д.
(на этих ссылках еще ссылки есть в постах)
еще раз, энтитисистема есть официально индексированная, ты либо ее ищешь через те места где она используется дотой(дота же сама ее тоже юзает, найди где юзает и достань оттуда), либо альтернативно engine2.dll -> CreateInterface("GameResourceServiceClientV001") и там на 0x58 лежит адрес энтитисистемы.
все плееры на индексах в пределах [1;64] включительно. (естественно нуллптр ентити значит слот пустой и там нету игрока). ищешь того у которого
CBasePlayerController::m_bIsLocalPlayerController в единичку. это игрок, не герой!!! у него есть C_DOTAPlayerController::m_hAssignedHero - это будет герой(там инвалидный хендл(-1) на стадии пика будет когда герой еще не выбран игроком). вся инфа на этих ссылках есть(и внутри них еще ссылки)
 
Назад
Сверху Снизу