Offset для GS 1.00.18, 1.00.16: как изменить дроп и цену камней в MU Online?

Автор Ales, 2009 Июнь 08, 16:39

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

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

Ключевые слова [SEO] mu onlineкамнисоулoffset для gs 1.00.181.00.16магииблеслайфкреатинхаусэкселент вещей

Ales

Может кто поделиться Offset для GS 1.00.18, 1.00.16? Особо интересуют офффсеты с помощью которых можно изменять дроп, стоимость их при продаже в магазине:
камней(блес, сол, лайф, креатин, хаус)
магий
экселент весчи
Также интересует как эти настройки можно вывести в ini файл?

Simp1e

учи ASM для того чтоб наити оффсеты и С++ для того чтоб создать конфиг

Ales

Вот кое что есть:
0x00510B13 - Jewel of Bless
0x00510B34 - Jewel of Soul
0x00510B56 - Jewel of Chaos
0x00510B78 - Jewel of Life
0x00510B99 - Jewel of Creation
0x00510C77 - Jewel of Bless
0x0041B0F8 - Процент выпадения Excellent вещей.
Если ктонебуть знает что есчо делитесь информацией.

Simp1e

#3
надо камуто сорс на исправление цены камней и дроп в БС с архангела

Спойлер
configs.cpp
#include "offsets.h"
#include <string.h>
#include <windows.h>

extern "C" __declspec(dllexport) void Config();
bool BcDropIni (char * ini)
{
BYTE Bc;
Bc = GetPrivateProfileInt("Configs","BCItemDropID",15,ini);
*(unsigned char *) GS_BC_DROP_ID = Bc;

Bc = GetPrivateProfileInt("Configs","BCItemDropGroop",12,ini);
*(unsigned char *) GS_BC_DROP_GROUP = Bc ;
return 1;}
//Jewel Price
bool JewelPrice (char * ini)
{
DWORD zen;
zen = GetPrivateProfileInt("Configs","BlessPrice",6000000,ini);
*(unsigned int*) GS_BLESS_PRICE = zen;
zen = GetPrivateProfileInt("Configs","SoulPrice",9000000,ini);
*(unsigned int*) GS_SOUL_PRICE = zen;
zen = GetPrivateProfileInt("Configs","ChaosPrice",810000,ini);
*(unsigned int*) GS_CHAOS_PRICE = zen;
zen = GetPrivateProfileInt("Configs","CreationPrice",36000000,ini);
*(unsigned int*) GS_CREATION_PRICE = zen;
zen = GetPrivateProfileInt("Configs","LifePrice",45000000,ini);
*(unsigned int*) GS_LIFE_PRICE = zen;
zen = GetPrivateProfileInt("Configs","GuardianPrice",60000000,ini);
*(unsigned int*) GS_GUARDIAN_PRICE = zen;

return 1;
}




bool IniciaIni()
{
//char a [255];
char aini[] = ".\data\MMOTeam.ini" ;
bool rResultado;
rResultado = BcDropIni ( aini );
rResultado = JewelPrice ( aini );
return 1;
}
void Config()
{
DWORD OldProtect;
LPVOID IpAddress = (LPVOID)0x00401000;
if           (              VirtualProtect
(IpAddress,0x246000,PAGE_EXECUTE_READWRITE,&OldProtect))
{
//sprintf(a, "DLL Success Connected");
//LogAdd(3 , a);//
MessageBox(NULL,      "MMOTeam.dll    Connecting ....","DLL Success Conected",MB_OK);
if(!ProcuraArquivo(aini))
{
MessageBox(NULL,"DLL Note Connected!.Pliz Chenge Connection!","MMOTTeam.ini",NULL);
::ExitProcess(0);
}
bool inicio ;
inicio= IniciaIni() ;
}
}
[свернуть]
Спойлер
offsets.h
#ifndef _DLL_H_
#define _DLL_H_
#include <stdio.h>
// extern "C" __declspec(dllexport) void Config();
#endif
#define GS_BC_DROP_ID   (0x00531A98+1)
#define GS_BC_DROP_GROUP (0x00531A9A+1)

