My 0.97.00 OBJECTSTRUCT Full

Results 1 to 3 of 3
  1. #1
    Enthusiast pegasus128 is offline
    MemberRank
    Jan 2008 Join Date
    43 61 6E 61 64Location
    49Posts

    My 0.97.00 OBJECTSTRUCT Full

    hello everyone I'm releasing the obj I did for my project 0.97
    I hope it helps those who still works with version 0.97

    User.h

    #define OBJECT_BASE 0x4CEE778
    #define OBJECT_SIZE 0x0D0C
    #define OBJMIN 4800
    #define OBJMAX 5600
    #define MAX_USER_GUILD 35
    #define MAX_SELF_DEFENSE 5

    typedef struct tagInterfaceState
    {
    BYTE use : 2;
    BYTE state : 2;
    BYTE type : 4;

    } INTERFACE_STATE, * LPINTERFACE_STATE;

    typedef struct tagActionState
    {
    unsigned long Rest:1; // 0
    unsigned long Attack:1; // 1
    unsigned long Move:1; // 2
    unsigned long Escape:1; // 3
    unsigned long Emotion:4; // 4
    unsigned long EmotionCount:8; // 8

    } ACTION_STATE, * LPACTION_STATE;


    struct VIEWPORT_STRUCT
    {
    char state; // 0
    short number; // 2
    unsigned char type; // 4
    short index; // 6
    int dis; // 8
    };

    struct VIEWPORT_PLAYER_STRUCT
    {
    char state; // 0
    short number; // 2
    unsigned char type; // 4
    short index; // 6
    int dis; // 8

    };

    struct HITDAMAGE_STRUCT
    {
    short number; // 0
    int HitDamage; // 4
    DWORD LastHitTime; // 8
    };

    struct _GUILD_INFO_STRUCT
    {
    int Number; //0
    char Name[9]; //4
    unsigned char Mark[32]; //D
    BYTE Count; //2D
    BYTE TotalCount; //2E
    char Names[MAX_USER_GUILD][11]; //2F
    short Index[MAX_USER_GUILD]; //1B0 //5D
    unsigned char Use[MAX_USER_GUILD]; //440
    char pServer[MAX_USER_GUILD]; //490
    char TargetGuildName[9]; //4E0
    short TargetIndex[MAX_USER_GUILD]; //4EA
    struct _GUILD_INFO_STRUCT* lpTargetGuildNode; //58C
    unsigned char WarDeclareState; //590
    unsigned char WarState; //591
    unsigned char WarType; //592
    unsigned char BattleGroundIndex; //593
    unsigned char BattleTeamCode; //594
    unsigned char PlayScore; //595
    int TotalScore; //598
    char Notice[60]; //59c

    struct _GUILD_INFO_STRUCT* back; //734
    struct _GUILD_INFO_STRUCT* next; //738
    };

    struct OBJECTSTRUCT
    {
    int m_Index; // 0 # 4
    int Connected; // 4 "
    char LoginMsgSnd; // 8
    char LoginMsgCount; // 9
    char CloseCount; // A
    char CloseType; // B
    struct _PER_SOCKET_CONTEXT* PerSocketContext; // C
    unsigned int m_socket; // 10
    char Ip_addr[16]; //14
    int UserNumber; // 24
    int DBNumber; // 28
    unsigned char Magumsa; // 2C
    DWORD AutoSaveTime; // 30
    DWORD ConnectCheckTime; // 34
    DWORD CheckTick; // 38
    unsigned char CheckSpeedHack; // 3C
    DWORD CheckTick2; // 40
    unsigned char CheckTickCount; // 44
    int iPingTime; // 48
    unsigned char m_TimeCount; // 4C
    DWORD m_dwPKTimer; // 50
    short CheckSumTableNum; // 54
    DWORD CheckSumTime; // 58
    BYTE Type; // 5C
    BYTE Live; // 5D
    char CharacterPos; // 5E
    char AccountID[11]; // 5F
    char Name[11]; // 6A
    char LastJoominNumber[14]; // 75
    unsigned char Class; // 83
    unsigned char DbClass; // 84
    unsigned char ChangeUP;//ChangeUP // 85
    short Level; // 86
    int LevelUpPoint; // 88
    unsigned long Experience; // 8c
    unsigned long NextExp; // 90
    int Money; // 94
    WORD Strength; // 98
    WORD Dexterity; // 9A
    WORD Vitality; // 9C
    WORD Energy; // 9E
    float Life; // A0
    float MaxLife; // A4
    float FillLife; // A8
    float FillLifeMax; // AC
    float Mana; // B0
    float MaxMana; // B4
    int BP;// B8
    int MaxBP;// BC
    int AddBP;// C0
    float VitalityToLife; // C4
    float EnergyToMana; // C8
    char m_PK_Count; // CC
    char m_PK_Level; // CD
    int m_PK_Time; // D0
    short X; // D4
    short Y; // D6
    unsigned char Dir; // D8
    unsigned char MapNumber; // D9
    short AddLife; // DA
    short AddMana; // DC
    unsigned char DamageMinus; // DE
    unsigned char DamageReflect; // DF
    short MonsterDieGetMoney; // E0
    unsigned char MonsterDieGetLife; // E2
    unsigned char MonsterDieGetMana; // E3
    unsigned char StartX; // E4
    unsigned char StartY; // E5
    short m_OldX; // E6
    short m_OldY; // E8
    short TX; // EA
    short TY; // EC
    short MTX; // EE
    short MTY; // F0
    int PathCount; // F4
    int PathCur; // F8
    char PathStartEnd; // FC
    short PathOri[15]; // FE
    short PathX[15]; // 11C
    short PathY[15]; // 13A
    char PathDir[16]; // 158
    unsigned long PathTime; // 168
    char m_MoveGateNumber; // 16C
    DWORD Authority; // 170
    unsigned long AuthorityCode; // 174
    unsigned long Penalty; // 178
    BYTE m_cAccountItemBlock; // 17C
    ACTION_STATE m_ActState; // 180
    BYTE m_ActionNumber; // 184
    DWORD m_State; // 188
    char m_StateSub; // 18C
    unsigned char m_Rest; // 18D
    char m_ViewState; // 18E
    BYTE m_ViewSkillState; // 18F
    DWORD m_LastMoveTime; // 190
    DWORD m_LastAttackTime; // 194
    int m_DetectSpeedHackTime; // 198
    unsigned long m_SumLastAttackTime; // 19C
    unsigned long m_DetectCount; // 1A0
    int m_DetectedHackKickCount; // 1A4
    int m_SpeedHackPenalty; // 1A8
    unsigned char m_AttackSpeedHackDetectedCount; // 1AC
    unsigned long m_PacketCheckTime; // 1B0
    unsigned char m_ShopTime; // 1B4
    unsigned long m_TotalAttackTime; // 1B8
    int m_TotalAttackCount; // 1BC
    unsigned long TeleportTime; // 1C0
    char Teleport; // 1C4
    char KillerType; // 1C5
    char DieRegen; // 1C6
    char RegenOk; // 1C7
    BYTE RegenMapNumber; // 1C8
    BYTE RegenMapX; // 1C9
    BYTE RegenMapY; // 1CA
    DWORD RegenTime; // 1CC
    DWORD MaxRegenTime; // 1D0
    short m_PosNum; // 1D4
    DWORD LifeRefillTimer; // 1D8
    DWORD CurActionTime; // 1DC
    DWORD NextActionTime; // 1E0
    DWORD DelayActionTime; // 1E4
    char DelayLevel; // 1E8
    char m_PoisonBeattackCount; // 1E9
    char m_ColdBeattackCount; // 1EA
    OBJECTSTRUCT * lpAttackObj; // 1EC
    short m_SkillNumber; // 1F0
    DWORD m_SkillTime; // 1F4
    char m_ManaFillCount; // 1F8
    char m_LifeFillCount; // 1F9
    int SelfDefense[MAX_SELF_DEFENSE]; // 1FC
    DWORD SelfDefenseTime[MAX_SELF_DEFENSE]; // 210
    DWORD MySelfDefenseTime; // 224
    char m_Drink; // 228 m_Drink
    int m_SkillDefense; // 22C
    char m_SkillDefenseTime; // 230
    int m_SkillAttack; // 234
    char m_SkillAttackTime; // 238
    int m_SkillAttack2; // 23C
    char m_SkillAttackTime2; // 240
    int m_SkillAddLife; // 244
    int m_SkillAddLifeTime; // 248
    int m_SkillHarden; // 24C
    int m_SkillHardenTime; // 250
    int m_SkillMagumReduceDefense; // 254
    int m_SkillMagumReduceDefenseTime; // 258
    int PartyNumber; // 25C
    int PartyTargetUser; // 260
    int GuildNumber; // 264
    struct _GUILD_INFO_STRUCT* lpGuild; // int lpGuild; // 268
    char GuildName[11]; // 26C
    int m_RecallMon; // 278
    int m_Change; // 27C
    short TargetNumber; // 280
    short TargetShopNumber; // 282
    short ShopNumber; // 284
    short LastAttackerID; // 286
    int m_AttackDamageMin; // 288
    int m_AttackDamageMax; // 28C
    int m_MagicDamageMin; // 290
    int m_MagicDamageMax; // 294
    int m_AttackDamageLeft; // 298
    int m_AttackDamageRight; // 29C
    int m_AttackDamageMaxLeft; // 2A0
    int m_AttackDamageMinLeft; // 2A4
    int m_AttackDamageMaxRight; // 2A8
    int m_AttackDamageMinRight; // 2AC
    int m_AttackRating; // 2B0
    int m_AttackSpeed; // 2B4
    int m_MagicSpeed; // 2B8
    int m_Defense; // 2BC
    int m_MagicDefense; // 2C0
    int m_SuccessfulBlocking; // 2C4
    short m_MoveSpeed; // 2C8
    short m_MoveRange; // 2CA
    short m_AttackRange; // 2CC
    short m_AttackType; // 2CE
    short m_ViewRange; // 2D0
    short m_Attribute; // 2D2
    short m_ItemRate; // 2D4
    short m_MoneyRate; // 2D6
    int m_CriticalDamage; // 2D8
    int m_ExcelentDamage; // 2DC
    CMagicInf* m_lpMagicBack; // int m_lpMagicBack; // 2E0
    CMagicInf* Magic; // int Magic;// 2E4
    char MagicCount; // 2E8
    unsigned char UseMagicNumber; // 2E9
    unsigned long UseMagicTime; // 2EC
    char UseMagicCount; // 2F0
    short OSAttackSerial; // 2F2
    unsigned char SASCount; // 2F4
    unsigned long SkillAttackTime; // 2F8
    unsigned char CharSet[11]; // 2FC
    unsigned char m_Resistance[4]; // 307
    int FrustrumX[4]; // 30C
    int FrustrumY[4]; // 31C
    struct VIEWPORT_STRUCT VpPlayer[75];// 32C
    struct VIEWPORT_PLAYER_STRUCT VpPlayer2[75];// 6B0
    int VPCount; // A34
    int VPCount2; // A38
    struct HITDAMAGE_STRUCT sHD[40];// A3C
    short sHDCount; // C1C
    struct tagInterfaceState m_IfState; // C1E
    unsigned long m_InterfaceTime; // C22
    CItem *pInventory; // C24
    unsigned char * pInventoryMap; // C28
    char * pInventoryCount; // C2C
    char pTransaction;//C30
    CItem * Inventory1;//C34
    unsigned char * InventoryMap1;//C38
    char InventoryCount1;//C3C
    CItem * Inventory2;//C40
    unsigned char * InventoryMap2;//C44
    char InventoryCount2;//C48
    CItem * Trade;//C4C
    LPBYTE TradeMap;//C50
    int TradeMoney;//C54
    unsigned char TradeOk;//C58
    CItem * pWarehouse; // C5C
    unsigned char * pWarehouseMap; // C60
    char WarehouseCount; // C64
    short WarehousePW; // C66
    unsigned char WarehouseLock; // C68
    unsigned char WarehouseUnfailLock; // C69
    int WarehouseMoney; // C6C
    int WarehouseSave; // C70
    CItem * pChaosBox; // C74
    unsigned char* pChaosBoxMap; // C78
    int ChaosMoney; // C7C
    int ChaosSuccessRate; // C80
    int ChaosLock; // C84
    unsigned long m_Option; // C88
    int m_nEventScore; // C8C
    int m_nEventExp; // C90
    int m_nEventMoney; // C94
    unsigned char m_bDevilSquareIndex; // C98
    unsigned char m_bDevilSquareAuth; // C99
    char m_cBloodCastleIndex; // C9A
    char m_cBloodCastleSubIndex; // C9B
    int m_iBloodCastleEXP; // C9C
    unsigned char IsInBattleGround; // CA0
    unsigned char HaveWeaponInHand; // CA1
    short EventChipCount; // CA2
    int MutoNumber; // CA4
    int UseEventServer; // CA8
    unsigned char LoadWareHouseInfo;//MutoNumber // CAC
    unsigned char m_Quest[50]; // CAD
    unsigned char m_SendQuestInfo; // CDF
    int m_SkyBossMonSheildLinkIndex; // CE0
    int m_SkyBossMonSheild; // CE4
    int m_SkyBossMonSheildTime; // CE8
    int m_MaxLifePower; // CEC
    int m_WizardSkillDefense; // CF0
    int m_WizardSkillDefenseTime; // CF4
    int m_PacketChecksumTime; // CF8
    int m_CheckLifeTime; // CFC
    unsigned char m_MoveOtherServer; // D00
    char m_BossGoldDerconMapNumber; // D01
    unsigned char m_InWebzen;//D02
    char m_LastTeleportTime; // D03
    BYTE m_ClientHackLogCount; // D04
    unsigned char m_ReqWarehouseOpen; // D05
    int NotAttackAreaCount;// D08
    };

    typedef OBJECTSTRUCT * LPOBJ;

    User.cpp

    OBJECTSTRUCT* gObj = (OBJECTSTRUCT*)(OBJECT_BASE);

    Item.h

    class CItem
    {
    public:
    CItem();
    void Clear();

    unsigned long m_Number; // 0
    char m_serial; // 4
    short m_Type; // 6
    short m_Level; // 8
    unsigned char m_Part; // A
    unsigned char m_Class; // B
    unsigned char m_TwoHand; // C
    unsigned char m_AttackSpeed; // D
    unsigned char m_WalkSpeed; // E
    unsigned short m_DamageMin; // 10
    unsigned short m_DamageMax; // 12
    unsigned char m_SuccessfulBlocking; // 14
    unsigned short m_Defense; // 16
    unsigned short m_MagicDefense; // 18
    unsigned char m_Speed; // 1A
    unsigned short m_DamageMinOrigin; // 1A
    unsigned short m_DefenseOrigin; // 1E
    unsigned short m_Magic; // 20
    float m_Durability; // 24
    unsigned short m_DurabilitySmall; // 28
    float m_BaseDurability; // 2C
    unsigned char m_SpecialNum; // 30
    unsigned char m_Special[8]; // 31
    unsigned char m_SpecialValue[8]; // 39
    unsigned short m_RequireStrength; // 42
    unsigned short m_RequireDexterity; // 44
    unsigned short m_RequireEnergy; // 46
    unsigned short m_RequireLevel; // 48
    unsigned char m_RequireClass[4]; // 4A
    unsigned char m_Resistance[4]; // [0]4E / [1]4F / [2]50 / [3]51
    ///*0x52> |0x2|*/ char unk1[2]; // 52 53
    int m_Value; // 54
    unsigned long m_SellMoney; // 58
    unsigned long m_BuyMoney; // 5C
    int m_OldSellMoney; // 60
    int m_OldBuyMoney; // 64
    unsigned char m_Option1; // 68
    unsigned char m_Option2; // 69
    unsigned char m_Option3; // 6A
    unsigned char m_NewOption; // 6B
    float m_DurabilityState[4]; // [0]6C / [1]70 + [2]74 + [3]78
    float m_CurrentDurabilityState; // 7C
    bool m_QuestItem; // 80
    };

    Item.cpp

    CItem::CItem()
    {
    this->Clear();
    }

    void CItem::Clear() // Fine
    {
    this->m_Type =-1;
    this->m_Level =0;
    this->m_Part=0;
    this->m_Class=0;
    this->m_TwoHand=0;
    this->m_AttackSpeed=0;
    this->m_DamageMin=0;
    this->m_DamageMax=0;
    this->m_SuccessfulBlocking=0;
    this->m_Defense=0;
    this->m_MagicDefense =0;
    this->m_Durability=0;
    this->m_SpecialNum=0;
    this->m_Value=0;
    this->m_Option1 =0;
    this->m_Option2 =0;
    this->m_Option3 =0;
    this->m_NewOption =0;
    this->m_Number =0;
    this->m_DurabilitySmall =0;
    this->m_CurrentDurabilityState=-1;
    this->m_QuestItem=false;


    memset(this->m_Special, 0, sizeof(this->m_Special));
    memset(this->m_SpecialValue, 0, sizeof(this->m_SpecialValue));
    memset(this->m_Resistance, 0, sizeof(this->m_Resistance));
    }
    Information:

    command used to use the obj

    Examples:
    BOOL gObjLevelUpPointAdd(BYTE type, LPOBJ lpObj)
    {
    lpObj->m_Index
    }

    void gObjCharZeroSet(int aIndex)
    {
    LPOBJ lpObj = &gObj[aIndex];
    lpObj->m_Index
    }


    BOOL gObjIsConnected(int aIndex)
    {
    gObj[aIndex].m_Index
    }

    credits
    Giovani
    Deathway informations of 1.00.18
    Last edited by pegasus128; 03-02-21 at 09:23 AM.


  2. #2
    Novice mstrindade is offline
    MemberRank
    Jan 2012 Join Date
    1Posts

    Re: My 0.97.00 OBJECTSTRUCT Full

    Good, big help to me...tks...

  3. #3
    Apprentice chenshida666 is offline
    MemberRank
    Aug 2011 Join Date
    7Posts

    Re: My 0.97.00 OBJECTSTRUCT Full

    ths,can you show more Examples
    just like how to add points by commands?



Advertisement