Welcome!

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!

Offsets GameServer 1.00.93

Initiate Mage
Joined
Jan 30, 2012
Messages
16
Reaction score
15
Hello Guys,

Provide Some Offsets come from GameServer 1.00.93:

Excuse my English, I speak only Português.
Code:
#define GS_UDP_PORT         (0x00570BEF+1) // 1.00.93

#define GS_GREENBARTEXTCOLOR        (0x004CB607+1) // 1.00.93
#define GS_GREENBAR                 (0x004CB037+1) // 1.00.93
#define GSNOME                      (0x00796C30) // 1.00.93
#define GUARDSAY                    (0x0078ACE0) // 1.00.93

#define GS_ITEM_TIME1       (0x004BF9DA+1) // 1.00.93
#define GS_ITEM_TIME2       (0x004BFB8B+1) // 1.00.93

#define RAKLION_APPEARANCE_DELAY (0x00616ED7) // 1.00.93
#define RAKLION_CLOSE_DELAY		 (0x00616EF9) // 1.00.93
#define RAKLION_OPEN_DELAY		 (0x00616F1E) // 1.00.93 

#define GS_ALLIANCE_REQ     (0x00469C44+2) // 1.00.93 Revisar

#define GS_LVLUP_DL				(0x0051280E+2) // Default 7 // 1.00.93
#define GS_LVL_UP_DL2			(0x00589B76+2) // Default 7 // 1.00.93
#define GS_LVL_UP_DL3			(0x0059A636+2) // Default 7 // 1.00.93
#define GS_LVL_UP_DL4			(0x005C93F8+2) // Default 7 // 1.00.93
#define GS_LVL_UP_DL5			(0x005EDCC4+2) // Default 7 // 1.00.93

#define GS_LVLUP_MG				(0x00512836+2) // Default 7 // 1.00.93
#define GS_LVL_UP_MG2			(0x00589B76+2) // Default 7 // 1.00.93
#define GS_LVL_UP_MG3			(0x0059A636+2) // Default 7 // 1.00.93
#define GS_LVL_UP_MG4			(0x005C93F8+2) // Default 7 // 1.00.93
#define GS_LVL_UP_MG5			(0x005EDCC4+2) // Default 7 // 1.00.93

#define GS_LVLUP_NM				(0x0051284D+2) // Default 5 // 1.00.93
#define GS_LVL_UP_NORMAL2		(0x00589BA7+2) // Default 5 // 1.00.93
#define GS_LVL_UP_NORMAL3		(0x0059A667+2) // Default 5 // 1.00.93
#define GS_LVL_UP_NORMAL4		(0x005C9429+2) // Default 5 // 1.00.93
#define GS_LVL_UP_NORMAL5		(0x005EDCF4+2) // Default 5 // 1.00.93

#define GS_LVL_UP_QUEST1		(0x00512871+2) // 1.00.93
#define GS_LVL_UP_QUEST2		(0x00589BF0+2) // 1.00.93 
#define GS_LVL_UP_QUEST3		(0x0059A6B0+2) // 1.00.93
#define GS_LVL_UP_QUEST4		(0x005C9472+2) // 1.00.93
#define GS_LVL_UP_QUEST5		(0x005EDD3E+2) // 1.00.93

#define GS_ML_POINTS			(0x004FC5A2) // 1.00.93
#define GS_MAX_MASTERLEVEL      (0x004FC3BF) // 1.00.93

#define MAX_ZEN1				(0x00545467+3) // 1.00.93
#define MAX_ZEN2				(0x00455963+3) // 1.00.93
#define MAX_ZEN3				(0x00455A59+3) // 1.00.93
#define MAX_ZEN4				(0x0045598F+2) // 1.00.93

#define GS_TRANSFORMATIONRING1	(0x004E0703+3) // Default 2 // 1.00.93 Revisar
#define GS_TRANSFORMATIONRING2	(0x004E070C+3) // Default 7 // 1.00.93 Revisar
#define GS_TRANSFORMATIONRING3	(0x004E0715+3) // Default 14 // 1.00.93 Revisar
#define GS_TRANSFORMATIONRING4	(0x004E071E+3) // Default 8 // 1.00.93 Revisar
#define GS_TRANSFORMATIONRING5	(0x004E0727+3) // Default 9 // 1.00.93 Revisar
#define GS_TRANSFORMATIONRING6	(0x004E0730+3) // Default 41 // 1.00.93 Revisar

