Буквально пару дней назад, скачал GTA SA, вспомнить молодость решил:)
Ну естественно, после 2х часовой игры решил и в памяти покапаться:)
И не отрицаю, что, для поиска адресов воспользовался интернетом ибо зачем делать, то что уже давно сделали до меня)
Ну ближе к делу:)
Оказалось, что можно множество интересного сделать, да ещё и возможно онлайн аналоги поюзать:)
Если есть, люди кому интересно, кодик прикреплю, ну вернее часть)
Ну так вот, не подскажете, что сейчас в гта актуально?
Ну это, наброски:) вы даже могли бы их использовать для ваших МегаЧитов:)
Ну естественно, после 2х часовой игры решил и в памяти покапаться:)
И не отрицаю, что, для поиска адресов воспользовался интернетом ибо зачем делать, то что уже давно сделали до меня)
Ну ближе к делу:)
Оказалось, что можно множество интересного сделать, да ещё и возможно онлайн аналоги поюзать:)
Если есть, люди кому интересно, кодик прикреплю, ну вернее часть)
Ну так вот, не подскажете, что сейчас в гта актуально?
C++:
/// классы
#include <Windows.h>
class EntityList;
class CEntity;
struct CPlayer;
class CCord;
class menus;
class EntityList
{
public:
CEntity* pEntity; //0x0000
char _0x0004[60];
};//Size=0x0040
class CEntity
{
public:
CPlayer* pPlayers; //0x0000
char _0x0004[4];
__int32 mp; //0x0008
__int32 tp; //0x000C
char _0x0010[48];
};//Size=0x0040
struct CPlayer
{
public:
struct Play
{
public:
char _0x0000[20];
CCord* mp_Cord; //0x0014
char _0x0018[116];
float m_jump; //0x008C
float m_mass_jump; //0x0090
char _0x0094[1196];
float m_Health; //0x0540
float m_Max_Health; //0x0544
float m_Armour; //0x0548
float m_Reserved; //0x054C
char _0x0550[628];
}Player[500];//Size=0x07C8
};
class CCord
{
public:
char _0x0000[48];
float x; //0x0030
float y; //0x0034
float z; //0x0038
};//Size=0x003C
class GOb;
class ____CPtr;
class MCVehicle;
class CCoord;
class GOb
{
public:
____CPtr* ___ptr; //0x0000
char _0x0004[3132];
};//Size=0x0C40
class ____CPtr
{
public:
MCVehicle* ptr_Vehicle; //0x0000
char _0x0004[4];
__int32 Max; //0x0008
__int32 Tec; //0x000C
char _0x0010[48];
};//Size=0x0040
class menus
{
public:
BYTE menu11;
};
class MCVehicle
{
public:
struct Auto
{
public:
char _0x0000[4];
float xh; //0x0004
float yh; //0x0008
float zh; //0x000C
char _0x0010[4];
CCoord* ptr_coord; //0x0014
char _0x0018[1040];
BYTE N01A6233C; //0x0428
char _0x0429[55];
__int32 CPED; //0x0460
char _0x0464[92];
float m_hp_auto; //0x04C0
char _0x04C4[1364];
}autos[200];
};//Size=0x0A18
class CCoord
{
public:
char _0x0000[48];
float x; //0x0030
float y; //0x0034
float z; //0x0038
char _0x003C[4];
};//Size=0x0040
C++:
///преобразование 3d в 2d
void CalcScreenCoors(CVector * vecWorld, CVector * vecScreen)
{
vecScreen->x = vecWorld->z * m._31 + vecWorld->y * m._21 + vecWorld->x * m._11 + m._41;
vecScreen->y = vecWorld->z * m._32 + vecWorld->y * m._22 + vecWorld->x * m._12 + m._42;
vecScreen->z = vecWorld->z * m._33 + vecWorld->y * m._23 + vecWorld->x * m._13 + m._43;
float fRecip = 1.0f / vecScreen->z;
vecScreen->x *= fRecip * (*dwLenX);
vecScreen->y *= fRecip * (*dwLenY);
}
C++:
///функция Esp
void cDraw::Show_Esp(LPDIRECT3DDEVICE9 pDevice)
{
menus mesnu = *(menus*)(baseMen);
if (espsw)
{
for (int i = 1; 500 > i; i++)
{
DWORD j1, j2, j3;
j1 = (DWORD)&m_Entit.pEntity->pPlayers;
j2 = (DWORD)&m_Entit.pEntity->pPlayers->Player[i - 1];
j3 = j1 - j2;
m_Entit.pEntity->pPlayers->Player[0].m_Health = 100.f;
if (m_Entit.pEntity->pPlayers->Player[i].m_Health > 0.f&&m_Entit.pEntity->pPlayers->Player[i].m_jump == 70.f)
{
if (0x10000000 < (DWORD)m_Entit.pEntity->pPlayers->Player[i].mp_Cord < 0x1041B000)
{
world.x = m_Entit.pEntity->pPlayers->Player[i].mp_Cord->x;
world.y = m_Entit.pEntity->pPlayers->Player[i].mp_Cord->y;
world.z = m_Entit.pEntity->pPlayers->Player[i].mp_Cord->z;
if (world.x > -3000.0f && world.x < 3000.0f && (world.x + 0x1) > -3000.0f && (world.x + 0x1) < 3000.0f && (world.x + 0x2) > -3000.0f && (world.x + 0x2) < 3000.0f && (int)world.x != 0 && (int)(world.x + 0x1) != 0 && (int)(world.x + 0x2) != 0)
{
CalcScreenCoors(&world, &screen);
Engine_Text((int)screen.x - 5, (int)screen.y + 5, Green, "Пешеход", L_Text);
//TextOut(ds, (int)screen.x - 5, (int)screen.y + 5, "Pizduk", 7);
}
}
}
}
}
}
Ну это, наброски:) вы даже могли бы их использовать для ваших МегаЧитов:)