Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro


HGIDC
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 a 10 de 13
  1. #1

    Avatar de heyned
    Data de Ingresso
    Jun 2012
    Localização
    Pernambuco
    Idade
    26
    Posts
    10
    Agradecido
    2
    Agradeceu
    2
    Peso da Avaliação
    0

    Padrão Offsets/Fixes GameServer 1.00.93.

    aki tem algums offsets do gs .93 que eu peguei fazendo comparaçao com o gs .90 nao se se estao todos certos... assim que tiver tempo para procurar mais offsets eu posto aki.
    se alguem quiser dar uma força é muito bem vindo =D

    Código:
    #define GS_UDP_PORT		(0X00570BEF+1)
    
    SetByte(0x0043AC1A, 0x74);// CheckSum On
    SetByte(0x00570BEF, 0xEB);// CheckSum Off
    
    Utilits.SetNop(0x0043B9D6, 5);// Personal ID Fix
    
    
    SetNop(0x00452F29, 2);// Guild ID Fix
    SetNop(0x00452DB6, 6);// Guild ID Fix
    
    Utilits.SetNop(0x00574153,5);		// ggauth.dll Unload 
    Utilits.SetByte(0x00574168,0xEB);	//
    
    //GM can kill, Enter (w7 fix) 
    BYTE FixGMEnter[2] = { 0xEB, 0x42 }; 
    memcpy((int*)0x00509FDC,FixGMEnter,sizeof(FixGMEnter)); 
    
    // Fix Crash Dump File
    if(Configs.DumpFile == 0)
    {
    	Utilits.SetByte(0x004CB7E1,0xE9);
    	Utilits.SetByte(0x004CB7E2,0x2E);
    	Utilits.SetByte(0x004CB7E3,0x01);
    	Utilits.SetByte(0x004CB7E4,0x00);
    	Utilits.SetByte(0x004CB7E6,0x90);
    }
    
    #define GS_GREENBARTEXTCOLOR        (0x004cb607+1)
    #define GS_GREENBAR                 (0x004cb037+1)
    
    
    #define AttackDamageMin_Bow_StrDexDiv_Elf1 (0x004EDCFC+1)//Default 7
    #define AttackDamageMin_Bow_StrDexDiv_Elf2 (0x004EDD2B+1)
    #define AttackDamageMax_Bow_StrDexDiv_Elf1 (0x004EDD13+2)
    #define AttackDamageMax_Bow_StrDexDiv_Elf2 (0x004EDD42+2)
    
    #define GS_BLESS_PRICE			(0x0055842E+3)
    Última edição por João Neto; 10-02-2013 às 03:11 PM.

  2. #2



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    24
    Posts
    1.090
    Agradecido
    46
    Agradeceu
    26
    Peso da Avaliação
    19

    Padrão

    @heyned,

    Tenho quase todas para uso do GameServer comum já...

    Código:
    #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
    Código:
    #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:
    Código:
    //=======================================//
    // 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:
    Código:
    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:
    Código:
    __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();
    Observações: GameServer Não Precisa de Fix Para Panda Pet, Gambling System Original Funcionando, NewPVP (Seria o Novo Duelo) mais não consegui fazer funcionar ainda, da erro de "data move request" tô ficando doido já T_T...

    Foi 3 Dias Grudados no GameServer Então Espero Que Mantenham os Creditos:

    Creditos:
    - João Neto * GTeam

    Atenciosamente,
    João Neto.
    Última edição por João Neto; 10-02-2013 às 03:09 PM.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

  3. #3

    Avatar de Sunligth
    Data de Ingresso
    Jun 2012
    Localização
    Sao Paulo
    Posts
    155
    Agradecido
    105
    Agradeceu
    73
    Peso da Avaliação
    7

    Padrão

    vocês ja tem o gameserver unpacker?

  4. #4

    Avatar de heyned
    Data de Ingresso
    Jun 2012
    Localização
    Pernambuco
    Idade
    26
    Posts
    10
    Agradecido
    2
    Agradeceu
    2
    Peso da Avaliação
    0

    Padrão

    @Sunligth
    tem aki
    [Somente usuários registrados podem vem os links. ]

    e mais ums offsets
    Código:
    //Options +28
    BYTE Opt28[2] = { 0x90,0x90};
    memcpy((int*)0x0042FF84,Opt28,sizeof(Opt28));
    
    BYTE Opt282[2] = { 0x90,0x90};
    memcpy((int*)0x0055D654,Opt282,sizeof(Opt282));
    
    BYTE Opt281[2] = { 0x90,0x90};
    memcpy((int*)0x0042FF84,Opt281,sizeof(Opt281));
    
    BYTE Opt283[1] = { 0x07};
    memcpy((int*)0x0053DAE0,Opt283,sizeof(Opt283));
    
    BYTE Opt284[1] = { 0x07};
    memcpy((int*)0x00506BD9,Opt284,sizeof(Opt284));
                    
    SetByte(0x0059AF83,0x33);    // BC Master Enter FIX
    SetByte(0x0059AF84,0xC0);    //
    SetByte(0x0059AF85,0x90);    //
    SetByte(0x0059B03D,0x33);    //
    SetByte(0x0059B03E,0xC0);    //
    SetByte(0x0059B03F,0x90);    //
    
    SetByte(0x00567095,0xE9); // GM Move M key
    SetByte(0x00567096,0xF5); // GM Move M key
    SetByte(0x00567097,0x00); // GM Move M key
    SetByte(0x005670B8,0x90); // GM Move M key
    SetByte(0x005670B9,0x8B); // GM Move M key
    
    //Fix Summoner Berserker 65k+ Damage
    BYTE FixBerserker[] = { 0x68, 0xBC, 0x02, 0x00, 0x00 };
    memcpy((int*)0x004EA695,FixBerserker,sizeof(FixBerserker))

  5. #5

    Avatar de Sunligth
    Data de Ingresso
    Jun 2012
    Localização
    Sao Paulo
    Posts
    155
    Agradecido
    105
    Agradeceu
    73
    Peso da Avaliação
    7

    Padrão

    estou testando aqui no cliente koreano, estou com problemas nos moves e o duelo tbm nao funciona
    Última edição por Sunligth; 11-02-2013 às 03:46 PM.

  6. #6



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    24
    Posts
    1.090
    Agradecido
    46
    Agradeceu
    26
    Peso da Avaliação
    19

    Padrão

    @Sunligth,

    Aqui funcionou normalmente, só que eu refiz os Movereq.txt...
    Duelo eu também não descobri o porquê desse erro:

    18:09:31 lpData ENEWPVP::E_NOT_FOUND_MOVEREQUESTDATA NULL E:\ServerTeam\ForeignSeason4.5.1\gameserver\NewPVP .cpp 448

    Já olhei na decompilação mais não entendi muito bem para que é essa condição de move, sendo que não consegui achar ligação ao mapa de Vulcanus, à condição do move é referente ao MapIndex (42)... Se isso significar o Mapa que vai mover, ele ta querendo mover para Refuge, ele faz à busca dos ID e depois faz uma verificação e se for falso retorna "NULL" e ai gera aquele erro no log do GameServer postado acima se tiver retornando "NULL", mais vou aprofundar melhor para entender.
    Se conseguir alguma informação à acrescentar estarei postando neste mesmo tópico referente ao problema.

    Atenciosamente,
    João Neto.
    Última edição por João Neto; 11-02-2013 às 03:47 PM.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

  7. #7

    Avatar de Sunligth
    Data de Ingresso
    Jun 2012
    Localização
    Sao Paulo
    Posts
    155
    Agradecido
    105
    Agradeceu
    73
    Peso da Avaliação
    7

    Padrão

    testes Refeito no cliente jpn e está funcionado o duelo e move 100%



  8. #8



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    24
    Posts
    1.090
    Agradecido
    46
    Agradeceu
    26
    Peso da Avaliação
    19

    Padrão

    @Sunligth,

    Provavelmente o meu não funcionou por isso então, eu mechi no Movereq original...
    O seu está original?

    Atenciosamente,
    João Neto.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

  9. #9

    Avatar de Sunligth
    Data de Ingresso
    Jun 2012
    Localização
    Sao Paulo
    Posts
    155
    Agradecido
    105
    Agradeceu
    73
    Peso da Avaliação
    7

    Padrão

    não alterei nada, só fiz o teste no cliente 1.03k jpn

    PANDA RING E PET 100%
    PCPOINT ACEITANDO NOVOS ITEMS 100%



    único problema que achei, não sei se é configuração errada mais os moves de maps do gameserver-cs está enviando uma mensagem de erro para o char e nao move, mas se eu for andando por lorencia e ir até crywolf funciona normal =s
    Última edição por Sunligth; 12-02-2013 às 05:29 AM.

  10. #10



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    24
    Posts
    1.090
    Agradecido
    46
    Agradeceu
    26
    Peso da Avaliação
    19

    Padrão

    @Sunligth,

    Aqui funcionou move no GameServerCS...
    Deve ser alguma coisa relacionada ao Gate ou Movereq.

    Atenciosamente,
    João Neto.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

 

 
Página 1 de 2 12 ÚltimoÚltimo

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Source| Fixes GameServe-CSr 1.00.90
    Por slipkorn13 no fórum Sources
    Respostas: 0
    Último Post: 29-06-2010, 09:57 PM
  2. |Source| Fixes GameServer 1.00.90
    Por slipkorn13 no fórum Sources
    Respostas: 0
    Último Post: 29-06-2010, 09:55 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •