avatar_4yew?

Как проверить серверный файл main CheckSum? Помощь и обновление в MU Online

Автор 4yew?, 2010 Июль 03, 01:10

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

NZK

#20
оффсеты для 1.00.16  & 1.00.18


Спойлер
//GameServer.exe Section
//================================================================================
==
#define IMAGE_BASE_EXE 0x00400000
#define SIZE_OF_IMAGE_EXE 0x0F543000
#define BASE_OF_CODE_EXE 0x00001000
#define BASE_OF_DATA_EXE 0x00001000
#define SECTION_ALIGNMENT_EXE 0x00001000
#define FILE_ALIGNMENT_EXE 0x00001000

//EXE HEADER SYSTEM [SECTIONS]
#define HEADER_text_VOffset 0x1000
#define HEADER_text_VSize 0x002B1D40
#define HEADER_text_ROffset 0x00001000
#define HEADER_text_RSize 0x002B2000

#define HEADER_rdata_VOffset 0x002B3000
#define HEADER_rdata_VSize 0x00025003
#define HEADER_rdata_ROffset 0x002B3000
#define HEADER_rdata_RSize 0x00026000

#define HEADER_data_VOffset 0x002D9000
#define HEADER_data_VSize 0x0C1F1C7D
#define HEADER_data_ROffset 0x002D9000
#define HEADER_data_RSize 0x00010000

#define HEADER_idata_VOffset 0x0C4CB000
#define HEADER_idata_VSize 0x0000338C
#define HEADER_idata_ROffset 0x002E9000
#define HEADER_idata_RSize 0x00004000

#define HEADER_rsrc_VOffset 0x0C4CF000
#define HEADER_rsrc_VSize 0x00003FC3
#define HEADER_rsrc_ROffset 0x002ED000
#define HEADER_rsrc_RSize 0x00004000

#define HEADER_reloc_VOffset 0x0C4D3000
#define HEADER_reloc_VSize 0x0006F5ED
#define HEADER_reloc_ROffset 0x002F1000
#define HEADER_reloc_RSize 0x00070000

#define GSPort 0x634ADB0


#define gDirPath 0x0634B748
#define CConMember__Load_Offset 0x00403ECC

#define GCPkLevelSend ((void(*) ( int , unsigned char )) 0x405056 )
#define CloseClient ((void(*) ( DWORD )) 0x401046 )
#define gObjMakePreviewCharSet ((void(*) ( DWORD ) ) 0x40378D )

#define CObjUseSkill__SkillMonsterCall ((int(*) ( DWORD , int , int , int) ) 0x40465B ) //MAYBE DWORD * // j_CObjUseSkill__SkillMonsterCall(PlayerID, MobNumber, X -1 , Y - 1 );
#define GCReFillSend ((int(*) ( DWORD , int , int , int, int) ) 0x404994 )

#define gObjMagicAdd ((int(*) ( DWORD * , DWORD , int) ) 0x4FDAC0 )
#define gObjMagicDel ((int(*) ( DWORD * , DWORD) ) 0x4FDA10 )
#define GCMagicListOneSend ((int(*) ( DWORD , DWORD , DWORD , DWORD , DWORD , DWORD ) ) 0x402617 )
#define GCMagicListOneDelSend ((int(*) ( DWORD , DWORD , DWORD , DWORD , DWORD , DWORD ) ) 0x406019 )
#define GCMagicListMultiSend ((int(*) ( DWORD *, DWORD ) ) 0x40406B )

#define gObjSendUserStatistic ((void(*) ( DWORD ) ) 0x403D41 )
#define gObjMonsterRegen ((void(*) ( DWORD ) ) 0x405DDF )
#define gObjLevelUp ((void(*) ( DWORD , int ))0x4348E0)

#define j_gObjCalCharacter ((int(*) (int)) 0x004C2650 )
#define gObjCalCharacter_CALL 0x00402B08

#define MonsterCount 0x9FE4BC4
#define MonsterReads 0x9FD3BE6
#define MonsterLoad_Continue 0x005223F2
#define MonsterLoad_Exit 0x00522419
#define MonsterReadAll_Hook 0x005223EC
#define gObjSetMonsters ((void(*) (int, int)) 0x405CA9 )
#define gObjSetPosMonster ((void(*) (int, int)) 0x4D6AA0 )
#define gObjDel ((void(*) (int)) 0x4036E8 )
#define gObjAddMonsters ((int(*) (unsigned char)) 0x404589 )

#define InvItemCreate ((int(*) ( DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD ) ) 0x4036F7 )
#define ChaosBoxInit ((void(*) ( DWORD ))0x4044E4)
#define ChaosBoxSend ((void(*) ( DWORD , DWORD ))0x4050AB)

#define gObjMuMailSend ((void(*) ( FRIEND_MEMO *, int ) ) 0x460170 )
#define FriendListRequest ((void(*) ( int ) ) 0x404FCA )

#define GCStateInfoSend ((int(*) (int, int, int)) 0x44B2D0 )
#define GetTicketCount ((DWORD(*) ()) 0x5AB668 )

#define ChangeLogToWindow_Offset 0x004A3E23
#define ChangeColorLogToWindow_Offset 0x004A3F14
#define HideOriginalWindow_Offset 0x0052D74A
#define ReadCommonServerInfo ((int(*) ()) 0x4058CB )
#define gObjAllDisconnect ((void(*) ()) 0x4048F4)
#define gObjAllLogOut ((void(*) ()) 0x405227)
#define CDragonEvent__GetState ((int(*) ()) 0x405E89)
#define CDragonEvent__End ((void(*) ()) 0x4016D6)
#define CDragonEvent__Start ((void(*) ()) 0x4030F8)
#define STAROFXMASENABLED_OFFSET 0xB46E168
#define FIRECRACKERENABLED_OFFSET 0xB46E16C

#define MapServerManagerBase 0x0B8B0CF8
#define j_GS_GDReqMapSvrMsgMultiCast ((int(*) (int, char *)) 0x0042CA30 )
#define ChatTargetSend ((DWORD(*) (LPBYTE, char*, DWORD)) 0x432130 )
#define GameMonsterAllCloseAndReLoad ((void(*) ()) 0x404052 )

#define ShopDataLoad ((void(*) ()) 0x402FEA )
#define ReadEventInfo ((int(*) ( int )) 0x4043EA )
#define ReadGameEtcInfo ((int(*) ( int )) 0x405DBC )
#define gObjMoveGate ((DWORD(*) (DWORD,UINT)) AGInit_Gate_Move_JMP)

#define gObjTeleport ((void(*) (DWORD, int, int, int))0x004FCAE0)
#define GCKillPlayerExpSend ((int(*) (DWORD, int, int, int,int))0x40322E)

#define gObjMonsterDieGiveItem ((int(*) ( LPGOBJSTRUCT , LPGOBJSTRUCT )) 0x4010C3 )

#define GsCGSellRequestRecvFunc ((int(*) (PBYTE pProtocol,DWORD PlayerID)) GsCGSellRequestRecv_Addr)

#define gObjInventoryDeleteItem ((void(*) ( DWORD , DWORD )) 0x40209F )
#define gObjInventoryDeleteSend ((void(*) ( DWORD , BYTE , BYTE )) 0x4036F2 )
#define GCDamageSend ((int(*) ( int , int , int, int, int, int )) 0x40383C )

#define MuMailListRequest ((void(*) ( int ) ) 0x404FCA )

//Item KOR Attribute Structure
#define CItem__Struct_Base 0x9DD31F8
//Item KOR Summoner Column Load
#define GetToken 0x0040276B
#define GetNumber 0x00403AB2
#define ClassUseItemJMP 0x005127B0
#define ClassUseItemAllow 0x00512813
#define ClassUseItemExit 0x0051280F
#define LoadItemScriptJMP 0x005183B7
#define LoadItemScriptLoopCnt 0x00518418
#define LoadItemScriptFix 0x0051841C
#define LoadItemScriptExit 0x005183DC
#define CItem__ConvertFix 0x0050E7FB
//Item Save and Get functions
#define j_GDUserItemSave ((int(*) (LPGOBJSTRUCT)) 0x004031B1 )
#define j_IsItem ((int(*) (signed int)) 0x00518DB0 )
#define j_CItem__Clear ((int(*) ( LPGOBJITEMSTRUCT )) 0x0050E160 )
#define j_ftol ((__int64(*) ()) 0x0059897C )
#define j_ftol_addr 0x0059897C
//Season4 Item Slot System [Inventory]
#define j_DbItemSetInByte ((int(*) (LPGOBJSTRUCT pOBJ, int a2, signed int ItemSQLLength, int a4)) 0x004D2A50)
#define S4SLOT_SYSTEM_READ_HOOK 0x0040286F
//Season4 Item Save System
#define j_ItemByteConvert16 ((void(*) (int, int, int)) 0x00515AC0)
#define S4SLOT_SYSTEM_SAVE_HOOK 0x0040133E
//Season4 Item Slot System [Warehouse Load]
#define j_DGGetWarehouseList_HOOK 0x004050F1
#define j_DGGetWarehouseList ((DWORD(*)(DWORD))0x00429020)
//Season4 Item Slot System [Map Drop Options Save]
#define CItem__SetPetItemInfo_Jmp 0x00512FDF
#define CItem__SetPetItemInfo_End 0x005130A3
#define CItem__SetPetItemInfo_DarkSpirit 0x00512FE5
//Map Drop allowance & structure clear on dissapear
#define j_MapClass__StateSetDestroy ((DWORD(*)(int))0x00490D30)
#define Map_Item_Struct_Base (0x9FF4BD0+itm_MapObj_Offset) //=> Original Base + 0x24 [item array offset]
#define ItemSerialCreateRecv_Hook 0x0042ABCE
#define ItemSerialCreateRecv_MapCheck 0x0042ABD4
#define ItemSerialCreateRecv_Exit 0x0042ACBA
//Season4 Item Pet Durability Fix
#define j_gObjSpriteDamage_HOOK 0x00405E66
#define j_gObjSpriteDamage ((void(*) (LPGOBJSTRUCT lpObj, int damage)) 0x004DFFE0 )
#define j_GCItemDurSend ((void(*) (int aIndex, BYTE pos, BYTE dur, unsigned char flag)) 0x00450C70)

//Chaos Box Functions
#define j_ChaosBoxInit ((int(*) (LPGOBJSTRUCT pOBJ)) 0x00493D70)
#define PlusItemLevelChaosMix_HOOK 0x00405E93
#define j_PlusItemLevelChaosMix ((int(*) (LPGOBJSTRUCT pOBJ, signed int a2)) 0x00496070)

//Misc
#define MIN_PLAYERID 6400
#define MAX_PLAYERID 7400
#define MIN_MONSTERID 0
#define MAX_MONSTERID 5800

#define gObjBaseAddr 0x660F078
#define gObjSize 0x1968

#define ItemAttribute 0x9DD31F8

#define g_BloodCastle 0x0B8AB0C8
#define gObjUseSkill 0x0636DEA8

#define TOTAL_MONSTERS_OFFSET 0x660F06C

#define GsRecvAddr 0x0042FCB0
#define GsSendAddr 0x0048BEF0

#define gAddExperience 0x6E18C8
#define gItemDropPer 0x6E1890


#define AncientExcItem_Addr 0x0050E556
#define AncientJOHItem_Addr 0x005735DB

#define MygObjExpPartyHook2_Addr 0x004E331E
#define MygObjExpPartyHook2_Exit_Addr 0x004E3323
#define MygObjMonsterExpSingleHook2_Addr 0x004E2C29
#define MygObjMonsterExpSingleHook2_Exit_Addr 0x004E2C2E

//#define MygObjMonsterExpSingleHook_Addr 0x004E2C99
//#define MygObjMonsterExpSingleHook_Return_Addr 0x004E2C9F
//#define MygObjMonsterExpSingleHook_Exit_Addr 0x004E2D00
#define GsgEventMonsterItemDropFunc_Addr 0x0041C020
#define GSgObjMonsterDieGiveItemFunc_Addr 0x0041A090
#define GsItemGetNumberMakeFunc_Addr 0x00516170
#define GsgObjMonsterTopHitDmgUserFunc_Addr 0x004137F0
#define GsgObjSetCharacterProc_Addr 0x004D3990
#define GsgObjCharZeroSet_Addr 0x004D12A0
#define GsGCItemMoveResultSend_Addr 0x0043A300
#define GsCGInventoryItemMove_Addr 0x0043A3A0
#define GsCGSellRequestRecv_Addr 0x0043CE10
#define GsCGUseItemRecv_Addr 0x0044D020
#define GsCGPCharDel_Addr 0x00434380
#define GsCGLevelUpPointAdd_Addr 0x00434AE0
#define GCServerMsgStringSend_Addr 0x00432DB0
#define gObjInventoryItemSet_Addr 0x004E5440
#define CItem_Clear_Addr 0x0050E160
#define GCItemListSend_Addr 0x00428980
#define GsCItem_IsItem_Addr 0x0050E320
#define GCMoneySend_Addr 0x004355B0
#define CObjUseSkill_SpeedHackCheck_Addr 0x004B7BE0
#define NpcAngelKing_Addr 0x00553C30
#define GCLevelUpMsgSend_Addr 0x004348E0
#define BC_HOOK_CBloodCastle__CheckEnterLevel01 0x004040A8
#define BC_HOOK_CBloodCastle__CheckAngelKingExist01 0x4047BF
#define BC_HOOK_CGRequestEnterBloodCastle01 0x004535A3
#define BC_HOOK_Offset01 0x004535A3

//Kalima
#define CKalimaGate__GetKalimaGateLevel_Offset 0x00405651

//Character Class Reallocation
#define classdef_init_1 0x00502387
#define classdef_init_2 0x005023B5
#define classdef_init_3 0x00502601
#define classdef_init_4 0x0050262F
#define classdef_init_5 0x005027E3
#define classdef_init_6 0x00502811
#define classdef_init_7 0x005203D9
#define classdef_init_8 0x00520429
#define classdef_init_9 0x00521BC6

//Shops
#define ShopExcellentMod_Hook1 0x00519C84
#define ShopExcellentMod_Exit1 0x00519C8F
#define ShopExcellentMod_Hook2 0x005191FE
#define ShopExcellentMod_Exit2 0x00519203

#define ShopDataLoad_Mod_Hook 0x00402FEB

#define ShopDataLoadFunctCall 0x00401AE6
#define ShopDataLoadMOV 0x09F57370
#define ShopDataLoadFunctCallE2 0x0C8CC480
#define ShopDataLoadFunctCallE3 0x06359934

#define GS_18_ADDR_CGTalkRequestRecv_Mod1_Offset 0x0043B911
#define GS_18_ADDR_CGTalkRequestRecv_Mod1_Exit 0x0043C0A6
#define GS_18_ADDR_CGTalkRequestRecv_Mod1_GoTo 0x0043B925
#define GS_18_ADDR_CGTalkRequestRecv_Mod2_Offset 0x0043BB75
#define GS_18_ADDR_CGTalkRequestRecv_Mod2_Return 0x0043BB82
#define GS_18_ADDR_CGTalkRequestRecv_Mod2_Exit 0x0043BC9F
#define GS_18_ADDR_CGBuyRequestRecv 0x0043C712
#define GS_18_ADDR_CGSellRequestRecv 0x0043CF93

#define ADDR_ShopBase_01 0x0043BB8E
#define ADDR_ShopBase_02 0x0043C011
#define ADDR_ShopBase_03 0x0043C77A
#define ADDR_ShopBase_04 0x0043CA2F
#define ADDR_ShopBase_05 0x0043CA81
#define ADDR_ShopBase_06 0x0043CBEA
#define ADDR_ShopBase_07 0x0043C896
#define ADDR_ShopBase_08 0x0043C8BC
#define ADDR_ShopBase_09 0x0043C8E3
#define ADDR_ShopBase_10 0x0043C90E
#define ADDR_ShopBase_11 0x0043C98F
#define ADDR_ShopBase_12 0x0043C96B
#define ADDR_ShopBase_13 0x0043CBCA
#define ADDR_ShopBase_14 0x0043C938
#define ADDR_ShopBase_15 0x0043CBA6
#define ADDR_ShopBase_16 0x0043C7BF
#define ADDR_ShopBase_17 0x0043C7F3
#define ADDR_ShopBase_18 0x0043C823
#define ADDR_ShopBase_19 0x0043CABD
#define ADDR_ShopBase_20 0x0043CB87
#define ADDR_ShopBase_21 0x0043CB66
#define ADDR_ShopBase_22 0x0043CB45
#define ADDR_ShopBase_23 0x0043C04E
#define ADDR_ShopBase_24 0x0043BFE0
#define ADDR_ShopBase_25 0x0043C03B
#define ADDR_ShopBase_26 0x00518EBA
#define ADDR_ShopBase_27 0x00518F25
////////////////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////////////////////
// GS BYTE GTEXT[14]= "WZ_MU_GS_MUTEX" ; 0x57,0x5A,0x5F,0x4D,0x55,0x5F,0x47,0x53,0x5F,0x4D,0x55,0x54,0x45,0x58,0x00 ;
#define GS_18_ADDR_TEXT_ADDR 0x00000000
#define GS_18_ADDR_UDP_PORT_ADDR 0x00521130
//#define GS_18_ADDR_CheckSum 0x00000000 // je->jmp gsfix18
//#define GS_18_ADDR_ClientHack 0x00000000 // jle->jmp gsfix18