//JewelPrice
#define GS_BLESS_PRICE    (0x00508446)
#define GS_SOUL_PRICE     (0x00508467)
#define GS_CHAOS_PRICE    (0x00509489)
#define GS_CREATION_PRICE (0x005084CC)
#define GS_LIFE_PRICE     (0x005084AB)
#define GS_GUARDIAN_PRICE (0x005085AA)




#define LogAdd ((void(*) (BYTE,char*,...))0x00403C01)
char aini[] = ".\data\MMOTeam.ini" ;
int ProcuraArquivo(char* Arquivo)
{
FILE *fp;

fp=fopen(Arquivo,"rb");
if (fp==0)
{
return 0;
}
else
{
fclose(fp);
return 1;
}
}
[свернуть]
Спойлер
Config File

//Bc Item Drop
BCItemDropID    = 15  ; Default - Item 15
BcItemDropGrupo = 12  ; Default - Group 12

//Jewel Price
BlessPrice    = 10
SoulPrice     = 20
ChaosPrice    = 30
CreationPrice = 40
LifePrice     = 50
GuardianPrice = 60

[свернуть]

0x004303FB - DISABLE PARTY
0x00513E5C - Fix set Price
0x00513E1C - Defense success rate
0x00513F7C -WEAPON SPEED FIX (7=+7 Attack spped)
0x00513D9C - Minus % of injury
0x00513D1C -add 28 FIX
0x00513D5C - Magic Option
0x00513EBD - Excellent attack rate.
0x00513DDC - Attack reflection
0x00514072 -  Chaos MIX ( WING MIX ) percentage  (3=3%)
0x004C429F - ANGEL GIVE USER HP (32=50) hp in sek
0x0042B0F1 - PotBugFix01
0x004E4D1B -PotBugFix02
0x004E4EBA - PotBugFix03
0x00437564 - CharDelIDBypass
0x004483FD - GuildDelIDBypass
0x004C7FD1 - PKBugFix01
0x004C82AC - PKBugFix02
0x004C82E6 - PKBugFix03
0x00529CB4 - Item28_02
0x00512CD7 - Item28_03
0x004E4B55 - Item28_04
0x004F5F1A - FixPartyZen


This offsets GameServer 1.00.18 - 1.00.19
Не забудьте спасибо =)

Simp1e

Вот вам Оффсеты для геймсервера 1.00.18 для Season 4
GS_RING1 0x004BA5FB  
GS_RING2 0x004BA604  
GS_RING3 0x004BA60D  
GS_RING4 0x004BA616  
GS_RING5 0x004BA61F  
GS_RING6 0x004BA628  

GS_ORB0 0x004B9022
GS_ORB1 0x004B9053
GS_ORB2 0x004B9084
GS_ORB3 0x004B90B5
GS_ORB4 0x004B90E6
GS_ORB5 0x004B9117
GS_ORB6 0x004B914B

GS_BLESS_PRICE      0x00510B13
GS_SOUL_PRICE      0x00510B34
GS_CHAOS_PRICE      0x00510B56
GS_LIFE_PRICE              0x00510B78
GS_CREATION_PRICE   0x00510B99
GS_GUARDIAN_PRICE   0x00510C77

GS_CCPLAYER         0x005442F0