#define GS_SUMMONORB1			(0x004DEC37+1) // Default 26 // 1.00.93
#define GS_SUMMONORB2 			(0x004DEC68+1) // Default 32 // 1.00.93
#define GS_SUMMONORB3			(0x004DEC99+1) // Default 21 // 1.00.93
#define GS_SUMMONORB4			(0x004DECCA+1) // Default 20 // 1.00.93
#define GS_SUMMONORB5			(0x004DECFB+1) // Default 10 // 1.00.93
#define GS_SUMMONORB6			(0x004DED2C+1) // Default 150 // 1.00.93
#define GS_SUMMONORB7			(0x004DED60+1) // Default 151 // 1.00.93

#define GS_PARTY2EXP		(0x0051CE3E+3) // 1.00.93
#define GS_PARTY3EXP		(0x0051CE4D+3) // 1.00.93
#define GS_PARTY4EXP		(0x0051CE5C+3) // 1.00.93
#define GS_PARTY5EXP		(0x0051CE6B+3) // 1.00.93
#define GS_SETPARTY3EXP		(0x0051CE08+3) // 1.00.93
#define GS_SETPARTY4EXP		(0x0051CE17+3) // 1.00.93
#define GS_SETPARTY5EXP		(0x0051CE26+3) // 1.00.93

#define GS_BLESS_PRICE		(0x0055842E+3) // 1.00.93
#define GS_SOUL_PRICE		(0x00558450+3) // 1.00.93
#define GS_CHAOS_PRICE		(0x00558471+3) // 1.00.93
#define GS_LIFE_PRICE		(0x00558493+3) // 1.00.93
#define GS_CREATION_PRICE	(0x005584B5+3) // 1.00.93
#define GS_GUARDIAN_PRICE	(0x0055858F+3) // 1.00.93
#define GS_ALLOW_EXCANC		(0x00555256) // 1.00.93
#define GS_ALLOW_JOHANC		(0x005CCA8A) // 1.00.93
#define GS_ALLOW_EXCSKT		(0x005552FF) // 1.00.93

#define GS_WW_DROP_ID       (0x00487546+1) // 1.00.93 Revisar
#define GS_WW_GROUP_ID      (0x00487548+1) // 1.00.93 Revisar
#define GS_WW_ITEM_LVL      (0x00487565+1) // 1.00.93 Revisar
#define GS_WW_ITEM_DUR      (0x00487563+1) // 1.00.93 Revisar
#define GS_WW_ITEM_SKL      (0x00487561+1) // 1.00.93 Revisar
#define GS_WW_ITEM_LCK      (0x0048755F+1) // 1.00.93 Revisar
#define GS_WW_ITEM_LIF      (0x0048755D+1) // 1.00.93 Revisar
#define GS_WW_ITEM_EXC      (0x00487557+1) // 1.00.93 Revisar
#define GS_WW_ITEM_ANC      (0x00487555+1) // 1.00.93 Revisar

#define GS_BC_DROP_ID       (0x0058EE8B+1) // 1.00.93
#define GS_BC_GROUP_ID      (0x0058EE8D+1) // 1.00.93
#define GS_BC_ITEM_LVL      (0x0058EF32+1) // 1.00.93
#define GS_BC_ITEM_DUR      (0x0058EF30+1) // 1.00.93
#define GS_BC_ITEM_SKL      (0x0058EF2E+1) // 1.00.93
#define GS_BC_ITEM_LCK      (0x0058EF2C+1) // 1.00.93
#define GS_BC_ITEM_LIF      (0x0058EF2A+1) // 1.00.93
#define GS_BC_ITEM_EXC      (0x0058EF24+1) // 1.00.93
#define GS_BC_ITEM_ANC      (0x0058EF22+1) // 1.00.93

#define GS_IT_DROP_ID       (0x005ED2D3+1) // 1.00.93
#define GS_IT_GROUP_ID      (0x005ED2D5+1) // 1.00.93
#define GS_IT_ITEM_LVL      (0x005ED2F2+1) // 1.00.93
#define GS_IT_ITEM_DUR      (0x005ED2F0+1) // 1.00.93
#define GS_IT_ITEM_SKL      (0x005ED2EE+1) // 1.00.93
#define GS_IT_ITEM_LCK      (0x005ED2EC+1) // 1.00.93
#define GS_IT_ITEM_LIF      (0x005ED2EA+1) // 1.00.93
#define GS_IT_ITEM_EXC      (0x005ED2E4+1) // 1.00.93
#define GS_IT_ITEM_ANC      (0x005ED2E2+1) // 1.00.93

#define FDReward1ID			(0x0041F1F3+1) // PUSH 0D 13 // 1.00.93
#define FDReward1Type		(0x0041F1F5+1) // PUSH 0E 14 // 1.00.93
#define FDReward2ID			(0x0041F261+1) // PUSH 0E 14 // 1.00.93
#define FDReward2Type		(0x0041F263+1) // PUSH 0E 14 // 1.00.93

#define GS_KUNDUN_ITEM_NUMB    (0x0041EA3C+6)  // Default 3 // 1.00.93 Revisar
#define GS_KUNDUN_ANC_PERCT    (0x0041EC07+2)  // Default 25% // 1.00.93 Revisar

#define GS_EXC_DROP_RATE	(0x0041FC03+1) // 1.00.93
#define GS_EXC_SKILL_RATE	(0x0042000C+6) // 1.00.93
#define GS_EXC_LUCK_RATE	(0x00420016+6) // 1.00.93
#define GS_SKILL_RATE		(0x00420065+6) // 1.00.93
#define GS_LUCK_RATE		(0x0042006F+6) // 1.00.93

#define	GS_ANCREWARD_SKILL_RATE		(0x0054550F) // 6 // 1.00.93
#define GS_ANCREWARD_LUCK_RATE		(0x00545516) // 4 // 1.00.93
#define GS_ANCRANDOM_SKILL_RATE		(0x0054574F) // 6 // 1.00.93
#define	GS_ANCRANDOM_LUCK_RATE		(0x00545756) // 4 // 1.00.93
#define ShadowPhantomMaxLevel	(0x005ACDD4)  // 1.00.93
#define GS_SOUL_LUCKED		(0x0053D22C+2) // 1.00.93
#define GS_NRSOUL_NOLUCK	(0x0053D2D3+3) // 1.00.93
#define GS_EXSOUL_NOLUCK	(0x0053D292+3) // 1.00.93
#define GS_SKSOUL_NOLUCK	(0x0053D2C7+3) // 1.00.93
#define GS_LIFE_RATE        (0x0053DAE7+3) // 1.00.93

#define PLUSMIXLUCKADD		(0x005F2398+2) // 1.00.93

#define PLUSMIXNORMALITEM10	(0x005F21FF+6) // 1.00.93
#define PLUSMIX380ITEM10	(0x005F221B+6) // 1.00.93
#define PLUSMIXWINGITEM10	(0x005F2238+6) // 1.00.93

#define PLUSMIXNORMALITEM12	(0x005F228F+6) // 1.00.93
#define PLUSMIX380ITEM12	(0x005F22AC+6) // 1.00.93
#define PLUSMIXWINGITEM12	(0x005F22C9+6) // 1.00.93

#define PLUSMIXNORMALITEM13	(0x005F2321+6) // 1.00.93
#define PLUSMIX380ITEM13	(0x005F233E+6) // 1.00.93
#define PLUSMIXWINGITEM13	(0x005F235A+6) // 1.00.93

#define DEFAULTMIXRATE		(0x005F2369+6) // 1.00.93
#define MAXRATE1			(0x005F23A7+6) // 1.00.93
#define MAXRATE2			(0x005F23B3+6) // 1.00.93

#define GS_WINGLVL1MIX		(0x005F3EAA+6) // 1.00.93
#define GS_WINGLVL2MIX		(0x005F3EB6+6) // 1.00.93
#define GS_WINGLVL3MIX11	(0x005F9370+6) // 1.00.93
#define GS_WINGLVL3MIX12	(0x005F937C+6) // 1.00.93
#define GS_WINGLVL3MIX21	(0x005F9A76+6) // 1.00.93
#define GS_WINGLVL3MIX22	(0x005F9A82+6) // 1.00.93
#define GS_SETITEMMIX1		(0x005FA83B+6) // 80% 380 lvl Mix 1.00.93
#define GS_SETITEMMIX2		(0x005FA847+6) // 80% 380 lvl Mix 1.00.93

#define GS_CC_MIN_PL        (0x0059B460+3) // 1.00.93
#define GS_IT_MIN_PL        (0x005E50F5+6) // 1.00.93

#define GS_DARK_HORSE			(0x005F4A5C+6) // Default 60% // 1.00.93
#define GS_DARK_HORSE_PRICE		(0x005F4A7B+3) // Default 5,000,000 // 1.00.93
#define GS_DARK_SPIRIT			(0x005F515D+6) // Default 60% // 1.00.93
#define GS_DARK_SPIRIT_PRICE	(0x005F517C+3) // Default 1,000,000 // 1.00.93

#define GS_TWISTINGSLASH_USELV      (0x004AC77B+7) // 1.00.93
#define GS_RAGEFULBLOW_USELV        (0x004AC794+7) // 1.00.93
#define GS_DEATHSTAB_USELV          (0x004AC7AD+7) // 1.00.93
#define GS_IMPALE_USELV             (0x004AC7C6+7) // 1.00.93
#define GS_INNERSTRENGTH_USELV      (0x004AC7DF+7) // 1.00.93
#define GS_PENETRATION_USELV        (0x004AC7F8+7) // 1.00.93

#define GS_MSNORMAL01				(0x004DF9DD+1) // 1.00.93
#define GS_MSNORMAL02				(0x004DF9FD+1) // 1.00.93
#define GS_MSNORMALTIME				(0x004DFA22+1) // 1.00.93
#define GS_MSMASTER01				(0x004FF6BA+1) // 1.00.93
#define GS_MSMASTER02				(0x004FF6DA+1) // 1.00.93
#define GS_MSMASTERTIME				(0x004FF735+1) // 1.00.93

#define GS_GFNORMAL01				(0x004DF707+1) // 1.00.93
#define GS_GFNORMAL02				(0x004DF727+1) // 1.00.93
#define GS_GFNORMALTIME				(0x004DF751+1) // 1.00.93
#define GS_GFMASTER01				(0x00500025+1) // 1.00.93
#define GS_GFMASTER02				(0x00500045+1) // 1.00.93
#define GS_GFMASTERTIME				(0x00500072+1) // 1.00.93

#define GS_BERSERKER_DIV1			(0x004EA657) // 1.00.93
#define GS_BERSERKER_DIV2			(0x004EA66F) // 1.00.93
#define GS_BERSERKER_DIV3			(0x004EA684) // 1.00.93

#define GS_SUM_REFLECT_01			(0x004E8E53+1) // default 2A // 1.00.93
#define GS_SUM_REFLECT_02			(0x004E8E5A+2) // default 1E // 1.00.93

#define SLEEP_PVP_OFFSET1		(0x004D5893+1) // /250		// 1.00.93
#define SLEEP_PVP_OFFSET2		(0x004D58B3+1) // /100		// 1.00.93

#define GS_CRITICALDMG_COMMAND		(0x004E4584) // 1.00.93
#define GS_CRITICALDMG_ENERGY		(0x004E45A4) // 1.00.93
#define GS_CRITICALDMG_TIME			(0x004E45C7) // 1.00.93