//Party Exp
#define Party2Exp 0x004E30BA
#define Party3Exp 0x004E30C9
#define Party4Exp 0x004E30D8
#define Party5Exp 0x004E30E7
#define SetParty3Exp 0x004E3084
#define SetParty4Exp 0x004E3093
#define SetParty5Exp 0x004E30A2

#define CheckSumOffset 0x00431C38

// IsLogAdd dword 0 no / 1 yes
#define GS_18_ADDR_LogOutType ( 0x006DC8AC+0 )
#define GS_18_ADDR_ItemsinTheFloor1 ( 0x00493A42+1 )
#define GS_18_ADDR_ItemsinTheFloor2 ( 0x00493BF3+1 )

#define GS_18_ADDR_BCRewardID ( 0x0053A1E8+1 )
#define GS_18_ADDR_BCRewardType ( 0x0053A1EA+1 )
#define GS_18_ADDR_BCRewardOpt1 ( 0x0053A1FF+1 )
#define GS_18_ADDR_BCRewardOpt2 ( 0x0053A201+1 )
#define GS_18_ADDR_BCRewardOpt3 ( 0x0053A203+1 )
#define GS_18_ADDR_BCRewardOpt4 ( 0x0053A205+1 )
#define GS_18_ADDR_BCRewardOpt5 ( 0x0053A207+1 )

#define GS_18_ADDR_RingEventRewardID ( 0x0046D1C7+1 )
#define GS_18_ADDR_RingEventRewardType ( 0x0046D1C9+1 )

#define GS_18_ADDR_FireDragonEventReward1ID ( 0x0041AB03+1 )
#define GS_18_ADDR_FireDragonEventReward1Type ( 0x0041AB05+1 )

#define GS_18_ADDR_FireDragonEventReward2ID ( 0x0041AB71+1 )
#define GS_18_ADDR_FireDragonEventReward2Type ( 0x0041AB73+1 )

#define GS_18_ADDR_BlessPrice ( 0x00510B13+3 ) //900W
#define GS_18_ADDR_SoulPrice ( 0x00510B34+3 ) //600W
#define GS_18_ADDR_ChaosPrice ( 0x00510B56+3 ) //81W
#define GS_18_ADDR_LifePrice ( 0x00510B78+3 ) //4500W
#define GS_18_ADDR_CreationPrice ( 0x00510B99+3 ) //3600W f
#define GS_18_ADDR_GuardianPrice ( 0x00510C77+3 ) //6000W

#define GS_18_ADDR_BlessWaterPrice ( 0x00510CAF+2 ) // ЧЈёЈТ©Л®јЫёс 90W
#define GS_18_ADDR_SoulWaterPrice ( 0x00510CD5+2 ) // Бй»кТ©Л®јЫёс 45W
#define GS_18_ADDR_BlessMixPrice ( 0x00510BC5+2 ) // (+0/+1/+2)ЧЈёЈЧйєПјЫёс=ЧЈёЈјЫёсX10
#define GS_18_ADDR_SoulMixPrice ( 0x00510BF3+2 ) // (+0/+1/+2)Бй»кЧйєПјЫёс=Бй»кјЫёсX10

//NORMAL,DEVIL / BLOOD /CHAOSCHASTLE
#define GS_18_ADDR_DLUpPoint1 ( 0x004DC58C+2 )
#define GS_18_ADDR_MgUpPoint1 ( 0x004DC5B4+2 )
#define GS_18_ADDR_GeneralUpPoint1 ( 0x004DC5CB+2 )
#define GS_18_ADDR_LUP_2ndChgUp1 ( 0x004DC5EF+2 )

#define GS_18_ADDR_DLUpPoint2 ( 0x00535AD0+2 )
#define GS_18_ADDR_MgUpPoint2 ( 0x00535AD0+2 )
#define GS_18_ADDR_GeneralUpPoint2 ( 0x00535AF3+2 )
#define GS_18_ADDR_LUP_2ndChgUp2 ( 0x00535B29+2 )

#define GS_18_ADDR_DLUpPoint3 ( 0x00543800+2 )
#define GS_18_ADDR_MgUpPoint3 ( 0x00543800+2 )
#define GS_18_ADDR_GeneralUpPoint3 ( 0x00543823+2 )
#define GS_18_ADDR_LUP_2ndChgUp3 ( 0x00543859+2 )

#define GS_18_ADDR_DLUpPoint4 ( 0x005701F0+2 )
#define GS_18_ADDR_MgUpPoint4 ( 0x005701F0+2 )
#define GS_18_ADDR_GeneralUpPoint4 ( 0x00570213+2 )
#define GS_18_ADDR_LUP_2ndChgUp4 ( 0x00570249+2 )

// @@+10+11+12+13
#define GS_18_ADDR_CBmix10 ( 0x00496626+6 ) //50 DW
#define GS_18_ADDR_CBmix11 ( 0x00496651+6 ) //45 DW
#define GS_18_ADDR_CBmix12 ( 0x0049667C+6 ) //45 DW
#define GS_18_ADDR_CBmix13 ( 0x004966A7+6 ) //45 DW
#define GS_18_ADDR_CBmixMaxRate1 ( 0x004966E5+6 ) //75 B
#define GS_18_ADDR_CBmixMaxRate2 ( 0x004966F1+6 ) //75 DW

#define GS_18_ADDR_SoulWithLuckSuccessRate ( 0x004FE97C+3 ) //BYTE ( 0x46 70
#define GS_18_ADDR_SoulNoLuckSuccessRate ( 0x004FEA5B+3 ) //BYTE ( 0x37 = 55 100-55=45
#define GS_18_ADDR_LifeSuccessRate ( 0x004FF1EA+3 ) //BYTE ( 0x32 100-50=50


//Fix //memset( addr ,0xEB,1) <255 fix for 18
#define GS_18_ADDR_IsFixPotionNumber1 ( 0x0042970F+0 ) //warehouse FIX16
#define GS_18_ADDR_IsFixPotionNumber2 ( 0x004D304C+0 ) //inventory FIX16

#define GS_18_ADDR_HpRecoverPercent0 ( 0x0044D5CF+3 ) //default ( 0x0A 10
#define GS_18_ADDR_HpRecoverPercent1 ( 0x0044D5D8+3 ) //default ( 0x14 20
#define GS_18_ADDR_HpRecoverPercent2 ( 0x0044D5E1+3 ) //default ( 0x1E 30
#define GS_18_ADDR_HpRecoverPercent3 ( 0x0044D5EA+3 ) //default ( 0x28 40

//BYTE <100
#define GS_18_ADDR_MpRecoverPercent1 ( 0x0044D90B+2 ) //default ( 0x14 20
#define GS_18_ADDR_MpRecoverPercent2 ( 0x0044D943+2 ) //default ( 0x1E 30
#define GS_18_ADDR_MpRecoverPercent3 ( 0x0044D97B+2 ) //default ( 0x28 40

#define GS_18_ADDR_IsDelCharNonePassWord ( 0x00434524+0 ) //75 ->EB
#define GS_18_ADDR_IsDelGuildNonePassWord1 ( 0x0044521A+0 ) //NOp6 memset(a,0x90,6)
#define GS_18_ADDR_IsDelGuildNonePassWord2 ( 0x00445370+0 ) //Nop2 memset(a,0x90,2)

#define GS_18_ADDR_DwSoulBarrierA ( 0x004B9DEB+1 ) //default 50 0x32
#define GS_18_ADDR_DwSoulBarrierB ( 0x004B9E0B+1 ) //difault 200 0xC8
#define GS_18_ADDR_DwSoulBarrierC ( 0x004B9E40+1 ) //difault 40 dword
#define GS_18_ADDR_DwSoulBarrierMax1 ( 0x004B9E19+2 ) //default 50 byte 0-100 x
#define GS_18_ADDR_DwSoulBarrierMax2 ( 0x004B9E1E+1 ) // dword x

#define GS_18_ADDR_DkAddLifeSkillA ( 0x004B99DF+1 ) //Divisor
#define GS_18_ADDR_DkAddLifeSkillB ( 0x004B9A53+1 ) //Divisor
#define GS_18_ADDR_DkAddLifeSkillC ( 0x004B9B68+1 ) //Divisor
#define GS_18_ADDR_DkAddLifeSkillD ( 0x004B99FF+1 ) //Divisor

#define GS_18_ADDR_WingsRepairFixAddr1 ( 0x0043DD6B+0 )
#define GS_18_ADDR_WingsRepairFixAddr2 ( 0x0043DF5C+0 )







#define GS_18_ADDR_ExItemDropRate ( 0x0041B0F8+1 ) // µфВдЧїФЅОпЖ·±©ВК default 2000 dword
#define GS_18_ADDR_ExItemDropSkillRate ( 0x00419E0C+3 ) // µфВдЧїФЅОпЖ·ґшјјДЬёЕВК Default 100% dword
#define GS_18_ADDR_ExItemDropLuckRate ( 0x00419E13+3 ) // µфВдЧїФЅОпЖ·ґшРТФЛёЕВК default 1% dword
#define GS_18_ADDR_NormalItemDropSkillRate ( 0x00419E59+3 ) // µфВд·ЗЧїФЅОпЖ·ґшјјДЬёЕВК ·ЗЧїФЅ:6%јјДЬ dword
#define GS_18_ADDR_NormalItemDropLuckRate ( 0x00419E60+3 ) // µфВд·ЗЧїФЅОпЖ·ґшРТФЛёЕВК ·ЗЧїФЅ:4%РТФЛ dword


























#define GS_18_ADDR_TransformationRing1 ( 0x004BA5FB+3 ) // Д¬ИП; ( 0x02 УЧБъ
#define GS_18_ADDR_TransformationRing2 ( 0x004BA604+3 ) // Д¬ИП; ( 0x07 ѕЮИЛ
#define GS_18_ADDR_TransformationRing3 ( 0x004BA60D+3 ) // Д¬ИП; ( 0x0E чјчГ±ш
#define GS_18_ADDR_TransformationRing4 ( 0x004BA616+3 ) // Д¬ИП; ( 0x08 ¶ѕЕЈ№Ц
#define GS_18_ADDR_TransformationRing5 ( 0x004BA61F+3 ) // Д¬ИП; ( 0x09 ЛАБйОЧЋџ
#define GS_18_ADDR_TransformationRing6 ( 0x004BA628+3 ) // Д¬ИП; ( 0x29 ЕЈД§Нх

//ChaosCastle fix
#define GS_18_ADDR_CCRunPlayerLimit ( 0x005442F0+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)
#define GS_18_ADDR_CCReward1 ( 0x00547404+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)
#define GS_18_ADDR_CCReward2 ( 0x00547441+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)
#define GS_18_ADDR_CCReward3 ( 0x005474B7+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)
#define GS_18_ADDR_CCReward4 ( 0x005474F5+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)

//Stats Fix
#define GS_18_ADDR_StrPoint1 ( 0x0044F25E+1 )
#define GS_18_ADDR_StrPoint2 ( 0x004D3672+1 )
#define GS_18_ADDR_StrPoint3 ( 0x00503B90+1 )
#define GS_18_ADDR_StrPoint4 ( 0x0053F199+1 )
#define GS_18_ADDR_StrPoint5 ( 0x0053F392+1 )
#define GS_18_ADDR_StrPoint6 ( 0x0053F5DB+1 )
#define GS_18_ADDR_StrPoint7 ( 0x00581A1A+1 )
#define GS_18_ADDR_StrPoint8 ( 0x00488297+1 )
#define GS_18_ADDR_StrPoint9 ( 0x004B1DB4+1 )
#define GS_18_ADDR_StrPoint10 ( 0x004B21A1+1 )
#define GS_18_ADDR_StrPoint11 ( 0x004B2209+1 )
#define GS_18_ADDR_StrPoint12 ( 0x004B2272+1 )
#define GS_18_ADDR_StrPoint13 ( 0x004B22C7+1 )
#define GS_18_ADDR_StrPoint14 ( 0x004B37E1+1 )
#define GS_18_ADDR_StrPoint15 ( 0x004B4A45+1 )
#define GS_18_ADDR_StrPoint16 ( 0x004B4AD7+1 )
#define GS_18_ADDR_StrPoint17 ( 0x004B53FF+1 )
#define GS_18_ADDR_StrPoint18 ( 0x004B6B61+1 )
#define GS_18_ADDR_StrPoint19 ( 0x004B6BFB+1 )
#define GS_18_ADDR_StrPoint20 ( 0x004C2A89+1 )
#define GS_18_ADDR_StrPoint21 ( 0x004C70A2+1 )
#define GS_18_ADDR_StrPoint22 ( 0x004C7A4C+1 )
#define GS_18_ADDR_StrPoint23 ( 0x004C7C33+1 )
#define GS_18_ADDR_StrPoint24 ( 0x004C940E+1 )
#define GS_18_ADDR_StrPoint25 ( 0x004D61F1+1 )
#define GS_18_ADDR_StrPoint26 ( 0x004E7D66+1 )
#define GS_18_ADDR_StrPoint27 ( 0x00502313+1 )
#define GS_18_ADDR_StrPoint28 ( 0x0050258D+1 )
#define GS_18_ADDR_StrPoint29 ( 0x0050277D+1 )

#define GS_18_ADDR_DexPoint1 ( 0x0044F2CB+1 )
#define GS_18_ADDR_DexPoint2 ( 0x004D3697+1 )
#define GS_18_ADDR_DexPoint3 ( 0x00503B51+1 )
#define GS_18_ADDR_DexPoint4 ( 0x0053F185+1 )
#define GS_18_ADDR_DexPoint5 ( 0x0053F37E+1 )
#define GS_18_ADDR_DexPoint6 ( 0x0053F5C7+1 )
#define GS_18_ADDR_DexPoint7 ( 0x00581A09+1 )
#define GS_18_ADDR_DexPoint8 ( 0x004B1DCD+1 )
#define GS_18_ADDR_DexPoint9 ( 0x004B21B5+1 )
#define GS_18_ADDR_DexPoint10 ( 0x004B221D+1 )
#define GS_18_ADDR_DexPoint11 ( 0x004B2286+1 )
#define GS_18_ADDR_DexPoint12 ( 0x004B22DB+1 )
#define GS_18_ADDR_DexPoint13 ( 0x004B6B41+1 )
#define GS_18_ADDR_DexPoint14 ( 0x004B6BDB+1 )
#define GS_18_ADDR_DexPoint15 ( 0x004B6E95+1 )
#define GS_18_ADDR_DexPoint16 ( 0x004B6ED8+1 )
#define GS_18_ADDR_DexPoint17 ( 0x004B6F11+1 )
#define GS_18_ADDR_DexPoint18 ( 0x004B6F51+1 )
#define GS_18_ADDR_DexPoint19 ( 0x004B6F90+1 )
#define GS_18_ADDR_DexPoint20 ( 0x004B6FC1+1 )
#define GS_18_ADDR_DexPoint21 ( 0x004B6FFC+1 )
#define GS_18_ADDR_DexPoint22 ( 0x004B7037+1 )
#define GS_18_ADDR_DexPoint23 ( 0x004B7072+1 )
#define GS_18_ADDR_DexPoint24 ( 0x004B70AD+1 )
#define GS_18_ADDR_DexPoint25 ( 0x004B9DD7+1 )
#define GS_18_ADDR_DexPoint26 ( 0x004C2AA2+1 )
#define GS_18_ADDR_DexPoint27 ( 0x004C706C+1 )
#define GS_18_ADDR_DexPoint28 ( 0x004C710E+1 )
#define GS_18_ADDR_DexPoint29 ( 0x004C7A91+1 )
#define GS_18_ADDR_DexPoint30 ( 0x004C7C49+1 )
#define GS_18_ADDR_DexPoint31 ( 0x004C9427+1 )
#define GS_18_ADDR_DexPoint32 ( 0x004CA9E5+1 )
#define GS_18_ADDR_DexPoint33 ( 0x004CAA28+1 )
#define GS_18_ADDR_DexPoint34 ( 0x004CAA61+1 )
#define GS_18_ADDR_DexPoint35 ( 0x004CAAA1+1 )
#define GS_18_ADDR_DexPoint36 ( 0x004CAAE0+1 )
#define GS_18_ADDR_DexPoint37 ( 0x004CAB11+1 )
#define GS_18_ADDR_DexPoint38 ( 0x004CAB4C+1 )
#define GS_18_ADDR_DexPoint39 ( 0x004CAB87+1 )
#define GS_18_ADDR_DexPoint40 ( 0x004CABC2+1 )
#define GS_18_ADDR_DexPoint41 ( 0x004CABFD+1 )
#define GS_18_ADDR_DexPoint42 ( 0x004D61E6+1 )
#define GS_18_ADDR_DexPoint43 ( 0x004E7D9E+1 )
#define GS_18_ADDR_DexPoint44 ( 0x0050231D+1 )
#define GS_18_ADDR_DexPoint45 ( 0x00502597+1 )
#define GS_18_ADDR_DexPoint46 ( 0x00502787+1 )

