ну во-первых, юзай шему(сурс2) вместо этой хуйни Datamap(сурс1)
во-вторых не надо писать this->. у этой конструкции(this->) есть легитимные применения(форс депенда выражения) и твоё использование это не одно из них. ты берешь фичу и используешь ее не по назначению.
в-третьих не надо так делать
static int offset = blablabla.
по одной простой причине - как ты здесь отреагируешь на ошибку?
давай представим что у тебя там какая-то ошибочка(например имя нетвара ты не то написал, "m_iTeamNu" забыл дописать буковку n)
ты такой радостный заходишь инжектишься ставишь свои хуки чето делаешь начинаешь итерировать ентитей, и тут БАЦ нахуй, а у тебя критическая ошибка(тиму не можешь получить) изза которой твой чит не будет нормально работать. и ты пойдешь как мудак перезапускать доту?
ЕЩЕ ХУЖЕ - что если ты тиму будешь получать очень очень поздно? тогда ты об этой ошибке(о том что ты буковку недописал) узнаешь бог знает когда. условно запустил доту создал лобби загрузился пикнул героя закупился встал на лейн, ждешь пока крипы заспавнятся, начинаешь что-то тестить и БАЦ узнаешь что ты буковку недописал. САМОЕ ХУДШЕЕ - это если ты так и не узнаешь об этой ошибке вообще(если она в каком-нибудь нетваре который ты супер редко юзаешь например).
а вот если бы ты оффсеты например в самом начале инита чита находил, ты бы смог адекватно вовремя отреагировать на эту ошибку(логнуть что мол нет такого оффсета "m_iTeamNu" и выйти из чита), и потом бы ты пошел в сурсы дописал бы буковку и снова бы инжектнулся.
в-четвертых дебаггер в помощь
в-пятых ты уверен что сущность у тебя валидная?
в-шестых хук презента не для логики, он для рисовки. презент не в мейн треде вызывается. хукай мейн тред(framestagenotify например) там логику делай.
ну а так, вполне возможно что ты либо криво функцию вызываешь, либо вмт индекс кривой.
энивей переходи на шему