Code:
#define j_gObjViewportListProtocolCreate ((void(*)(OBJECTSTRUCT* tObj))0x00535870) // 1.00.93
#define DataSend ((void(*)(DWORD PlayerID,PBYTE Packet,DWORD Size)) 0x004B7AB0) // 1.00.93
#define DataRecv ((void(*)(BYTE,PBYTE,DWORD,...))0x004383F0) // 1.00.93
#define GCServerMsgStringSend ((void(*)(char*Texto,DWORD PlayerID,int tipo))0x0040692E) // 1.00.93
#define NPCTalk ((void(*)(DWORD dwNpcID,char*Texto,DWORD PlayerID))0x005AA0A0) // 1.00.93 Revisar
#define ChatTargetSend ((DWORD(*)(DWORD *, char*, DWORD))0x0043B140) // 1.00.93
#define GCMoneySend ((void(*)(DWORD,int))0x00407919) // 1.00.93
#define CGLevelUpPointAdd ((int(*)(PBYTE Arg1,DWORD PlayerID))0x0043E010) // 1.00.93
#define ItemSerialCreateSend ((int(*)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD))0x004072E8) // 1.00.93
#define ChaosBoxInit ((void(*)(DWORD))0x0040506A) // 1.00.93
#define GCPkLevelSend ((void(*)(DWORD aIndex,BYTE PkLevel)) 0x00405411) // 1.00.93
#define gObjMoveGate ((void(*)(int aIndex, int Gate))0x00405EB6) // 1.00.93
#define gObjGetIndex ((int(*)(const char*))0x00401E42) // 1.00.93
#define DataSendAll ((void(*)(PBYTE lpMsg, int iMsgSize)) 0x004075A4) // 1.00.93
#define CloseClient ((void(*)(DWORD))0x00407BEE) // 1.00.93
#define GameMonsterAllCloseAndReload ((void(*)()) 0x004078CE) // 1.00.93
#define pShopDataLoad ((void(*)()) 0x00406E2E) // 1.00.93
#define GCLevelUpMsgSend ((void(*)(int, unsigned char)) 0x0043DDC0) // 1.00.93
#define j_gObjCalCharacter ((void(*)(int)) 0x004ED5E0) // 1.00.93
#define gObjInventoryDeleteItem ((void(*)(int,int)) 0x0051FF50) // 1.00.93
#define GCInventoryItemDeleteSend ((void(*)(int,int,unsigned char)) 0x00403B66) // 1.00.93
#define gObjGetItemCountInIventory ((int(*)(int,WORD))0x0040295A) // 1.00.93
#define gEventMonsterItemDrop ((void(*)(DWORD *, OBJECTSTRUCT *)) 0x00420F10) // 1.00.93
#define gObjMonsterDieGiveItem ((int(*) ( LPOBJ , LPOBJ )) 0x0040528B) // 1.00.93
#define CGInventoryItemMove ((void(*)(PBYTE pRecvBuff,DWORD PlayerID))0x004452D0) // 1.00.93
#define gObjAttackOriginal ((int(*)(OBJECTSTRUCT* lpObj, OBJECTSTRUCT* lpTargetObj,void*lpMagic, BOOL magicsend, BYTE MSBFlag, int AttackDamage, BOOL bCombo))0x0051C2E0) // 1.00.93
#define GCKillPlayerExpSend ((void(*)(int aIndex, int TargetIndex, int exp, int AttackDamage, BOOL MSBFlag)) 0x00458900) // 1.00.93
#define GCEquipmentSend	((void(*)(int)) 0x0043E7D0) // 1.00.93
#define GCItemListSend	((void(*)(int)) 0x0042F410) // 1.00.93
#define GCSendEffectInfo ((void(*)(int aIndex,BYTE btType)) 0x004042FA) // 1.00.93
#define gObjMakePreviewCharSet ((void(*)(int aIndex)) 0x00403BDE) // 1.00.93
#define GCSendQuestPrize ((void(*)(int aIndex,BYTE Type,BYTE Count)) 0x00403486) // 1.00.93
#define gObjCloseSet ((void(*)(DWORD aIndex, int))0x00504AC0) // 1.00.93
#define gObjNextExpCal ((void(*)(OBJECTSTRUCT* lpObj))0x00513F60) // 1.00.93
#define gItemDropPer 0x7C1B14 // 1.00.93
#define GCBuffStateInfoSend	((int(*) (int, int, int)) 0x00459BF0) // 1.00.93
#define gObjTeleport ((void(*)(int, int, int, int))0x0040338C) // 1.00.93
#define gObjSetBP ((void(*)(DWORD))0x00401EBF) // 1.00.93
#define GCReFillSend ((void(*)(int, WORD, BYTE, unsigned char, WORD))0x00404B4C) // 1.00.93
#define GCManaSend ((void(*)(DWORD, DWORD, DWORD, DWORD, DWORD))0x00402FA9) // 1.00.93
#define gObjAddBuffEffect ((void(*) (LPOBJ lpObj,int BuffId, int BuffType1,int BuffType2,int Increase1, int Increase2,int Duration))0x00405394) // 1.00.93
#define gObjSetMonsters	((void(*)(int,int))0x0050BBB0) // 004063B6 1.00.93
#define gObjAddMonsters	((int(*)(unsigned char))0x004045ED) // 1.00.93
#define gObjDel ((void (*)(int)) 0x00403B61) // 1.00.93
#define GCMagicAttackNumberSend ((void(*)(OBJECTSTRUCT*, unsigned char, int, unsigned char))0x00406D48) // 1.00.93

#define MIN_PLAYERID 8000
#define MAX_PLAYERID 9000
#define GET_USER_INDEX(aIndex) ( 9000 - aIndex )
#define OBJ_MAXMONSTER 7400

#define gObjOffset (*(CHAR**)0x7A77894) // 1.00.93
#define gObjSize 0x2250 // 1.00.93 Revisar
#define gObjMaxUsr 0x2350 // Revisar Totalmente

Fixes:
Code:
//=======================================//
// Drop Ring Of Warrior Lv.40			 //
//=======================================//
	BYTE ring40[5] = {0xE8, 0xD9, 0x23, 0xFC, 0xFF};
	memcpy((int*)0x00443AC4,ring40,sizeof(ring40));