#define GS_18_ADDR_ViatalityPoint1 ( 0x004D36BC+1 )
#define GS_18_ADDR_ViatalityPoint2 ( 0x00503B0F+1 )
#define GS_18_ADDR_ViatalityPoint3 ( 0x0053F171+1 )
#define GS_18_ADDR_ViatalityPoint4 ( 0x0053F36A+1 )
#define GS_18_ADDR_ViatalityPoint5 ( 0x0053F5B3+1 )
#define GS_18_ADDR_ViatalityPoint6 ( 0x005819F8+1 )
#define GS_18_ADDR_ViatalityPoint7 ( 0x004B1DE6+1 )
#define GS_18_ADDR_ViatalityPoint8 ( 0x004B21C9+1 )
#define GS_18_ADDR_ViatalityPoint9 ( 0x004B2231+1 )
#define GS_18_ADDR_ViatalityPoint10 ( 0x004B229A+1 )
#define GS_18_ADDR_ViatalityPoint11 ( 0x004B22EF+1 )
#define GS_18_ADDR_ViatalityPoint12 ( 0x004B99CB+1 )
#define GS_18_ADDR_ViatalityPoint13 ( 0x004C2ABB+1 )
#define GS_18_ADDR_ViatalityPoint14 ( 0x004C7144+1 )
#define GS_18_ADDR_ViatalityPoint15 ( 0x004C7B51+1 )
#define GS_18_ADDR_ViatalityPoint16 ( 0x004C7C61+1 )
#define GS_18_ADDR_ViatalityPoint17 ( 0x004C9440+1 )
#define GS_18_ADDR_ViatalityPoint18 ( 0x004D47BC+1 )
#define GS_18_ADDR_ViatalityPoint19 ( 0x004D61DB+1 )
#define GS_18_ADDR_ViatalityPoint20 ( 0x004E7E0D+1 )
#define GS_18_ADDR_ViatalityPoint21 ( 0x00502329+1 )
#define GS_18_ADDR_ViatalityPoint22 ( 0x005025A3+1 )
#define GS_18_ADDR_ViatalityPoint23 ( 0x00502793+1 )
#define GS_18_ADDR_ViatalityPoint24 ( 0x0050441A+1 )
#define GS_18_ADDR_ViatalityPoint25 ( 0x0050443D+1 )
#define GS_18_ADDR_ViatalityPoint26 ( 0x00504460+1 )
#define GS_18_ADDR_ViatalityPoint27 ( 0x00504483+1 )

#define GS_18_ADDR_EnergyPoint1 ( 0x004D36E1+1 )
#define GS_18_ADDR_EnergyPoint2 ( 0x00503ACD+1 )
#define GS_18_ADDR_EnergyPoint3 ( 0x0053F15D+1 )
#define GS_18_ADDR_EnergyPoint4 ( 0x0053F356+1 )
#define GS_18_ADDR_EnergyPoint5 ( 0x0053F59F+1 )
#define GS_18_ADDR_EnergyPoint6 ( 0x005819E7+1 )
#define GS_18_ADDR_EnergyPoint7 ( 0x004B1DFF+1 )
#define GS_18_ADDR_EnergyPoint8 ( 0x004B21DD+1 )
#define GS_18_ADDR_EnergyPoint9 ( 0x004B2245+1 )
#define GS_18_ADDR_EnergyPoint10 ( 0x004B22AE+1 )
#define GS_18_ADDR_EnergyPoint11 ( 0x004B2303+1 )
#define GS_18_ADDR_EnergyPoint12 ( 0x004B2BDA+1 )
#define GS_18_ADDR_EnergyPoint13 ( 0x004B4AF7+1 )
#define GS_18_ADDR_EnergyPoint14 ( 0x004B99EB+1 )
#define GS_18_ADDR_EnergyPoint15 ( 0x004B9A15+1 )
#define GS_18_ADDR_EnergyPoint16 ( 0x004B9DF7+1 )
#define GS_18_ADDR_EnergyPoint17 ( 0x004B9E2C+1 )
#define GS_18_ADDR_EnergyPoint18 ( 0x004B9FA5+1 )
#define GS_18_ADDR_EnergyPoint19 ( 0x004BA236+1 )
#define GS_18_ADDR_EnergyPoint20 ( 0x004BA9F0+1 )
#define GS_18_ADDR_EnergyPoint21 ( 0x004BAB32+1 )
#define GS_18_ADDR_EnergyPoint22 ( 0x004BDC99+1 )
#define GS_18_ADDR_EnergyPoint23 ( 0x004BDCBC+1 )
#define GS_18_ADDR_EnergyPoint24 ( 0x004C2AD4+1 )
#define GS_18_ADDR_EnergyPoint25 ( 0x004C70D8+1 )
#define GS_18_ADDR_EnergyPoint26 ( 0x004C7AD6+1 )
#define GS_18_ADDR_EnergyPoint27 ( 0x004C7C79+1 )
#define GS_18_ADDR_EnergyPoint28 ( 0x004C9459+1 )
#define GS_18_ADDR_EnergyPoint29 ( 0x004D485B+1 )
#define GS_18_ADDR_EnergyPoint30 ( 0x004D61D0+1 )
#define GS_18_ADDR_EnergyPoint31 ( 0x004E7E37+1 )
#define GS_18_ADDR_EnergyPoint32 ( 0x004FD675+1 )
#define GS_18_ADDR_EnergyPoint33 ( 0x004FDB21+1 )
#define GS_18_ADDR_EnergyPoint34 ( 0x004FE0AC+1 )
#define GS_18_ADDR_EnergyPoint35 ( 0x00502335+1 )
#define GS_18_ADDR_EnergyPoint36 ( 0x005025AF+1 )
#define GS_18_ADDR_EnergyPoint37 ( 0x0050279F+1 )

//AttackSpeed-Defense-Etc
#define GS_18_ADDR_AttackDamageMin_Bow_StrDexDiv_Elf1 0x004C2BD3
#define GS_18_ADDR_AttackDamageMin_Bow_StrDexDiv_Elf2 0x004C2C02

#define GS_18_ADDR_AttackDamageMax_Bow_StrDexDiv_Elf1 0x004C2BEA
#define GS_18_ADDR_AttackDamageMax_Bow_StrDexDiv_Elf2 0x004C2C19

#define GS_18_ADDR_AttackDamageMin_NoBow_DexDiv_Elf1 0x004C2C33
#define GS_18_ADDR_AttackDamageMin_NoBow_DexDiv_Elf2 0x004C2C7B

#define GS_18_ADDR_AttackDamageMin_NoBow_StrDiv_Elf1 0x004C2C40
#define GS_18_ADDR_AttackDamageMin_NoBow_StrDiv_Elf2 0x004C2C88

#define GS_18_ADDR_AttackDamageMax_NoBow_Elf1 0x004C2C56
#define GS_18_ADDR_AttackDamageMax_NoBow_Elf2 0x004C2C9E

#define GS_18_ADDR_AttackDamageMin_DexStrDiv_Elf1 0x004C2CC8
#define GS_18_ADDR_AttackDamageMin_DexStrDiv_Elf2 0x004C2CF7

#define GS_18_ADDR_AttackDamageMax_DexStrDiv_Elf1 0x004C2D0E
#define GS_18_ADDR_AttackDamageMax_DexStrDiv_Elf2 0x004C2CDF

#define GS_18_ADDR_AttackDamageMin_StrDiv_DK1 0x004C2D39
#define GS_18_ADDR_AttackDamageMin_StrDiv_DK2 0x004C2D62

#define GS_18_ADDR_AttackDamageMax_StrDiv_DK1 0x004C2D4D
#define GS_18_ADDR_AttackDamageMax_StrDiv_DK2 0x004C2D76

#define GS_18_ADDR_AttackDamageMin_StrDiv_MG1 0x004C2DA5
#define GS_18_ADDR_AttackDamageMin_StrDiv_MG2 0x004C2DED

#define GS_18_ADDR_AttackDamageMin_EneDiv_MG1 0x004C2DB2
#define GS_18_ADDR_AttackDamageMin_EneDiv_MG2 0x004C2DFA

#define GS_18_ADDR_AttackDamageMax_StrDiv_MG1 0x004C2DC8
#define GS_18_ADDR_AttackDamageMax_StrDiv_MG2 0x004C2E10

#define GS_18_ADDR_AttackDamageMin_StrDiv_DL1 0x004C2E95
#define GS_18_ADDR_AttackDamageMin_StrDiv_DL2 0x004C2E4F

#define GS_18_ADDR_AttackDamageMin_EneDiv_DL1 0x004C2E5C
#define GS_18_ADDR_AttackDamageMin_EneDiv_DL2 0x004C2EA2

#define GS_18_ADDR_AttackDamageMax_StrDiv_DL1 0x004C2E72
#define GS_18_ADDR_AttackDamageMax_StrDiv_DL2 0x004C2EB8

#define GS_18_ADDR_AttackDamageMax_EneDiv_DL1 0x004C2E7F
#define GS_18_ADDR_AttackDamageMax_EneDiv_DL2 0x004C2EC5

#define GS_18_ADDR_AttackDamageMin_StrDiv_DWSU1 0x004C2EDD
#define GS_18_ADDR_AttackDamageMin_StrDiv_DWSU2 0x004C2F07

#define GS_18_ADDR_AttackDamageMax_StrDiv_DWSU1 0x004C2EF2
#define GS_18_ADDR_AttackDamageMax_StrDiv_DWSU2 0x004C2F1C

#define GS_18_ADDR_AttackSpeed_Elf1 ( 0x004C3436+1 ) //32
#define GS_18_ADDR_AttackSpeed_Elf2 ( 0x004C344A+1 ) //32
#define GS_18_ADDR_AttackSpeed_DK_MG1 ( 0x004C3485+1 ) //0F
#define GS_18_ADDR_AttackSpeed_DK_MG2 ( 0x004C3499+1 ) //14
#define GS_18_ADDR_AttackSpeed_DL1 ( 0x004C34C0+1 ) //0A
#define GS_18_ADDR_AttackSpeed_DL2 ( 0x004C34D4+1 ) //0A
#define GS_18_ADDR_AttackSpeed_DS1 ( 0x004C34EA+1 ) //14
#define GS_18_ADDR_AttackSpeed_DS2 ( 0x004C34FE+1 ) //0A

#define GS_18_ADDR_SuccessfulBlocking_Elf ( 0x004C3A5C+1 ) //default /4
#define GS_18_ADDR_SuccessfulBlocking_DS_DK_MG ( 0x004C3A84+1 ) // /3
#define GS_18_ADDR_SuccessfulBlocking_DL ( 0x004C3A9A+1 ) // /7

#define GS_18_ADDR_Defense_Elf ( 0x004C3EB5+1 ) // /0A
#define GS_18_ADDR_Defense_DK ( 0x004C3EDC+1 ) // /3
#define GS_18_ADDR_Defense_DL ( 0x004C3F03+1 ) // /7
#define GS_18_ADDR_Defense_DS_MG ( 0x004C3F19+1 ) // /4

#define GS_18_ADDR_ElfSoldierMaxLevel ( 0x00554DEF+1 ) // /4
#define GS_18_ADDR_DHDivisor ( 0x004C4092+1 ) // /4

#define GS_18_ADDR_ElfSummon_Mob1 ( 0x004B9022+1 )
#define GS_18_ADDR_ElfSummon_Mob2 ( 0x004B9053+1 )
#define GS_18_ADDR_ElfSummon_Mob3 ( 0x004B9084+1 )
#define GS_18_ADDR_ElfSummon_Mob4 ( 0x004B90B5+1 )
#define GS_18_ADDR_ElfSummon_Mob5 ( 0x004B90E6+1 )
#define GS_18_ADDR_ElfSummon_Mob6 ( 0x004B9117+1 )
#define GS_18_ADDR_ElfSummon_Mob7 ( 0x004B914B+1 )

//Halloween.cpp Offsets [Function Name + Var]
#define HallowFirst_AllowFreePK_Offset 0x0046E160

//InitConfig.cpp Offsets [Function Name + Var]
#define MaxLevelSkillTree_Call 0x004DC4B5
#define MaxLevelSkillTree_Allow 0x004DC51B
#define MaxLevelSkillTree_Return 0x004DC4BD

#define MaxLevelInit_LVL400_001 004DC4B7h
#define MaxLevelInit_LVL400_002 004C2115h
#define MaxLevelInit_LVL400_003 004C2195h
#define MaxLevelInit_LVL400_004 0041B84Ah
#define MaxLevelInit_LVL400_005 00521262h

#define MaxLevelInit_LVL400_006 005359ACh
#define MaxLevelInit_LVL400_007 005436DCh
#define MaxLevelInit_LVL400_008 005700CCh

#define CommonSkills_TwistingSlash_01 0043015Bh
#define CommonSkills_TwistingSlash_02 00430157h
#define CommonSkills_TwistingSlash_03 0x004FD024
#define GSMoreOptInit_AllianceMembers_Offset 0x457DEB+2
#define DkGreaterFortitudeInit_Offset_01 004B9A2Eh
#define DkGreaterFortitudeInit_Offset_02 004B9A2Fh
#define S3ItemRepair_Offset_01 0x0043DD6B

//WzAg.cpp Offsets [Function Name + Var]
#define SCF_GameMonsterAllAdd_Hook 0x005225F5
#define SCF_GameMonsterAllAdd_Exit 0x005225FA
#define WzAg_LogAddFuncColor_Var 0x00403CC9
#define WzAg_LogAddFunc_Var 0x004038E1
#define LogAddTD 0x635992C
#define GIOCP_Destroy_Addr 0x00402B9E
#define MonsterAIElement_FIX 0x0055DF9C
#define ChaosCardProbability 0x005264C5
#define AGInit_NameInGS 0x006BF098
#define AGInit_FIX_Z28_01 0x004294B8
#define AGInit_FIX_Z28_02 0x004D2E85
#define AGInit_FIX_Z28_03 0x00514EA4
#define AGInit_FIX_Z28_04 0x004FF1E7
#define AGInit_FIX_Z28_05 0x004D2E48
#define AGInit_FIX_PK_01 0x004B638A
#define AGInit_FIX_PK_02 0x004B665C
#define AGInit_FIX_PK_03 0x004B6687
#define AGInit_FIX_PK_DROP 0x004DECD0
#define AGInit_FIX_Move_Req_01 0x0051E7EF
#define AGInit_FIX_QUEST 0x00435A3B
#define AGInit_FIX_LOVE_REMEDY 0x00439352
#define AGInit_FIX_MONSTER_DIE 0x00414FA3
#define AGInit_FIX_380_OPTION 0x006C4B39
#define AGInit_FIX_LOGIN_DC 0x00430CB6
#define AGInit_HOOK_MyDataSend_01 0x00405340 //0040533F //jdatasend+1
#define AGInit_HOOK_MyDataRecv_01 0x00403315 //00403314 //jrecv+1
#define AGInit_HOOK_MonsterItemDrop_01 0x00404E4F
#define AGInit_HOOK_SetCharacter_01 0x004057EB
#define AGInit_HOOK_CharZeroSet_01 0x004016C3
#define AGInit_HOOK_SellRequestRecv_01 0x00403121
#define AGInit_HOOK_UseItemRecv_01 0x00401407
#define AGInit_HOOK_CharDel_01 0x00402C8F
#define AGInit_HOOK_LevelUpPointAdd_01 0x00403D33
#define AGInit_HOOK_UseSkill_SpeedHackCheck_01 0x00403E00
#define AGInit_HOOK_NpcAngelKing_01 0x00402695
#define AGInit_HOOK_PlayerLoginIn_01 0x00428797
#define AGInit_HOOK_NpcRecvTalk_01 0x0043BBD2
#define AGInit_HOOK_NpcRecvTalk_03 0x0043BC01
#define AGInit_HOOK_ShowGoldMSG_01 0x0046CE8E
#define AGInit_HOOK_MonsterDie_01 0x00414FA4
#define AGInit_HOOK_GetRequireClass_01 0x004FD734
#define AGInit_HOOK_InventoryItemMove_01 0x0040584F
#define AGInit_HACK_AttackSpeed_01 0043185Eh
#define AGInit_HACK_AttackSpeed_02 00431879h
#define AGInit_HACK_AttackSpeed_03 0043187Bh
#define FIRESCREAM_HACK_DC_FIX 0x0044BED3

#define AGInit_Gate_Move_Proc 004058F3h //JMP GameServ.gObjMoveGate [JMP 004FAAD0]
#define AGInit_Gate_Move_JMP 0x004FAAD0

#define AGInit_HOOK_UserDieSendZen_01 0x004F4F7A
#define UserDieSendZen_gObjViewportListProtocolCreate 0x00405560