GS_ELF_SOLDIER      0x00554DEF   
GS_GUILDALLIANCE           0x00457DEB
GS_UDP_PORT         0x0052112F   
GS_LVL_UP_DL              0x004DC58C      
GS_LVL_UP_MG                   0x004DC5B4      
GS_LVL_UP_NORMAL          0x004DC5CB   
GS_MAX_ZEN         0x005050A5   
GS_MAX_ZEN1         0x00447986   
GS_MAX_ZEN2         0x00447A7C   
GS_MAX_ZEN3         0x004479B2
GS_Max_Level2              0x00521262   
GS_MAX_LEVEL1      0x004C2112      
GS_MAX_LEVEL2      0x004DC4B5   
GS_MAX_LEVEL3      0x005359AB   
GS_MAX_LEVEL4      0x005436DB      
GS_MAX_LEVEL5      0x005700CB      
GS_SOUL_RATE                 0x004FEA5B      
GS_SOUL_LUCK_RATE   0x004FE97C      
GS_LIFE_RATE              0x004FF1EA      
GS_BC_DROP_ID      0x0053A1E8   
GS_BC_DROP_GROUP   0x0053A1EA   
GS_EXC_DROP_RATE          0x0041B0F8
GS_EXC_SKILL_RATE          0x0041B44C
GS_EXC_LUCK_RATE          0x0041B456
GS_SKILL_RATE             0x0041B4A5      
GS_LUCK_RATE             0x0041B4AF   
GS_CHAOS_MIX_10          0x0049662C      
GS_CHAOS_MIX_11      0x00496657      
GS_CHAOS_MIX_12      0x00496682   
GS_CHAOS_MIX_13      0x004966AD   
GS_DARK_HORSE      0x00499D69   
GS_DARK_HORSE_PRICE   0x00499D88
GS_DARK_SPIRIT      0x0049A46A   
GS_DARK_SPIRIT_PRICE  0x0049A489   

все что покамись нашел

Ales

Цитата: G.G.Akaruz от 2009 Июнь 19, 09:02  Вот вам Оффсеты для геймсервера 1.00.18 для Season 4
GS_RING1 0x004BA5FB
GS_RING2 0x004BA604
GS_RING3 0x004BA60D
GS_RING4 0x004BA616
GS_RING5 0x004BA61F
GS_RING6 0x004BA628

GS_ORB0 0x004B9022
GS_ORB1 0x004B9053
GS_ORB2 0x004B9084
GS_ORB3 0x004B90B5
GS_ORB4 0x004B90E6
GS_ORB5 0x004B9117
GS_ORB6 0x004B914B

GS_BLESS_PRICE      0x00510B13
GS_SOUL_PRICE      0x00510B34
GS_CHAOS_PRICE      0x00510B56
GS_LIFE_PRICE              0x00510B78
GS_CREATION_PRICE   0x00510B99
GS_GUARDIAN_PRICE   0x00510C77

GS_CCPLAYER         0x005442F0

GS_ELF_SOLDIER      0x00554DEF
GS_GUILDALLIANCE           0x00457DEB
GS_UDP_PORT         0x0052112F
GS_LVL_UP_DL              0x004DC58C
GS_LVL_UP_MG                   0x004DC5B4
GS_LVL_UP_NORMAL          0x004DC5CB
GS_MAX_ZEN         0x005050A5
GS_MAX_ZEN1         0x00447986
GS_MAX_ZEN2         0x00447A7C
GS_MAX_ZEN3         0x004479B2
GS_Max_Level2              0x00521262
GS_MAX_LEVEL1      0x004C2112
GS_MAX_LEVEL2      0x004DC4B5
GS_MAX_LEVEL3      0x005359AB
GS_MAX_LEVEL4      0x005436DB
GS_MAX_LEVEL5      0x005700CB
GS_SOUL_RATE                 0x004FEA5B
GS_SOUL_LUCK_RATE   0x004FE97C
GS_LIFE_RATE              0x004FF1EA
GS_BC_DROP_ID      0x0053A1E8
GS_BC_DROP_GROUP   0x0053A1EA
GS_EXC_DROP_RATE          0x0041B0F8
GS_EXC_SKILL_RATE          0x0041B44C
GS_EXC_LUCK_RATE          0x0041B456
GS_SKILL_RATE             0x0041B4A5
GS_LUCK_RATE             0x0041B4AF
GS_CHAOS_MIX_10          0x0049662C
GS_CHAOS_MIX_11      0x00496657
GS_CHAOS_MIX_12      0x00496682
GS_CHAOS_MIX_13      0x004966AD
GS_DARK_HORSE      0x00499D69
GS_DARK_HORSE_PRICE   0x00499D88
GS_DARK_SPIRIT      0x0049A46A
GS_DARK_SPIRIT_PRICE  0x0049A489

