Need 1.0.182 structs

Posts 1–15 of 19 · Page 1 of 2
Need 1.0.182 structs
hey i need the structs for alteriwnet, because the ones i use are a peice of crap

Code:
typedef struct {//0x8EC2C8
	int				infoValid; //0x0000  
	int				infoValid2; //0x0004  
	int				clientNum; //0x0008  
	char			name[16]; //0x000C  
	team_t			team; //0x001C  
	team_t			team2; //0x0020  
	int				rank; //0x0024  
	char			unknown40[984]; //0x0028
	float			ViewAngleX; //0x0400  
	float			ViewAngleY; //0x0404  
	char			unknown1032[124]; //0x0408
	int				State; //0x0484  
	char			unknown1160[12]; //0x0488
	int				IsShooting; //0x0494  
	char			unknown1176[4]; //0x0498
	int				IsZoomed; //0x049C  
	char			unknown1184[68]; //0x04A0
	int				WeaponID; //0x04E4  
	char			unknown1256[68]; //0x04E8
}clientinfo_t;//Size=0x052C(1324)

typedef struct {//0x8F3CA8
	short currentValid; //0x0000  
	short grenadeValid; //0x0002  
	char unknown4[20]; //0x0004
	vec3_t lerpOrigin;
	vec3_t lerpAngles;
	char unknown48[60]; //0x0030
	int IsZooming; //0x006C  
	char unknown112[12]; //0x0070
	vec3_t lerpOrigin2;
	char unknown136[84]; //0x0088
	int clientNUm; //0x00DC  
	int eType; //0x00E0  
	int eFlags; //0x00E4  
	char unknown232[12]; //0x00E8
	vec3_t lerpOrigin3;
	char unknown256[112]; //0x0100
	int clientNum2; //0x0170  
	char unknown372[52]; //0x0174
	short WeaponID; //0x01A8  
	char unknown426[2]; //0x01AA
	short WeaponID2; //0x01AC  
	char unknown430[46]; //0x01AE
	int IsAlive; //0x01DC  
	char unknown480[32]; //0x01E0
	int clientNum3; //0x0200  
}centity_t;//Size=0x0204(516)

typedef struct {
	int				x; //0x0000
	int				y; //0x0004
	int				width; //0x0008
	int				height; //0x000C
	float			fov_x; //0x0010
	float			fov_y; //0x0014
	vec3_t			viewOrg; //0x0018 - 0x0020
	vec3_t			viewAxis[3]; //0x0024 - 0x0044
} refdef_t;

 typedef struct {//0x7F58B8
	int				time;
	char			_p00[28]; //0x0004
	snapshot_t		*snap;	//0x0020
	snapshot_t		*nextSnap; //0x0024
	char			_p01[13096]; //0x0028  
	int				clientNum; //0x3350  
	char			_p02[422948]; //0x3354
	refdef_t		refdef; //0x6A778
	char			_p03[16152];
	vec3_t			refdefViewAngles; //0x6E6DC
	char			_p04[18700]; //0x6E6E4
	int				crosshairClientNum; //0x72FF0
	int				crosshairClientTime; //0x72FF4
} cg_t;

 typedef struct {
	char	_p00[8];
	int		Screen_Width;
	int		Screen_Height;
	float	ScreenXBias;
	int		serverCommandSequence;
	int		processedSnapshotNum;
	int		LocalServer;
	char	GameType[4];
	char	unknown36[28];
	char	ServerName[64];
	char	unknown320[192];
	int		Max_Clients;
	char	MapName[64];
	char	unknown388[4];
	int		Active_Vote;
} cgs_t;
thanks in advanced!
The structs are the same, the addresses changes.
i know but these structs are... how can i say this.. fucked up. They work but they dont work correctly. There we go!
Quote Originally Posted by jdslashv2 View Post
i know but these structs are... how can i say this.. fucked up. They work but they dont work correctly. There we go!
No. We are still away. :3
Explain.
ok, so basically when i'm ingame, the clientinfo[i].team keeps reading the teams incorectly then correctly then incorectly and so on. so if there is a person on my team, it will say they are on my team and then say they're on the oposing team and back on my team and its hard to read who's an enemy or not

EDIT: also when i try to make it list your clientname, it lists somebody elses!

EDIT #2: ok now i found out that every time i shoot a bullet, the client number goes up by 1!
You're obviously not reading the structs from memory properly. But you can try using these structs (well, classes), thanks to Big Dave for them:
Code:
class ClientInfo
{
public:
	char Unknown1[12];
	char Name[16]; //0x0000  
	__int32 Team; //0x0010  
	__int32 Team2; //0x0014  
	char unknown24[28]; //0x0018
	char BodyModel[64]; //0x0034  
	char HeadModel[64]; //0x0074  
	char WeaponModel[64]; //0x00B4  
	char WeaponModel2[64]; //0x00F4  
	char WeaponExplosive[64]; //0x0134 
	char unknown372[552]; //0x0174
	__int32 pose; //0x039C  
	char unknown936[96]; //0x03A0
	__int32 pose2; //0x0400  
};