//ChaosMachine.cpp
#define ChaosBoxCheckNewItems_ItemAllowed 0x004EA320
#define ChaosBoxCheckNewItems_Exit 0x004EA2E7

//ChaosSummonerWings.cpp
#define SummonerDefaultChaosMix_Exit 0x00498642
#define Summoner2ndLevelWingChaosMix_Success 0x00498028
#define Summoner2ndLevelWingChaosMix_Regular 0x00498028
#define Summoner1stLevelWingAdd_AllowMix 0x00497A3C
#define Summoner1stLevelWingAdd_AllowMixSum 0x00497B7F
#define Summoner1stLevelWingAdd_NextItem 0x00497A69
#define Summoner1stLevelWingSkip_AllowMix 0x004979CD
#define Summoner1stLevelWingSkip_NextItem 0x004979AE
#define Summoner_WingChaosMix_Offset ( 0x00497A35 )
#define Summoner_WingChaosMix_Allow ( 0x00497A3C )
#define Summoner_WingChaosMix_End ( 0x00497A69 )

//Commands.cpp
#define ChangeRingCommand_Ring_01 0x004BA5FB
#define ChangeRingCommand_Ring_02 0x004BA604
#define ChangeRingCommand_Ring_03 0x004BA60D
#define ChangeRingCommand_Ring_04 0x004BA616
#define ChangeRingCommand_Ring_05 0x004BA61F
#define ChangeRingCommand_Ring_06 0x004BA628

//JewelUseOnNewItem.cpp
#define EnableBless_Allow 0x004FE32F
#define EnableBless_End 0x004FE36C
#define EnableSoul_Allow 0x004FE875
#define EnableSoul_End 0x004FE8B2
#define EnableLife_Allow 0x004FF035
#define EnableLife_End 0x004FF072

//NewWingsFix.cpp
#define FixWingsLuck_Allow 0x0050F518
#define FixWingsLuck_End 0x0050F516
#define FixWingsOpt_Allow 0x0050F753
#define FixWingsOpt_End 0x0050F771
#define FlyToIcarus_Allow 0x004FB59B
#define FlyToIcarus_End 0x004FB54D
#define FlyToKanturu_Allow 0x004FB918
#define FlyToKanturu_End 0x004FB8CE
#define FlyToRefinedTower_Allow 0x005838E0
#define FlyToRefinedTower_End 0x0058384F

#define S3WingExc1Fix_End 0x0050F33A
#define S3WingExc1Fix_Allow 0x0050F2EF
#define S3WingExc2Fix_End 0x0050F54F
#define S3WingExc2Fix_Allow 0x0050F538
#define S3WingExc3Fix_End 0x0050F74A
#define S3WingExc3Fix_Allow 0x0050F715
#define S3WingExc4Fix_End 0x0050FA78
#define S3WingExc4Fix_Allow 0x0050FA43
#define S3WingExc5Fix_End 0x0050FEB5
#define S3WingExc5Fix_Allow 0x0050FDFE

//Maps.cpp
#define MapInit_Jump_Check 0x004DA66A
#define MapInit_Map_Quantity_01 0x00520204
#define MapInit_Map_Quantity_02 0x0052026F
#define MapInit_Map_Quantity_03 0x00521B44

#define MapInit_Skip_Att_Check 0x005212C1
#define MapInit_Att_Load 0x00521B64
#define MapInit_Att_CLOSE_Addr_00 0x40
#define MapInit_Att_CLOSE_Addr_01 0x81
#define MapInit_Att_CLOSE_Addr_02 0xC1
#define MapInit_Att_CLOSE_Addr_03 0xA8
#define MapInit_Att_CLOSE_Addr_04 0x2D
#define MapInit_Att_CLOSE_Addr_05 0x6C
#define MapInit_Att_CLOSE_Addr_06 0x00
#define MapInit_Att_CLOSE_Addr_07 0xEB
#define MapInit_Att_CLOSE_Addr_08 0x0A

#define MapInit_Att_PUSH_ECX 0x00521B77
#define MapInit_Final_JMP 0x0054ED09
#define MapInit_PUSH_MAPS_ARRAY_ADDR 00521B67h
#define MapInit_Map_Quantity_ASM_01 00521B41h
#define MapInit_Map_Quantity_ASM_02 00501591h
#define MapInit_Map_Quantity_ASM_03 005015BBh
#define MapInit_Map_Quantity_ASM_04 004F507Ch
#define MapInit_Map_Quantity_ASM_05 00501206h
#define MapInit_Map_Quantity_ASM_06 0048F72Fh
#define MapInit_Map_Quantity_ASM_07 004D3C58h
#define MapInit_Map_Quantity_ASM_08 00435958h
#define MapInit_Map_Quantity_ASM_09 0042A4D9h
#define MapInit_Map_Quantity_ASM_10 0054E440h

//MapServerManager.cpp
#define CheckMoveMapSvr_ENTRY 0x0054ED67
#define CheckMoveMapSvr_EXIT 0x0054ED6D
#define CheckMoveMapSvr_DONE 0x0054ED78

//Player3rdStats.cpp
#define LvlUp3rd ( 0x004DC5E4 )
#define LvlUp3rdEnd_Offset ( 0x004DC621 )
#define LvlUp3rdBC ( 0x00535B18 )
#define LvlUp3rdEndBC_Offset ( 0x00535B78 )
#define LvlUp3rdCC ( 0x00543848 )
#define LvlUp3rdEndCC_Offset ( 0x005438A8 )
#define LvlUp3rdCW ( 0x00570238 )
#define LvlUp3rdEndCW_Offset ( 0x00570298 )
#define ExperienceCalculationVar 0x9F485D8

//PlayerAccount.cpp
#define GetName_Offset 0x0660F0EB
#define GetUser_Offset 0x0660F0E0
#define SkinOpt_Offset_CALL 0x00405560

//PlayerInit.cpp
#define CharacterAddClasses_Allow 0x004D3AD0
#define CharacterAddClasses_Exit 0x004D3AD2
#define CharSetAddClasses_Exit 0x004EF3C5
#define CharSetAddWings_End 0x004EFEDE
#define CharSetAddWingsFenrirBlack_End 0x004EFF60
#define CharSetAddWingsFenrirBlue_End 0x004EFF8D
#define CharSetAddWingsFenrirRed_End 0x004EFF34
#define ScreenGoldenFenrir_Exit 0x00427416
#define SelectionScreen_Exit 0x00425A09
#define Summoner_FIX_gObjCalcCharacter_Offset ( 0x004C2D30 )
#define gObjCalcCharacter1_Allow ( 0x004C2D35 )
#define gObjCalcCharacter1_End ( 0x004C2D8C )

//PlayerItem.cpp
#define Check_ItemInInventory_EAX 0x0050E320

//PlayerSkill.cpp
#define Fix_Twisting_Slash_Offset 004032FBh

//SummonerInit.cpp
#define classdef__init_SUMMONER_Offset 0x004C16D6
#define gObjSetBP_JMP_Allow 0x004D3745
#define gObjSetBP_JMP_Summoner 0x004D3748

//SummonerSkill.cpp
#define SummonerLoadAllSkill_Allow 0x004FDBAF
#define SummonerLoadAllSkill_Exit 0x004FDB7D
#define SummonerEnableSkill_Allow 0x004B80F2
#define SummonerEnableSkill_Exit 0x004B80EE
#define SummonerUseSkill_Allow 0x004B8A26
#define SummonerUseSkill_AllowSummoner 0x00401D48
#define SummonerUseSkill_Exit 0x004B8A3A


#define SummonerUseSkill_AllowSummoner2 0x00403BF2//0x00403BBB
#define SummonerUseSkill_AllowSummoner3 0x004BD120


#define Offset_gObjTargetGuildWarCheck 0x00403CE2
#define Offset_gObjCalDistance 0x00401541
#define Offset__rand 0x00598354
#define Offset_gObjAddAttackProcMsgSendDelay 0x004048DB
#define Offset_GCMagicAttackNumberSend 0x00405290

//ServerGlobal.cpp
#define ShowGoldMSG_CALL_Offset 0x004057B3
#define SetORGetDrop_Offset 0x006E1890

#define GetConnectCount_Offset 0x0653DBF0
#define GetGsPort_Offset 0x0B1A23F0
#define GetSrvCode_Offset 0x09D847D4
#define GetIsgojAllDissconnect_Offset 0x0926B09C
#define GetTotalPlayer_Offset 0x0926B098
#define GetNumberOfMaxUser_Offset 0x00668040

//Player Die Hook
#define Dead_Offset_Fix_01 0x004F4C6B
#define PlayerDeadHook_Offset_End 0x004F4D03
#define PlayerDeadHook_Offset_DoMoveGate 0x004F4D40
#define PlayerDeadHook_Offset_Return 0x004F4C74

//Season3.cpp
#define IOCP_FIX_Hook 0x0048AABE
#define IOCP_FIX_Exit 0x0048AAC7
#define IOCP_FIX_JMP1 0x0048AAF9

#define CreateChar_Exit 0x004340F9
#define CreateChar_Allow 0x00434134
#define ModgObjSetCharacter_Allow 0x004D4B3B
#define ModgObjSetCharacter_ElseCase 0x004D4E84
#define MyModGameMainInit_CALL_01 0x0040384B
#define MyModGameMainInit_CALL_02 0x004011EF
#define MyModGameMainInit_ECX 9FD0AC8h
#define MyModGameMainInit_Exit 0x00521C96
#define MissCheckPvP_Mod1_Allow 0x004B6F41
#define MissCheckPvP_Mod1_End 0x004B6F70
#define MissCheckPvP_Mod2_Allow 0x004B7065
#define MissCheckPvP_Mod2_End 0x004B7090
#define Attack_Mod1_Allow 0x004B219E
#define Attack_Mod1_End 0x004B21F6
#define Attack_Mod2_Allow 0x004B248A
#define Attack_Mod2_End 0x004B24D8
#define Attack_Mod3_Allow 0x004B2AF3
#define Attack_Mod3_End 0x004B2AFD
#define Attack_Mod4_Allow 0x004B2B8D
#define Attack_Mod4_End 0x004B2B97
#define Season3_Init_Allow_Class_01 0x004F724B
#define Season3_Init_Allow_Class_02 0x004F8133
#define Season3_Init_Allow_Class_03 0x004F82DD
#define Season3_Init_Allow_Class_04 0x00512801
#define Season3_Init_Allow_Class_05 0x0048421C
#define UseOfSoulJewel_FIX_S3 0x004FE86D
#define UseOfBlessJewel_FIX_S3 0x004FE327
#define UseOfLifeJewel_FIX_S3 0x004FF02D
#define ChaosBoxCheckNewItems_Offset 0x004EA2E0
#define FlyToIcarus_S3_JMP_Offset 0x004FB547
#define FlyToKanturu_S3_JMP_Offset 0x004FB8C8
#define FlyToRefinedTower_S3_JMP_Offset 0x00583849
#define FixWingsLuck_S3_JMP_Offset 0x0050F50F
#define FixWingsOpt_S3_JMP_Offset 0x0050F74A

#define S3WingExc1Fix_Offset 0x0050F2E6
#define S3WingExc2Fix_Offset 0x0050F52F
#define S3WingExc3Fix_Offset 0x0050F70C
#define S3WingExc4Fix_Offset 0x0050FA3A
#define S3WingExc5Fix_Offset 0x0050FDF1

#define gObjSelectionScreenPets_JMP 0x004273BE
#define gObjSelectionScreenPets_Fernir 0x004273C7
#define gObjSelectionScreenPets_Exit 0x00427461

#define ScreenGoldenFenrir_S3_JMP 0x00427410
#define CharSetAddClasses_S3_JMP 0x004EF3BF
#define AddClasses_S3_JMP 0x004D3ACB
#define j_CItem__IsFenrirIncLastAttackDamage 0x004062D0
#define j_CItem__IsFenrirDecLastAttackDamage 0x00401497
#define CharSetAddWings_S3_JMP 0x004EFED8
#define CharSetAddWingsFenrirBlack_S3_JMP 0x004EFF5A
#define CharSetAddWingsFenrirBlue_S3_JMP 0x004EFF87
#define CharSetAddWingsFenrirRed_S3_JMP 0x004EFF1A
#define SelectionScreen_S3_JMP 0x004259FA
#define FixWingsSelectScreen_ASM_Offset_01 00427001h
#define FixWingsSelectScreen_ASM_Offset_02 00426FFCh
#define FixWingsSelectScreen_ASM_Offset_03 004273A4h
#define Summoner_ASM_Allow_Offset 005127B4h
#define Summoner_Items_Allow_Offset 0x005127BA
#define Summoner_Skills_Allow_Offset 0x004841C3
#define Summoner_FIX_JGPGetCharList_01 0x004258E7
#define Summoner_FIX_CGTeleportRecv_02 0x0044B41E
#define Summoner_FIX_CGTeleportRecv_03 0x0044B6B1
#define Summoner_FIX_CGTeleportRecv_04 0x0044B6CC
#define Summoner_FIX_CGTeleportRecv_05 0x0044B739
#define Summoner_FIX_GetDefPoint_06 0x004C1C82
#define Summoner_FIX_classdef_07 0x004C14C1
#define Summoner_JMP_CreateChar_Offset 0x004340F4
#define Summoner_JMP_SetCharacter_Offset 0x004D4B32
#define Summoner_JMP_LoadAllSkill_Offset 0x004FDB76
#define Summoner_JMP_EnableSkill_Offset 0x004B80E9
#define Summoner_JMP_UseSkill_Offset 0x004B8A21
#define Summoner_JMP_StaminaBar_Offset 0x004D373B
#define Summoner_JMP_HPCalculation_Offset 0x00405C0E
#define Summoner_NOP_Overflow_Offset 0x00521BCB
#define Summoner_JMP_GameMainInit_Offset 0x00521C91
#define Summoner_JMP_1stWingMix_AddOneMore 0x00498606
#define Summoner_JMP_1stWingMix_Offset 0x00498635
#define Summoner_JMP_2ndWingMix_Offset 0x00498021
#define Summoner_JMP_1stLevelWingAdd_Offset 0x00497A35
#define Summoner_JMP_1stLevelWingSkip_Offset 0x004979A6
#define Summoner_FIX_TeleportMove_01 0x0044B420
#define Summoner_FIX_TeleportMove_02 0x0044B424
#define Summoner_FIX_DevilSquare_01 0x004655AF
#define Summoner_FIX_DevilSquare_02 0x0046747C
#define Summoner_JMP_MissCheckPvP_Mod1_Offset 0x004B6F3C
#define Summoner_JMP_MissCheckPvP_Mod2_Offset 0x004B7060
#define Summoner_JMP_Attack_Mod1_Offset 0x004B2199
#define Summoner_JMP_Attack_Mod2_Offset 0x004B2485
#define Summoner_JMP_Attack_Mod3_Offset 0x004B2AEE
#define Summoner_JMP_Attack_Mod4_Offset 0x004B2B88

#define CDarkSpirit__MissCheckPvP1_Allow 0x004CAA91
#define CDarkSpirit__MissCheckPvP1_End 0x004CAAC0
#define CDarkSpirit__MissCheckPvP2_Allow 0x004CABB5
#define CDarkSpirit__MissCheckPvP2_End 0x004CABE0
#define Summoner_JMP_CDarkSpirit__MissCheckPvP_Offset1 0x004CAA8C
#define Summoner_JMP_CDarkSpirit__MissCheckPvP_Offset2 0x004CABB0

#define Summoner_FIX_IsGate_MaxSize_Offset 0x0052FD52
#define Summoner_FIX_classdef__GetDefPoint ( 0x004C1C82+3 ) //default /4
#define Fruits_FIX ( 0x005031E2 )
#define Fruits_FIX2 ( 0x00503067 + 2 )
#define Fruits_FIX3 ( 0x00503927 + 2 )
#define gObjDelMAPFIX ( 0x004D9AA1+2 )
#define Summoner_FIX_CObjAttack__GetAttackDamage1 ( 0x004B47C9 )
#define Summoner_FIX_CObjAttack__GetAttackDamage2 ( 0x004B4AD2 )

#define PlayerKillerHook__Offset ( 0x004DE164 )
#define PlayerKillerHook__Goto ( 0x004DE172 )
#define PlayerKillerHook__Cmp ( 0x09F46B80 )
#define PlayerKillerHook__Exit ( 0x004DE490 )

#define Exp_Limit_Offset ( 0x00521283 + 3)
[свернуть]

Цитата: Молдованен от 2012 Сен. 01, 15:01  Скажыте плиз Оффсеты на ГС 1.00.19 (1.00.18+ GS_CS внутри) .
это тебе нужно писать что за зборка у тебя и спрашивать на форуме.
таких серверов не много, но они переписаны много раз.

Молдованен

Цитата: bespredeL от 2012 Сен. 01, 16:26  оффсеты для 1.00.16  & 1.00.18


Спойлер
//GameServer.exe Section
//================================================================================
==
#define IMAGE_BASE_EXE 0x00400000
#define SIZE_OF_IMAGE_EXE 0x0F543000
#define BASE_OF_CODE_EXE 0x00001000
#define BASE_OF_DATA_EXE 0x00001000
#define SECTION_ALIGNMENT_EXE 0x00001000
#define FILE_ALIGNMENT_EXE 0x00001000