все что покамись нашел
Ты вроде хотел делать сервер с GS 1.00.18.  Может подскажешь мне офсеты на GS 1.00.18 S3E1 с подошью которым можно править дроп блес, сол, лайф, креатин, хаус. Также буду рад и ответам от других.

Killbrum

Спасибо =) почитал =) думаю мне поможет.

Но что то я не понял смысла этой замысловатой фразы...

#ifndef _DLL_H_
#define _DLL_H_
#include <stdio.h>
// extern "C" __declspec(dllexport) void Config();
#endif

о_О зачем? ))) зачем директива ДЛЛ_Н ? О_о темболее если она не используется нигде...

Killbrum

Цитата: G.G.Akaruz от 2009 Июнь 11, 11:00  надо камуто сорс на исправление цены камней и дроп в БС с архангела

Спойлер
configs.cpp
#include "offsets.h"
#include <string.h>
#include <windows.h>

extern "C" __declspec(dllexport) void Config();
bool BcDropIni (char * ini)
{
BYTE Bc;
Bc = GetPrivateProfileInt("Configs","BCItemDropID",15,ini);
*(unsigned char *) GS_BC_DROP_ID = Bc;

Bc = GetPrivateProfileInt("Configs","BCItemDropGroop",12,ini);
*(unsigned char *) GS_BC_DROP_GROUP = Bc ;
return 1;}
//Jewel Price
bool JewelPrice (char * ini)
{
DWORD zen;
zen = GetPrivateProfileInt("Configs","BlessPrice",6000000,ini);
*(unsigned int*) GS_BLESS_PRICE = zen;
zen = GetPrivateProfileInt("Configs","SoulPrice",9000000,ini);
*(unsigned int*) GS_SOUL_PRICE = zen;
zen = GetPrivateProfileInt("Configs","ChaosPrice",810000,ini);
*(unsigned int*) GS_CHAOS_PRICE = zen;
zen = GetPrivateProfileInt("Configs","CreationPrice",36000000,ini);
*(unsigned int*) GS_CREATION_PRICE = zen;
zen = GetPrivateProfileInt("Configs","LifePrice",45000000,ini);
*(unsigned int*) GS_LIFE_PRICE = zen;
zen = GetPrivateProfileInt("Configs","GuardianPrice",60000000,ini);
*(unsigned int*) GS_GUARDIAN_PRICE = zen;

return 1;
}




bool IniciaIni()
{
//char a [255];
char aini[] = ".\data\MMOTeam.ini" ;
bool rResultado;
rResultado = BcDropIni ( aini );
rResultado = JewelPrice ( aini );
return 1;
}
void Config()
{
DWORD OldProtect;
LPVOID IpAddress = (LPVOID)0x00401000;
if           (              VirtualProtect
(IpAddress,0x246000,PAGE_EXECUTE_READWRITE,&OldProtect))
{
//sprintf(a, "DLL Success Connected");
//LogAdd(3 , a);//
MessageBox(NULL,      "MMOTeam.dll    Connecting ....","DLL Success Conected",MB_OK);
if(!ProcuraArquivo(aini))
{
MessageBox(NULL,"DLL Note Connected!.Pliz Chenge Connection!","MMOTTeam.ini",NULL);
::ExitProcess(0);
}
bool inicio ;
inicio= IniciaIni() ;
}
}
[свернуть]
Спойлер
offsets.h
#ifndef _DLL_H_
#define _DLL_H_
#include <stdio.h>
// extern "C" __declspec(dllexport) void Config();
#endif
#define GS_BC_DROP_ID   (0x00531A98+1)
#define GS_BC_DROP_GROUP (0x00531A9A+1)

//JewelPrice
#define GS_BLESS_PRICE    (0x00508446)
#define GS_SOUL_PRICE     (0x00508467)
#define GS_CHAOS_PRICE    (0x00509489)
#define GS_CREATION_PRICE (0x005084CC)
#define GS_LIFE_PRICE     (0x005084AB)
#define GS_GUARDIAN_PRICE (0x005085AA)




