Вопрос Помогите найти оффсеты

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
25 Ноя 2024
Сообщения
53
Реакции
0
пытался найти оффсеты для простенького скрипта через чит энджен, не смог. помогите, мне нужен гайд или же просто оффсет хп героя, скрипт доллжен перекачиваться на морфе, когда у него менее 20 процентов хп, помогите пожалуйста :roflanzdarova:
 
I uploaded some useful netvars.
ему вроде C_BaseEntity получить нужно, а потом оффсет хп если не ошибаюсь на данный момент это:
client.dll + 0x4b41b80 + 0x34c

могу ошибаться, может еще что-то надо добавить
 
ему вроде C_BaseEntity получить нужно, а потом оффсет хп если не ошибаюсь на данный момент это:
client.dll + 0x4b41b80 + 0x34c

могу ошибаться, может еще что-то надо добавить
это не так работает как ты думаешь.
class C_BaseEntity(size: 0x510 bytes, project "client", binding @ client.dll + 0x4b41b80, scope "client.dll") extends CEntityInstance
там на client.dll + 0x4b41b80 лежит БИНДИНГ, т.е. описывающая структура. это не сущность. это просто куча инфы для рефлексии и всё.
хп в свою очередь это связанный член(т.е. он каждый свое разное значение имеет у разных сущностей - у одного крипа 500 хп у другого 600 и так далее), и естественно чтобы его получить нужно сначала найти сущность(и вполне конкретную - тебе же не хп крипа интересен а хп конкретно твоего героя(а героев на карте может быть много)). точно также как чтобы узнать чей-то рост тебе нужно сначала человека выбрать у которого рост измеряешь - потому что рост у всех разный. выберешь васю - получишь 180 см, выберешь петю - получишь 170см. вроде одной и той же линейкой будешь мерять а результат будет разный. потому что этот аттрибут непосредственно связан с каждым конкретным объектом(с людьми в данном случае) а не общий для всех объектов.
вот когда найдешь конкретную сущность которая тебя интересует - уже к ней можно прибавлять 0x34c и считывать оттуда int. и делать это можно с любой сущностью(результат естественно разный будет у разных сущностей) - у крипов тоже хп есть и иногда он тоже представляет интерес. оффсет это смещение относительно объекта. это ОБЪЕКТ хранит в себе хп ману и так далее, оффсет просто говорит тебе где он это в себе хранит. всё крутится вокруг объектов. а их еще найти надо.
 
это не так работает как ты думаешь.
class C_BaseEntity(size: 0x510 bytes, project "client", binding @ client.dll + 0x4b41b80, scope "client.dll") extends CEntityInstance
там на client.dll + 0x4b41b80 лежит БИНДИНГ, т.е. описывающая структура. это не сущность. это просто куча инфы для рефлексии и всё.
хп в свою очередь это связанный член(т.е. он каждый свое разное значение имеет у разных сущностей - у одного крипа 500 хп у другого 600 и так далее), и естественно чтобы его получить нужно сначала найти сущность(и вполне конкретную - тебе же не хп крипа интересен а хп конкретно твоего героя(а героев на карте может быть много)). точно также как чтобы узнать чей-то рост тебе нужно сначала человека выбрать у которого рост измеряешь - потому что рост у всех разный. выберешь васю - получишь 180 см, выберешь петю - получишь 170см. вроде одной и той же линейкой будешь мерять а результат будет разный. потому что этот аттрибут непосредственно связан с каждым конкретным объектом(с людьми в данном случае) а не общий для всех объектов.
вот когда найдешь конкретную сущность которая тебя интересует - уже к ней можно прибавлять 0x34c и считывать оттуда int. и делать это можно с любой сущностью(результат естественно разный будет у разных сущностей) - у крипов тоже хп есть и иногда он тоже представляет интерес. оффсет это смещение относительно объекта. это ОБЪЕКТ хранит в себе хп ману и так далее, оффсет просто говорит тебе где он это в себе хранит. всё крутится вокруг объектов. а их еще найти надо.
Привет, я как раз обучаюсь по твоим гайдам, не мог ли бы ты мне обьяснить, как найти оффсет состояния перекачки в силу на морфлинге типа когда перекачка работает ее состояние true, а когда нет false
и что за нетвары там тип скинул, как их дампить, для чего они вообще нужны?
это не так работает как ты думаешь.
class C_BaseEntity(size: 0x510 bytes, project "client", binding @ client.dll + 0x4b41b80, scope "client.dll") extends CEntityInstance
там на client.dll + 0x4b41b80 лежит БИНДИНГ, т.е. описывающая структура. это не сущность. это просто куча инфы для рефлексии и всё.
хп в свою очередь это связанный член(т.е. он каждый свое разное значение имеет у разных сущностей - у одного крипа 500 хп у другого 600 и так далее), и естественно чтобы его получить нужно сначала найти сущность(и вполне конкретную - тебе же не хп крипа интересен а хп конкретно твоего героя(а героев на карте может быть много)). точно также как чтобы узнать чей-то рост тебе нужно сначала человека выбрать у которого рост измеряешь - потому что рост у всех разный. выберешь васю - получишь 180 см, выберешь петю - получишь 170см. вроде одной и той же линейкой будешь мерять а результат будет разный. потому что этот аттрибут непосредственно связан с каждым конкретным объектом(с людьми в данном случае) а не общий для всех объектов.
вот когда найдешь конкретную сущность которая тебя интересует - уже к ней можно прибавлять 0x34c и считывать оттуда int. и делать это можно с любой сущностью(результат естественно разный будет у разных сущностей) - у крипов тоже хп есть и иногда он тоже представляет интерес. оффсет это смещение относительно объекта. это ОБЪЕКТ хранит в себе хп ману и так далее, оффсет просто говорит тебе где он это в себе хранит. всё крутится вокруг объектов. а их еще найти надо.
что за нетвары там тип скинул, как с ними работать, как дампить, для чего они нужны вообще
 