//EXE HEADER SYSTEM [SECTIONS]
#define HEADER_text_VOffset 0x1000
#define HEADER_text_VSize 0x002B1D40
#define HEADER_text_ROffset 0x00001000
#define HEADER_text_RSize 0x002B2000

#define HEADER_rdata_VOffset 0x002B3000
#define HEADER_rdata_VSize 0x00025003
#define HEADER_rdata_ROffset 0x002B3000
#define HEADER_rdata_RSize 0x00026000

#define HEADER_data_VOffset 0x002D9000
#define HEADER_data_VSize 0x0C1F1C7D
#define HEADER_data_ROffset 0x002D9000
#define HEADER_data_RSize 0x00010000

#define HEADER_idata_VOffset 0x0C4CB000
#define HEADER_idata_VSize 0x0000338C
#define HEADER_idata_ROffset 0x002E9000
#define HEADER_idata_RSize 0x00004000

#define HEADER_rsrc_VOffset 0x0C4CF000
#define HEADER_rsrc_VSize 0x00003FC3
#define HEADER_rsrc_ROffset 0x002ED000
#define HEADER_rsrc_RSize 0x00004000

#define HEADER_reloc_VOffset 0x0C4D3000
#define HEADER_reloc_VSize 0x0006F5ED
#define HEADER_reloc_ROffset 0x002F1000
#define HEADER_reloc_RSize 0x00070000

#define GSPort 0x634ADB0


#define gDirPath 0x0634B748
#define CConMember__Load_Offset 0x00403ECC

#define GCPkLevelSend ((void(*) ( int , unsigned char )) 0x405056 )
#define CloseClient ((void(*) ( DWORD )) 0x401046 )
#define gObjMakePreviewCharSet ((void(*) ( DWORD ) ) 0x40378D )

#define CObjUseSkill__SkillMonsterCall ((int(*) ( DWORD , int , int , int) ) 0x40465B ) //MAYBE DWORD * // j_CObjUseSkill__SkillMonsterCall(PlayerID, MobNumber, X -1 , Y - 1 );
#define GCReFillSend ((int(*) ( DWORD , int , int , int, int) ) 0x404994 )

#define gObjMagicAdd ((int(*) ( DWORD * , DWORD , int) ) 0x4FDAC0 )
#define gObjMagicDel ((int(*) ( DWORD * , DWORD) ) 0x4FDA10 )
#define GCMagicListOneSend ((int(*) ( DWORD , DWORD , DWORD , DWORD , DWORD , DWORD ) ) 0x402617 )
#define GCMagicListOneDelSend ((int(*) ( DWORD , DWORD , DWORD , DWORD , DWORD , DWORD ) ) 0x406019 )
#define GCMagicListMultiSend ((int(*) ( DWORD *, DWORD ) ) 0x40406B )

#define gObjSendUserStatistic ((void(*) ( DWORD ) ) 0x403D41 )
#define gObjMonsterRegen ((void(*) ( DWORD ) ) 0x405DDF )
#define gObjLevelUp ((void(*) ( DWORD , int ))0x4348E0)

#define j_gObjCalCharacter ((int(*) (int)) 0x004C2650 )
#define gObjCalCharacter_CALL 0x00402B08

#define MonsterCount 0x9FE4BC4
#define MonsterReads 0x9FD3BE6
#define MonsterLoad_Continue 0x005223F2
#define MonsterLoad_Exit 0x00522419
#define MonsterReadAll_Hook 0x005223EC
#define gObjSetMonsters ((void(*) (int, int)) 0x405CA9 )
#define gObjSetPosMonster ((void(*) (int, int)) 0x4D6AA0 )
#define gObjDel ((void(*) (int)) 0x4036E8 )
#define gObjAddMonsters ((int(*) (unsigned char)) 0x404589 )

#define InvItemCreate ((int(*) ( DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD , DWORD ) ) 0x4036F7 )
#define ChaosBoxInit ((void(*) ( DWORD ))0x4044E4)
#define ChaosBoxSend ((void(*) ( DWORD , DWORD ))0x4050AB)

#define gObjMuMailSend ((void(*) ( FRIEND_MEMO *, int ) ) 0x460170 )
#define FriendListRequest ((void(*) ( int ) ) 0x404FCA )

#define GCStateInfoSend ((int(*) (int, int, int)) 0x44B2D0 )
#define GetTicketCount ((DWORD(*) ()) 0x5AB668 )

#define ChangeLogToWindow_Offset 0x004A3E23
#define ChangeColorLogToWindow_Offset 0x004A3F14
#define HideOriginalWindow_Offset 0x0052D74A
#define ReadCommonServerInfo ((int(*) ()) 0x4058CB )
#define gObjAllDisconnect ((void(*) ()) 0x4048F4)
#define gObjAllLogOut ((void(*) ()) 0x405227)
#define CDragonEvent__GetState ((int(*) ()) 0x405E89)
#define CDragonEvent__End ((void(*) ()) 0x4016D6)
#define CDragonEvent__Start ((void(*) ()) 0x4030F8)
#define STAROFXMASENABLED_OFFSET 0xB46E168
#define FIRECRACKERENABLED_OFFSET 0xB46E16C

#define MapServerManagerBase 0x0B8B0CF8
#define j_GS_GDReqMapSvrMsgMultiCast ((int(*) (int, char *)) 0x0042CA30 )
#define ChatTargetSend ((DWORD(*) (LPBYTE, char*, DWORD)) 0x432130 )
#define GameMonsterAllCloseAndReLoad ((void(*) ()) 0x404052 )

#define ShopDataLoad ((void(*) ()) 0x402FEA )
#define ReadEventInfo ((int(*) ( int )) 0x4043EA )
#define ReadGameEtcInfo ((int(*) ( int )) 0x405DBC )
#define gObjMoveGate ((DWORD(*) (DWORD,UINT)) AGInit_Gate_Move_JMP)

#define gObjTeleport ((void(*) (DWORD, int, int, int))0x004FCAE0)
#define GCKillPlayerExpSend ((int(*) (DWORD, int, int, int,int))0x40322E)

#define gObjMonsterDieGiveItem ((int(*) ( LPGOBJSTRUCT , LPGOBJSTRUCT )) 0x4010C3 )

#define GsCGSellRequestRecvFunc ((int(*) (PBYTE pProtocol,DWORD PlayerID)) GsCGSellRequestRecv_Addr)

#define gObjInventoryDeleteItem ((void(*) ( DWORD , DWORD )) 0x40209F )
#define gObjInventoryDeleteSend ((void(*) ( DWORD , BYTE , BYTE )) 0x4036F2 )
#define GCDamageSend ((int(*) ( int , int , int, int, int, int )) 0x40383C )

#define MuMailListRequest ((void(*) ( int ) ) 0x404FCA )

//Item KOR Attribute Structure
#define CItem__Struct_Base 0x9DD31F8
//Item KOR Summoner Column Load
#define GetToken 0x0040276B
#define GetNumber 0x00403AB2
#define ClassUseItemJMP 0x005127B0
#define ClassUseItemAllow 0x00512813
#define ClassUseItemExit 0x0051280F
#define LoadItemScriptJMP 0x005183B7
#define LoadItemScriptLoopCnt 0x00518418
#define LoadItemScriptFix 0x0051841C
#define LoadItemScriptExit 0x005183DC
#define CItem__ConvertFix 0x0050E7FB
//Item Save and Get functions
#define j_GDUserItemSave ((int(*) (LPGOBJSTRUCT)) 0x004031B1 )
#define j_IsItem ((int(*) (signed int)) 0x00518DB0 )
#define j_CItem__Clear ((int(*) ( LPGOBJITEMSTRUCT )) 0x0050E160 )
#define j_ftol ((__int64(*) ()) 0x0059897C )
#define j_ftol_addr 0x0059897C
//Season4 Item Slot System [Inventory]
#define j_DbItemSetInByte ((int(*) (LPGOBJSTRUCT pOBJ, int a2, signed int ItemSQLLength, int a4)) 0x004D2A50)
#define S4SLOT_SYSTEM_READ_HOOK 0x0040286F
//Season4 Item Save System
#define j_ItemByteConvert16 ((void(*) (int, int, int)) 0x00515AC0)
#define S4SLOT_SYSTEM_SAVE_HOOK 0x0040133E
//Season4 Item Slot System [Warehouse Load]
#define j_DGGetWarehouseList_HOOK 0x004050F1
#define j_DGGetWarehouseList ((DWORD(*)(DWORD))0x00429020)
//Season4 Item Slot System [Map Drop Options Save]
#define CItem__SetPetItemInfo_Jmp 0x00512FDF
#define CItem__SetPetItemInfo_End 0x005130A3
#define CItem__SetPetItemInfo_DarkSpirit 0x00512FE5
//Map Drop allowance & structure clear on dissapear
#define j_MapClass__StateSetDestroy ((DWORD(*)(int))0x00490D30)
#define Map_Item_Struct_Base (0x9FF4BD0+itm_MapObj_Offset) //=> Original Base + 0x24 [item array offset]
#define ItemSerialCreateRecv_Hook 0x0042ABCE
#define ItemSerialCreateRecv_MapCheck 0x0042ABD4
#define ItemSerialCreateRecv_Exit 0x0042ACBA
//Season4 Item Pet Durability Fix
#define j_gObjSpriteDamage_HOOK 0x00405E66
#define j_gObjSpriteDamage ((void(*) (LPGOBJSTRUCT lpObj, int damage)) 0x004DFFE0 )
#define j_GCItemDurSend ((void(*) (int aIndex, BYTE pos, BYTE dur, unsigned char flag)) 0x00450C70)

//Chaos Box Functions
#define j_ChaosBoxInit ((int(*) (LPGOBJSTRUCT pOBJ)) 0x00493D70)
#define PlusItemLevelChaosMix_HOOK 0x00405E93
#define j_PlusItemLevelChaosMix ((int(*) (LPGOBJSTRUCT pOBJ, signed int a2)) 0x00496070)

//Misc
#define MIN_PLAYERID 6400
#define MAX_PLAYERID 7400
#define MIN_MONSTERID 0
#define MAX_MONSTERID 5800

#define gObjBaseAddr 0x660F078
#define gObjSize 0x1968

#define ItemAttribute 0x9DD31F8

#define g_BloodCastle 0x0B8AB0C8
#define gObjUseSkill 0x0636DEA8

#define TOTAL_MONSTERS_OFFSET 0x660F06C

#define GsRecvAddr 0x0042FCB0
#define GsSendAddr 0x0048BEF0

#define gAddExperience 0x6E18C8
#define gItemDropPer 0x6E1890


#define AncientExcItem_Addr 0x0050E556
#define AncientJOHItem_Addr 0x005735DB

#define MygObjExpPartyHook2_Addr 0x004E331E
#define MygObjExpPartyHook2_Exit_Addr 0x004E3323
#define MygObjMonsterExpSingleHook2_Addr 0x004E2C29
#define MygObjMonsterExpSingleHook2_Exit_Addr 0x004E2C2E

//#define MygObjMonsterExpSingleHook_Addr 0x004E2C99
//#define MygObjMonsterExpSingleHook_Return_Addr 0x004E2C9F
//#define MygObjMonsterExpSingleHook_Exit_Addr 0x004E2D00
#define GsgEventMonsterItemDropFunc_Addr 0x0041C020
#define GSgObjMonsterDieGiveItemFunc_Addr 0x0041A090
#define GsItemGetNumberMakeFunc_Addr 0x00516170
#define GsgObjMonsterTopHitDmgUserFunc_Addr 0x004137F0
#define GsgObjSetCharacterProc_Addr 0x004D3990
#define GsgObjCharZeroSet_Addr 0x004D12A0
#define GsGCItemMoveResultSend_Addr 0x0043A300
#define GsCGInventoryItemMove_Addr 0x0043A3A0
#define GsCGSellRequestRecv_Addr 0x0043CE10
#define GsCGUseItemRecv_Addr 0x0044D020
#define GsCGPCharDel_Addr 0x00434380
#define GsCGLevelUpPointAdd_Addr 0x00434AE0
#define GCServerMsgStringSend_Addr 0x00432DB0
#define gObjInventoryItemSet_Addr 0x004E5440
#define CItem_Clear_Addr 0x0050E160
#define GCItemListSend_Addr 0x00428980
#define GsCItem_IsItem_Addr 0x0050E320
#define GCMoneySend_Addr 0x004355B0
#define CObjUseSkill_SpeedHackCheck_Addr 0x004B7BE0
#define NpcAngelKing_Addr 0x00553C30
#define GCLevelUpMsgSend_Addr 0x004348E0
#define BC_HOOK_CBloodCastle__CheckEnterLevel01 0x004040A8
#define BC_HOOK_CBloodCastle__CheckAngelKingExist01 0x4047BF
#define BC_HOOK_CGRequestEnterBloodCastle01 0x004535A3
#define BC_HOOK_Offset01 0x004535A3

//Kalima
#define CKalimaGate__GetKalimaGateLevel_Offset 0x00405651

//Character Class Reallocation
#define classdef_init_1 0x00502387
#define classdef_init_2 0x005023B5
#define classdef_init_3 0x00502601
#define classdef_init_4 0x0050262F
#define classdef_init_5 0x005027E3
#define classdef_init_6 0x00502811
#define classdef_init_7 0x005203D9
#define classdef_init_8 0x00520429
#define classdef_init_9 0x00521BC6

//Shops
#define ShopExcellentMod_Hook1 0x00519C84
#define ShopExcellentMod_Exit1 0x00519C8F
#define ShopExcellentMod_Hook2 0x005191FE
#define ShopExcellentMod_Exit2 0x00519203

#define ShopDataLoad_Mod_Hook 0x00402FEB

#define ShopDataLoadFunctCall 0x00401AE6
#define ShopDataLoadMOV 0x09F57370
#define ShopDataLoadFunctCallE2 0x0C8CC480
#define ShopDataLoadFunctCallE3 0x06359934

#define GS_18_ADDR_CGTalkRequestRecv_Mod1_Offset 0x0043B911
#define GS_18_ADDR_CGTalkRequestRecv_Mod1_Exit 0x0043C0A6
#define GS_18_ADDR_CGTalkRequestRecv_Mod1_GoTo 0x0043B925
#define GS_18_ADDR_CGTalkRequestRecv_Mod2_Offset 0x0043BB75
#define GS_18_ADDR_CGTalkRequestRecv_Mod2_Return 0x0043BB82
#define GS_18_ADDR_CGTalkRequestRecv_Mod2_Exit 0x0043BC9F
#define GS_18_ADDR_CGBuyRequestRecv 0x0043C712
#define GS_18_ADDR_CGSellRequestRecv 0x0043CF93

#define ADDR_ShopBase_01 0x0043BB8E
#define ADDR_ShopBase_02 0x0043C011
#define ADDR_ShopBase_03 0x0043C77A
#define ADDR_ShopBase_04 0x0043CA2F
#define ADDR_ShopBase_05 0x0043CA81
#define ADDR_ShopBase_06 0x0043CBEA
#define ADDR_ShopBase_07 0x0043C896
#define ADDR_ShopBase_08 0x0043C8BC
#define ADDR_ShopBase_09 0x0043C8E3
#define ADDR_ShopBase_10 0x0043C90E
#define ADDR_ShopBase_11 0x0043C98F
#define ADDR_ShopBase_12 0x0043C96B
#define ADDR_ShopBase_13 0x0043CBCA
#define ADDR_ShopBase_14 0x0043C938
#define ADDR_ShopBase_15 0x0043CBA6
#define ADDR_ShopBase_16 0x0043C7BF
#define ADDR_ShopBase_17 0x0043C7F3
#define ADDR_ShopBase_18 0x0043C823
#define ADDR_ShopBase_19 0x0043CABD
#define ADDR_ShopBase_20 0x0043CB87
#define ADDR_ShopBase_21 0x0043CB66
#define ADDR_ShopBase_22 0x0043CB45
#define ADDR_ShopBase_23 0x0043C04E
#define ADDR_ShopBase_24 0x0043BFE0
#define ADDR_ShopBase_25 0x0043C03B
#define ADDR_ShopBase_26 0x00518EBA
#define ADDR_ShopBase_27 0x00518F25
////////////////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////////////////////
// GS BYTE GTEXT[14]= "WZ_MU_GS_MUTEX" ; 0x57,0x5A,0x5F,0x4D,0x55,0x5F,0x47,0x53,0x5F,0x4D,0x55,0x54,0x45,0x58,0x00 ;
#define GS_18_ADDR_TEXT_ADDR 0x00000000
#define GS_18_ADDR_UDP_PORT_ADDR 0x00521130
//#define GS_18_ADDR_CheckSum 0x00000000 // je->jmp gsfix18
//#define GS_18_ADDR_ClientHack 0x00000000 // jle->jmp gsfix18