class Entity
{
public:
	char unknown0[2]; //0x0000
	__int8 Valid; //0x0002  
	char unknown4[21]; //0x0003
	D3DVector Origin; //0x0018  
	char unknown36[72]; //0x0024
        __int32 Pose; //0x006C  
        char unknown109[12]; //0x0070
	float fPitch; //0x007C  
	float fYaw; //0x0080  
	float fRoll; //0x0084  
        char unknown136[84]; //0x0088
        __int32 ClientNumber; //0x00DC 
	__int32 EntityType; //0x00E0  
	__int8 PlayerPose; //0x00E4  
	__int8 Shooting; //0x00E5  
	__int8 Zoomed; //0x00E6  
	char unknown231[193]; //0x00E7
	__int16 WeaponNum; //0x01A8  
	char unknown426[50]; //0x01AA
	__int32 IsAlive; //0x01DC  
};

class Refdef
{
public:
	char unknown1[8];
	__int32 ScreenX; //0x0000 
	__int32 ScreenY; //0x0004 
	float fov_x; //0x0008 
	float fov_y; //0x000C 
	D3DVector Origin; //0x0010 
	D3DVector ViewAxis[3]; //0x0014 
	char unknown24[16200]; //0x0018
	D3DVector rdViewAngles; //0x3F60 
};

class CG_t
{
public:
	__int32 ClientNumber;//0x0000  
	char unknown4[72]; //0x0004
	__int32 Health; //0x004C 
};

class CGS_t
{
public:
        char unknown0[8]; //0x0000
        __int32 ScreenX; //0x0008  
        __int32 ScreenY; //0x000C  
        char unknown16[12]; //0x0010
        __int32 LocalServer; //0x001C  
        char GameType[4]; //0x0020  
        char unknown36[28]; //0x0024
        char ServerName[64]; //0x0040  
};
when you do:
[highlight=c++]for(int i = 0; i<18;i++)
{
//code here....
}[/highlight]
It will obv. change the team, cause it will get each player's team one by one. So if you want to read only your team, you must do:
[highlight=c++]DWORD GetPlayerTeam(char *playerName)
{
for(int i = 0; i<18;i++)
{
if(cInfo[i].Name == playerName)
return cInfo[i].Team;
}
}[/highlight]
no i did
Code:
cg->clientNum
and
Code:
clientinfo[cg->clientNum].Name
without using
Code:
for(int i;i!=18;i++)
{
//code
}
EDIT: also i'm not trying to get the team i'm trying to get my playername/client number but somethings wrong with the source code that everytime i shoot a bullet the clientNum goes up by 1.

@master131backup
thanks for that i will try it!
Get the LocalClientNum, it is your actual client number. then to get the name do:
[highlight=c++]typedef struct Player{
DWORD Team;
char *cName;
};

Player GetLocalPlayerNameAndTeam( int pLocalNum )
{
char *cName = cInfo[pLocalNum].Name;
DWORD team = cInfo[pLocalNum].ClientNum;
Player static_player = { team, cName };
return Player;
}[/highlight]
Give me a second to give you the LocalClientNum address....
EDIT:
Here's the local client num (for alterIWnet):
[highlight=c++]int LocalClientNum = *(int*)0x633AEEC; //or iw4mp.dat+5F3AEEC[/highlight]
well the thing is, everytime i shoot, my client number value goes up. then it thinks that i'm a different player, making it so that i see what that person would see with my hack. also it goes way past 18 (e.g. if i use a RPD and a g18 and shoot all my ammo i would be client number 299)
That's not your client number. The Client number address is the LocalClientNum, so you use my method above you are going to get your info.
OH ok now i see!

EDIT:
so is int 0x5F3AEEC the offset for alteriwnet or 0x633AEEC?
Quote Originally Posted by jdslashv2 View Post
OH ok now i see!

EDIT:
so is int 0x5F3AEEC the offset for alteriwnet or 0x633AEEC?
They're both offests for the LocalClientNum, but 0x633AEEC is a "direct" offset, 0x5F3AEEC + The Base Address ("iw4mp.dat") = LocalClientNum. I recommend using this method to get the address:
[highlight=c++]DWORD GetLocalClientNumAddress( )
{
DWORD baseAddress = (DWORD)GetProcAddress(GetModuleHandleA("iw4mp.dat" ), NULL);
DWORD ClNum = (baseAddress + 0x5F3AEEC);
return ClNum;
}[/highlight]
well when i use that function u gave me all my visuals dont show (i guess because they dont hook and when i use the direct address, it stays at clientnumber 0
. TBH I didn't checked the address if it's the right one. Are you using D3D or the game engine?
EDIT: What do you mean with "they doesn't hook"?
Are you sure you are Detouring the right address?

Edit:
Try this addie:
iw4mp.dat+3F493C
Posts 1–15 of 19 · Page 1 of 2
This thread is closed for replies.

Tags for this Thread

None

Talk with us