Привет, я как раз обучаюсь по твоим гайдам, не мог ли бы ты мне обьяснить, как найти оффсет состояния перекачки в силу на морфлинге типа когда перекачка работает ее состояние true, а когда нет false
это относительно сложновато для новичка будет...
morphling_morph_agi имя абилки перекачка ловкость, morphling_morph_str сила
у абилки C_DOTABaseAbility::m_bToggleState нетвар
список абилок героя в C_DOTA_BaseNPC::m_vecAbilities(там хранятся CHandle)
что-то типо такого условно в общем(поищи на этом форуме в этом разделе про доту эти ключевые слова названия функций переменных классов и тд и почитай тут всё это есть)
C++:
Expand Collapse Copy
GetLocalPlayer():
    for i ∈ [1; 64]:
        entity = g_pEntitySystem?.GetEntityByIndex(i)
        if entity?.CBasePlayerController::m_bIsLocalPlayerController:
            return entity
    return null

GetEntityByHandle(CHandle handle):
    if handle.value != -1
        return g_pEntitySystem?.GetEntityByIndex(handle.value & 0x7FFF)
    return null

GetAbilityByName(C_DOTA_BaseNPC hero, string name):
    foreach (ability_handle in hero?.m_vecAbilities):
        ability = GetEntityByHandle(ability_handle)
        if ability?.get_name() == name:
            return ability
    return nullptr

hero = GetEntityByHandle(GetLocalPlayer()?.C_DOTAPlayerController::m_hAssignedHero || -1)
agi_toggle_state = GetAbilityByName(hero, "morphling_morph_agi")?.C_DOTABaseAbility::m_bToggleState
 
спасибо, если остануться вопросы я обязательно тебе напишу
это относительно сложновато для новичка будет...
morphling_morph_agi имя абилки перекачка ловкость, morphling_morph_str сила
у абилки C_DOTABaseAbility::m_bToggleState нетвар
список абилок героя в C_DOTA_BaseNPC::m_vecAbilities(там хранятся CHandle)
что-то типо такого условно в общем(поищи на этом форуме в этом разделе про доту эти ключевые слова названия функций переменных классов и тд и почитай тут всё это есть)
C++:
Expand Collapse Copy
GetLocalPlayer():
    for i ∈ [1; 64]:
        entity = g_pEntitySystem?.GetEntityByIndex(i)
        if entity?.CBasePlayerController::m_bIsLocalPlayerController:
            return entity
    return null

GetEntityByHandle(CHandle handle):
    if handle.value != -1
        return g_pEntitySystem?.GetEntityByIndex(handle.value & 0x7FFF)
    return null

GetAbilityByName(C_DOTA_BaseNPC hero, string name):
    foreach (ability_handle in hero?.m_vecAbilities):
        ability = GetEntityByHandle(ability_handle)
        if ability?.get_name() == name:
            return ability
    return nullptr

hero = GetEntityByHandle(GetLocalPlayer()?.C_DOTAPlayerController::m_hAssignedHero || -1)
agi_toggle_state = GetAbilityByName(hero, "morphling_morph_agi")?.C_DOTABaseAbility::m_bToggleState
спасибо, если у меня будут вопросы я тебе напишу
 