//Party Exp
#define Party2Exp 0x004E30BA
#define Party3Exp 0x004E30C9
#define Party4Exp 0x004E30D8
#define Party5Exp 0x004E30E7
#define SetParty3Exp 0x004E3084
#define SetParty4Exp 0x004E3093
#define SetParty5Exp 0x004E30A2

#define CheckSumOffset 0x00431C38

// IsLogAdd dword 0 no / 1 yes
#define GS_18_ADDR_LogOutType ( 0x006DC8AC+0 )
#define GS_18_ADDR_ItemsinTheFloor1 ( 0x00493A42+1 )
#define GS_18_ADDR_ItemsinTheFloor2 ( 0x00493BF3+1 )

#define GS_18_ADDR_BCRewardID ( 0x0053A1E8+1 )
#define GS_18_ADDR_BCRewardType ( 0x0053A1EA+1 )
#define GS_18_ADDR_BCRewardOpt1 ( 0x0053A1FF+1 )
#define GS_18_ADDR_BCRewardOpt2 ( 0x0053A201+1 )
#define GS_18_ADDR_BCRewardOpt3 ( 0x0053A203+1 )
#define GS_18_ADDR_BCRewardOpt4 ( 0x0053A205+1 )
#define GS_18_ADDR_BCRewardOpt5 ( 0x0053A207+1 )

#define GS_18_ADDR_RingEventRewardID ( 0x0046D1C7+1 )
#define GS_18_ADDR_RingEventRewardType ( 0x0046D1C9+1 )

#define GS_18_ADDR_FireDragonEventReward1ID ( 0x0041AB03+1 )
#define GS_18_ADDR_FireDragonEventReward1Type ( 0x0041AB05+1 )

#define GS_18_ADDR_FireDragonEventReward2ID ( 0x0041AB71+1 )
#define GS_18_ADDR_FireDragonEventReward2Type ( 0x0041AB73+1 )

#define GS_18_ADDR_BlessPrice ( 0x00510B13+3 ) //900W
#define GS_18_ADDR_SoulPrice ( 0x00510B34+3 ) //600W
#define GS_18_ADDR_ChaosPrice ( 0x00510B56+3 ) //81W
#define GS_18_ADDR_LifePrice ( 0x00510B78+3 ) //4500W
#define GS_18_ADDR_CreationPrice ( 0x00510B99+3 ) //3600W f
#define GS_18_ADDR_GuardianPrice ( 0x00510C77+3 ) //6000W

#define GS_18_ADDR_BlessWaterPrice ( 0x00510CAF+2 ) // ЧЈёЈТ©Л®јЫёс 90W
#define GS_18_ADDR_SoulWaterPrice ( 0x00510CD5+2 ) // Бй»кТ©Л®јЫёс 45W
#define GS_18_ADDR_BlessMixPrice ( 0x00510BC5+2 ) // (+0/+1/+2)ЧЈёЈЧйєПјЫёс=ЧЈёЈјЫёсX10
#define GS_18_ADDR_SoulMixPrice ( 0x00510BF3+2 ) // (+0/+1/+2)Бй»кЧйєПјЫёс=Бй»кјЫёсX10

//NORMAL,DEVIL / BLOOD /CHAOSCHASTLE
#define GS_18_ADDR_DLUpPoint1 ( 0x004DC58C+2 )
#define GS_18_ADDR_MgUpPoint1 ( 0x004DC5B4+2 )
#define GS_18_ADDR_GeneralUpPoint1 ( 0x004DC5CB+2 )
#define GS_18_ADDR_LUP_2ndChgUp1 ( 0x004DC5EF+2 )

#define GS_18_ADDR_DLUpPoint2 ( 0x00535AD0+2 )
#define GS_18_ADDR_MgUpPoint2 ( 0x00535AD0+2 )
#define GS_18_ADDR_GeneralUpPoint2 ( 0x00535AF3+2 )
#define GS_18_ADDR_LUP_2ndChgUp2 ( 0x00535B29+2 )

#define GS_18_ADDR_DLUpPoint3 ( 0x00543800+2 )
#define GS_18_ADDR_MgUpPoint3 ( 0x00543800+2 )
#define GS_18_ADDR_GeneralUpPoint3 ( 0x00543823+2 )
#define GS_18_ADDR_LUP_2ndChgUp3 ( 0x00543859+2 )

#define GS_18_ADDR_DLUpPoint4 ( 0x005701F0+2 )
#define GS_18_ADDR_MgUpPoint4 ( 0x005701F0+2 )
#define GS_18_ADDR_GeneralUpPoint4 ( 0x00570213+2 )
#define GS_18_ADDR_LUP_2ndChgUp4 ( 0x00570249+2 )

// @@+10+11+12+13
#define GS_18_ADDR_CBmix10 ( 0x00496626+6 ) //50 DW
#define GS_18_ADDR_CBmix11 ( 0x00496651+6 ) //45 DW
#define GS_18_ADDR_CBmix12 ( 0x0049667C+6 ) //45 DW
#define GS_18_ADDR_CBmix13 ( 0x004966A7+6 ) //45 DW
#define GS_18_ADDR_CBmixMaxRate1 ( 0x004966E5+6 ) //75 B
#define GS_18_ADDR_CBmixMaxRate2 ( 0x004966F1+6 ) //75 DW

#define GS_18_ADDR_SoulWithLuckSuccessRate ( 0x004FE97C+3 ) //BYTE ( 0x46 70
#define GS_18_ADDR_SoulNoLuckSuccessRate ( 0x004FEA5B+3 ) //BYTE ( 0x37 = 55 100-55=45
#define GS_18_ADDR_LifeSuccessRate ( 0x004FF1EA+3 ) //BYTE ( 0x32 100-50=50


//Fix //memset( addr ,0xEB,1) <255 fix for 18
#define GS_18_ADDR_IsFixPotionNumber1 ( 0x0042970F+0 ) //warehouse FIX16
#define GS_18_ADDR_IsFixPotionNumber2 ( 0x004D304C+0 ) //inventory FIX16

#define GS_18_ADDR_HpRecoverPercent0 ( 0x0044D5CF+3 ) //default ( 0x0A 10
#define GS_18_ADDR_HpRecoverPercent1 ( 0x0044D5D8+3 ) //default ( 0x14 20
#define GS_18_ADDR_HpRecoverPercent2 ( 0x0044D5E1+3 ) //default ( 0x1E 30
#define GS_18_ADDR_HpRecoverPercent3 ( 0x0044D5EA+3 ) //default ( 0x28 40

//BYTE <100
#define GS_18_ADDR_MpRecoverPercent1 ( 0x0044D90B+2 ) //default ( 0x14 20
#define GS_18_ADDR_MpRecoverPercent2 ( 0x0044D943+2 ) //default ( 0x1E 30
#define GS_18_ADDR_MpRecoverPercent3 ( 0x0044D97B+2 ) //default ( 0x28 40

#define GS_18_ADDR_IsDelCharNonePassWord ( 0x00434524+0 ) //75 ->EB
#define GS_18_ADDR_IsDelGuildNonePassWord1 ( 0x0044521A+0 ) //NOp6 memset(a,0x90,6)
#define GS_18_ADDR_IsDelGuildNonePassWord2 ( 0x00445370+0 ) //Nop2 memset(a,0x90,2)

#define GS_18_ADDR_DwSoulBarrierA ( 0x004B9DEB+1 ) //default 50 0x32
#define GS_18_ADDR_DwSoulBarrierB ( 0x004B9E0B+1 ) //difault 200 0xC8
#define GS_18_ADDR_DwSoulBarrierC ( 0x004B9E40+1 ) //difault 40 dword
#define GS_18_ADDR_DwSoulBarrierMax1 ( 0x004B9E19+2 ) //default 50 byte 0-100 x
#define GS_18_ADDR_DwSoulBarrierMax2 ( 0x004B9E1E+1 ) // dword x

#define GS_18_ADDR_DkAddLifeSkillA ( 0x004B99DF+1 ) //Divisor
#define GS_18_ADDR_DkAddLifeSkillB ( 0x004B9A53+1 ) //Divisor
#define GS_18_ADDR_DkAddLifeSkillC ( 0x004B9B68+1 ) //Divisor
#define GS_18_ADDR_DkAddLifeSkillD ( 0x004B99FF+1 ) //Divisor

#define GS_18_ADDR_WingsRepairFixAddr1 ( 0x0043DD6B+0 )
#define GS_18_ADDR_WingsRepairFixAddr2 ( 0x0043DF5C+0 )







#define GS_18_ADDR_ExItemDropRate ( 0x0041B0F8+1 ) // µфВдЧїФЅОпЖ·±©ВК default 2000 dword
#define GS_18_ADDR_ExItemDropSkillRate ( 0x00419E0C+3 ) // µфВдЧїФЅОпЖ·ґшјјДЬёЕВК Default 100% dword
#define GS_18_ADDR_ExItemDropLuckRate ( 0x00419E13+3 ) // µфВдЧїФЅОпЖ·ґшРТФЛёЕВК default 1% dword
#define GS_18_ADDR_NormalItemDropSkillRate ( 0x00419E59+3 ) // µфВд·ЗЧїФЅОпЖ·ґшјјДЬёЕВК ·ЗЧїФЅ:6%јјДЬ dword
#define GS_18_ADDR_NormalItemDropLuckRate ( 0x00419E60+3 ) // µфВд·ЗЧїФЅОпЖ·ґшРТФЛёЕВК ·ЗЧїФЅ:4%РТФЛ dword


























#define GS_18_ADDR_TransformationRing1 ( 0x004BA5FB+3 ) // Д¬ИП; ( 0x02 УЧБъ
#define GS_18_ADDR_TransformationRing2 ( 0x004BA604+3 ) // Д¬ИП; ( 0x07 ѕЮИЛ
#define GS_18_ADDR_TransformationRing3 ( 0x004BA60D+3 ) // Д¬ИП; ( 0x0E чјчГ±ш
#define GS_18_ADDR_TransformationRing4 ( 0x004BA616+3 ) // Д¬ИП; ( 0x08 ¶ѕЕЈ№Ц
#define GS_18_ADDR_TransformationRing5 ( 0x004BA61F+3 ) // Д¬ИП; ( 0x09 ЛАБйОЧЋџ
#define GS_18_ADDR_TransformationRing6 ( 0x004BA628+3 ) // Д¬ИП; ( 0x29 ЕЈД§Нх

//ChaosCastle fix
#define GS_18_ADDR_CCRunPlayerLimit ( 0x005442F0+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)
#define GS_18_ADDR_CCReward1 ( 0x00547404+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)
#define GS_18_ADDR_CCReward2 ( 0x00547441+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)
#define GS_18_ADDR_CCReward3 ( 0x005474B7+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)
#define GS_18_ADDR_CCReward4 ( 0x005474F5+3 ) //Д¬ИПОЄ2 BYTE ИЎЦµ(1-100)

//Stats Fix
#define GS_18_ADDR_StrPoint1 ( 0x0044F25E+1 )
#define GS_18_ADDR_StrPoint2 ( 0x004D3672+1 )
#define GS_18_ADDR_StrPoint3 ( 0x00503B90+1 )
#define GS_18_ADDR_StrPoint4 ( 0x0053F199+1 )
#define GS_18_ADDR_StrPoint5 ( 0x0053F392+1 )
#define GS_18_ADDR_StrPoint6 ( 0x0053F5DB+1 )
#define GS_18_ADDR_StrPoint7 ( 0x00581A1A+1 )
#define GS_18_ADDR_StrPoint8 ( 0x00488297+1 )
#define GS_18_ADDR_StrPoint9 ( 0x004B1DB4+1 )
#define GS_18_ADDR_StrPoint10 ( 0x004B21A1+1 )
#define GS_18_ADDR_StrPoint11 ( 0x004B2209+1 )
#define GS_18_ADDR_StrPoint12 ( 0x004B2272+1 )
#define GS_18_ADDR_StrPoint13 ( 0x004B22C7+1 )
#define GS_18_ADDR_StrPoint14 ( 0x004B37E1+1 )
#define GS_18_ADDR_StrPoint15 ( 0x004B4A45+1 )
#define GS_18_ADDR_StrPoint16 ( 0x004B4AD7+1 )
#define GS_18_ADDR_StrPoint17 ( 0x004B53FF+1 )
#define GS_18_ADDR_StrPoint18 ( 0x004B6B61+1 )
#define GS_18_ADDR_StrPoint19 ( 0x004B6BFB+1 )
#define GS_18_ADDR_StrPoint20 ( 0x004C2A89+1 )
#define GS_18_ADDR_StrPoint21 ( 0x004C70A2+1 )
#define GS_18_ADDR_StrPoint22 ( 0x004C7A4C+1 )
#define GS_18_ADDR_StrPoint23 ( 0x004C7C33+1 )
#define GS_18_ADDR_StrPoint24 ( 0x004C940E+1 )
#define GS_18_ADDR_StrPoint25 ( 0x004D61F1+1 )
#define GS_18_ADDR_StrPoint26 ( 0x004E7D66+1 )
#define GS_18_ADDR_StrPoint27 ( 0x00502313+1 )
#define GS_18_ADDR_StrPoint28 ( 0x0050258D+1 )
#define GS_18_ADDR_StrPoint29 ( 0x0050277D+1 )

#define GS_18_ADDR_DexPoint1 ( 0x0044F2CB+1 )
#define GS_18_ADDR_DexPoint2 ( 0x004D3697+1 )
#define GS_18_ADDR_DexPoint3 ( 0x00503B51+1 )
#define GS_18_ADDR_DexPoint4 ( 0x0053F185+1 )
#define GS_18_ADDR_DexPoint5 ( 0x0053F37E+1 )
#define GS_18_ADDR_DexPoint6 ( 0x0053F5C7+1 )
#define GS_18_ADDR_DexPoint7 ( 0x00581A09+1 )
#define GS_18_ADDR_DexPoint8 ( 0x004B1DCD+1 )
#define GS_18_ADDR_DexPoint9 ( 0x004B21B5+1 )
#define GS_18_ADDR_DexPoint10 ( 0x004B221D+1 )
#define GS_18_ADDR_DexPoint11 ( 0x004B2286+1 )
#define GS_18_ADDR_DexPoint12 ( 0x004B22DB+1 )
#define GS_18_ADDR_DexPoint13 ( 0x004B6B41+1 )
#define GS_18_ADDR_DexPoint14 ( 0x004B6BDB+1 )
#define GS_18_ADDR_DexPoint15 ( 0x004B6E95+1 )
#define GS_18_ADDR_DexPoint16 ( 0x004B6ED8+1 )
#define GS_18_ADDR_DexPoint17 ( 0x004B6F11+1 )
#define GS_18_ADDR_DexPoint18 ( 0x004B6F51+1 )
#define GS_18_ADDR_DexPoint19 ( 0x004B6F90+1 )
#define GS_18_ADDR_DexPoint20 ( 0x004B6FC1+1 )
#define GS_18_ADDR_DexPoint21 ( 0x004B6FFC+1 )
#define GS_18_ADDR_DexPoint22 ( 0x004B7037+1 )
#define GS_18_ADDR_DexPoint23 ( 0x004B7072+1 )
#define GS_18_ADDR_DexPoint24 ( 0x004B70AD+1 )
#define GS_18_ADDR_DexPoint25 ( 0x004B9DD7+1 )
#define GS_18_ADDR_DexPoint26 ( 0x004C2AA2+1 )
#define GS_18_ADDR_DexPoint27 ( 0x004C706C+1 )
#define GS_18_ADDR_DexPoint28 ( 0x004C710E+1 )
#define GS_18_ADDR_DexPoint29 ( 0x004C7A91+1 )
#define GS_18_ADDR_DexPoint30 ( 0x004C7C49+1 )
#define GS_18_ADDR_DexPoint31 ( 0x004C9427+1 )
#define GS_18_ADDR_DexPoint32 ( 0x004CA9E5+1 )
#define GS_18_ADDR_DexPoint33 ( 0x004CAA28+1 )
#define GS_18_ADDR_DexPoint34 ( 0x004CAA61+1 )
#define GS_18_ADDR_DexPoint35 ( 0x004CAAA1+1 )
#define GS_18_ADDR_DexPoint36 ( 0x004CAAE0+1 )
#define GS_18_ADDR_DexPoint37 ( 0x004CAB11+1 )
#define GS_18_ADDR_DexPoint38 ( 0x004CAB4C+1 )
#define GS_18_ADDR_DexPoint39 ( 0x004CAB87+1 )
#define GS_18_ADDR_DexPoint40 ( 0x004CABC2+1 )
#define GS_18_ADDR_DexPoint41 ( 0x004CABFD+1 )
#define GS_18_ADDR_DexPoint42 ( 0x004D61E6+1 )
#define GS_18_ADDR_DexPoint43 ( 0x004E7D9E+1 )
#define GS_18_ADDR_DexPoint44 ( 0x0050231D+1 )
#define GS_18_ADDR_DexPoint45 ( 0x00502597+1 )
#define GS_18_ADDR_DexPoint46 ( 0x00502787+1 )