//=======================================//
// Outros Fixes						     //
//=======================================//
	SetRRetn(0x00403233);		// Destroy Giocp = Função -> 004B5A70
	SetRRetn(0x00406C49);		// Serial 0x00000000 = Função -> 0061A630
	SetRRetn(0x00404683);		// HACK TOOL DC Fix = Função -> 004B5810

	SetByte(0x004384C7,0xEB);	// Socket Serial = Função -> 004384C7
	SetByte(0x0043A6EE,0x90);	// Hack reporting = Função -> 0043A6EE
	SetByte(0x0043A6EF,0x90);	// 1.00.93
	SetByte(0x0043A710,0xE9);	// 1.00.93
	SetByte(0x0043A711,0x74);	// 1.00.93
	SetByte(0x0043A712,0x01);	// 1.00.93
	SetByte(0x0043A713,0x00);	// 1.00.93
	SetByte(0x0043A715,0x90);	// 1.00.93

	SetNop(0x0045B092,27);		// Protocol Error -> 1.00.93
	SetByte(0x00463156,0xEB);	// DevilSquare Master -> 1.00.93
	SetNop(0x004B7B1E,6);		// error-L2 : Index(%d) %x %x %x -> 1.00.93
	SetByte(0x004B87DF,0x90);	// Invalid Socket -> 1.00.93
	SetByte(0x004B87E0,0x90);	// 1.00.93
	SetByte(0x004B8812,0xEB);	// 1.00.93 -> Talvez não precise
	
	SetNop(0x00574153,5);		// ggauth.dll Unload
	SetByte(0x00574168,0xEB);	// -> 1.00.93

	SetByte(0x00586B33,0x33);	// BC Master Enter FIX
	SetByte(0x00586B34,0xC0);	// 1.00.93
	SetByte(0x00586B35,0x90);	// 1.00.93
	SetByte(0x00586BED,0x33);	// 1.00.93
	SetByte(0x00586BEE,0xC0);	// 1.00.93
	SetByte(0x00586BED,0x90);	// 1.00.93
		
	SetByte(0x005AE56C,0xFF);	// AiElement Error -> 1.00.93
	SetByte(0x005E02B1,0xEB);	// Illusion Temple enter -> 1.00.93
	SetNop(0x00512AE3,5);       // Crash/DataServer - CalExperienceSaveTime -> 1.00.93
	SetNop(0x004FC69F,5);       // CalExperienceSaveTime -> 1.00.93

	SetByte(0x0060AB76,0x75);   // Reload Lost Connection 1.00.93
	SetByte(0x0060AB76+1,0x60); // Reload Lost Connection 1.00.93
	
	SetNop(0x004A58C0,7);		// Drop W/ luck Fix 1.00.93
	SetByte(0x004DB4C6,0x3F);   // Arena Não Pode PVP 1.00.93

//=======================================// 1.00.93
// Packet Por Segundo					 // 
//=======================================// 
	BYTE cFixPacketPerSecond[6] = {0xE9,0x42,0x01,0x00,0x00,0x90};
	memcpy((int*)0x004B583B,cFixPacketPerSecond,sizeof(cFixPacketPerSecond));

//=======================================// 1.00.93
// Ignorar MonsterSkill.txt Max Monstro	 //
//=======================================//
    SetByte(0x005B160C,0x58);
    SetByte(0x005B160D,0x02);

//=======================================// 1.00.93
// GM Transformação Ring			     //
//=======================================//
	BYTE JumpGMCode[] = {0xE9,0x3E,0x08,0x00,0x00,0x90,0x90,0x90}; 
    memcpy((int*)0x00535AB8,JumpGMCode,sizeof(JumpGMCode));
    BYTE PachtGMCode[] = {0x83,0xC2,0x2E,0x89,0x95,0x6C,0xEC,0xFF,0xFF,0xE9,0xB7,0xF7,0xFF,0xFF}; 
    memcpy((int*)0x005362FB,PachtGMCode,sizeof(PachtGMCode));

//=======================================// 1.00.93
// Personal Shop Delete Items		     //
//=======================================//
	SetByte(0x005099E1,0xE9);
	SetByte(0x005099E1+1,0xBB);
	SetByte(0x005099E1+2,0x02);
	SetByte(0x005099E1+3,0x00);
	SetByte(0x005099E1+4,0x00);
	SetByte(0x005099E1+5,0x90);

//=======================================// 1.00.93
// Salve Quest Marlon (Combo)		     //
//=======================================//
	SetByte(0x0050933D,0xEB); 
    SetByte(0x0050939E,0xEB);

//=======================================// 1.00.93
// Blue Feather						     //
//=======================================//
	SetByte(0x0041FEE7,0xEB);
	SetByte(0x0041FEF7,0xEB);

//=======================================// 1.00.93
// Dump File / Crash				     //
//=======================================//
	SetByte(0x004CB7E1,0xE9);
	SetByte(0x004CB7E2,0x2E);
	SetByte(0x004CB7E3,0x01);
	SetByte(0x004CB7E4,0x00);
	SetByte(0x004CB7E6,0x90);