#define LogAdd ((void(*) (BYTE,char*,...))0x00403C01)
char aini[] = ".\data\MMOTeam.ini" ;
int ProcuraArquivo(char* Arquivo)
{
FILE *fp;

fp=fopen(Arquivo,"rb");
if (fp==0)
{
return 0;
}
else
{
fclose(fp);
return 1;
}
}
[свернуть]
Спойлер
Config File

//Bc Item Drop
BCItemDropID    = 15  ; Default - Item 15
BcItemDropGrupo = 12  ; Default - Group 12

//Jewel Price
BlessPrice    = 10
SoulPrice     = 20
ChaosPrice    = 30
CreationPrice = 40
LifePrice     = 50
GuardianPrice = 60

[свернуть]

0x004303FB - DISABLE PARTY
0x00513E5C - Fix set Price
0x00513E1C - Defense success rate
0x00513F7C -WEAPON SPEED FIX (7=+7 Attack spped)
0x00513D9C - Minus % of injury
0x00513D1C -add 28 FIX
0x00513D5C - Magic Option
0x00513EBD - Excellent attack rate.
0x00513DDC - Attack reflection
0x00514072 -  Chaos MIX ( WING MIX ) percentage  (3=3%)
0x004C429F - ANGEL GIVE USER HP (32=50) hp in sek
0x0042B0F1 - PotBugFix01
0x004E4D1B -PotBugFix02
0x004E4EBA - PotBugFix03
0x00437564 - CharDelIDBypass
0x004483FD - GuildDelIDBypass
0x004C7FD1 - PKBugFix01
0x004C82AC - PKBugFix02
0x004C82E6 - PKBugFix03
0x00529CB4 - Item28_02
0x00512CD7 - Item28_03
0x004E4B55 - Item28_04
0x004F5F1A - FixPartyZen


This offsets GameServer 1.00.18 - 1.00.19
Не забудьте спасибо =)
Один вопрос...
0x00513EBD - Excellent attack rate.
0x00513E1C - Defense success rate
Это что? То есть с етими оффсетами я изменяю 10% Екселент аттак рейт (или сколько то там..) ?

0x00513E5C - Fix set Price
Это что ввообще? оО

0x00513D5C - Magic Option
и это?...

0x00513DDC - Attack reflection
Этим я что изменяю? Рефлект на шмотках?

0x00513D9C - Minus % of injury
Этот что делает?

Вроде всё ^_^

Drednout

может оффсеты и для mana shield найдутся ?


Fantazy

Цитата: Drednout от 2010 Янв. 19, 16:35  может оффсеты и для mana shield найдутся ?

//------Manna Shield-----------
#define GS_MS_AGI (0x004B9DEB+1)
#define GS_MS_ENE (0x004B9E0B+1)
#define GS_MS_DIV (0x004B9E36+1)
//-----------------------------

Rev[]luti0

#10
Поделитесь пожалуйста кто то "оффсетами" для ГС-а 1.00.18 на изменение цен в магазине на "Dark Horse Spirit" и "Dark Reaven Spirit" а то стоят 10кк/5кк.

Ну вот для начала вам пару оффсетов )
Спойлер
//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)
[свернуть]

NemO

#11
народ помогите пожалуйста с оффсетами 1.00.18 на defense,dmg,rate,etc, баф у бк и крит у ДЛа  и объясните плз куда их вписывать


NexT

Цитата: NemO от 2012 Окт. 05, 14:56  народ помогите пожалуйста с оффсетами 1.00.18 на defense,dmg,rate,etc, баф у бк и крит у ДЛа :please: и объясните плз куда их вписывать
ну сам ты не сделаешь, лучше программисту денежку заплати и не парься

NemO

#13
Цитата: Androjd123 от 2012 Окт. 05, 14:59  ну сам ты не сделаешь, лучше программисту денежку заплати и не парься
Может быть, но все же я попробую, а вдруг :trollface: ,это делается через Ольку???прошу просто намекнуть как это сделать

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