#define GS_18_ADDR_ViatalityPoint1 ( 0x004D36BC+1 )
#define GS_18_ADDR_ViatalityPoint2 ( 0x00503B0F+1 )
#define GS_18_ADDR_ViatalityPoint3 ( 0x0053F171+1 )
#define GS_18_ADDR_ViatalityPoint4 ( 0x0053F36A+1 )
#define GS_18_ADDR_ViatalityPoint5 ( 0x0053F5B3+1 )
#define GS_18_ADDR_ViatalityPoint6 ( 0x005819F8+1 )
#define GS_18_ADDR_ViatalityPoint7 ( 0x004B1DE6+1 )
#define GS_18_ADDR_ViatalityPoint8 ( 0x004B21C9+1 )
#define GS_18_ADDR_ViatalityPoint9 ( 0x004B2231+1 )
#define GS_18_ADDR_ViatalityPoint10 ( 0x004B229A+1 )
#define GS_18_ADDR_ViatalityPoint11 ( 0x004B22EF+1 )
#define GS_18_ADDR_ViatalityPoint12 ( 0x004B99CB+1 )
#define GS_18_ADDR_ViatalityPoint13 ( 0x004C2ABB+1 )
#define GS_18_ADDR_ViatalityPoint14 ( 0x004C7144+1 )
#define GS_18_ADDR_ViatalityPoint15 ( 0x004C7B51+1 )
#define GS_18_ADDR_ViatalityPoint16 ( 0x004C7C61+1 )
#define GS_18_ADDR_ViatalityPoint17 ( 0x004C9440+1 )
#define GS_18_ADDR_ViatalityPoint18 ( 0x004D47BC+1 )
#define GS_18_ADDR_ViatalityPoint19 ( 0x004D61DB+1 )
#define GS_18_ADDR_ViatalityPoint20 ( 0x004E7E0D+1 )
#define GS_18_ADDR_ViatalityPoint21 ( 0x00502329+1 )
#define GS_18_ADDR_ViatalityPoint22 ( 0x005025A3+1 )
#define GS_18_ADDR_ViatalityPoint23 ( 0x00502793+1 )
#define GS_18_ADDR_ViatalityPoint24 ( 0x0050441A+1 )
#define GS_18_ADDR_ViatalityPoint25 ( 0x0050443D+1 )
#define GS_18_ADDR_ViatalityPoint26 ( 0x00504460+1 )
#define GS_18_ADDR_ViatalityPoint27 ( 0x00504483+1 )

#define GS_18_ADDR_EnergyPoint1 ( 0x004D36E1+1 )
#define GS_18_ADDR_EnergyPoint2 ( 0x00503ACD+1 )
#define GS_18_ADDR_EnergyPoint3 ( 0x0053F15D+1 )
#define GS_18_ADDR_EnergyPoint4 ( 0x0053F356+1 )
#define GS_18_ADDR_EnergyPoint5 ( 0x0053F59F+1 )
#define GS_18_ADDR_EnergyPoint6 ( 0x005819E7+1 )
#define GS_18_ADDR_EnergyPoint7 ( 0x004B1DFF+1 )
#define GS_18_ADDR_EnergyPoint8 ( 0x004B21DD+1 )
#define GS_18_ADDR_EnergyPoint9 ( 0x004B2245+1 )
#define GS_18_ADDR_EnergyPoint10 ( 0x004B22AE+1 )
#define GS_18_ADDR_EnergyPoint11 ( 0x004B2303+1 )
#define GS_18_ADDR_EnergyPoint12 ( 0x004B2BDA+1 )
#define GS_18_ADDR_EnergyPoint13 ( 0x004B4AF7+1 )
#define GS_18_ADDR_EnergyPoint14 ( 0x004B99EB+1 )
#define GS_18_ADDR_EnergyPoint15 ( 0x004B9A15+1 )
#define GS_18_ADDR_EnergyPoint16 ( 0x004B9DF7+1 )
#define GS_18_ADDR_EnergyPoint17 ( 0x004B9E2C+1 )
#define GS_18_ADDR_EnergyPoint18 ( 0x004B9FA5+1 )
#define GS_18_ADDR_EnergyPoint19 ( 0x004BA236+1 )
#define GS_18_ADDR_EnergyPoint20 ( 0x004BA9F0+1 )
#define GS_18_ADDR_EnergyPoint21 ( 0x004BAB32+1 )
#define GS_18_ADDR_EnergyPoint22 ( 0x004BDC99+1 )
#define GS_18_ADDR_EnergyPoint23 ( 0x004BDCBC+1 )
#define GS_18_ADDR_EnergyPoint24 ( 0x004C2AD4+1 )
#define GS_18_ADDR_EnergyPoint25 ( 0x004C70D8+1 )
#define GS_18_ADDR_EnergyPoint26 ( 0x004C7AD6+1 )
#define GS_18_ADDR_EnergyPoint27 ( 0x004C7C79+1 )
#define GS_18_ADDR_EnergyPoint28 ( 0x004C9459+1 )
#define GS_18_ADDR_EnergyPoint29 ( 0x004D485B+1 )
#define GS_18_ADDR_EnergyPoint30 ( 0x004D61D0+1 )
#define GS_18_ADDR_EnergyPoint31 ( 0x004E7E37+1 )
#define GS_18_ADDR_EnergyPoint32 ( 0x004FD675+1 )
#define GS_18_ADDR_EnergyPoint33 ( 0x004FDB21+1 )
#define GS_18_ADDR_EnergyPoint34 ( 0x004FE0AC+1 )
#define GS_18_ADDR_EnergyPoint35 ( 0x00502335+1 )
#define GS_18_ADDR_EnergyPoint36 ( 0x005025AF+1 )
#define GS_18_ADDR_EnergyPoint37 ( 0x0050279F+1 )

//AttackSpeed-Defense-Etc
#define GS_18_ADDR_AttackDamageMin_Bow_StrDexDiv_Elf1 0x004C2BD3
#define GS_18_ADDR_AttackDamageMin_Bow_StrDexDiv_Elf2 0x004C2C02

#define GS_18_ADDR_AttackDamageMax_Bow_StrDexDiv_Elf1 0x004C2BEA
#define GS_18_ADDR_AttackDamageMax_Bow_StrDexDiv_Elf2 0x004C2C19

#define GS_18_ADDR_AttackDamageMin_NoBow_DexDiv_Elf1 0x004C2C33
#define GS_18_ADDR_AttackDamageMin_NoBow_DexDiv_Elf2 0x004C2C7B

#define GS_18_ADDR_AttackDamageMin_NoBow_StrDiv_Elf1 0x004C2C40
#define GS_18_ADDR_AttackDamageMin_NoBow_StrDiv_Elf2 0x004C2C88

#define GS_18_ADDR_AttackDamageMax_NoBow_Elf1 0x004C2C56
#define GS_18_ADDR_AttackDamageMax_NoBow_Elf2 0x004C2C9E

#define GS_18_ADDR_AttackDamageMin_DexStrDiv_Elf1 0x004C2CC8
#define GS_18_ADDR_AttackDamageMin_DexStrDiv_Elf2 0x004C2CF7

#define GS_18_ADDR_AttackDamageMax_DexStrDiv_Elf1 0x004C2D0E
#define GS_18_ADDR_AttackDamageMax_DexStrDiv_Elf2 0x004C2CDF

#define GS_18_ADDR_AttackDamageMin_StrDiv_DK1 0x004C2D39
#define GS_18_ADDR_AttackDamageMin_StrDiv_DK2 0x004C2D62

#define GS_18_ADDR_AttackDamageMax_StrDiv_DK1 0x004C2D4D
#define GS_18_ADDR_AttackDamageMax_StrDiv_DK2 0x004C2D76

#define GS_18_ADDR_AttackDamageMin_StrDiv_MG1 0x004C2DA5
#define GS_18_ADDR_AttackDamageMin_StrDiv_MG2 0x004C2DED

#define GS_18_ADDR_AttackDamageMin_EneDiv_MG1 0x004C2DB2
#define GS_18_ADDR_AttackDamageMin_EneDiv_MG2 0x004C2DFA

#define GS_18_ADDR_AttackDamageMax_StrDiv_MG1 0x004C2DC8
#define GS_18_ADDR_AttackDamageMax_StrDiv_MG2 0x004C2E10

#define GS_18_ADDR_AttackDamageMin_StrDiv_DL1 0x004C2E95
#define GS_18_ADDR_AttackDamageMin_StrDiv_DL2 0x004C2E4F

#define GS_18_ADDR_AttackDamageMin_EneDiv_DL1 0x004C2E5C
#define GS_18_ADDR_AttackDamageMin_EneDiv_DL2 0x004C2EA2

#define GS_18_ADDR_AttackDamageMax_StrDiv_DL1 0x004C2E72
#define GS_18_ADDR_AttackDamageMax_StrDiv_DL2 0x004C2EB8

#define GS_18_ADDR_AttackDamageMax_EneDiv_DL1 0x004C2E7F
#define GS_18_ADDR_AttackDamageMax_EneDiv_DL2 0x004C2EC5

#define GS_18_ADDR_AttackDamageMin_StrDiv_DWSU1 0x004C2EDD
#define GS_18_ADDR_AttackDamageMin_StrDiv_DWSU2 0x004C2F07

#define GS_18_ADDR_AttackDamageMax_StrDiv_DWSU1 0x004C2EF2
#define GS_18_ADDR_AttackDamageMax_StrDiv_DWSU2 0x004C2F1C

#define GS_18_ADDR_AttackSpeed_Elf1 ( 0x004C3436+1 ) //32
#define GS_18_ADDR_AttackSpeed_Elf2 ( 0x004C344A+1 ) //32
#define GS_18_ADDR_AttackSpeed_DK_MG1 ( 0x004C3485+1 ) //0F
#define GS_18_ADDR_AttackSpeed_DK_MG2 ( 0x004C3499+1 ) //14
#define GS_18_ADDR_AttackSpeed_DL1 ( 0x004C34C0+1 ) //0A
#define GS_18_ADDR_AttackSpeed_DL2 ( 0x004C34D4+1 ) //0A
#define GS_18_ADDR_AttackSpeed_DS1 ( 0x004C34EA+1 ) //14
#define GS_18_ADDR_AttackSpeed_DS2 ( 0x004C34FE+1 ) //0A

#define GS_18_ADDR_SuccessfulBlocking_Elf ( 0x004C3A5C+1 ) //default /4
#define GS_18_ADDR_SuccessfulBlocking_DS_DK_MG ( 0x004C3A84+1 ) // /3
#define GS_18_ADDR_SuccessfulBlocking_DL ( 0x004C3A9A+1 ) // /7

#define GS_18_ADDR_Defense_Elf ( 0x004C3EB5+1 ) // /0A
#define GS_18_ADDR_Defense_DK ( 0x004C3EDC+1 ) // /3
#define GS_18_ADDR_Defense_DL ( 0x004C3F03+1 ) // /7
#define GS_18_ADDR_Defense_DS_MG ( 0x004C3F19+1 ) // /4

#define GS_18_ADDR_ElfSoldierMaxLevel ( 0x00554DEF+1 ) // /4
#define GS_18_ADDR_DHDivisor ( 0x004C4092+1 ) // /4

#define GS_18_ADDR_ElfSummon_Mob1 ( 0x004B9022+1 )
#define GS_18_ADDR_ElfSummon_Mob2 ( 0x004B9053+1 )
#define GS_18_ADDR_ElfSummon_Mob3 ( 0x004B9084+1 )
#define GS_18_ADDR_ElfSummon_Mob4 ( 0x004B90B5+1 )
#define GS_18_ADDR_ElfSummon_Mob5 ( 0x004B90E6+1 )
#define GS_18_ADDR_ElfSummon_Mob6 ( 0x004B9117+1 )
#define GS_18_ADDR_ElfSummon_Mob7 ( 0x004B914B+1 )

//Halloween.cpp Offsets [Function Name + Var]
#define HallowFirst_AllowFreePK_Offset 0x0046E160

//InitConfig.cpp Offsets [Function Name + Var]
#define MaxLevelSkillTree_Call 0x004DC4B5
#define MaxLevelSkillTree_Allow 0x004DC51B
#define MaxLevelSkillTree_Return 0x004DC4BD

#define MaxLevelInit_LVL400_001 004DC4B7h
#define MaxLevelInit_LVL400_002 004C2115h
#define MaxLevelInit_LVL400_003 004C2195h
#define MaxLevelInit_LVL400_004 0041B84Ah
#define MaxLevelInit_LVL400_005 00521262h

#define MaxLevelInit_LVL400_006 005359ACh
#define MaxLevelInit_LVL400_007 005436DCh
#define MaxLevelInit_LVL400_008 005700CCh

#define CommonSkills_TwistingSlash_01 0043015Bh
#define CommonSkills_TwistingSlash_02 00430157h
#define CommonSkills_TwistingSlash_03 0x004FD024
#define GSMoreOptInit_AllianceMembers_Offset 0x457DEB+2
#define DkGreaterFortitudeInit_Offset_01 004B9A2Eh
#define DkGreaterFortitudeInit_Offset_02 004B9A2Fh
#define S3ItemRepair_Offset_01 0x0043DD6B

//WzAg.cpp Offsets [Function Name + Var]
#define SCF_GameMonsterAllAdd_Hook 0x005225F5
#define SCF_GameMonsterAllAdd_Exit 0x005225FA
#define WzAg_LogAddFuncColor_Var 0x00403CC9
#define WzAg_LogAddFunc_Var 0x004038E1
#define LogAddTD 0x635992C
#define GIOCP_Destroy_Addr 0x00402B9E
#define MonsterAIElement_FIX 0x0055DF9C
#define ChaosCardProbability 0x005264C5
#define AGInit_NameInGS 0x006BF098
#define AGInit_FIX_Z28_01 0x004294B8
#define AGInit_FIX_Z28_02 0x004D2E85
#define AGInit_FIX_Z28_03 0x00514EA4
#define AGInit_FIX_Z28_04 0x004FF1E7
#define AGInit_FIX_Z28_05 0x004D2E48
#define AGInit_FIX_PK_01 0x004B638A
#define AGInit_FIX_PK_02 0x004B665C
#define AGInit_FIX_PK_03 0x004B6687
#define AGInit_FIX_PK_DROP 0x004DECD0
#define AGInit_FIX_Move_Req_01 0x0051E7EF
#define AGInit_FIX_QUEST 0x00435A3B
#define AGInit_FIX_LOVE_REMEDY 0x00439352
#define AGInit_FIX_MONSTER_DIE 0x00414FA3
#define AGInit_FIX_380_OPTION 0x006C4B39
#define AGInit_FIX_LOGIN_DC 0x00430CB6
#define AGInit_HOOK_MyDataSend_01 0x00405340 //0040533F //jdatasend+1
#define AGInit_HOOK_MyDataRecv_01 0x00403315 //00403314 //jrecv+1
#define AGInit_HOOK_MonsterItemDrop_01 0x00404E4F
#define AGInit_HOOK_SetCharacter_01 0x004057EB
#define AGInit_HOOK_CharZeroSet_01 0x004016C3
#define AGInit_HOOK_SellRequestRecv_01 0x00403121
#define AGInit_HOOK_UseItemRecv_01 0x00401407
#define AGInit_HOOK_CharDel_01 0x00402C8F
#define AGInit_HOOK_LevelUpPointAdd_01 0x00403D33
#define AGInit_HOOK_UseSkill_SpeedHackCheck_01 0x00403E00
#define AGInit_HOOK_NpcAngelKing_01 0x00402695
#define AGInit_HOOK_PlayerLoginIn_01 0x00428797
#define AGInit_HOOK_NpcRecvTalk_01 0x0043BBD2
#define AGInit_HOOK_NpcRecvTalk_03 0x0043BC01
#define AGInit_HOOK_ShowGoldMSG_01 0x0046CE8E
#define AGInit_HOOK_MonsterDie_01 0x00414FA4
#define AGInit_HOOK_GetRequireClass_01 0x004FD734
#define AGInit_HOOK_InventoryItemMove_01 0x0040584F
#define AGInit_HACK_AttackSpeed_01 0043185Eh
#define AGInit_HACK_AttackSpeed_02 00431879h
#define AGInit_HACK_AttackSpeed_03 0043187Bh
#define FIRESCREAM_HACK_DC_FIX 0x0044BED3

#define AGInit_Gate_Move_Proc 004058F3h //JMP GameServ.gObjMoveGate [JMP 004FAAD0]
#define AGInit_Gate_Move_JMP 0x004FAAD0

#define AGInit_HOOK_UserDieSendZen_01 0x004F4F7A
#define UserDieSendZen_gObjViewportListProtocolCreate 0x00405560

//ChaosMachine.cpp
#define ChaosBoxCheckNewItems_ItemAllowed 0x004EA320
#define ChaosBoxCheckNewItems_Exit 0x004EA2E7

