Vector3 vec = pCGameEntitySystem->GetBaseEntityFromHandle(handle)->pSceneNode()->vecAbsOrigin();в этом все по 0.
Есть еще CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x0090
нашел в инете такую структуру, но так и не смог расшифровать эти значения, возможно решение за ними?
vecOrigin:
m_cellX: uint16
m_cellY: uint16
m_cellZ: uint16
m_nOutsideWorld: uint16
m_vecX: CNetworkedQuantizedFloat
m_vecY: CNetworkedQuantizedFloat
m_vecZ: CNetworkedQuantizedFloat
и еще я не понимаю почему в списке энтити - крипы далеко не всегда находятся. Изначально я писал в методе onRender (хотел сделать хп бар крипам другой). Брал циклом всех энтити из pCGameEntitySystem, с лимитом GetHighestEntityIndex() (у которого устарел оффсет, я поменял на 0x2090, нашел по сигнатуре в чит энжене, но я хз насколько он верен). И в этом цикле сравнивал название схемы с нужным мне strstr(pInst->GetSchemaClassBinding()->m_bindingName(), "C_DOTA_BaseNPC_Creep_Lane"), крипы находились только иногда, хотя должны были находится каждый тик функции.
Сейчас попробовал писать в методе хука OnAddEntity, но и тут не все так просто, этот хук возвращает наличие крипа уже куда стабильнее, но срабатывает в не очень ясные моменты, не только при добавлении крипа, а еще и раз в несколько секунд просто так.
По итогу 2 вопроса, как получить координаты крипа и как сделать стабильное получение его энтити каждый тик рендера.