//=======================================//
// 3ª Wings Fix / Crash				     //
//=======================================//
	*(BYTE*)(0x005F9376) = 0x64; // 1.00.93
	*(BYTE*)(0x005F9377) = 0xEB; // 1.00.93
	*(BYTE*)(0x005F9A7D) = 0xEB; // 1.00.93
	*(BYTE*)(0x005F9A7F) = 0x8B; // 1.00.93
	*(BYTE*)(0x005F9A80) = 0x4D; // 1.00.93
	*(BYTE*)(0x005F9A81) = 0x08; // 1.00.93
	*(BYTE*)(0x005F9A82) = 0xC7; // 1.00.93
	*(BYTE*)(0x005F9A83) = 0x81; // 1.00.93
	*(BYTE*)(0x005F9A84) = 0xD8; // 1.00.93
	*(BYTE*)(0x005F9A85) = 0x0E; // 1.00.93
	*(BYTE*)(0x005F9A86) = 0x00; // 1.00.93
	*(BYTE*)(0x005F9A87) = 0x00; // 1.00.93
	*(BYTE*)(0x005F9A88) = 0x28; // 1.00.93
	*(BYTE*)(0x005F9A89) = 0x00; // 1.00.93
	*(BYTE*)(0x005F9A8A) = 0x00; // 1.00.93
	*(BYTE*)(0x005F9A8B) = 0x00; // 1.00.93
	*(BYTE*)(0x005F9379) = 0x8B; // 1.00.93
	*(BYTE*)(0x005F937A) = 0x4D; // 1.00.93
	*(BYTE*)(0x005F937B) = 0x08; // 1.00.93
	*(BYTE*)(0x005F937C) = 0xC7; // 1.00.93
	*(BYTE*)(0x005F937D) = 0x81; // 1.00.93
	*(BYTE*)(0x005F937E) = 0xD8; // 1.00.93
	*(BYTE*)(0x005F937F) = 0x0E; // 1.00.93
	*(BYTE*)(0x005F9380) = 0x00; // 1.00.93
	*(BYTE*)(0x005F9381) = 0x00; // 1.00.93
	*(BYTE*)(0x005F9382) = 0x3C; // 1.00.93
	*(BYTE*)(0x005F9383) = 0x00; // 1.00.93
	*(BYTE*)(0x005F9384) = 0x00; // 1.00.93
	*(BYTE*)(0x005F9385) = 0x00; // 1.00.93

//=======================================//
// Liberar Skills CastleSiege		     //
//=======================================//
	if(SkillCS == 1)
	{
		SetByte(0x004E5849,0xEB); // 1.00.93
		SetByte(0x004E5859,0xEB); // 1.00.93
		SetByte(0x004E5749,0xEB); // 1.00.93
		SetByte(0x004E5759,0xEB); // 1.00.93
		SetByte(0x004E5966,0xEB); // 1.00.93
		SetByte(0x004E5976,0xEB); // 1.00.93
		SetByte(0x004E5A59,0xEB); // 1.00.93
		SetByte(0x004E5A69,0xEB); // 1.00.93
		SetByte(0x004E5B79,0xEB); // 1.00.93
		SetByte(0x004E5B89,0xEB); // 1.00.93
		SetByte(0x004E5C76,0xEB); // 1.00.93
		SetByte(0x004E5C86,0xEB); // 1.00.93
	}

//=======================================// 1.00.93
// Skills SM 233 Enhance				 //
//=======================================//
	BYTE Enhance[6] = {0xD8, 0x0D, 0xB3, 0xF3, 0x54, 0x00};
	memcpy((int*)0x004EBD8E,Enhance,sizeof(Enhance));

//=======================================//
// Battle Soccer					     //
//=======================================//
	*(BYTE*)(0x00567519) = 0x45; // Revisar
	*(BYTE*)(0x0056751A) = 0x10;
	*(BYTE*)(0x005675D2) = 0x8C;
	*(BYTE*)(0x005675D3) = 0x0F;

//=======================================// 1.00.93
// GM Windows 7 e Windows Vista		     // Creio que não precisa do Fix
//=======================================//
	BYTE GMVista[2] = {0xEB, 0x42};
    memcpy((int*)0x00509FDC,GMVista,sizeof(GMVista));

Algums Hooks:
Code:
HookThis((DWORD)&gObjCalCharacter,0x0040319D); // 1.00.93
HookThis((DWORD)&GCEquipmentSendNew, 0x00407838); // 1.00.93
HookThis((DWORD)&GTSocketSystem,0x00402E6E); // 1.00.93
HookThis((DWORD)&gObjAttackNew,0x00403D3C); // 1.00.93

