Está objectstruct não está completa, mas está mais completa que outras objectstructs lançadas em sources de outros programadores.
Aos usuários que desejarem utiliza-lá, é INDISPENSÁVEL o uso da função #pragma pack(), sendo assim, não as retire do arquivo.
Segue:
OBJECTSTRUCT 97d:
Código:
#pragma once
namespace Network
{
class MAGICCLASS
{
public:
unsigned char m_Level;
unsigned char m_Skill;
int m_DamageMin;
int m_DamageMax;
};
struct tagInterfaceState
{
unsigned char use : 2;
unsigned char state : 2;
unsigned char type : 4;
};
#pragma pack(push, 1)
class ITEMCLASS
{
public:
/* Start + Size */
/* 0x00 + 0x04 */ unsigned long m_Number;
/* 0x04 + 0x01 */ char m_Serial;
/* 0x05 + 0x01 */ char BytePadding_1;
/* 0x06 + 0x02 */ short m_Type;
/* 0x08 + 0x02 */ short m_Level;
/* 0x0A + 0x01 */ unsigned char m_Part;
/* 0x0B + 0x01 */ unsigned char m_Class;
/* 0x0C + 0x01 */ unsigned char m_TwoHand;
/* 0x0D + 0x01 */ unsigned char m_AttackSpeed;
/* 0x0E + 0x01 */ unsigned char m_WalkSpeed;
/* 0x0F + 0x01 */ char BytePadding_2;
/* 0x10 + 0x02 */ unsigned short m_DamageMin;
/* 0x12 + 0x02 */ unsigned short m_DamageMax;
/* 0x14 + 0x01 */ unsigned char m_SuccessfulBlocking;
/* 0x15 + 0x01 */ char BytePadding_3;
/* 0x16 + 0x02 */ unsigned short m_Defense;
/* 0x18 + 0x02 */ unsigned short m_MagicDefense;
/* 0x1A + 0x01 */ unsigned char m_Speed;
/* 0x1B + 0x01 */ char BytePadding_4;
/* 0x1C + 0x02 */ unsigned short m_DamageMinOrigin;
/* 0x1E + 0x02 */ unsigned short m_DefenseOrigin;
/* 0x20 + 0x02 */ unsigned short m_Magic;
/* 0x22 + 0x01 */ char BytePadding_5[0x02];
/* 0x24 + 0x04 */ float m_Durability;
/* 0x28 + 0x02 */ unsigned short m_DurabilitySmall;
/* 0x2A + 0x01 */ char BytePadding_6[0x02];
/* 0x2C + 0x04 */ float m_BaseDurability;
/* 0x30 + 0x01 */ unsigned char m_SpecialNum;
/* 0x31 + 0x01 */ unsigned char m_Special[8];
/* 0x39 + 0x01 */ unsigned char m_SpecialValue[8];
/* 0x41 + 0x01 */ char BytePadding_7;
/* 0x42 + 0x02 */ unsigned short m_RequireStrength;
/* 0x44 + 0x02 */ unsigned short m_RequireAgility;
/* 0x46 + 0x02 */ unsigned short m_RequireEnergy;
/* 0x48 + 0x02 */ unsigned short m_RequireVitality;
/* 0x4A + 0x01 */ unsigned char m_RequireClass[4];
/* 0x4E + 0x01 */ unsigned char m_Resistance[4];
/* 0x52 + 0x01 */ char BytePadding_8[0x02];
/* 0x54 + 0x04 */ int m_Value;
/* 0x58 + 0x01 */ char UnknownByte_4[0x10];
/* 0x68 + 0x01 */ unsigned char m_OptionSkill;
/* 0x69 + 0x01 */ unsigned char m_OptionLuck;
/* 0x6A + 0x01 */ unsigned char m_OptionAdditional;
/* 0x6B + 0x01 */ unsigned char m_OptionExcellent;
/* 0x6C + 0x04 */ float m_DurabilityState[0x04];
/* 0x7C + 0x04 */ float m_CurrentDurabilityState;
/* 0x80 + 0x01 */ bool m_QuestItem;
/* 0x81 + 0x01 */ unsigned char m_SetOption;
/* 0x82 + 0x01 */ char UnknownByte_6[0x02];
};
struct OBJECTSTRUCT
{
/* Start + Size */
/* 0x00 + 0x04 */ int m_Index;
/* 0x04 + 0x04 */ int Connected;
/* 0x08 + 0x01 */ char LoginMsgSend;
/* 0x09 + 0x01 */ char LoginMsgCount;
/* 0x0A + 0x01 */ char CloseType;
/* 0x0B + 0x01 */ char CloseCount;
/* 0x0C + 0x01 */ char bEnableDelCharacter;
/* 0x0D + 0x01 */ char UnknownSize_1[0x03];
/* 0x10 + 0x04 */ unsigned int m_Socket;
/* 0x14 + 0x01 */ char IpAddress[0x10];
/* 0x24 + 0x04 */ int UserNumber;
/* 0x28 + 0x04 */ int DbNumber;
/* 0x2C + 0x01 */ unsigned char Magumsa;
/* 0x2D + 0x01 */ char UnknownSize_2[0x07];
/* 0x34 + 0x04 */ unsigned int ConnectCheckTime;
/* 0x38 + 0x04 */ unsigned int CheckTick;
/* 0x3C + 0x01 */ unsigned char CheckSpeedHack;
/* 0x3D + 0x01 */ char UnknownSize_3[0x07];
/* 0x44 + 0x01 */ unsigned char CheckTickCount;
/* 0x45 + 0x01 */ char UnknownSize_4[0x07];
/* 0x4C + 0x01 */ unsigned char m_TimeCount;
/* 0x4D + 0x01 */ char BytePadding_1[0x03];
/* 0x50 + 0x04 */ unsigned long m_dwPKTimer;
/* 0x54 + 0x02 */ short CheckSumTableNum;
/* 0x56 + 0x01 */ char BytePadding_2[0x02];
/* 0x58 + 0x04 */ unsigned long CheckSumTime;
/* 0x5C + 0x01 */ unsigned char Type;
/* 0x5D + 0x01 */ unsigned char Live;
/* 0x5E + 0x01 */ char CharacterPos;
/* 0x5F + 0x01 */ char AccountID[0x0B];
/* 0x6A + 0x01 */ char Name[0x0B];
/* 0x75 + 0x01 */ char LastJoominNumber[0x0E];
/* 0x83 + 0x01 */ unsigned char Class;
/* 0x84 + 0x01 */ unsigned char DbClass;
/* 0x85 + 0x01 */ unsigned char Skin;
/* 0x86 + 0x02 */ unsigned short Level;
/* 0x88 + 0x04 */ unsigned int LevelUpPoint;
/* 0x8C + 0x04 */ unsigned long Experience;
/* 0x90 + 0x04 */ unsigned long NextExp;
/* 0x94 + 0x04 */ unsigned int Money;
/* 0x98 + 0x02 */ unsigned short Strength;
/* 0x9A + 0x02 */ unsigned short Agility;
/* 0x9C + 0x02 */ unsigned short Vitality;
/* 0x9E + 0x02 */ unsigned short Energy;
/* 0xA0 + 0x04 */ float Life;
/* 0xA4 + 0x04 */ float LifeMax;
/* 0xA8 + 0x04 */ float FillLife;
/* 0xAC + 0x04 */ float FillLifeMax;
/* 0xB0 + 0x04 */ float Mana;
/* 0xB4 + 0x04 */ float ManaMax;
/* 0xB8 + 0x04 */ int BP;
/* 0xBC + 0x04 */ int MaxBP;
/* 0xC0 + 0x04 */ int AddBP;
/* 0xC4 + 0x04 */ float VitalityToLife;
/* 0xC8 + 0x04 */ float EnergyToMana;
/* 0xCC + 0x01 */ char PkCount;
/* 0xCD + 0x01 */ char PkLevel;
/* 0xCE + 0x04 */ int PkTime;
/* 0xD2 + 0x01 */ char BytePadding_3[0x02];
/* 0xD4 + 0x02 */ short X;
/* 0xD6 + 0x02 */ short Y;
/* 0xD8 + 0x01 */ char Dir;
/* 0xD9 + 0x01 */ char Map;
/* 0xDA + 0x02 */ short AddLife;
/* 0xDC + 0x02 */ short AddMana;
/* 0xDE + 0x01 */ unsigned char DamageMinus;
/* 0xDF + 0x01 */ unsigned char DamageReflect;
/* 0xE0 + 0x02 */ short MonsterDieGetMoney;
/* 0xE2 + 0x01 */ unsigned char MonsterDieGetLife;
/* 0xE3 + 0x01 */ unsigned char MonsterDieGetMana;
/* 0xE4 + 0x01 */ unsigned char StartX;
/* 0xE5 + 0x01 */ unsigned char StartY;
/* 0xE6 + 0x02 */ short m_OldX;
/* 0xE8 + 0x02 */ short m_OldY;
/* 0xEA + 0x02 */ short TX;
/* 0xEC + 0x02 */ short TY;
/* 0xEE + 0x02 */ short MTX;
/* 0xF0 + 0x02 */ short MTY;
/* 0xF2 + 0x01 */ char BytePadding_4[0x02];
/* 0xF4 + 0x04 */ int PathCount;
/* 0xF8 + 0x04 */ int PathCur;
/* 0xFC + 0x01 */ char PathStartEnd;
/* 0xFD + 0x01 */ char UnknownSize_5[0x6B];
/* 0x168 + 0x04 */ unsigned long PathTime;
/* 0x16C + 0x01 */ unsigned char m_MoveGateUser;
/* 0x16D + 0x01 */ char BytePadding_5[0x03];
/* 0x170 + 0x04 */ int Authority;
/* 0x174 + 0x04 */ int AuthorityCode;
/* 0x178 + 0x04 */ int Penalty;
/* 0x17C + 0x01 */ char UnknownSize_6[0x08];
/* 0x184 + 0x01 */ unsigned char m_ActionNumber;
/* 0x185 + 0x01 */ char BytePadding_6[0x03];
/* 0x188 + 0x04 */ unsigned long m_State;
/* 0x18C + 0x01 */ char m_StateSub;
/* 0x18D + 0x01 */ unsigned char m_Rest;
/* 0x18E + 0x01 */ char m_ViewState;
/* 0x18F + 0x04 */ int m_ViewSkillState;
/* 0x193 + 0x01 */ char UnknownSize_7[0x05];
/* 0x198 + 0x04 */ int m_DetectSpeedHackTime;
/* 0x19C + 0x04 */ unsigned long m_SumLastAttackTime;
/* 0x1A0 + 0x04 */ unsigned long m_DetectCount;
/* 0x1A4 + 0x04 */ int m_DetectedHackKickCount;
/* 0x1A8 + 0x04 */ int m_SpeedHackPenalty;
/* 0x1AC + 0x01 */ unsigned char m_AttackSpeedHackDetectedCount;
/* 0x1AD + 0x01 */ char UnknownSize_8[0x07];
/* 0x1B4 + 0x01 */ unsigned char m_ShopTime;
/* 0x1B5 + 0x01 */ char BytePadding_7[0x03];
/* 0x1B8 + 0x04 */ unsigned long m_TotalAttackTime;
/* 0x1BC + 0x04 */ int m_TotalAttackCount;
/* 0x1C0 + 0x04 */ unsigned long TeleportTime;
/* 0x1C4 + 0x01 */ char Teleport;
/* 0x1C5 + 0x01 */ char KillerType;
/* 0x1C6 + 0x01 */ char DieRegen;
/* 0x1C7 + 0x01 */ char RegenOk;
/* 0x1C8 + 0x01 */ unsigned char RegenMap;
/* 0x1C9 + 0x01 */ unsigned char RegenMapX;
/* 0x1CA + 0x01 */ unsigned char RegenMapY;
/* 0x1CB + 0x01 */ char BytePadding_8[0x01];
/* 0x1CC + 0x04 */ unsigned long RegenTime;
/* 0x1D0 + 0x04 */ unsigned long MaxRegenTime;
/* 0x1D4 + 0x02 */ short m_PosNum;
/* 0x1D6 + 0x01 */ char UnknownSize_9[0x13];
/* 0x1E9 + 0x01 */ char m_PoisonBeattackCount;
/* 0x1EA + 0x01 */ char m_ColdBeattackCount;
/* 0x1EB + 0x01 */ char UnknownSize_10[0x01];
/* 0x1EC + 0x04 */ OBJECTSTRUCT* lpAttackObj;
/* 0x1F0 + 0x02 */ short m_SkillNumber;
/* 0x1F2 + 0x01 */ char BytePadding_9[0x02];
/* 0x1F4 + 0x04 */ unsigned long m_SkillTime;
/* 0x1F8 + 0x01 */ char UnknownSize_11[0x04];
/* 0x1FC + 0x04 */ int SelfDefense[0x05]; // (0x05 * 0x04) = 0x14 [Size]
/* 0x210 + 0x04 */ unsigned long SelfDefenseTime[0x05]; // (0x05 * 0x04) = 0x14 [Size]
/* 0x224 + 0x04 */ unsigned long MySelfDefenseTime;
/* 0x228 + 0x01 */ char m_Drink;
/* 0x229 + 0x01 */ char BytePadding_10[0x03];
/* 0x22C + 0x04 */ int m_SkillDefense;
/* 0x230 + 0x01 */ char m_SkillDefenseTime;
/* 0x231 + 0x01 */ char BytePadding_11[0x03];
/* 0x234 + 0x04 */ int m_SkillAttack;
/* 0x238 + 0x01 */ char m_SkillAttackTime;
/* 0x239 + 0x01 */ char BytePadding_12[0x03];
/* 0x23C + 0x04 */ int m_SkillAttack2;
/* 0x240 + 0x01 */ char m_SkillAttackTime2;
/* 0x241 + 0x01 */ char BytePadding_13[0x03];
/* 0x244 + 0x02 */ short m_SkillAddLife;
/* 0x246 + 0x01 */ char BytePadding_14[0x02];
/* 0x248 + 0x04 */ int m_SkillAddLifeTime;
/* 0x24C + 0x04 */ int m_SkillHarden;
/* 0x250 + 0x04 */ int m_SkillHardenTime;
/* 0x254 + 0x04 */ int m_SkillMagumReduceDefense;
/* 0x258 + 0x04 */ int m_SkillMagumReduceDefenseTime;
/* 0x25C + 0x04 */ int PartyNumber;
/* 0x260 + 0x04 */ int PartyTargetUser;
/* 0x264 + 0x04 */ int GuildNumber;
// 0x268 lpGuild
/* 0x268 + 0x01 */ char UnknownSize_12[0x04];
/* 0x26C + 0x01 */ char GuildName[0x0B];
/* 0x277 + 0x01 */ char UnknownSize_13[0x01];
/* 0x278 + 0x04 */ int m_RecallMon;
/* 0x27C + 0x04 */ int m_Change;
/* 0x280 + 0x02 */ short TargetNumber;
/* 0x282 + 0x02 */ short TargetShopNumber;
/* 0x284 + 0x02 */ short ShopNumber;
/* 0x286 + 0x02 */ short LastAttackerID;
/* 0x288 + 0x04 */ int m_AttackDamageMin;
/* 0x28C + 0x04 */ int m_AttackDamageMax;
/* 0x290 + 0x04 */ int m_MagicDamageMin;
/* 0x294 + 0x04 */ int m_MagicDamageMax;
/* 0x298 + 0x04 */ int m_AttackDamageLeft;
/* 0x29C + 0x04 */ int m_AttackDamageRight;
/* 0x2A0 + 0x04 */ int m_AttackDamageMaxLeft;
/* 0x2A4 + 0x04 */ int m_AttackDamageMinLeft;
/* 0x2A8 + 0x04 */ int m_AttackDamageMaxRight;
/* 0x2AC + 0x04 */ int m_AttackDamageMinRight;
/* 0x2B0 + 0x04 */ int m_AttackRating;
/* 0x2B4 + 0x04 */ int m_AttackSpeed;
/* 0x2B8 + 0x04 */ int m_MagicSpeed;
/* 0x2BC + 0x04 */ int m_Defense;
/* 0x2C0 + 0x04 */ int m_MagicDefense;
/* 0x2C4 + 0x04 */ int m_SuccessfulBlocking;
/* 0x2C8 + 0x02 */ short m_MoveSpeed;
/* 0x2CA + 0x02 */ short m_MoveRange;
/* 0x2CC + 0x02 */ short m_AttackRange;
/* 0x2CE + 0x02 */ short m_AttackType;
/* 0x2D0 + 0x02 */ short m_ViewRange;
/* 0x2D2 + 0x02 */ short m_Attribute;
/* 0x2D4 + 0x02 */ short m_ItemRate;
/* 0x2D6 + 0x02 */ short m_MoneyRate;
/* 0x2D8 + 0x04 */ int m_CriticalDamage;
/* 0x2DC + 0x04 */ int m_ExcelentDamage;
/* 0x2E0 + 0x04 */ class MAGICCLASS* lpMagicBack;
/* 0x2E4 + 0x04 */ class MAGICCLASS* Magic;
/* 0x2E8 + 0x01 */ char MagicCount;
/* 0x2E9 + 0x01 */ unsigned char UseMagicNumber;
/* 0x2EA + 0x01 */ char BytePadding_15[0x02];
/* 0x2EC + 0x04 */ unsigned long UseMagicTime;
/* 0x2F0 + 0x01 */ char UseMagicCount;
/* 0x2F1 + 0x01 */ char BytePadding_16[0x01];
/* 0x2F2 + 0x02 */ short OSAttackSerial;
/* 0x2F4 + 0x01 */ unsigned char SASCount;
/* 0x2F5 + 0x01 */ char BytePadding_17[0x03];
/* 0x2F8 + 0x04 */ unsigned long SkillAttackTime;
/* 0x2FC + 0x01 */ char CharSet[0x0B];
/* 0x307 + 0x01 */ char UnknownSize_15[0x72D];
/* 0xA34 + 0x04 */ int VPCount;
/* 0xA38 + 0x04 */ int VPCount2;
/* 0xA3C + 0x01 */ char UnknownSize_16[0x1E0];
/* 0xC1C + 0x02 */ short sHDCount;
/* 0xC1E + 0x01 */ tagInterfaceState m_IfState;
/* 0xC1F + 0x01 */ char BytePadding_18[0x01];
/* 0xC20 + 0x04 */ unsigned long m_InterfaceTime;
/* 0xC24 + 0x04 */ class ITEMCLASS* pInventory;
/* 0xC28 + 0x04 */ unsigned char* pInventoryMap;
/* 0xC2C + 0x04 */ char* pInventoryCount;
/* 0xC30 + 0x01 */ char pTransaction;
/* 0xC31 + 0x01 */ char BytePadding_19[0x03];
/* 0xC34 + 0x04 */ class ITEMCLASS* Inventory1;
/* 0xC38 + 0x04 */ unsigned char* InventoryMap1;
/* 0xC3C + 0x01 */ char InventoryCount1;
/* 0xC3D + 0x01 */ char BytePadding_20[0x03];
/* 0xC40 + 0x04 */ class ITEMCLASS* Inventory2;
/* 0xC44 + 0x04 */ unsigned char* InventoryMap2;
/* 0xC48 + 0x01 */ char InventoryCount2;
/* 0xC49 + 0x01 */ char BytePadding_21[0x03];
/* 0xC4C + 0x04 */ class ITEMCLASS* pTrade;
/* 0xC50 + 0x04 */ unsigned char* pTradeMap;
/* 0xC54 + 0x04 */ unsigned int TradeMoney;
/* 0xC58 + 0x01 */ bool TradeOk;
/* 0xC59 + 0x01 */ char BytePadding_22[0x03];
/* 0xC5C + 0x04 */ class ITEMCLASS* pWarehouse;
/* 0xC60 + 0x04 */ unsigned char* pWarehouseMap;
/* 0xC64 + 0x01 */ char WarehouseCount;
/* 0xC65 + 0x01 */ char BytePadding_23[0x01];
/* 0xC66 + 0x02 */ short WarehousePW;
/* 0xC68 + 0x01 */ unsigned char WarehouseLock;
/* 0xC69 + 0x01 */ unsigned char WarehouseUnfailLock;
/* 0xC6A + 0x01 */ char BytePadding_24[0x02];
/* 0xC6C + 0x04 */ unsigned int WarehouseMoney;
/* 0xC70 + 0x04 */ int WarehouseSave;
/* 0xC74 + 0x04 */ class ITEMCLASS* pChaosBox;
/* 0xC78 + 0x04 */ unsigned char* pChaosBoxMap;
/* 0xC7C + 0x04 */ unsigned int ChaosMoney;
/* 0xC80 + 0x04 */ int ChaosSuccessRate;
/* 0xC84 + 0x04 */ int ChaosLock;
/* 0xC88 + 0x04 */ unsigned long m_Option;
/* 0xC8C + 0x04 */ int m_nEventScore;
/* 0xC90 + 0x04 */ int m_nEventExp;
/* 0xC94 + 0x04 */ int m_nEventMoney;
/* 0xC98 + 0x01 */ unsigned char m_bDevilSquareIndex;
/* 0xC99 + 0x01 */ bool m_bDevilSquareAuth;
/* 0xC9A + 0x01 */ char m_cBloodCastleIndex;
/* 0xC9B + 0x01 */ char m_cBloodCastleSubIndex;
/* 0xC9C + 0x04 */ int m_iBloodCastleEXP;
/* 0xCA0 + 0x01 */ bool IsInBattleGround;
/* 0xCA1 + 0x01 */ bool HaveWeaponInHand;
/* 0xCA2 + 0x02 */ short EventChipCount;
/* 0xCA4 + 0x04 */ int MutoNumber;
/* 0xCA8 + 0x04 */ int UseEventServer;
/* 0xCAC + 0x01 */ bool LoadWareHouseInfo;
/* 0xCAD + 0x01 */ unsigned char m_Quest[0x32];
/* 0xCDF + 0x01 */ bool m_SendQuestInfo;
/* 0xCE0 + 0x04 */ int m_SkyBossMonSheildLinkIndex;
/* 0xCE4 + 0x04 */ int m_SkyBossMonSheild;
/* 0xCE8 + 0x04 */ int m_SkyBossMonSheildTime;
/* 0xCEC + 0x04 */ int m_MaxLifePower;
/* 0xCF0 + 0x04 */ int m_WizardSkillDefense;
/* 0xCF4 + 0x04 */ int m_WizardSkillDefenseTime;
/* 0xCF8 + 0x04 */ int m_PacketChecksumTime;
/* 0xCFC + 0x04 */ int m_CheckLifeTime;
/* 0xD00 + 0x01 */ unsigned char m_MoveOtherServer;
/* 0xD01 + 0x01 */ char m_BossGoldDerconMapNumber;
/* 0xD02 + 0x01 */ bool m_InWebzen;
/* 0xD03 + 0x01 */ char m_LastTeleportTime;
/* 0xD04 + 0x01 */ unsigned char m_ClientHackLogCount;
/* 0xD05 + 0x01 */ unsigned char m_ReqWarehouseOpen;
/* 0xD06 + 0x01 */ char UnknownSize_18[0x06];
};
#pragma pack(pop)
extern OBJECTSTRUCT Object[5800];
}
Créditos:
Network.