это относительно сложновато для новичка будет...
morphling_morph_agi имя абилки перекачка ловкость, morphling_morph_str сила
у абилки C_DOTABaseAbility::m_bToggleState нетвар
список абилок героя в C_DOTA_BaseNPC::m_vecAbilities(там хранятся CHandle)
что-то типо такого условно в общем(поищи на этом форуме в этом разделе про доту эти ключевые слова названия функций переменных классов и тд и почитай тут всё это есть)
C++:
Expand Collapse Copy
GetLocalPlayer():
    for i ∈ [1; 64]:
        entity = g_pEntitySystem?.GetEntityByIndex(i)
        if entity?.CBasePlayerController::m_bIsLocalPlayerController:
            return entity
    return null

GetEntityByHandle(CHandle handle):
    if handle.value != -1
        return g_pEntitySystem?.GetEntityByIndex(handle.value & 0x7FFF)
    return null

GetAbilityByName(C_DOTA_BaseNPC hero, string name):
    foreach (ability_handle in hero?.m_vecAbilities):
        ability = GetEntityByHandle(ability_handle)
        if ability?.get_name() == name:
            return ability
    return nullptr

hero = GetEntityByHandle(GetLocalPlayer()?.C_DOTAPlayerController::m_hAssignedHero || -1)
agi_toggle_state = GetAbilityByName(hero, "morphling_morph_agi")?.C_DOTABaseAbility::m_bToggleState
привет, там выше тип написал весь список нетваров, актуален ли он?
 
это относительно сложновато для новичка будет...
morphling_morph_agi имя абилки перекачка ловкость, morphling_morph_str сила
у абилки C_DOTABaseAbility::m_bToggleState нетвар
список абилок героя в C_DOTA_BaseNPC::m_vecAbilities(там хранятся CHandle)
что-то типо такого условно в общем(поищи на этом форуме в этом разделе про доту эти ключевые слова названия функций переменных классов и тд и почитай тут всё это есть)
C++:
Expand Collapse Copy
GetLocalPlayer():
    for i ∈ [1; 64]:
        entity = g_pEntitySystem?.GetEntityByIndex(i)
        if entity?.CBasePlayerController::m_bIsLocalPlayerController:
            return entity
    return null

GetEntityByHandle(CHandle handle):
    if handle.value != -1
        return g_pEntitySystem?.GetEntityByIndex(handle.value & 0x7FFF)
    return null

GetAbilityByName(C_DOTA_BaseNPC hero, string name):
    foreach (ability_handle in hero?.m_vecAbilities):
        ability = GetEntityByHandle(ability_handle)
        if ability?.get_name() == name:
            return ability
    return nullptr

hero = GetEntityByHandle(GetLocalPlayer()?.C_DOTAPlayerController::m_hAssignedHero || -1)
agi_toggle_state = GetAbilityByName(hero, "morphling_morph_agi")?.C_DOTABaseAbility::m_bToggleState
еще вопрос, как узнать хп например именно моего героя не крипа не башни, а вот моего героя, для этоного нужен нетвар моего героя, так где его найти?
 
привет, там выше тип написал весь список нетваров, актуален ли он?
Sat Feb 22 2025 03:44:50
Пожалуйста, авторизуйтесь для просмотра ссылки.

" что за нетвары ..., как с ними работать, как дампить, для чего они нужны вообще"
нетворкед вариабл это переменная которая принимает участие в нетворкинге(передачи сообщений между клиентом и сервером - например хп твоего героя: оно не с небес берётся, его сервер тебе скидывает. в тебя хуйнули тычку, сервер новое хп тебе прислал, ты юзнул хилку, сервер новое хп прислал. клиент же просто в основном "отрисовывает на экран" то что получает с сервера). как правило в современных имплементациях сетевых протоколов в играх есть рефлексия(формат сообщений частично или полностью документируется для удобной сериализации/десериализации). дамп это соответственно сбор инфы с этих реестров рефлексии/схем сообщений и т.д.
в узком смысле под нетварами обычно понимаются связанные члены о которых есть информация в реестрах рефлексии(т.е. известно имя тип оффсет и т.д.). то есть это обычные связанные члены просто тебе о них официально известно(т.е. ты не сам руками эту инфу расковырял и догадался а от разрабов косвенно получил потому что они это задокументировали).
еще вопрос, как узнать хп например именно моего героя не крипа не башни, а вот моего героя, для этоного нужен нетвар моего героя, так где его найти?
чтобы узнать хп героя тебе нужно знать оффсет хп и иметь адрес где находится герой. прибавляешь оффсет хп к адресу героя и получаешь адрес хп(оффсет это и есть число, показывающее на сколько байт член смещён относительно самого объекта). сначала естественно надо адрес героя найти. в псевдокоде который я тебе скидывал выше это есть. локальный герой лежит в локальном игроке(если что игрок это контроллер - тот кто контроллит призванных прирученных крипов курьеров героев иллюзии клоны и так далее и в том числе камеру тоже. в доте если что герой не главный. главный игрок. герой это просто одна из сущностей(ну и основная впринципе) которыми игрок может управлять).
 