void HooksInAsm()
{
	SetProtocol();

	_asm
	{
		pushad
		mov eax, 0x00403922+1
		mov ecx, offset ProtocolCore
		sub ecx, 0x00403922+5
		mov [eax], ecx

		mov eax, 0x004057A9+1
		mov ecx, offset ProtocolCoreSend
		sub ecx, 0x004057A9+5
		mov [eax], ecx
				
		mov eax, 0x00447180 // 00447180 Revisar
		mov ecx, offset NpcRecvTalk
		sub ecx, 0x00447180+4
		mov [eax], ecx

		mov eax, 0x004471B1 // 004471B1 Revisar
		mov ecx, offset NpcRecvTalk
		sub ecx, 0x004471B1+4
		mov [eax], ecx

		mov eax,0x00402A9A+1
		mov ecx,offset MyGEventMonsterItemDrop
		sub ecx,0x00402A9A+5
		mov [eax],ecx
				
		mov eax,0x00405DE9+1
		mov ecx,offset MyCGInventoryItemMove
		sub ecx,0x00405DE9+5
		mov [eax],ecx

		mov eax,0x004076F3+1
		mov ecx,offset MyCGLevelUpPointAdd
		sub ecx,0x004076F3+5
		mov [eax],ecx

		mov eax,0x004035CB+1
		mov ecx,offset gObjViewportListProtocolCreate
		sub ecx,0x004035CB+5
		mov [eax],ecx
		popad
	}
}

Shops Exc:
Code:
__declspec(naked) void ExcShop()
{
	Exc=0;

	_asm
	{
		MOV EDI,CWzMemScript::GetNumber
		CALL EDI
		MOV DWORD PTR SS:[EBP-0xBC],EAX
		LEA ECX,DWORD PTR SS:[EBP-0x9C]
		MOV EDI,CWzMemScript::GetToken
		CALL EDI
		MOV DWORD PTR SS:[EBP-0xA0],EAX
		LEA ECX,DWORD PTR SS:[EBP-0x9C]
		MOV EDI,CWzMemScript::GetNumber
		CALL EDI
		MOV Exc,EAX
		MOV EDI,ShopExcellentMod_Exit1 
		JMP EDI
	}
}

__declspec(naked) void ExcShopAdd()
{
	_asm
	{
		PUSH Exc
		MOV AL,BYTE PTR SS:[EBP+0x20]
		MOV EDI,ShopExcellentMod_Exit2
		JMP EDI
	}
}

void AssemblyExcShops()
{
	*(DWORD*)((ShopExcellentMod_Hook1+ 1)) = (DWORD)&ExcShop - (ShopExcellentMod_Hook1+ 5); 
	*(BYTE*)(ShopExcellentMod_Hook1) = 0xE9;
		
	*(DWORD*)((ShopExcellentMod_Hook2+ 1)) = (DWORD)&ExcShopAdd - (ShopExcellentMod_Hook2+ 5); 
	*(BYTE*)(ShopExcellentMod_Hook2) = 0xE9;
}

Header:

#define ShopExcellentMod_Hook1 0x00562964	// 1.00.93
#define ShopExcellentMod_Exit1 0x0056296F		// 1.00.93
#define ShopExcellentMod_Hook2 0x00561E95	// 1.00.93
#define ShopExcellentMod_Exit2 0x00561E9A		// 1.00.93

void AssemblyExcShops();

Credits:
João Neto - GuardianTeam;

Sincerely,
João Neto.
 
Initiate Mage
Joined
Oct 8, 2012
Messages
65
Reaction score
5
i cant run GS1.00.92. how to fix ?

 
Initiate Mage
Joined
Jan 30, 2012
Messages
16
Reaction score
15
@CallOfDuty,

All were found in GameServer 1.00.93 probably not work in previous.
Test for precaution.

Sincerely,
João Neto.
 
Elite Diviner
Joined
Jan 20, 2009
Messages
420
Reaction score
77
Thanks you this is actually a great release a lot time is spend here to research :)! 10/10
 
Initiate Mage
Joined
Aug 15, 2008
Messages
61
Reaction score
6
Tests Done in jpn client and is running the duel and moves 100%

JoaoNetoADM - Offsets GameServer 1.00.93 - RaGEZONE Forums

JoaoNetoADM - Offsets GameServer 1.00.93 - RaGEZONE Forums


PANDA RING AND PET 100%
PC POINT ACCEPTING NEW ITEMS 100%
JoaoNetoADM - Offsets GameServer 1.00.93 - RaGEZONE Forums

what client you use?
please share client link
 
Initiate Mage
Joined
Jul 30, 2008
Messages
44
Reaction score
14
what is the difference between 1.00.87 and 1.00.93 GS?
:?:
 
Initiate Mage
Joined
Jan 30, 2012
Messages
16
Reaction score
15
@All,

Client 1.03K Original JPN:

DepositFiles


4Shared


WzAg GameServer and GameServerCS - Compiled:



Sincerely,
João Neto.
 
Last edited:
Initiate Mage
Joined
Oct 8, 2012
Messages
65
Reaction score
5
error run gameserver T_T. plz help me.

 
Back
Top