Newbie Spellweaver
- Joined
- Jul 19, 2005
- Messages
- 22
- Reaction score
- 53
Hey Guys, it is with great pleasure to announce and release a "decompiled" version of GameServer 1.00.90 JPN.
Since May 2011 i offered Crazzy (Russian guy) my help to make this project get finished since i also finished
GameServer 1.00.77 JPN, and all went very well. I will be releasing GS_N and GS_CS without any "cracks" with
full .map file only cuz PDB is very helpful for decompilation which I don't want to happen for now
PS. All the functions names are "emulated" because we don't have any PDB . The most interesting thing is that
webzen fixed all bugs since all past gameservers, formulas changed, BuffEffect changed, MixSystem changed again 3 times,
etc. Also my GS_CS has SAME OFFSETS until castledeep code but GS_N don't have same offsets I think it's because
of the bad header or supposed virus on the original one... Check this link:
About the .exe size, differ because webzen uses old service packs for visual 6.0 maybe SP3 cuz tested with SP4, 5
and 6 and same size ~4,47MB(Siege)
So here I leave the full change log:
GameServer Download Link (Almost all protocol compiled, exclude CHS, KOR)
(July-17th)*Links updated due to Bug Fix of Golden Mobs Drop Bad Decompilation.
(August-4th)*Links updated due to Bug Fix of MG EvilSpirit Damage (no damage before due to CLASS_ELF instead of CLASS_MAGUMSA) and fixed Jewel Mix Interface State (old: 12/new: 20).
(August-5th)*Links updated due to Bug Fix of BK Swell Life Buff (no party effect before due to lpObj instead of lpPartyObj).
No offsets were changed since first release :
- Link JPN GS_N:
- Link JPN GS_CS:
- Link ENG GS_N:
- Link ENG GS_CS:
- Link TAI GS_N:
- Link TAI GS_CS:
- Link PHI GS_N:
- Link PHI GS_CS:
- Link VTM GS_N:
- Link VTM GS_CS:
I would like to announce too our new team called MSC (Mu Season Coder) and we will be starting developing a Season 4.6
full and free release using this source and maybe other projects too
(July-20th)*Full Objectstruct Release : Ps. Use #define GS_CASTLE 1 for gs_cs objectstruct
Att,
HermeX
Since May 2011 i offered Crazzy (Russian guy) my help to make this project get finished since i also finished
GameServer 1.00.77 JPN, and all went very well. I will be releasing GS_N and GS_CS without any "cracks" with
full .map file only cuz PDB is very helpful for decompilation which I don't want to happen for now
PS. All the functions names are "emulated" because we don't have any PDB
webzen fixed all bugs since all past gameservers, formulas changed, BuffEffect changed, MixSystem changed again 3 times,
etc. Also my GS_CS has SAME OFFSETS until castledeep code
of the bad header or supposed virus on the original one... Check this link:
You must be registered to see links
About the .exe size, differ because webzen uses old service packs for visual 6.0 maybe SP3 cuz tested with SP4, 5
and 6 and same size ~4,47MB(Siege)
So here I leave the full change log:
Code:
GameServer: - 1.00.90 JPN
Members: - HermeX / Crazzy
Special Thanks - SirMaster / Prody / Willerson and ofc Deathway and eRRoR for the great GameServer 1.00.18 source :)
:: Project started - 5.05.2011
//ALL DATA
OBJECTSTRUCT :: 100% ::
COMPARING CPP's :
MonsterHerd.cpp :: 100% ::
KalimaGate.cpp :: 100% ::
gObjMonster.cpp :: 100% ::
MonsterAttr.cpp :: 100% ::
MonsterItemMng.cpp :: 100% ::
MonsterSetBase.cpp :: 100% ::
DbSave.cpp :: 100% ::
DBSockMng.cpp :: 100% ::
DSProtocol.cpp :: 100% ::
SProtocol.cpp :: 100% ::
protocol.cpp :: 100% ::
EDSProtocol.cpp :: 100% ::
MultiAttackHackCheck.cpp :: 100% :: - have news checks
NSerialCheck.cpp :: 100% ::
PacketCheckSum.cpp :: 100% ::
HackToolPacket.cpp :: 100% ::
TDurMagicKeyChecker.cpp :: 100% ::
ChinaHackUserKick.cpp :: 100% :: - non-coded
SendHackLog.cpp :: 100% ::
DevilSquare.cpp :: 100% ::
DevilSquareGround.cpp :: 100% ::
BattleGround.cpp :: 100% ::
BattleSoccer.cpp :: 100% ::
BattleSoccerManager.cpp :: 100% ::
DragonEvent.cpp :: 100% :: - void CDragonEvent::Start() - changed
AttackEvent.cpp :: 100% ::
EledoradoEvent.cpp :: 100% ::
RingAttackEvent.cpp :: 100% ::
WTEventItemList.cpp :: 100% :: - non code
CastleDeepEvent.cpp :: 100% :: - same as 77
PCBangPointSystem.cpp :: 100% ::
GambleSystem.cpp :: 100% :: - Moss Merchant system fully coded *-*
XMasAttackEventData.cpp :: 100% :: - can't fix position for virtual functions
Event.cpp :: 100% :: - need correct packets vars names cuz is all Unk_X
EventManagement.cpp :: 100% ::
ItemBag.cpp :: 100% ::
ItemBagEx.cpp :: 100% ::
ProbabilityItemBag.cpp :: 100% ::
XMasAttackEvent.cpp :: 100% ::
MagicDamage.cpp :: 100% ::
MagicInf.cpp :: 100% ::
SkillAdditionInfo.cpp :: 100% ::
SkillDelay.cpp :: 100% ::
SkillHitBox.cpp :: 100% ::
QuestInfo.cpp :: 100% :: - void CQuestInfo::QuestSuccessCommand - fixed added in 4.5
QuestUtil.cpp :: 100% :: - same
wsGameServer.cpp :: 100% :: - same
WzMultiCastSock.cpp :: 100% :: - same
giocp.cpp :: 100% ::
\common\MyWinsockBase.cpp :: 100% :: - same
wsJoinServerCli.cpp :: 100% :: - same
WzQueue.cpp :: 100% :: - same
WzUdp.cpp :: 100% :: - same
MapClass.cpp :: 100% :: - new func and some addons for socketsystem
MapItem.cpp :: 100% :: - some addons for socketsystem
AcceptIp.cpp :: 100% :: - same
CLoginCount.cpp :: 100% :: - same
ClosePlayer.cpp :: 100% :: - same
ConMember.cpp :: 100% :: - same
IpCache.cpp :: 100% :: - same
DirPath.cpp :: 100% :: - same
logproc.cpp :: 100% :: - same
LogToFile.cpp :: 100% :: - same
MoveCheck.cpp :: 100% :: - same
\common\winutil.cpp :: 100% :: - same
WhisperCash.cpp :: 100% :: - same
zzzmathlib.cpp :: 100% :: - changed
\common\WZScriptEncode.cpp :: 100% :: - same
CWhatsUpDummyServer.cpp :: 100% :: - same
TNotice.cpp :: 100% :: - same
TStatistics.cpp :: 100% :: - same
CallStackTrace.cpp :: 100% :: - same
TServerAlertManager.cpp :: 100% :: - macro
TServerInfoDisplayer.cpp :: 100% :: - same
MiniDump.cpp :: 100% :: - same
PartyClass.cpp :: 100% :: - same
GuildClass.cpp :: 100% :: - same
ViewportGuild.cpp :: 100% :: - same
ObjAttack.cpp :: 100% ::
ObjBaseAttack.cpp :: 100% ::
ObjUseSkill.cpp :: 100% ::
\common\classdef.cpp :: 100% :: - same
StatMng.cpp :: 100% :: - changed formulas
ComboAttack.cpp :: 100% ::
ObjCalCharacter.cpp :: 100% ::
DarkSpirit.cpp :: 100% ::
TUnion.cpp :: 100% :: - same
TUnionInfo.cpp :: 100% :: - same
MasterLevelSystem.cpp :: 100% :: - few fixes
MasterSkillSystem.cpp :: 100% ::
user.cpp :: 100% ::
SocketData.cpp :: 100% ::
SocketOption.cpp :: 100% ::
SocketSphere.cpp :: 100% ::
ItemAddOption.cpp :: 100% :: - one new func
JewelMixSystem.cpp :: 100% :: - dupe fix in both mix and unmix
\common\SetItemOption.cpp :: 100% :: - same
\common\zzzitem.cpp :: 100% ::
Shop.cpp :: 100% ::
CCastleEventItemList.cpp :: 100% :: - macro
GMMng.cpp :: 100% ::
MoveCommand.cpp :: 100% :: - new checks
SetItemMacro.cpp :: 100% ::
GameMain.cpp :: 100% ::
GameServer.cpp :: 100% ::
Gate.cpp :: 100% ::
BloodCastle.cpp :: 100% ::
ChaosCastle.cpp :: 100% ::
ChaosCastleSetItemDrop.cpp :: 100% :: - macro
CannonTower.cpp :: 100% ::
CastleCrown.cpp :: 100% ::
CastleCrownSwitch.cpp :: 100% ::
Guardian.cpp :: 100% ::
GuardianStatue.cpp :: 100% ::
LifeStone.cpp :: 100% :: - fix added on 4.5
Mercenary.cpp :: 100% ::
Weapon.cpp :: 100% :: - same as 77
CastleSiege.cpp :: 100% ::
CastleSiegeSync.cpp :: 100% ::
MapServerManager.cpp :: 100% ::
NpcTalk.cpp :: 100% ::
TMonsterSkillElement.cpp :: 100% ::
TMonsterSkillElementInfo.cpp :: 100% ::
TMonsterSkillManager.cpp :: 100% ::
TMonsterSkillUnit.cpp :: 100% :: - completed but TMonsterSkillElement::GetElementName() i cant fix position for this func :(
TMonsterAI.cpp :: 100% ::
TMonsterAIAgro.cpp :: 100% :: - completed but cant fix position for .h extra class
TMonsterAIAutomata.cpp :: 100% ::
TMonsterAIElement.cpp :: 100% ::
TMonsterAIGroup.cpp :: 100% ::
TMonsterAIGroupMember.cpp :: 100% ::
TMonsterAIMovePath.cpp :: 100% :: - completed but cant fix position for .h extra class
TMonsterAIRule.cpp :: 100% ::
TMonsterAIRuleInfo.cpp :: 100% ::
TMonsterAIUnit.cpp :: 100% ::
TMonsterAIUtil.cpp :: 100% ::
CrywolfAltar.cpp :: 100% ::
CrywolfStatue.cpp :: 100% ::
CrywolfDarkElf.cpp :: 100% ::
CrywolfMonster.cpp :: 100% ::
CrywolfTanker.cpp :: 100% ::
Crywolf.cpp :: 100% :: - completed but cant fix position for .h extra class
CrywolfStateTimeInfo.cpp :: 100% ::
CrywolfSync.cpp :: 100% ::
CrywolfUtil.cpp :: 100% ::
ItemSystemFor380.cpp :: 100% :: - cant fix position for DebugLog func
JewelOfHarmonySystem.cpp :: 100% ::
TRandomPoolMgr.cpp :: 100% ::
KanturuMaya.cpp :: 100% ::
KanturuMonsterMng.cpp :: 100% ::
KanturuNightmare.cpp :: 100% ::
KanturuBattleOfMaya.cpp :: 100% ::
KanturuBattleOfNightmare.cpp :: 100% ::
KanturuBattleStanby.cpp :: 100% ::
KanturuTowerOfRefinement.cpp :: 100% ::
KanturuBattleUserMng.cpp :: 100% ::
KanturuEntranceNPC.cpp :: 100% ::
Kanturu.cpp :: 100% :: - m_iKanturuBattleCounter and int m_iKanturuBattleDate may be deleted, and func void SetKanturuTimeAttackEventInfo() has deleted
KanturuStateInfo.cpp :: 100% ::
KanturuUtil.cpp :: 100% :: - SendDataKanturuTimeAttackEvent - deleted from 4.5
IllusionTempleEvent.cpp :: 100% ::
IllusionTempleProcess.cpp :: 100% ::
MixSystem.cpp :: 100% ::
CashShop.cpp :: 100% ::
wsShopServerCli.cpp :: 100% ::
CashItemPeriodSystem.cpp :: 100% ::
CashLotterySystem.cpp :: 100% ::
ViewportSkillState.cpp :: 100% :: - webzen remade Add and Clear. Now is "Prev" and "Next" BuffLastEffect for CalCharacter and one master function to Clear all :)
BuffManager.cpp :: 100% ::
BuffEffect.cpp :: 100% ::
RaklionSelupan.cpp :: 100% ::
RaklionBattleOfSelupan.cpp :: 100% ::
RaklionBattleUserMng.cpp :: 100% ::
Raklion.cpp :: 100% ::
RaklionUtil.cpp :: 100% ::
ChaosCard.cpp :: 100% ::
GameEvent.cpp :: 100% ::
GameServerAuth.cpp :: 100% ::
LargeRand.cpp :: 100% ::
MultiCheckSum.cpp :: 100% ::
TSync.cpp :: 100% ::
\common\WzMemScript.cpp :: 100% ::
GameServer Download Link (Almost all protocol compiled, exclude CHS, KOR)
(July-17th)*Links updated due to Bug Fix of Golden Mobs Drop Bad Decompilation.
(August-4th)*Links updated due to Bug Fix of MG EvilSpirit Damage (no damage before due to CLASS_ELF instead of CLASS_MAGUMSA) and fixed Jewel Mix Interface State (old: 12/new: 20).
(August-5th)*Links updated due to Bug Fix of BK Swell Life Buff (no party effect before due to lpObj instead of lpPartyObj).
No offsets were changed since first release
- Link JPN GS_N:
You must be registered to see links
- Link JPN GS_CS:
You must be registered to see links
- Link ENG GS_N:
You must be registered to see links
- Link ENG GS_CS:
You must be registered to see links
- Link TAI GS_N:
You must be registered to see links
- Link TAI GS_CS:
You must be registered to see links
- Link PHI GS_N:
You must be registered to see links
- Link PHI GS_CS:
You must be registered to see links
- Link VTM GS_N:
You must be registered to see links
- Link VTM GS_CS:
You must be registered to see links
I would like to announce too our new team called MSC (Mu Season Coder) and we will be starting developing a Season 4.6
full and free release using this source and maybe other projects too
(July-20th)*Full Objectstruct Release
Code:
typedef void * LPGGAUTH;
struct _GG_AUTH_DATA
{
DWORD dwIndex; // 0
DWORD dwValue1; // 4
DWORD dwValue2; // 8
DWORD dwValue3; // C
};
struct _GG_AUTH_PROTOCOL
{
HINSTANCE hDllHinstance; // 0
DWORD dwPtrcVersion; // 4
DWORD dwQueryCount; // 8
DWORD unkC;
DWORD (*PtrcGetAuthQuery)(int, LPGGAUTH, _GG_AUTH_DATA*, _GG_AUTH_DATA*); // 10
DWORD (*PtrcCheckAuthAnswer)(int, LPGGAUTH, _GG_AUTH_DATA*, _GG_AUTH_DATA*); // 14
_GG_AUTH_PROTOCOL * lpPrevProtocol; // 18
};
class CCSAuth2
{
public:
CCSAuth2(){}
~CCSAuth2(){}
_GG_AUTH_PROTOCOL* m_pProtocol; // 0
unsigned long m_bPrtcRef; // 4
DWORD m_dwUserFlag; // 8
_GG_AUTH_DATA m_AuthQuery; // C
_GG_AUTH_DATA m_AuthAnswer; // 1C
};
struct ComboSkillData
{
public:
void Init();
DWORD dwTime; //
short Skill[3]; //
int ProgressIndex; //
};
typedef struct tagActionState
{
DWORD Rest:1; // 0
DWORD Attack:1; // 1
DWORD Move:1; // 2
DWORD Escape:1; // 3
DWORD Emotion:4; // 4
DWORD EmotionCount:8; // 8
} ACTION_STATE, * LPACTION_STATE;
struct HITDAMAGE_STRUCT
{
short number; // 0
int HitDamage; // 4
DWORD LastHitTime; // 8
};
struct VIEWPORT_STRUCT
{
char state; // 0
short number; // 2
BYTE type; // 4
short index; // 6
int dis; // 8
};
struct VIEWPORT_PLAYER_STRUCT
{
char state; // 0
short number; // 2
BYTE type; // 4
short index; // 6
int dis; // 8
};
typedef struct tagInterfaceState
{
DWORD use : 2;
DWORD state : 4;
DWORD type : 10;
} INTERFACE_STATE, * LPINTERFACE_STATE;
class TDurMagicKeyChecker
{
private:
DWORD m_dwDurationTime[60]; // 0
BYTE m_btValidCount[60]; // F0
};
class CSkillDelay
{
public:
CSkillDelay(){}
virtual ~CSkillDelay(){}
private:
DWORD LastSkillUseTime[600];
};
class TMonsterSkillElementInfo
{
public:
static void CheckSkillElementInfoProc(struct OBJECTSTRUCT * lpObj);
public:
int m_iSkillElementDefense; // 0
int m_iSkillElementDefenseTime; // 4
int m_iSkillElementAttack; // 8
int m_iSkillElementAttackTime; // C
int m_iSkillElementAutoHP; // 10
int m_iSkillElementAutoHPCycle; // 14
int m_iSkillElementAutoHPTime; // 18
int m_iSkillElementAutoMP; // 1C
int m_iSkillElementAutoMPCycle; // 20
int m_iSkillElementAutoMPTime; // 24
int m_iSkillElementAutoAG; // 28
int m_iSkillElementAutoAGCycle; // 2C
int m_iSkillElementAutoAGTime; // 30
int m_iSkillElementImmuneNumber; // 34
int m_iSkillElementImmuneTime; // 38
int m_iSkillElementResistNumber; // 3C
int m_iSkillElementResistTime; // 40
int m_iSkillElementModifyStat; // 44
int m_iSkillElementModifyStatType; // 48
int m_iSkillElementModifyStatTime; // 4C
int m_iSkillElementBerserkTime; //50
};
struct TMonsterAIAgroInfo
{
private:
int m_iUserIndex; // 0
int m_iAgroValue; // 4
};
class TMonsterAIAgro
{
public:
TMonsterAIAgro(){}
virtual ~TMonsterAIAgro(){}
private:
TMonsterAIAgroInfo m_Agro[100]; // 4
};
struct JEWELOFHARMONY_ITEM_EFFECT
{
short HJOpAddMinAttackDamage; // 0
short HJOpAddMaxAttackDamage; // 2
short HJOpRequireStr; // 4
short HJOpRequireDex; // 6
short HJOpAddAttackDamage; // 8
short HJOpAddCriticalDamage; // A
short HJOpAddSkillAttack; // C
short HJOpAddAttackSuccessRatePVP; // E
short HJOpDecreaseSDRate; // 10
short HJOpAddIgnoreSDRate; // 12
short HJOpAddMagicPower; // 14
short HJOpAddDefense; // 16
short HJOpAddMaxAG; // 18
short HJOpAddMaxHP; // 1A
short HJOpAddRefillHP; // 1C
short HJOpAddRefillMP; // 1E
short HJOpAddDefenseSuccessRatePvP; // 20
short HJOpAddDamageDecrease; // 22
short HJOpAddSDRate; // 24
};
struct ITEMOPTION_FOR380ITEM_EFFECT
{
short OpAddAttackSuccessRatePVP; // 0
short OpAddDamage; // 2
short OpAddDefenseSuccessRatePvP; // 4
short OpAddDefense; // 6
short OpAddMaxHP; // 8
short OpAddMaxSD; // A
short OpRefillOn; // C
short OpAddRefillSD; // E
};
struct PCBANG_POINT_SYSTEM
{
//PcBang Control
BOOL m_bPcBangPointEnable;
//PcBang Common Settings
BYTE m_bPcBangCommonRule; //0x20A8
short m_sPcBangCommonRuleTime; //0x20AA
//PcBang Point Storage
short m_sPcBangGainPoint; //0x20AC
int m_iPcBangAccumulatedPoint; //0x20B0
//PcBang Set Info
BOOL m_bPcBangInfoSet; //0x20B4
//PcBang Timer Point Tick
DWORD m_dwPcBangPointTick; //0x20B8
//PcBang Reset Point Time Control (Eventserver Send)
short m_sPcBangResetYear; //0x20BC
short m_sPcBangResetMonth; //0x20BE
short m_sPcBangResetDay; //0x20C0
short m_sPcBangResetHour; //0x20C2
};
class CPCBangPointTimeCondition //completed identical
{
public:
CPCBangPointTimeCondition(){}
virtual ~CPCBangPointTimeCondition(){}
};
class CPCBangPointTimer : public CPCBangPointTimeCondition //completed identical
{
public:
CPCBangPointTimer(){}
virtual ~CPCBangPointTimer(){}
typedef void (*TUserIndex)(CPCBangPointTimer*,int);
public:
int m_iUSR_ResetYear; //0x4
int m_iUSR_ResetMonth; //0x8
int m_iUSR_ResetDay; //0xC
int m_iUSR_ResetHour; //0x10
int m_iSVR_ResetDayOfWeek; //0x14
int m_iSVR_ResetHour; //0x18
TUserIndex m_iTUserIndex; //0x1C
BOOL m_bSetTimer; //(size 0x4) //0x20
SYSTEMTIME m_tmPcBangResetTime; //(size 0x10) //0x24
int m_iUserIndex; //0x34
};
struct SOCKET_ITEM
{
BYTE m_btEffectType;
BYTE m_btOptionType;
WORD m_wOptionValue;
BYTE m_btOptionCount;
};
class CHackToolPacket
{
public:
CHackToolPacket(){}
~CHackToolPacket(){}
DWORD m_dwTick; //0
bool bLoad; //4
BYTE bSetTick; //5
DWORD unk_8; //8
int m_iPacketCount; //C
DWORD unk_10; //10
DWORD unk_14; //14
};
struct MONSTERKILLINFO
{
int MonIndex;
int KillCount;
};
struct BUFF_MANAGER
{
BYTE btBuffIndex; //210
BYTE btVpIndex; //211
BYTE btEffectType1; //212
BYTE btEffectType2; //213
int iValue1; //214
int iValue2; //218
DWORD dwBuffTickCount; //21C
int iDuration; //220
};
struct ML_PassiveSkill //S4 Updated
{
int m_iML_IncreaseAttackSuccessRate; //4C8
int m_iML_AttackRate; //4CC
int m_iML_IncreasePvPDefenceRate; //4D0
int m_iML_DurationReduction1; //4D4
BYTE m_btML_DurationReduction1; //4D8
int m_iML_DurationReduction2; //4DC
int m_iML_ResistanceIncrease_Poison; //4E0
int m_iML_ResistanceIncrease_Lightning; //4E4
int m_iML_ResistanceIncrease_Ice; //4E8
int m_iML_HPAutoIncrement; //4EC
int m_iML_ZenIncrease; //4F0
int m_iML_DefenseIncrease; //4F4
int m_iML_MaximumLifeIncrease; //4F8
int m_iML_MaximumAGIncrease; //4FC
int m_iML_MonsterAttackManaIncrement; //500
int m_iML_MonsterAttackLifeIncrement; //504
int m_iML_MonsterAttackSDIncrement; //508
int m_iML_IncreaseExpRate; //50C
//Season 4 Add-on
int m_iML_IncreaseMaxSD; //510
int m_iML_IncreaseSDRecovery; //514
int m_iML_IncreaseMaxDamage; //518
int m_iML_IncreaseMinDamage; //51C
int m_iML_IncreaseManaReduction; //520
int m_iML_IncreaseMaxWizardry; //524
int m_iML_IncreaseMinWizardry; //528
int m_iML_DecreasePetDurReduction; //52C
int m_iML_IncreaseMaxDmgWzdry; //530
int m_iML_IncreaseMinDmgWzdry; //534
};
//size 2238 for GS-CS
struct OBJECTSTRUCT
{
int m_Index;
int Connected;
char LoginMsgSnd;
char LoginMsgCount;
char CloseCount;
char CloseType;
BOOL bEnableDelCharacter;
struct _PER_SOCKET_CONTEXT* PerSocketContext;
SOCKET m_socket;
char Ip_addr[16];
int UserNumber;
int DBNumber;
DWORD ukn_30; //
BYTE Magumsa;
DWORD AutoSaveTime;
DWORD ConnectCheckTime;
DWORD CheckTick;
BYTE CheckSpeedHack;
DWORD CheckTick2;
BYTE CheckTickCount;
DWORD SaveTimeForStatics;
int iPingTime;
BYTE m_TimeCount;
DWORD m_dwPKTimer;
short CheckSumTableNum;
DWORD CheckSumTime;
WORD Type;
BYTE Live;
char CharacterPos;
char AccountID[11];
char Name[11];
char LastJoominNumber[14];
bool PlusStatQuestClear;
bool ComboSkillquestClear;
struct ComboSkillData comboSkill;
WORD Class;
BYTE DbClass;
BYTE ChangeUP;
BYTE ChangeUP3rd;
short Level;
int LevelUpPoint;
int iFruitPoint;
DWORD Experience;
DWORD NextExp;
short MLevel;
__int64 MLExp;
__int64 MLNextExp;
int MLPoint;
int MLInfoLoad;
int Money;
short Strength;
short Dexterity;
short Vitality;
short Energy;
float Life;
float MaxLife;
int m_iScriptMaxLife;
float FillLife;
float FillLifeMax;
float Mana;
float MaxMana;
WORD Leadership;
WORD AddLeadership;
WORD ChatLitmitTime;
BYTE ChatLimitTimeSec;
BYTE FillLifeCount;
short AddStrength;
short AddDexterity;
short AddVitality;
short AddEnergy;
int BP;
int MaxBP;
int AddBP;
float VitalityToLife;
float EnergyToMana;
char m_PK_Count;
char m_PK_Level;
int m_PK_Time;
short X;
short Y;
BYTE Dir;
BYTE MapNumber;
int AddLife;
int AddMana;
int iShield;
int iMaxShield;
int iAddShield;
int iFillShieldMax;
int iFillShield;
int iFillShieldCount;
DWORD dwShieldAutoRefillTimer;
BYTE DamageMinus;
BYTE DamageReflect;
short MonsterDieGetMoney;
BYTE MonsterDieGetLife;
BYTE MonsterDieGetMana;
BYTE StartX;
BYTE StartY;
short m_OldX;
short m_OldY;
short TX;
short TY;
short MTX;
short MTY;
int PathCount;
int PathCur;
char PathStartEnd;
short PathOri[15];
short PathX[15];
short PathY[15];
char PathDir[15];
DWORD PathTime;
BYTE m_MoveGateNumber;
//GS 90
short m_wRaiseTalismanSaveX;
short m_wRaiseTalismanSaveY;
short m_wRaiseTalismanSaveMap;
short m_wTeleportTalismanSaveX;
short m_wTeleportTalismanSaveY;
short m_wTeleportTalismanSaveMap;
DWORD Authority;
DWORD Penalty;
BYTE m_cAccountItemBlock;
struct tagActionState m_ActState;
BYTE m_ActionNumber;
DWORD m_State;
char m_StateSub;
BYTE m_Rest;
char m_ViewState;
BYTE m_btViewStateCount;
struct BUFF_MANAGER m_BuffEffectState[16];
DWORD m_LastMoveTime;
DWORD m_LastAttackTime;
BYTE m_FriendServerOnline;
int m_DetectSpeedHackTime;
DWORD m_SumLastAttackTime;
DWORD m_DetectCount;
int m_DetectedHackKickCount;
int m_SpeedHackPenalty;
BYTE m_AttackSpeedHackDetectedCount;
DWORD m_PacketCheckTime;
BYTE m_ShopTime;
DWORD m_TotalAttackTime;
int m_TotalAttackCount;
DWORD TeleportTime;
char Teleport;
char KillerType;
char DieRegen;
char RegenOk;
BYTE RegenMapNumber;
BYTE RegenMapX;
BYTE RegenMapY;
DWORD RegenTime;
DWORD MaxRegenTime;
short m_PosNum;
DWORD LifeRefillTimer;
DWORD CurActionTime;
DWORD NextActionTime;
DWORD DelayActionTime;
char DelayLevel;
char m_PoisonType;
char m_IceType;
//#unused ??
char m_iMonsterStunDelay; //0x39F unused
char m_iMonsterSleepDelay; //0x3A0 unused
char m_iMonsterBattleDelay;
char m_cKalimaGateExist;
int m_iKalimaGateIndex;
char m_cKalimaGateEnterCount;
struct OBJECTSTRUCT* lpAttackObj;
short m_SkillNumber;
DWORD m_SkillTime;
bool m_bAttackerKilled;
char m_ManaFillCount;
char m_LifeFillCount;
int SelfDefense[7];
DWORD SelfDefenseTime[7];
DWORD MySelfDefenseTime;
char m_Drink;
int m_SkillAttack;
char m_SkillAttackTime;
int PartyNumber;
int PartyTargetUser;
int GuildNumber;
struct _GUILD_INFO_STRUCT* lpGuild;
char GuildName[11];
int GuildStatus;
int iGuildUnionTimeStamp;
int m_RecallMon;
int m_Change;
short TargetNumber;
short TargetShopNumber;
short ShopNumber;
short LastAttackerID;
int m_AttackDamageMin;
int m_AttackDamageMax;
int m_MagicDamageMin;
int m_MagicDamageMax;
int m_AttackDamageLeft;
int m_AttackDamageRight;
int m_AttackDamageMaxLeft;
int m_AttackDamageMinLeft;
int m_AttackDamageMaxRight;
int m_AttackDamageMinRight;
int m_AttackRating;
int m_AttackSpeed;
int m_MagicSpeed;
int m_Defense;
int m_MagicDefense;
int m_SuccessfulBlocking;
int m_iSummonerBookSpell;
int m_iSummonerBookSpellDamageMin;
int m_iSummonerBookSpellDamageMax;
short m_MoveSpeed;
short m_MoveRange;
short m_AttackRange;
short m_AttackType;
short m_ViewRange;
short m_Attribute;
short m_ItemRate;
short m_MoneyRate;
int m_CriticalDamage;
int m_ExcelentDamage;
class CMagicInf* m_lpMagicBack;
class CMagicInf* Magic;
char MagicCount;
BYTE UseMagicNumber;
DWORD UseMagicTime;
char UseMagicCount;
short OSAttackSerial;
BYTE SASCount;
DWORD SkillAttackTime;
struct ML_PassiveSkill m_MLPassiveSkill; //Season 4 Master Skill System Updated
int m_iSoulBarrierDefense; //Season 3 BuffEffect for Soul Barrier Skill
short m_sSoulBarrierDuration; //Season 3 BuffEffect for Soul Barrier Skill
BYTE CharSet[18];
char m_Resistance[7];
char m_AddResistance[7];
int FrustrumX[4];
int FrustrumY[4];
struct VIEWPORT_STRUCT VpPlayer[75];
struct VIEWPORT_PLAYER_STRUCT VpPlayer2[75];
int VPCount;
int VPCount2;
struct HITDAMAGE_STRUCT sHD[40];
short sHDCount;
struct tagInterfaceState m_IfState;
DWORD m_InterfaceTime;
class CItem* pInventory;
LPBYTE pInventoryMap;
char* pInventoryCount;
char pTransaction;
class CItem* Inventory1;
LPBYTE InventoryMap1;
char InventoryCount1;
class CItem* Inventory2;
LPBYTE InventoryMap2;
char InventoryCount2;
class CItem* Trade;
LPBYTE TradeMap;
int TradeMoney;
bool TradeOk;
class CItem* pWarehouse;
LPBYTE pWarehouseMap;
char WarehouseCount;
short WarehousePW;
BYTE WarehouseLock;
BYTE WarehouseUnfailLock;
int WarehouseMoney;
int WarehouseSave;
class CItem* pChaosBox;
LPBYTE pChaosBoxMap;
int ChaosMoney;
int ChaosSuccessRate;
BOOL ChaosLock;
DWORD m_Option;
int m_nEventScore;
int m_nEventExp;
int m_nEventMoney;
BYTE m_bDevilSquareIndex;
bool m_bDevilSquareAuth;
char m_cBloodCastleIndex;
char m_cBloodCastleSubIndex;
int m_iBloodCastleEXP;
bool m_bBloodCastleComplete;
char m_cChaosCastleIndex;
char m_cChaosCastleSubIndex;
int m_iChaosCastleBlowTime;
char m_cKillUserCount;
char m_cKillMonsterCount;
int m_iDuelUserReserved;
int m_iDuelUserRequested;
int m_iDuelUser;
BYTE m_btDuelScore;
int m_iDuelTickCount;
bool m_bPShopOpen;
bool m_bPShopTransaction;
bool m_bPShopItemChange;
bool m_bPShopRedrawAbs;
char m_szPShopText[36];
bool m_bPShopWantDeal;
int m_iPShopDealerIndex;
char m_szPShopDealerName[10];
struct _RTL_CRITICAL_SECTION m_critPShopTrade;
int m_iVpPShopPlayer[75];
WORD m_wVpPShopPlayerCount;
bool IsInBattleGround;
bool HaveWeaponInHand;
short EventChipCount;
int MutoNumber;
BOOL UseEventServer;
bool LoadWareHouseInfo;
int iStoneCount;
int m_i3rdQuestState;
int m_i3rdQuestIndex;
MONSTERKILLINFO MonsterKillInfo[5];
BYTE m_Quest[50];
bool m_SendQuestInfo;
int m_SkyBossMonSheildLinkIndex;
int m_SkyBossMonSheild;
int m_SkyBossMonSheildTime;
int m_MaxLifePower;
int m_PacketChecksumTime;
int m_CheckLifeTime;
BYTE m_MoveOtherServer;
char BackName[11];
char m_BossGoldDerconMapNumber;
bool m_InWebzen;
char m_LastTeleportTime;
BYTE m_ClientHackLogCount;
BOOL m_bIsInMonsterHerd;
BOOL m_bIsMonsterAttackFirst;
class MonsterHerd* m_lpMonsterHerd;
class CCSAuth2 NPggCSAuth;
bool m_bSentGGAuth;
DWORD m_NPggCheckSumSendTime;
int fSkillFrustrumX[4];
int fSkillFrustrumY[4];
BYTE SkillHellFire2State;
BYTE SkillHellFire2Count;
DWORD SkillHellFire2Time;
BYTE m_ReqWarehouseOpen;
int m_NotAttackAreaCount;
short SetOpAddSkillAttack;
short SetOpAddExDamage;
short SetOpAddExDamageSuccessRate;
short SetOpAddCriticalDamage;
short SetOpAddCriticalDamageSuccessRate;
short SetOpIncAGValue;
short SetOpAddDamage;
short SetOpAddMinAttackDamage;
short SetOpAddMaxAttackDamage;
short SetOpAddAttackDamage;
short SetOpAddDefence;
short SetOpAddDefenceRate;
short SetOpAddMagicPower;
BYTE SetOpIgnoreDefense;
BYTE SetOpDoubleDamage;
BYTE SetOpTwoHandSwordImproveDamage;
BYTE SetOpImproveSuccessAttackRate;
BYTE SetOpReflectionDamage;
BYTE SetOpImproveSheldDefence;
BYTE SetOpDecreaseAG;
BYTE SetOpImproveItemDropRate;
bool IsFullSetItem;
class TDurMagicKeyChecker DurMagicKeyChecker;
WORD SkillRecallParty_Time;
BYTE SkillRecallParty_MapNumber;
BYTE SkillRecallParty_X;
BYTE SkillRecallParty_Y;
bool bIsChaosMixCompleted;
bool SkillLongSpearChange;
class CSkillDelay SkillDelay;
int iObjectSecTimer;
bool m_bMapSvrMoveQuit;
bool m_bMapSvrMoveReq;
DWORD m_dwMapSvrQuitTick;
short m_sPrevMapSvrCode;
short m_sDestMapNumber;
BYTE m_btDestX;
BYTE m_btDestY;
#if(GS_CASTLE==1)
union
{
struct
{
BYTE m_btCsNpcExistVal1;
BYTE m_btCsNpcExistVal2;
BYTE m_btCsNpcExistVal3;
BYTE m_btCsNpcExistVal4;
};
int m_iCsNpcExistVal;
};
BYTE m_btCsNpcType;
BYTE m_btCsGateOpen;
int m_iCsGateLeverLinkIndex;
BYTE m_btCsNpcDfLevel;
BYTE m_btCsNpcRgLevel;
BYTE m_btCsJoinSide;
bool m_bCsGuildInvolved;
#endif
bool m_bIsCastleNPCUpgradeCompleted;
BYTE m_btWeaponState;
int m_iWeaponUser;
BYTE m_btKillCount;
int m_iAccumulatedDamage;
#if(GS_CASTLE==1)
BYTE m_btLifeStoneCount;
BYTE m_btCreationState;
int m_iCreatedActivationTime;
#endif
int m_iAccumulatedCrownAccessTime;
class TMonsterSkillElementInfo m_MonsterSkillElementInfo;
int m_iBasicAI;
int m_iCurrentAI;
int m_iCurrentAIState;
int m_iLastAIRunTime;
int m_iGroupNumber;
int m_iSubGroupNumber;
int m_iGroupMemberGuid;
int m_iRegenType;
class TMonsterAIAgro m_Agro;
int m_iLastAutomataRuntime;
int m_iLastAutomataDelay;
int m_iCrywolfMVPScore;
int m_iPcBangRoom; //2030 (new) confirmed thru illusion
DWORD m_dwLastCheckTick;
int m_iAutoRecuperationTime;
int m_iSkillDistanceErrorCount;
DWORD m_dwSkillDistanceErrorTick;
struct JEWELOFHARMONY_ITEM_EFFECT m_JewelOfHarmonyEffect;
struct ITEMOPTION_FOR380ITEM_EFFECT m_ItemOptionExFor380;
#if(GS_CASTLE==0)
BOOL m_bKanturuEntranceByNPC;
#endif
WORD m_wItemEffectType;
int m_iItemEffectValidTime;
WORD m_wCashPoint; //0x209C
//PcBang Variables #START#
//PcBang EventServer Control
int m_iPcBangConnectionType; // 0x20A0
//PcBang
PCBANG_POINT_SYSTEM m_PcBangPointSystem; // 0x20A4
//PcBang Class Timer
CPCBangPointTimer m_PCBangPointTimer; //0x20C4
//PcBang Variables #END#
int m_iIllusionTempleIndex; //20FC
BOOL m_bSkillKeyRecv; //0x2100
int m_iPeriodItemEffectIndex; //0x2104
BYTE Summoner; //0x2108
//Season4 add-on size 0x108
SOCKET_ITEM m_SocketSet[35]; //0x210A
SOCKET_ITEM m_SocketWeapon[7]; //0x21DC
SOCKET_ITEM m_SocketBonus[2]; //0x2206
///////////////////
WORD m_wSocketOpIncLifePower; //0x2212
WORD m_wSocketOpIncMaxMana; //0x2214
WORD m_wSocketOpAddLife; //0x2216
WORD m_wSocketOpAddMana; //0x2218
BYTE m_btSocketOpDecreaseAG; //0x221A
///////////////////
class CHackToolPacket m_HackToolCheck; //0x221C
BYTE m_btSummonedbyGM; //0x2234
};
typedef OBJECTSTRUCT * LPOBJ;
Att,
HermeX
Last edited: