- Joined
- Mar 12, 2009
- Messages
- 6,531
- Reaction score
- 1,814
This is a very good concept. I'm looking forward to it's release =)
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!Nice idea.
There is also an ASM Editing to get :
HP: 0 - AP: 0. ( Press F9 ).
You wont tell your Enemy ur exact HP/AP ammount ...
Not all oponents are airheads ...
Wheres the part where i say that the enemy can see the stats, read again, your the dummy!
The point is tactical playing (that even exists on Gunz ...!)
60% can be 100hp or 60% can be 80 hp
Your enemy only knows 60% so he can only guess how many shots are
needed to kill you...
You wont tell your Enemy ur exact HP/AP ammount ...
Not all oponents are airheads ...
Wheres the part where i say that the enemy can see the stats, read again, your the dummy!
The point is tactical playing (that even exists on Gunz ...!)
60% can be 100hp or 60% can be 80 hp
Your enemy only knows 60% so he can only guess how many shots are
needed to kill you...
Can you post the ZCharacter structure?
Thanks
struct MUID
{
DWORD uidLow;
DWORD uidHigh;
};
struct ZItem
{
struct class1{};
char Unknown0[16];
DWORD IsEquipped;
char Unknown1[12];
class1* Unknown2;
char Unknown3[8];
DWORD AmmoRight;
DWORD AmmoLeft;
};
struct D3DXVector3
{
float x;
float y;
float z;
};
struct ZEncryptor
{
char Unknown0[12];
DWORD Base;
char Unknown1[16];
int Offset;
};
class ZCharacter
{
public:
DWORD ZCharacterId;
char Unknown0[36];
MUID uidCharacter;
char Unknown1[40];
ZEncryptor *PositionMarker;
D3DXVector3 Direction;
DWORD ZCharacterItemMarker;
char Unknown2[4];
ZItem Head;
ZItem Chest;
ZItem Hand;
ZItem Leg;
ZItem Feet;
ZItem LRing;
ZItem RRing;
ZItem Melee;
ZItem PGun;
ZItem SGun;
ZItem PItem;
ZItem SItem;
int CurrentWeapon;
char Unknown3[20];
char LastMovement[12];
char Unknown4[32];
ZCharacter *LastAttacker;
char Unknown5[32];
char NameDirty[32];
char ClanDirty[16];
char Unknown7[12];
int Level;
char Unknown8[28];
int Kills;
int Deaths;
char Unknown9[36];
char Name[32];
char Clan[16];
char Unknown10[348];
int Team;
char Unknown11[137];
byte IsSniping;
D3DXVector3& Position()
{
return *(D3DXVector3*)(*(PDWORD_PTR)(PositionMarker->Base + PositionMarker->Offset * 0x4));
}
void Revive ()
{
((void (__thiscall *)(LPVOID))ZCharacter__RevivalAddress) (this);
}
void SetHP (int nValue)
{
((void (__thiscall *)(LPVOID, int))ZCharacter__SetHPAddress) (this, nValue);
}
void SetAP (int nValue)
{
((void (__thiscall *)(LPVOID, int))ZCharacter__SetAPAddress) (this,nValue);
}
int GetHP ()
{
return ((int (__thiscall *)(LPVOID))ZCharacter__GetHPAddress) (this);
}
int GetAP ()
{
return ((int (__thiscall *)(LPVOID))ZCharacter__GetAPAddress) (this);
}
};
struct MCommandParameter
{
LPVOID VTable;
int m_nType;
};
struct MCommandParamCondition
{
};
struct MCommandParameterDesc
{
LPVOID VTable;
int m_nType;
char m_szDescription[64];
std::vector<MCommandParamCondition *> m_Conditions;
};
struct MCommandDesc
{
LPVOID VTable;
int m_nID;
char m_szName[256];
char m_szDescription[256];
DWORD_PTR m_nFlag;
std::vector<MCommandParameterDesc*> m_ParamDescs;
};
struct MCommand
{
DWORD_PTR CMemPool;
MCommand* m_next;
MUID m_Sender;
MUID m_Receiver;
MCommandDesc *m_pCommandDesc;
std::vector<MCommandParameter*> m_Params;
unsigned char m_nSerialNumber;
};
struct ZGameClient
{
char unknown0[88];
char Unknown1[32];
char unknown2[288];
MUID ServerMUID;
MUID MyMUID;
MUID ChannelMUID;
MUID StageMUID;
char ServerName[64];
char ServerIP[32];
char unknown3[744];
char CurrentChannel[128];
char Unknown4[128];
char Unknown5[128];
char CurrentGame[128];
char CurrentChat[64];
unsigned int RoomNumber;
int CurrentCursor;
bool ClanWar;
int ChannelType;
char szKickText[128];
DWORD m_nPrevClockRequestAttribute;
int BridgePeerCount;
DWORD LastBridgePeer;
int Countdown;
DWORD LastCountdown;
int RequestID;
MUID uidRequestPlayer;
};