I've been out of the DayZ scene for over a year, I left not long after the Standalone was released. I remember hacking Arma2 DayZ mod with sqf scripts to spawn crates containing food and weapons etc.
I am very knowledgeable in c++, assembly, d3d9 interface. I coded my own external radar with noclip, item teleport, and a few other features for the SA version, then I got banned and never came back to the game.
What methods are people hacking with these days? For the SA version specifically. I have the know how to hack, I just need to pick up the game again. Are people still executing sqfs? Is it still possible to teleport items to you? Spawning crates with weapons and items?
Here is an old video I took of me using hacked weapons in DayZ mod for Arma II youtu.be/o1bworhp424
- - - Updated - - -
I found some old structures from DayZ SA
Code:
#include <d3dx9.h>
const DWORD fvf=D3DFVF_XYZRHW|D3DFVF_DIFFUSE;
struct dx_vertex
{
float x, y, z, rhw;
DWORD color;
};
struct vec
{
float x;
float y;//UP DOWN
float z;
};
class CWorld;
class CEntity;
class CPlayer;
class CPlayerPosition;
class CObjectTable;
class CObjectClass;
class CObjectClassName;
class CObjectList;
class CArmaMain
{
public:
CWorld* m_pWorld; //0x0000
/*static CArmaMain* GetInstance()
{
return *reinterpret_cast<CArmaMain**>(g_dwArmaMainOffset+0x1);
}*/
};
class CObjectList
{
public:
CEntity *m_pEntity;
char pad[0x28];
};
class CObjectTable
{
public:
CObjectList* m_pObjectList;
size_t iTableSize;
};
class CWorld
{
public:
char _0x0000[1860]; //+8
CObjectTable* m_pObjectTable; //0x0740
char _0x0744[2112];
CPlayer** m_ppNearTable; //0x0F88
__int32 m_iNearTableSize; //0x0F8C
char _0x0F8C[164];
CPlayer** m_ppFarTable; //0x1034
__int32 m_iFarTableSize; //0x1038
char _0x1034[496];
CPlayer** m_ppUnknown; //0x1228
__int32 ippCUnknownTableSize; //0x122C
char _0x122C[860];
CEntity* m_pLocalEntity; //0x1590
};//Size=0x1590
class CObjectClass
{
public:
char _0x0000[48];
CObjectClassName* m_pCObjectClassName; //0x0030
char _0x0034[12];
};//Size=0x0040
class CObjectClassName
{
public:
char _0x0000[4];
__int32 m_iNameLength; //0x0004
char m_szName[32]; //0x0008
};//Size=0x0040
class CPlayerPosition
{
public:
char _0x0000[28];
D3DXVECTOR3 m_vecHeading; //0x1c
D3DXVECTOR3 m_vecPositionCoordinates; //0x0028
};//Size=0x0080
class CPlayer
{
public:
char _0x0000[32];
CPlayerPosition* m_pPlayerPosition; //0x0020
char _0x0024[76];
CObjectClass* m_pCObjectClass; //0x0070
char _0x0074[0x264-0x74];
bool isdead; //0x264
char _0x0268[0x7C8-0x268];
int iPlayerID; //0x7C8
char _0x07CC[0x12AC-0x7CC];
int PlayerState; //0x12AC
};
class CEntity
{
public:
char _0x0000[4];
CPlayer* m_pCPlayer; //0x0004
D3DXVECTOR3 GetPosition()
{
if(m_pCPlayer)
return m_pCPlayer->m_pPlayerPosition->m_vecPositionCoordinates;
else return D3DXVECTOR3(0,0,0);
}
};//Size=0x0008
/*class CTransformationData
{
public:
char unknown0[4]; //0x0000
D3DXVECTOR3 InvView_right; //0x0004
D3DXVECTOR3 InvView_up; //0x0010
D3DXVECTOR3 InvView_forward; //0x001C
D3DXVECTOR3 InvView_Translation; //0x0028
D3DXVECTOR2 pad; //0x0034 (x = 1,y = -1)
D3DXVECTOR3 ViewPortMatrix1; //0x003C (x= viewPort.Width/2)
D3DXVECTOR3 ViewPortMatrix2; //0x0048 -(y= viewPort.Height/2)
D3DXVECTOR3 ViewPortMatrix3; //0x0054(x=viewPort.X + CenterScreenX,y=viewPort.Y + CenterScreenY,z=viewPort.MinZ)
D3DXVECTOR3 ViewPortMatrix_unk; //not sure
D3DXVECTOR3 ProjO1;//proj1.x 0x006C
D3DXVECTOR3 ProjO2;//proj2.y 0x0078
D3DXVECTOR3 ProjO3;//proj3.z 0x0084 =1.0001
D3DXVECTOR3 ProjO4;//proj4.z 0x0090
D3DXVECTOR3 Proj1;//proj1.x 0x009C
D3DXVECTOR3 Proj2;//proj2.y 0x00A8
D3DXVECTOR3 Proj3;//proj3.z 0x00B4 = 1.0
D3DXVECTOR3 Proj4;//proj4.z 0x00C0
D3DXVECTOR3 ProjD1;// 0x00CC x = 1/Proj._11
D3DXVECTOR3 ProjD2;// 0x00D8 y = 1/Proj._22
D3DXVECTOR3 ProjD3;// 0x00E4 z= 1
D3DXVECTOR3 ProjD4;// 0x00F0
D3DXVECTOR2 pad1; //.x bigass float 0x00FC
D3DXVECTOR3 View_right; //0x0104 not the view
D3DXVECTOR3 View_up; //0x0110
D3DXVECTOR3 View_forward; //0x011C
D3DXVECTOR3 View_Translation; //0x0128
};
class CTransformations //CE045C
{
public:
char unknown0[0x94]; //0x0000
CTransformationData* m_pTransformationData; //0x0094
static CTransformations* GetInstance()
{
return *reinterpret_cast<CTransformations**>(*reinterpret_cast<DWORD*>(g_dwTransformsOffset+0xB));
//return *(CTransformations**)((DWORD*)g_dwTransformsOffset+0xB);
}
D3DXVECTOR3 W2SN(D3DXVECTOR3 in)
{
D3DXVECTOR3 out,temp;
::D3DXVec3Subtract(&temp,&in,&m_pTransformationData->InvView_Translation);
float x = ::D3DXVec3Dot(&temp,&m_pTransformationData->InvView_right);
float y = ::D3DXVec3Dot(&temp,&m_pTransformationData->InvView_up);
float z = ::D3DXVec3Dot(&temp,&m_pTransformationData->InvView_forward);
out.x = m_pTransformationData->ViewPortMatrix3.x * (1+(x / m_pTransformationData->ProjD1.x / z));
out.y = m_pTransformationData->ViewPortMatrix3.y * (1-(y / m_pTransformationData->ProjD2.y / z));
out.z = z;
return out;
}
};
extern CArmaMain* g_pArmaMain;
extern CTransformations* g_pTransformations;*/