От души, объясняешь ахуенно
Sat Feb 22 2025 03:44:50
Пожалуйста, авторизуйтесь для просмотра ссылки.

" что за нетвары ..., как с ними работать, как дампить, для чего они нужны вообще"
нетворкед вариабл это переменная которая принимает участие в нетворкинге(передачи сообщений между клиентом и сервером - например хп твоего героя: оно не с небес берётся, его сервер тебе скидывает. в тебя хуйнули тычку, сервер новое хп тебе прислал, ты юзнул хилку, сервер новое хп прислал. клиент же просто в основном "отрисовывает на экран" то что получает с сервера). как правило в современных имплементациях сетевых протоколов в играх есть рефлексия(формат сообщений частично или полностью документируется для удобной сериализации/десериализации). дамп это соответственно сбор инфы с этих реестров рефлексии/схем сообщений и т.д.
в узком смысле под нетварами обычно понимаются связанные члены о которых есть информация в реестрах рефлексии(т.е. известно имя тип оффсет и т.д.). то есть это обычные связанные члены просто тебе о них официально известно(т.е. ты не сам руками эту инфу расковырял и догадался а от разрабов косвенно получил потому что они это задокументировали).

чтобы узнать хп героя тебе нужно знать оффсет хп и иметь адрес где находится герой. прибавляешь оффсет хп к адресу героя и получаешь адрес хп(оффсет это и есть число, показывающее на сколько байт член смещён относительно самого объекта). сначала естественно надо адрес героя найти. в псевдокоде который я тебе скидывал выше это есть. локальный герой лежит в локальном игроке(если что игрок это контроллер - тот кто контроллит призванных прирученных крипов курьеров героев иллюзии клоны и так далее и в том числе камеру тоже. в доте если что герой не главный. главный игрок. герой это просто одна из сущностей(ну и основная впринципе) которыми игрок может управлять).
Спасибо большое
 
Sat Feb 22 2025 03:44:50
Пожалуйста, авторизуйтесь для просмотра ссылки.

" что за нетвары ..., как с ними работать, как дампить, для чего они нужны вообще"
нетворкед вариабл это переменная которая принимает участие в нетворкинге(передачи сообщений между клиентом и сервером - например хп твоего героя: оно не с небес берётся, его сервер тебе скидывает. в тебя хуйнули тычку, сервер новое хп тебе прислал, ты юзнул хилку, сервер новое хп прислал. клиент же просто в основном "отрисовывает на экран" то что получает с сервера). как правило в современных имплементациях сетевых протоколов в играх есть рефлексия(формат сообщений частично или полностью документируется для удобной сериализации/десериализации). дамп это соответственно сбор инфы с этих реестров рефлексии/схем сообщений и т.д.
в узком смысле под нетварами обычно понимаются связанные члены о которых есть информация в реестрах рефлексии(т.е. известно имя тип оффсет и т.д.). то есть это обычные связанные члены просто тебе о них официально известно(т.е. ты не сам руками эту инфу расковырял и догадался а от разрабов косвенно получил потому что они это задокументировали).

чтобы узнать хп героя тебе нужно знать оффсет хп и иметь адрес где находится герой. прибавляешь оффсет хп к адресу героя и получаешь адрес хп(оффсет это и есть число, показывающее на сколько байт член смещён относительно самого объекта). сначала естественно надо адрес героя найти. в псевдокоде который я тебе скидывал выше это есть. локальный герой лежит в локальном игроке(если что игрок это контроллер - тот кто контроллит призванных прирученных крипов курьеров героев иллюзии клоны и так далее и в том числе камеру тоже. в доте если что герой не главный. главный игрок. герой это просто одна из сущностей(ну и основная впринципе) которыми игрок может управлять).
привет, как найти адресс моего героя?, ну или список всех енити
 
привет, как найти адресс моего героя?, ну или список всех енити
выше всё написано уже было.
C++:
Expand Collapse Copy
hero = GetEntityByHandle(GetLocalPlayer()?.C_DOTAPlayerController::m_hAssignedHero || -1)
список всех энтити это
C++:
Expand Collapse Copy
 for i ∈ [0; g_pEntitySystem?.HighestEntityIndex() || -1]:
        entity = g_pEntitySystem?.GetEntityByIndex(i)
HighestEntityIndex поиск сделаешь на форуме
 
Назад
Сверху Снизу