//ChaosSummonerWings.cpp
#define SummonerDefaultChaosMix_Exit 0x00498642
#define Summoner2ndLevelWingChaosMix_Success 0x00498028
#define Summoner2ndLevelWingChaosMix_Regular 0x00498028
#define Summoner1stLevelWingAdd_AllowMix 0x00497A3C
#define Summoner1stLevelWingAdd_AllowMixSum 0x00497B7F
#define Summoner1stLevelWingAdd_NextItem 0x00497A69
#define Summoner1stLevelWingSkip_AllowMix 0x004979CD
#define Summoner1stLevelWingSkip_NextItem 0x004979AE
#define Summoner_WingChaosMix_Offset ( 0x00497A35 )
#define Summoner_WingChaosMix_Allow ( 0x00497A3C )
#define Summoner_WingChaosMix_End ( 0x00497A69 )

//Commands.cpp
#define ChangeRingCommand_Ring_01 0x004BA5FB
#define ChangeRingCommand_Ring_02 0x004BA604
#define ChangeRingCommand_Ring_03 0x004BA60D
#define ChangeRingCommand_Ring_04 0x004BA616
#define ChangeRingCommand_Ring_05 0x004BA61F
#define ChangeRingCommand_Ring_06 0x004BA628

//JewelUseOnNewItem.cpp
#define EnableBless_Allow 0x004FE32F
#define EnableBless_End 0x004FE36C
#define EnableSoul_Allow 0x004FE875
#define EnableSoul_End 0x004FE8B2
#define EnableLife_Allow 0x004FF035
#define EnableLife_End 0x004FF072

//NewWingsFix.cpp
#define FixWingsLuck_Allow 0x0050F518
#define FixWingsLuck_End 0x0050F516
#define FixWingsOpt_Allow 0x0050F753
#define FixWingsOpt_End 0x0050F771
#define FlyToIcarus_Allow 0x004FB59B
#define FlyToIcarus_End 0x004FB54D
#define FlyToKanturu_Allow 0x004FB918
#define FlyToKanturu_End 0x004FB8CE
#define FlyToRefinedTower_Allow 0x005838E0
#define FlyToRefinedTower_End 0x0058384F

#define S3WingExc1Fix_End 0x0050F33A
#define S3WingExc1Fix_Allow 0x0050F2EF
#define S3WingExc2Fix_End 0x0050F54F
#define S3WingExc2Fix_Allow 0x0050F538
#define S3WingExc3Fix_End 0x0050F74A
#define S3WingExc3Fix_Allow 0x0050F715
#define S3WingExc4Fix_End 0x0050FA78
#define S3WingExc4Fix_Allow 0x0050FA43
#define S3WingExc5Fix_End 0x0050FEB5
#define S3WingExc5Fix_Allow 0x0050FDFE

//Maps.cpp
#define MapInit_Jump_Check 0x004DA66A
#define MapInit_Map_Quantity_01 0x00520204
#define MapInit_Map_Quantity_02 0x0052026F
#define MapInit_Map_Quantity_03 0x00521B44

#define MapInit_Skip_Att_Check 0x005212C1
#define MapInit_Att_Load 0x00521B64
#define MapInit_Att_CLOSE_Addr_00 0x40
#define MapInit_Att_CLOSE_Addr_01 0x81
#define MapInit_Att_CLOSE_Addr_02 0xC1
#define MapInit_Att_CLOSE_Addr_03 0xA8
#define MapInit_Att_CLOSE_Addr_04 0x2D
#define MapInit_Att_CLOSE_Addr_05 0x6C
#define MapInit_Att_CLOSE_Addr_06 0x00
#define MapInit_Att_CLOSE_Addr_07 0xEB
#define MapInit_Att_CLOSE_Addr_08 0x0A

#define MapInit_Att_PUSH_ECX 0x00521B77
#define MapInit_Final_JMP 0x0054ED09
#define MapInit_PUSH_MAPS_ARRAY_ADDR 00521B67h
#define MapInit_Map_Quantity_ASM_01 00521B41h
#define MapInit_Map_Quantity_ASM_02 00501591h
#define MapInit_Map_Quantity_ASM_03 005015BBh
#define MapInit_Map_Quantity_ASM_04 004F507Ch
#define MapInit_Map_Quantity_ASM_05 00501206h
#define MapInit_Map_Quantity_ASM_06 0048F72Fh
#define MapInit_Map_Quantity_ASM_07 004D3C58h
#define MapInit_Map_Quantity_ASM_08 00435958h
#define MapInit_Map_Quantity_ASM_09 0042A4D9h
#define MapInit_Map_Quantity_ASM_10 0054E440h

//MapServerManager.cpp
#define CheckMoveMapSvr_ENTRY 0x0054ED67
#define CheckMoveMapSvr_EXIT 0x0054ED6D
#define CheckMoveMapSvr_DONE 0x0054ED78

//Player3rdStats.cpp
#define LvlUp3rd ( 0x004DC5E4 )
#define LvlUp3rdEnd_Offset ( 0x004DC621 )
#define LvlUp3rdBC ( 0x00535B18 )
#define LvlUp3rdEndBC_Offset ( 0x00535B78 )
#define LvlUp3rdCC ( 0x00543848 )
#define LvlUp3rdEndCC_Offset ( 0x005438A8 )
#define LvlUp3rdCW ( 0x00570238 )
#define LvlUp3rdEndCW_Offset ( 0x00570298 )
#define ExperienceCalculationVar 0x9F485D8

//PlayerAccount.cpp
#define GetName_Offset 0x0660F0EB
#define GetUser_Offset 0x0660F0E0
#define SkinOpt_Offset_CALL 0x00405560

//PlayerInit.cpp
#define CharacterAddClasses_Allow 0x004D3AD0
#define CharacterAddClasses_Exit 0x004D3AD2
#define CharSetAddClasses_Exit 0x004EF3C5
#define CharSetAddWings_End 0x004EFEDE
#define CharSetAddWingsFenrirBlack_End 0x004EFF60
#define CharSetAddWingsFenrirBlue_End 0x004EFF8D
#define CharSetAddWingsFenrirRed_End 0x004EFF34
#define ScreenGoldenFenrir_Exit 0x00427416
#define SelectionScreen_Exit 0x00425A09
#define Summoner_FIX_gObjCalcCharacter_Offset ( 0x004C2D30 )
#define gObjCalcCharacter1_Allow ( 0x004C2D35 )
#define gObjCalcCharacter1_End ( 0x004C2D8C )

//PlayerItem.cpp
#define Check_ItemInInventory_EAX 0x0050E320

//PlayerSkill.cpp
#define Fix_Twisting_Slash_Offset 004032FBh

//SummonerInit.cpp
#define classdef__init_SUMMONER_Offset 0x004C16D6
#define gObjSetBP_JMP_Allow 0x004D3745
#define gObjSetBP_JMP_Summoner 0x004D3748

//SummonerSkill.cpp
#define SummonerLoadAllSkill_Allow 0x004FDBAF
#define SummonerLoadAllSkill_Exit 0x004FDB7D
#define SummonerEnableSkill_Allow 0x004B80F2
#define SummonerEnableSkill_Exit 0x004B80EE
#define SummonerUseSkill_Allow 0x004B8A26
#define SummonerUseSkill_AllowSummoner 0x00401D48
#define SummonerUseSkill_Exit 0x004B8A3A


#define SummonerUseSkill_AllowSummoner2 0x00403BF2//0x00403BBB
#define SummonerUseSkill_AllowSummoner3 0x004BD120


#define Offset_gObjTargetGuildWarCheck 0x00403CE2
#define Offset_gObjCalDistance 0x00401541
#define Offset__rand 0x00598354
#define Offset_gObjAddAttackProcMsgSendDelay 0x004048DB
#define Offset_GCMagicAttackNumberSend 0x00405290

//ServerGlobal.cpp
#define ShowGoldMSG_CALL_Offset 0x004057B3
#define SetORGetDrop_Offset 0x006E1890

#define GetConnectCount_Offset 0x0653DBF0
#define GetGsPort_Offset 0x0B1A23F0
#define GetSrvCode_Offset 0x09D847D4
#define GetIsgojAllDissconnect_Offset 0x0926B09C
#define GetTotalPlayer_Offset 0x0926B098
#define GetNumberOfMaxUser_Offset 0x00668040

//Player Die Hook
#define Dead_Offset_Fix_01 0x004F4C6B
#define PlayerDeadHook_Offset_End 0x004F4D03
#define PlayerDeadHook_Offset_DoMoveGate 0x004F4D40
#define PlayerDeadHook_Offset_Return 0x004F4C74

//Season3.cpp
#define IOCP_FIX_Hook 0x0048AABE
#define IOCP_FIX_Exit 0x0048AAC7
#define IOCP_FIX_JMP1 0x0048AAF9

#define CreateChar_Exit 0x004340F9
#define CreateChar_Allow 0x00434134
#define ModgObjSetCharacter_Allow 0x004D4B3B
#define ModgObjSetCharacter_ElseCase 0x004D4E84
#define MyModGameMainInit_CALL_01 0x0040384B
#define MyModGameMainInit_CALL_02 0x004011EF
#define MyModGameMainInit_ECX 9FD0AC8h
#define MyModGameMainInit_Exit 0x00521C96
#define MissCheckPvP_Mod1_Allow 0x004B6F41
#define MissCheckPvP_Mod1_End 0x004B6F70
#define MissCheckPvP_Mod2_Allow 0x004B7065
#define MissCheckPvP_Mod2_End 0x004B7090
#define Attack_Mod1_Allow 0x004B219E
#define Attack_Mod1_End 0x004B21F6
#define Attack_Mod2_Allow 0x004B248A
#define Attack_Mod2_End 0x004B24D8
#define Attack_Mod3_Allow 0x004B2AF3
#define Attack_Mod3_End 0x004B2AFD
#define Attack_Mod4_Allow 0x004B2B8D
#define Attack_Mod4_End 0x004B2B97
#define Season3_Init_Allow_Class_01 0x004F724B
#define Season3_Init_Allow_Class_02 0x004F8133
#define Season3_Init_Allow_Class_03 0x004F82DD
#define Season3_Init_Allow_Class_04 0x00512801
#define Season3_Init_Allow_Class_05 0x0048421C
#define UseOfSoulJewel_FIX_S3 0x004FE86D
#define UseOfBlessJewel_FIX_S3 0x004FE327
#define UseOfLifeJewel_FIX_S3 0x004FF02D
#define ChaosBoxCheckNewItems_Offset 0x004EA2E0
#define FlyToIcarus_S3_JMP_Offset 0x004FB547
#define FlyToKanturu_S3_JMP_Offset 0x004FB8C8
#define FlyToRefinedTower_S3_JMP_Offset 0x00583849
#define FixWingsLuck_S3_JMP_Offset 0x0050F50F
#define FixWingsOpt_S3_JMP_Offset 0x0050F74A

#define S3WingExc1Fix_Offset 0x0050F2E6
#define S3WingExc2Fix_Offset 0x0050F52F
#define S3WingExc3Fix_Offset 0x0050F70C
#define S3WingExc4Fix_Offset 0x0050FA3A
#define S3WingExc5Fix_Offset 0x0050FDF1

#define gObjSelectionScreenPets_JMP 0x004273BE
#define gObjSelectionScreenPets_Fernir 0x004273C7
#define gObjSelectionScreenPets_Exit 0x00427461

#define ScreenGoldenFenrir_S3_JMP 0x00427410
#define CharSetAddClasses_S3_JMP 0x004EF3BF
#define AddClasses_S3_JMP 0x004D3ACB
#define j_CItem__IsFenrirIncLastAttackDamage 0x004062D0
#define j_CItem__IsFenrirDecLastAttackDamage 0x00401497
#define CharSetAddWings_S3_JMP 0x004EFED8
#define CharSetAddWingsFenrirBlack_S3_JMP 0x004EFF5A
#define CharSetAddWingsFenrirBlue_S3_JMP 0x004EFF87
#define CharSetAddWingsFenrirRed_S3_JMP 0x004EFF1A
#define SelectionScreen_S3_JMP 0x004259FA
#define FixWingsSelectScreen_ASM_Offset_01 00427001h
#define FixWingsSelectScreen_ASM_Offset_02 00426FFCh
#define FixWingsSelectScreen_ASM_Offset_03 004273A4h
#define Summoner_ASM_Allow_Offset 005127B4h
#define Summoner_Items_Allow_Offset 0x005127BA
#define Summoner_Skills_Allow_Offset 0x004841C3
#define Summoner_FIX_JGPGetCharList_01 0x004258E7
#define Summoner_FIX_CGTeleportRecv_02 0x0044B41E
#define Summoner_FIX_CGTeleportRecv_03 0x0044B6B1
#define Summoner_FIX_CGTeleportRecv_04 0x0044B6CC
#define Summoner_FIX_CGTeleportRecv_05 0x0044B739
#define Summoner_FIX_GetDefPoint_06 0x004C1C82
#define Summoner_FIX_classdef_07 0x004C14C1
#define Summoner_JMP_CreateChar_Offset 0x004340F4
#define Summoner_JMP_SetCharacter_Offset 0x004D4B32
#define Summoner_JMP_LoadAllSkill_Offset 0x004FDB76
#define Summoner_JMP_EnableSkill_Offset 0x004B80E9
#define Summoner_JMP_UseSkill_Offset 0x004B8A21
#define Summoner_JMP_StaminaBar_Offset 0x004D373B
#define Summoner_JMP_HPCalculation_Offset 0x00405C0E
#define Summoner_NOP_Overflow_Offset 0x00521BCB
#define Summoner_JMP_GameMainInit_Offset 0x00521C91
#define Summoner_JMP_1stWingMix_AddOneMore 0x00498606
#define Summoner_JMP_1stWingMix_Offset 0x00498635
#define Summoner_JMP_2ndWingMix_Offset 0x00498021
#define Summoner_JMP_1stLevelWingAdd_Offset 0x00497A35
#define Summoner_JMP_1stLevelWingSkip_Offset 0x004979A6
#define Summoner_FIX_TeleportMove_01 0x0044B420
#define Summoner_FIX_TeleportMove_02 0x0044B424
#define Summoner_FIX_DevilSquare_01 0x004655AF
#define Summoner_FIX_DevilSquare_02 0x0046747C
#define Summoner_JMP_MissCheckPvP_Mod1_Offset 0x004B6F3C
#define Summoner_JMP_MissCheckPvP_Mod2_Offset 0x004B7060
#define Summoner_JMP_Attack_Mod1_Offset 0x004B2199
#define Summoner_JMP_Attack_Mod2_Offset 0x004B2485
#define Summoner_JMP_Attack_Mod3_Offset 0x004B2AEE
#define Summoner_JMP_Attack_Mod4_Offset 0x004B2B88

#define CDarkSpirit__MissCheckPvP1_Allow 0x004CAA91
#define CDarkSpirit__MissCheckPvP1_End 0x004CAAC0
#define CDarkSpirit__MissCheckPvP2_Allow 0x004CABB5
#define CDarkSpirit__MissCheckPvP2_End 0x004CABE0
#define Summoner_JMP_CDarkSpirit__MissCheckPvP_Offset1 0x004CAA8C
#define Summoner_JMP_CDarkSpirit__MissCheckPvP_Offset2 0x004CABB0

#define Summoner_FIX_IsGate_MaxSize_Offset 0x0052FD52
#define Summoner_FIX_classdef__GetDefPoint ( 0x004C1C82+3 ) //default /4
#define Fruits_FIX ( 0x005031E2 )
#define Fruits_FIX2 ( 0x00503067 + 2 )
#define Fruits_FIX3 ( 0x00503927 + 2 )
#define gObjDelMAPFIX ( 0x004D9AA1+2 )
#define Summoner_FIX_CObjAttack__GetAttackDamage1 ( 0x004B47C9 )
#define Summoner_FIX_CObjAttack__GetAttackDamage2 ( 0x004B4AD2 )

#define PlayerKillerHook__Offset ( 0x004DE164 )
#define PlayerKillerHook__Goto ( 0x004DE172 )
#define PlayerKillerHook__Cmp ( 0x09F46B80 )
#define PlayerKillerHook__Exit ( 0x004DE490 )

#define Exp_Limit_Offset ( 0x00521283 + 3)
[свернуть]


это тебе нужно писать что за зборка у тебя и спрашивать на форуме.
таких серверов не много, но они переписаны много раз.

Сервер MuArena ТЫЦ сколько не искал все ровно не решыл проблему .

RedDawn

#22
Цитата: Молдованен от 2012 Сен. 02, 11:26  Сервер MuArena ТЫЦ сколько не искал все ровно не решыл проблему .


Обратись к программистам и они тебе все сделают что тебе надо.
Ну не бесплатно.

Liders

А форум тогда зачем ?
Что бы посылать до программистов?

PRO100CKOPOCT6

Напишыте в скайп muonlinetech за небольшую плату сделаю Вам чексум практически на любую сборку кроме редлана, там сервер корявый.

Молдованен

#25
GS 1.00.18 от SCF . В commonserver.cfg USENPGGChecksum =1   , после входа в игру  проходят 30 секунд в сервере выбивает

Цитировать[NPgg] Send Checksum Time Out 'accountname' 'charname

и дисконектит , в чём проблема , кто сталкивался , решаемо?
Checksum закинул в lang/kor всё сделал как положено

Похожие темы (5)