Jump to content

kainbr3

Members
  • Posts

    7
  • Joined

  • Last visited

Posts posted by kainbr3

  1. It's WORKING! I can't belive, but it's finally working thanks to user ossi0110 ( http://http://rathena.org/board/user/1117-ossi0110/)

    Who helped me a lot this afternoon (here is Brazil, GTM -3) until now (19:40 PM).

    He spent a lot of time helping me to find the problems and fix then.

    God bless him, because we dont a lot of people who has his goodwill to help like him.

    Cheers to ossi0110 \o/

    Cheers to ossi0110 \o/

    • Upvote 1
  2. [info]: clif_parse: Disconnecting session #3 with unknown packet version (p:0x46
    4d,l:19).

    Im using 2012-04-10aRagexeRE client. patched with ShinsDiffPatcher.

    My packetversion in mmo.h is set to 20120410

    clientinfo packetver is set to 30

    packet_db contains packer_ver 30 - packets for 2012-04-10 client. it is included in resent svn rathena version.

    WAN/lan settings are correct.

    found similar topics but still cannot fix the problem

    Hello Guys, I'm new here, but i'm older from RO servers from Vidar and Athena (when the forum was eathena.ws :D) and i'm having the same problem here.

    Same hexed, packet_db.txt confs, same values in mmo.h and still not working o.O

    Here we go:

    PS: Trying to Run Offline only under localhost (127.0.0.1)

    My rAthena Server Version: 16797 (downloaded 3 days ago)

    My Files:

    clientinfo.xml:

    <?xml version="1.0" encoding="euc-kr" ?>
    <clientinfo>
    <servicetype>korea</servicetype>
    <servertype>sakray</servertype>
    <connection>
     <display>KainRO Test Server</display>
     <desc>ThiagoKain's RO Server</desc>
     <balloon>bla bla bla</balloon>
     <address>127.0.0.1</address>
     <port>6900</port>
     <version>25</version>
     <langtype>1</langtype>
     <registrationweb>https://www.google.com.br/#hl=pt-BR&safe=off&tbo=d&sclient=psy-ab&q=thiagokain&oq=thiagokain&gs_l=hp.3..0i13j0i13i30j0i13i10i30j0i13i30.371.2578.0.2805.10.9.0.1.1.0.453.2287.2-6j1j1.8.0...0.0...1c.1.ysCAOEfu2-g&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&bvm=bv.1355534169,d.eWU&fp=fe445338dff20956&bpcl=40096503&biw=944&bih=951</registrationweb>
     <yellow>
      <admin>2000000</admin>
      <admin>2000001</admin>
      <admin>2000002</admin>
      <admin>2000003</admin>
      <admin>2000004</admin>
     </yellow>
     <loading>
      <image>loadingscreen01.jpg</image>
     </loading>
    </connection>
    </clientinfo>
    

    clif.h

    // Copyright (c) Athena Dev Teams - Licensed under GNU GPL
    // For more information, see LICENCE in the main folder
    #ifndef _CLIF_H_
    #define _CLIF_H_
    #include "../common/cbasetypes.h"
    //#include "../common/mmo.h"
    struct item;
    struct storage_data;
    struct guild_storage;
    //#include "map.h"
    struct block_list;
    struct unit_data;
    struct map_session_data;
    struct homun_data;
    struct pet_data;
    struct mob_data;
    struct npc_data;
    struct chat_data;
    struct flooritem_data;
    struct skill_unit;
    struct s_vending;
    struct party;
    struct party_data;
    struct guild;
    struct battleground_data;
    struct quest;
    struct party_booking_ad_info;
    #include <stdarg.h>
    enum
    {// packet DB
    MAX_PACKET_DB  = 0xA00,
    MAX_PACKET_VER = 30,
    MAX_PACKET_POS = 20,
    };
    struct s_packet_db {
    short len;
    void (*func)(int, struct map_session_data *);
    short pos[MAX_PACKET_POS];
    };
    // packet_db[sERVER] is reserved for server use
    #define SERVER 0
    #define packet_len(cmd) packet_db[sERVER][cmd].len
    extern struct s_packet_db packet_db[MAX_PACKET_VER+1][MAX_PACKET_DB+1];
    // local define
    typedef enum send_target {
    ALL_CLIENT,
    ALL_SAMEMAP,
    AREA,	// area
    AREA_WOS,   // area, without self
    AREA_WOC,   // area, without chatrooms
    AREA_WOSC,   // area, without own chatroom
    AREA_CHAT_WOC,  // hearable area, without chatrooms
    CHAT,	// current chatroom
    CHAT_WOS,   // current chatroom, without self
    PARTY,
    PARTY_WOS,
    PARTY_SAMEMAP,
    PARTY_SAMEMAP_WOS,
    PARTY_AREA,
    PARTY_AREA_WOS,
    GUILD,
    GUILD_WOS,
    GUILD_SAMEMAP,
    GUILD_SAMEMAP_WOS,
    GUILD_AREA,
    GUILD_AREA_WOS,
    GUILD_NOBG,
    DUEL,
    DUEL_WOS,
    CHAT_MAINCHAT,  // everyone on main chat
    SELF,
    BG,	 // BattleGround System
    BG_WOS,
    BG_SAMEMAP,
    BG_SAMEMAP_WOS,
    BG_AREA,
    BG_AREA_WOS,
    } send_target;
    typedef enum emotion_type
    {
    E_GASP = 0,	 // /!
    E_WHAT,		 // 
    E_HO,
    E_LV,
    E_SWT,
    E_IC,
    E_AN,
    E_AG,
    E_CASH,		 // /$
    E_DOTS,		 // 
    E_SCISSORS,	 //  --- 10
    E_ROCK,		 // 
    E_PAPER,		// 
    E_KOREA,
    E_LV2,
    E_THX,
    E_WAH,
    E_SRY,
    E_HEH,
    E_SWT2,
    E_HMM,		  // --- 20
    E_NO1,
    E_NO,		   // 
    E_OMG,
    E_OH,
    E_X,
    E_HLP,
    E_GO,
    E_SOB,
    E_GG,
    E_KIS,		  // --- 30
    E_KIS2,
    E_PIF,
    E_OK,
    E_MUTE,		 // red  used for muted characters
    E_INDONESIA,
    E_BZZ,		  // , /stare
    E_RICE,
    E_AWSM,		 // , /cool
    E_MEH,
    E_SHY,		  // --- 40
    E_PAT,		  // , /goodboy
    E_MP,		   // /mp, /sptime
    E_SLUR,
    E_COM,		  // , /comeon
    E_YAWN,		 // , /sleepy
    E_GRAT,		 // /grat, /congrats
    E_HP,		   // /hp, /hptime
    E_PHILIPPINES,
    E_MALAYSIA,
    E_SINGAPORE,	// --- 50
    E_BRAZIL,
    E_FLASH,		// /fsh
    E_SPIN,		 // /spin
    E_SIGH,
    E_DUM,		  // /dum
    E_LOUD,		 // /crwd
    E_OTL,		  // /otl, /desp
    E_DICE1,
    E_DICE2,
    E_DICE3,		// --- 60
    E_DICE4,
    E_DICE5,
    E_DICE6,
    E_INDIA,
    E_LUV,		  // /love
    E_RUSSIA,
    E_VIRGIN,
    E_MOBILE,
    E_MAIL,
    E_CHINESE,	  // --- 70
    E_ANTENNA1,
    E_ANTENNA2,
    E_ANTENNA3,
    E_HUM,
    E_ABS,
    E_OOPS,
    E_SPIT,
    E_ENE,
    E_PANIC,
    E_WHISP,		// --- 80
    E_YUT1,
    E_YUT2,
    E_YUT3,
    E_YUT4,
    E_YUT5,
    E_YUT6,
    E_YUT7,
    //
    E_MAX
    } emotion_type;
    typedef enum clr_type
    {
    CLR_OUTSIGHT = 0,
    CLR_DEAD,
    CLR_RESPAWN,
    CLR_TELEPORT,
    CLR_TRICKDEAD,
    } clr_type;
    enum map_property
    {// clif_map_property
    MAPPROPERTY_NOTHING	   = 0,
    MAPPROPERTY_FREEPVPZONE   = 1,
    MAPPROPERTY_EVENTPVPZONE  = 2,
    MAPPROPERTY_AGITZONE	  = 3,
    MAPPROPERTY_PKSERVERZONE  = 4, // message "You are in a PK area. Please beware of sudden attacks." in color 0x9B9BFF (light red)
    MAPPROPERTY_PVPSERVERZONE = 5,
    MAPPROPERTY_DENYSKILLZONE = 6,
    };
    enum map_type
    {// clif_map_type
    MAPTYPE_VILLAGE			  = 0,
    MAPTYPE_VILLAGE_IN		   = 1,
    MAPTYPE_FIELD				= 2,
    MAPTYPE_DUNGEON			  = 3,
    MAPTYPE_ARENA				= 4,
    MAPTYPE_PENALTY_FREEPKZONE   = 5,
    MAPTYPE_NOPENALTY_FREEPKZONE = 6,
    MAPTYPE_EVENT_GUILDWAR	   = 7,
    MAPTYPE_AGIT				 = 8,
    MAPTYPE_DUNGEON2			 = 9,
    MAPTYPE_DUNGEON3			 = 10,
    MAPTYPE_PKSERVER			 = 11,
    MAPTYPE_PVPSERVER			= 12,
    MAPTYPE_DENYSKILL			= 13,
    MAPTYPE_TURBOTRACK		   = 14,
    MAPTYPE_JAIL				 = 15,
    MAPTYPE_MONSTERTRACK		 = 16,
    MAPTYPE_PORINGBATTLE		 = 17,
    MAPTYPE_AGIT_SIEGEV15		= 18,
    MAPTYPE_BATTLEFIELD		  = 19,
    MAPTYPE_PVP_TOURNAMENT	   = 20,
    //Map types 21 - 24 not used.
    MAPTYPE_SIEGE_LOWLEVEL	   = 25,
    //Map types 26 - 28 remains opens for future types.
    MAPTYPE_UNUSED			   = 29,
    };
    enum useskill_fail_cause
    {// clif_skill_fail
    USESKILL_FAIL_LEVEL = 0,
    USESKILL_FAIL_SP_INSUFFICIENT = 1,
    USESKILL_FAIL_HP_INSUFFICIENT = 2,
    USESKILL_FAIL_STUFF_INSUFFICIENT = 3,
    USESKILL_FAIL_SKILLINTERVAL = 4,
    USESKILL_FAIL_MONEY = 5,
    USESKILL_FAIL_THIS_WEAPON = 6,
    USESKILL_FAIL_REDJAMSTONE = 7,
    USESKILL_FAIL_BLUEJAMSTONE = 8,
    USESKILL_FAIL_WEIGHTOVER = 9,
    USESKILL_FAIL = 10,
    USESKILL_FAIL_TOTARGET = 11,
    USESKILL_FAIL_ANCILLA_NUMOVER = 12,
    USESKILL_FAIL_HOLYWATER = 13,
    USESKILL_FAIL_ANCILLA = 14,
    USESKILL_FAIL_DUPLICATE_RANGEIN = 15,
    USESKILL_FAIL_NEED_OTHER_SKILL = 16,
    USESKILL_FAIL_NEED_HELPER = 17,
    USESKILL_FAIL_INVALID_DIR = 18,
    USESKILL_FAIL_SUMMON = 19,
    USESKILL_FAIL_SUMMON_NONE = 20,
    USESKILL_FAIL_IMITATION_SKILL_NONE = 21,
    USESKILL_FAIL_DUPLICATE = 22,
    USESKILL_FAIL_CONDITION = 23,
    USESKILL_FAIL_PAINTBRUSH = 24,
    USESKILL_FAIL_DRAGON = 25,
    USESKILL_FAIL_POS = 26,
    USESKILL_FAIL_HELPER_SP_INSUFFICIENT = 27,
    USESKILL_FAIL_NEER_WALL = 28,
    USESKILL_FAIL_NEED_EXP_1PERCENT = 29,
    USESKILL_FAIL_CHORUS_SP_INSUFFICIENT = 30,
    USESKILL_FAIL_GC_WEAPONBLOCKING = 31,
    USESKILL_FAIL_GC_POISONINGWEAPON = 32,
    USESKILL_FAIL_MADOGEAR = 33,
    USESKILL_FAIL_NEED_EQUIPMENT_KUNAI = 34,
    USESKILL_FAIL_TOTARGET_PLAYER = 35,
    USESKILL_FAIL_SIZE = 36,
    USESKILL_FAIL_CANONBALL = 37,
    //XXX_USESKILL_FAIL_II_MADOGEAR_ACCELERATION = 38,
    //XXX_USESKILL_FAIL_II_MADOGEAR_HOVERING_BOOSTER = 39,
    USESKILL_FAIL_MADOGEAR_HOVERING = 40,
    //XXX_USESKILL_FAIL_II_MADOGEAR_SELFDESTRUCTION_DEVICE = 41,
    //XXX_USESKILL_FAIL_II_MADOGEAR_SHAPESHIFTER = 42,
    USESKILL_FAIL_GUILLONTINE_POISON = 43,
    //XXX_USESKILL_FAIL_II_MADOGEAR_COOLING_DEVICE = 44,
    //XXX_USESKILL_FAIL_II_MADOGEAR_MAGNETICFIELD_GENERATOR = 45,
    //XXX_USESKILL_FAIL_II_MADOGEAR_BARRIER_GENERATOR = 46,
    //XXX_USESKILL_FAIL_II_MADOGEAR_OPTICALCAMOUFLAGE_GENERATOR = 47,
    //XXX_USESKILL_FAIL_II_MADOGEAR_REPAIRKIT = 48,
    //XXX_USESKILL_FAIL_II_MONKEY_SPANNER = 49,
    USESKILL_FAIL_MADOGEAR_RIDE = 50,
    USESKILL_FAIL_SPELLBOOK = 51,
    USESKILL_FAIL_SPELLBOOK_DIFFICULT_SLEEP = 52,
    USESKILL_FAIL_SPELLBOOK_PRESERVATION_POINT = 53,
    USESKILL_FAIL_SPELLBOOK_READING = 54,
    //XXX_USESKILL_FAIL_II_FACE_PAINTS = 55,
    //XXX_USESKILL_FAIL_II_MAKEUP_BRUSH = 56,
    USESKILL_FAIL_CART = 57,
    //XXX_USESKILL_FAIL_II_THORNS_SEED = 58,
    //XXX_USESKILL_FAIL_II_BLOOD_SUCKER_SEED = 59,
    USESKILL_FAIL_NO_MORE_SPELL = 60,
    //XXX_USESKILL_FAIL_II_BOMB_MUSHROOM_SPORE = 61,
    //XXX_USESKILL_FAIL_II_GASOLINE_BOOMB = 62,
    //XXX_USESKILL_FAIL_II_OIL_BOTTLE = 63,
    //XXX_USESKILL_FAIL_II_EXPLOSION_POWDER = 64,
    //XXX_USESKILL_FAIL_II_SMOKE_POWDER = 65,
    //XXX_USESKILL_FAIL_II_TEAR_GAS = 66,
    //XXX_USESKILL_FAIL_II_HYDROCHLORIC_ACID_BOTTLE = 67,
    //XXX_USESKILL_FAIL_II_HELLS_PLANT_BOTTLE = 68,
    //XXX_USESKILL_FAIL_II_MANDRAGORA_FLOWERPOT = 69,
    USESKILL_FAIL_MANUAL_NOTIFY = 70,
    USESKILL_FAIL_NEED_ITEM = 71,
    USESKILL_FAIL_NEED_EQUIPMENT = 72,
    USESKILL_FAIL_COMBOSKILL = 73,
    USESKILL_FAIL_SPIRITS = 74,
    USESKILL_FAIL_EXPLOSIONSPIRITS = 75,
    USESKILL_FAIL_HP_TOOMANY = 76,
    USESKILL_FAIL_NEED_ROYAL_GUARD_BANDING = 77,
    USESKILL_FAIL_NEED_EQUIPPED_WEAPON_CLASS = 78,
    USESKILL_FAIL_EL_SUMMON = 79,
    USESKILL_FAIL_RELATIONGRADE = 80,
    USESKILL_FAIL_STYLE_CHANGE_FIGHTER = 81,
    USESKILL_FAIL_STYLE_CHANGE_GRAPPLER = 82,
    USESKILL_FAIL_THERE_ARE_NPC_AROUND = 83,
    };
    int clif_setip(const char* ip);
    void clif_setbindip(const char* ip);
    void clif_setport(uint16 port);
    uint32 clif_getip(void);
    uint32 clif_refresh_ip(void);
    uint16 clif_getport(void);
    void clif_authok(struct map_session_data *sd);
    void clif_authrefuse(int fd, uint8 error_code);
    void clif_authfail_fd(int fd, int type);
    void clif_charselectok(int id, uint8 ok);
    void clif_dropflooritem(struct flooritem_data* fitem);
    void clif_clearflooritem(struct flooritem_data *fitem, int fd);
    void clif_clearunit_single(int id, clr_type type, int fd);
    void clif_clearunit_area(struct block_list* bl, clr_type type);
    void clif_clearunit_delayed(struct block_list* bl, clr_type type, unsigned int tick);
    int clif_spawn(struct block_list *bl); //area
    void clif_walkok(struct map_session_data *sd); // self
    void clif_move(struct unit_data *ud); //area
    void clif_changemap(struct map_session_data *sd, short map, int x, int y); //self
    void clif_changemapserver(struct map_session_data* sd, unsigned short map_index, int x, int y, uint32 ip, uint16 port); //self
    void clif_blown(struct block_list *bl); // area
    void clif_slide(struct block_list *bl, int x, int y); // area
    void clif_fixpos(struct block_list *bl); // area
    void clif_npcbuysell(struct map_session_data* sd, int id); //self
    void clif_buylist(struct map_session_data *sd, struct npc_data *nd); //self
    void clif_selllist(struct map_session_data *sd); //self
    void clif_scriptmes(struct map_session_data *sd, int npcid, const char *mes); //self
    void clif_scriptnext(struct map_session_data *sd,int npcid); //self
    void clif_scriptclose(struct map_session_data *sd, int npcid); //self
    void clif_scriptmenu(struct map_session_data* sd, int npcid, const char* mes); //self
    void clif_scriptinput(struct map_session_data *sd, int npcid); //self
    void clif_scriptinputstr(struct map_session_data *sd, int npcid); // self
    void clif_cutin(struct map_session_data* sd, const char* image, int type); //self
    void clif_viewpoint(struct map_session_data *sd, int npc_id, int type, int x, int y, int id, int color); //self
    void clif_additem(struct map_session_data *sd, int n, int amount, int fail); // self
    void clif_dropitem(struct map_session_data *sd,int n,int amount); //self
    void clif_delitem(struct map_session_data *sd,int n,int amount, short reason); //self
    void clif_updatestatus(struct map_session_data *sd,int type); //self
    void clif_changestatus(struct map_session_data* sd,int type,int val); //area
    int clif_damage(struct block_list* src, struct block_list* dst, unsigned int tick, int sdelay, int ddelay, int damage, int div, int type, int damage2); // area
    void clif_takeitem(struct block_list* src, struct block_list* dst);
    void clif_sitting(struct block_list* bl);
    void clif_standing(struct block_list* bl);
    void clif_changelook(struct block_list *bl,int type,int val); // area
    void clif_changetraplook(struct block_list *bl,int val); // area
    void clif_refreshlook(struct block_list *bl,int id,int type,int val,enum send_target target); //area specified in 'target'
    void clif_arrowequip(struct map_session_data *sd,int val); //self
    void clif_arrow_fail(struct map_session_data *sd,int type); //self
    void clif_arrow_create_list(struct map_session_data *sd); //self
    void clif_statusupack(struct map_session_data *sd,int type,int ok,int val); // self
    void clif_equipitemack(struct map_session_data *sd,int n,int pos,int ok); // self
    void clif_unequipitemack(struct map_session_data *sd,int n,int pos,int ok); // self
    void clif_misceffect(struct block_list* bl,int type); // area
    void clif_changeoption(struct block_list* bl); // area
    void clif_changeoption2(struct block_list* bl); // area
    void clif_useitemack(struct map_session_data *sd,int index,int amount,bool ok); // self
    void clif_GlobalMessage(struct block_list* bl, const char* message);
    void clif_createchat(struct map_session_data* sd, int flag); // self
    void clif_dispchat(struct chat_data* cd, int fd); // area or fd
    void clif_joinchatfail(struct map_session_data *sd,int flag); // self
    void clif_joinchatok(struct map_session_data *sd,struct chat_data* cd); // self
    void clif_addchat(struct chat_data* cd,struct map_session_data *sd); // chat
    void clif_changechatowner(struct chat_data* cd, struct map_session_data* sd); // chat
    void clif_clearchat(struct chat_data *cd,int fd); // area or fd
    void clif_leavechat(struct chat_data* cd, struct map_session_data* sd, bool flag); // chat
    void clif_changechatstatus(struct chat_data* cd); // chat
    void clif_refresh(struct map_session_data *sd); // self
    void clif_fame_blacksmith(struct map_session_data *sd, int points);
    void clif_fame_alchemist(struct map_session_data *sd, int points);
    void clif_fame_taekwon(struct map_session_data *sd, int points);
    void clif_emotion(struct block_list *bl,int type);
    void clif_talkiebox(struct block_list* bl, const char* talkie);
    void clif_wedding_effect(struct block_list *bl);
    void clif_divorced(struct map_session_data* sd, const char* name);
    void clif_callpartner(struct map_session_data *sd);
    void clif_playBGM(struct map_session_data* sd, const char* name);
    void clif_soundeffect(struct map_session_data* sd, struct block_list* bl, const char* name, int type);
    void clif_soundeffectall(struct block_list* bl, const char* name, int type, enum send_target coverage);
    void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action_type, int target_id, unsigned int tick);
    void clif_parse_LoadEndAck(int fd,struct map_session_data *sd);
    void clif_hotkeys_send(struct map_session_data *sd);
    // trade
    void clif_traderequest(struct map_session_data* sd, const char* name);
    void clif_tradestart(struct map_session_data* sd, uint8 type);
    void clif_tradeadditem(struct map_session_data* sd, struct map_session_data* tsd, int index, int amount);
    void clif_tradeitemok(struct map_session_data* sd, int index, int fail);
    void clif_tradedeal_lock(struct map_session_data* sd, int fail);
    void clif_tradecancelled(struct map_session_data* sd);
    void clif_tradecompleted(struct map_session_data* sd, int fail);
    void clif_tradeundo(struct map_session_data* sd);
    // storage
    void clif_storagelist(struct map_session_data* sd, struct item* items, int items_length);
    void clif_updatestorageamount(struct map_session_data* sd, int amount, int max_amount);
    void clif_storageitemadded(struct map_session_data* sd, struct item* i, int index, int amount);
    void clif_storageitemremoved(struct map_session_data* sd, int index, int amount);
    void clif_storageclose(struct map_session_data* sd);
    int clif_insight(struct block_list *bl,va_list ap); // map_forallinmovearea callback
    int clif_outsight(struct block_list *bl,va_list ap); // map_forallinmovearea callback
    void clif_class_change(struct block_list *bl,int class_,int type);
    #define clif_mob_class_change(md, class_) clif_class_change(&md->bl, class_, 1)
    void clif_skillinfoblock(struct map_session_data *sd);
    void clif_skillup(struct map_session_data *sd,uint16 skill_id);
    void clif_skillinfo(struct map_session_data *sd,int skill, int inf);
    void clif_addskill(struct map_session_data *sd, int id);
    void clif_deleteskill(struct map_session_data *sd, int id);
    void clif_skillcasting(struct block_list* bl, int src_id, int dst_id, int dst_x, int dst_y, uint16 skill_id, int property, int casttime);
    void clif_skillcastcancel(struct block_list* bl);
    void clif_skill_fail(struct map_session_data *sd,uint16 skill_id,enum useskill_fail_cause cause,int btype);
    void clif_skill_cooldown(struct map_session_data *sd, uint16 skill_id, unsigned int tick);
    int clif_skill_damage(struct block_list *src,struct block_list *dst,unsigned int tick,int sdelay,int ddelay,int damage,int div,uint16 skill_id,uint16 skill_lv,int type);
    //int clif_skill_damage2(struct block_list *src,struct block_list *dst,unsigned int tick,int sdelay,int ddelay,int damage,int div,uint16 skill_id,uint16 skill_lv,int type);
    int clif_skill_nodamage(struct block_list *src,struct block_list *dst,uint16 skill_id,int heal,int fail);
    void clif_skill_poseffect(struct block_list *src,uint16 skill_id,int val,int x,int y,int tick);
    void clif_skill_estimation(struct map_session_data *sd,struct block_list *dst);
    void clif_skill_warppoint(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv, unsigned short map1, unsigned short map2, unsigned short map3, unsigned short map4);
    void clif_skill_memomessage(struct map_session_data* sd, int type);
    void clif_skill_teleportmessage(struct map_session_data *sd, int type);
    void clif_skill_produce_mix_list(struct map_session_data *sd, uint16 skill_id, int trigger);
    void clif_cooking_list(struct map_session_data *sd, int trigger, uint16 skill_id, int qty, int list_type);
    void clif_produceeffect(struct map_session_data* sd,int flag,int nameid);
    void clif_skill_setunit(struct skill_unit *unit);
    void clif_skill_delunit(struct skill_unit *unit);
    void clif_skillunit_update(struct block_list* bl);
    void clif_autospell(struct map_session_data *sd,uint16 skill_lv);
    void clif_devotion(struct block_list *src, struct map_session_data *tsd);
    void clif_spiritball(struct block_list *bl);
    void clif_combo_delay(struct block_list *bl,int wait);
    void clif_bladestop(struct block_list *src, int dst_id, int active);
    void clif_changemapcell(int fd, int16 m, int x, int y, int type, enum send_target target);
    #define clif_status_load(bl, type, flag) clif_status_change((bl), (type), (flag), 0, 0, 0, 0)
    void clif_status_change(struct block_list *bl,int type,int flag,int tick,int val1, int val2, int val3);
    void clif_wis_message(int fd, const char* nick, const char* mes, int mes_len);
    void clif_wis_end(int fd, int flag);
    void clif_solved_charname(int fd, int charid, const char* name);
    void clif_charnameack(int fd, struct block_list *bl);
    void clif_charnameupdate(struct map_session_data *ssd);
    void clif_use_card(struct map_session_data *sd,int idx);
    void clif_insert_card(struct map_session_data *sd,int idx_equip,int idx_card,int flag);
    void clif_inventorylist(struct map_session_data *sd);
    void clif_equiplist(struct map_session_data *sd);
    void clif_cart_additem(struct map_session_data *sd,int n,int amount,int fail);
    void clif_cart_delitem(struct map_session_data *sd,int n,int amount);
    void clif_cartlist(struct map_session_data *sd);
    void clif_clearcart(int fd);
    void clif_item_identify_list(struct map_session_data *sd);
    void clif_item_identified(struct map_session_data *sd,int idx,int flag);
    void clif_item_repair_list(struct map_session_data *sd, struct map_session_data *dstsd, int lv);
    void clif_item_repaireffect(struct map_session_data *sd, int idx, int flag);
    void clif_item_damaged(struct map_session_data* sd, unsigned short position);
    void clif_item_refine_list(struct map_session_data *sd);
    void clif_item_skill(struct map_session_data *sd,uint16 skill_id,uint16 skill_lv);
    void clif_mvp_effect(struct map_session_data *sd);
    void clif_mvp_item(struct map_session_data *sd,int nameid);
    void clif_mvp_exp(struct map_session_data *sd, unsigned int exp);
    void clif_mvp_noitem(struct map_session_data* sd);
    void clif_changed_dir(struct block_list *bl, enum send_target target);
    // vending
    void clif_openvendingreq(struct map_session_data* sd, int num);
    void clif_showvendingboard(struct block_list* bl, const char* message, int fd);
    void clif_closevendingboard(struct block_list* bl, int fd);
    void clif_vendinglist(struct map_session_data* sd, int id, struct s_vending* vending);
    void clif_buyvending(struct map_session_data* sd, int index, int amount, int fail);
    void clif_openvending(struct map_session_data* sd, int id, struct s_vending* vending);
    void clif_vendingreport(struct map_session_data* sd, int index, int amount);
    void clif_movetoattack(struct map_session_data *sd,struct block_list *bl);
    // party
    void clif_party_created(struct map_session_data *sd,int result);
    void clif_party_member_info(struct party_data *p, struct map_session_data *sd);
    void clif_party_info(struct party_data* p, struct map_session_data *sd);
    void clif_party_invite(struct map_session_data *sd,struct map_session_data *tsd);
    void clif_party_inviteack(struct map_session_data* sd, const char* nick, int result);
    void clif_party_option(struct party_data *p,struct map_session_data *sd,int flag);
    void clif_party_withdraw(struct party_data* p, struct map_session_data* sd, int account_id, const char* name, int flag);
    void clif_party_message(struct party_data* p, int account_id, const char* mes, int len);
    void clif_party_xy(struct map_session_data *sd);
    void clif_party_xy_single(int fd, struct map_session_data *sd);
    void clif_party_hp(struct map_session_data *sd);
    void clif_hpmeter_single(int fd, int id, unsigned int hp, unsigned int maxhp);
    // guild
    void clif_guild_created(struct map_session_data *sd,int flag);
    void clif_guild_belonginfo(struct map_session_data *sd, struct guild *g);
    void clif_guild_masterormember(struct map_session_data *sd);
    void clif_guild_basicinfo(struct map_session_data *sd);
    void clif_guild_allianceinfo(struct map_session_data *sd);
    void clif_guild_memberlist(struct map_session_data *sd);
    void clif_guild_skillinfo(struct map_session_data* sd);
    void clif_guild_send_onlineinfo(struct map_session_data *sd); //[LuzZza]
    void clif_guild_memberlogin_notice(struct guild *g,int idx,int flag);
    void clif_guild_invite(struct map_session_data *sd,struct guild *g);
    void clif_guild_inviteack(struct map_session_data *sd,int flag);
    void clif_guild_leave(struct map_session_data *sd,const char *name,const char *mes);
    void clif_guild_expulsion(struct map_session_data* sd, const char* name, const char* mes, int account_id);
    void clif_guild_positionchanged(struct guild *g,int idx);
    void clif_guild_memberpositionchanged(struct guild *g,int idx);
    void clif_guild_emblem(struct map_session_data *sd,struct guild *g);
    void clif_guild_emblem_area(struct block_list* bl);
    void clif_guild_notice(struct map_session_data* sd, struct guild* g);
    void clif_guild_message(struct guild *g,int account_id,const char *mes,int len);
    int clif_guild_skillup(struct map_session_data *sd,uint16 skill_id,int lv);
    void clif_guild_reqalliance(struct map_session_data *sd,int account_id,const char *name);
    void clif_guild_allianceack(struct map_session_data *sd,int flag);
    void clif_guild_delalliance(struct map_session_data *sd,int guild_id,int flag);
    void clif_guild_oppositionack(struct map_session_data *sd,int flag);
    void clif_guild_broken(struct map_session_data *sd,int flag);
    void clif_guild_xy(struct map_session_data *sd);
    void clif_guild_xy_single(int fd, struct map_session_data *sd);
    void clif_guild_xy_remove(struct map_session_data *sd);
    // Battleground
    void clif_bg_hp(struct map_session_data *sd);
    void clif_bg_xy(struct map_session_data *sd);
    void clif_bg_xy_remove(struct map_session_data *sd);
    void clif_bg_message(struct battleground_data *bg, int src_id, const char *name, const char *mes, int len);
    void clif_bg_updatescore(int16 m);
    void clif_bg_updatescore_single(struct map_session_data *sd);
    void clif_sendbgemblem_area(struct map_session_data *sd);
    void clif_sendbgemblem_single(int fd, struct map_session_data *sd);
    // Instancing
    int clif_instance(int instance_id, int type, int flag);
    void clif_instance_join(int fd, int instance_id);
    void clif_instance_leave(int fd);
    // Custom Fonts
    void clif_font(struct map_session_data *sd);
    // atcommand
    void clif_displaymessage(const int fd, const char* mes);
    void clif_disp_onlyself(struct map_session_data *sd, const char *mes, int len);
    void clif_disp_message(struct block_list* src, const char* mes, int len, enum send_target target);
    void clif_broadcast(struct block_list* bl, const char* mes, int len, int type, enum send_target target);
    void clif_MainChatMessage(const char* message);
    void clif_broadcast2(struct block_list* bl, const char* mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target);
    void clif_heal(int fd,int type,int val);
    void clif_resurrection(struct block_list *bl,int type);
    void clif_map_property(struct map_session_data* sd, enum map_property property);
    void clif_pvpset(struct map_session_data *sd, int pvprank, int pvpnum,int type);
    void clif_map_property_mapall(int map, enum map_property property);
    void clif_refine(int fd, int fail, int index, int val);
    void clif_upgrademessage(int fd, int result, int item_id);
    //petsystem
    void clif_catch_process(struct map_session_data *sd);
    void clif_pet_roulette(struct map_session_data *sd,int data);
    void clif_sendegg(struct map_session_data *sd);
    void clif_send_petstatus(struct map_session_data *sd);
    void clif_send_petdata(struct map_session_data* sd, struct pet_data* pd, int type, int param);
    #define clif_pet_equip(sd, pd) clif_send_petdata(sd, pd, 3, (pd)->vd.head_bottom)
    #define clif_pet_equip_area(pd) clif_send_petdata(NULL, pd, 3, (pd)->vd.head_bottom)
    #define clif_pet_performance(pd, param) clif_send_petdata(NULL, pd, 4, param)
    void clif_pet_emotion(struct pet_data *pd,int param);
    void clif_pet_food(struct map_session_data *sd,int foodid,int fail);
    //friends list
    int clif_friendslist_toggle_sub(struct map_session_data *sd,va_list ap);
    void clif_friendslist_send(struct map_session_data *sd);
    void clif_friendslist_reqack(struct map_session_data *sd, struct map_session_data *f_sd, int type);
    void clif_weather(int16 m); // [Valaris]
    void clif_specialeffect(struct block_list* bl, int type, enum send_target target); // special effects [Valaris]
    void clif_specialeffect_single(struct block_list* bl, int type, int fd);
    void clif_messagecolor(struct block_list* bl, unsigned long color, const char* msg); // Mob/Npc color talk [snakeDrak]
    void clif_message(struct block_list* bl, const char* msg);
    void clif_specialeffect_value(struct block_list* bl, int effect_id, int num, send_target target);
    void clif_GM_kickack(struct map_session_data *sd, int id);
    void clif_GM_kick(struct map_session_data *sd,struct map_session_data *tsd);
    void clif_manner_message(struct map_session_data* sd, uint32 type);
    void clif_GM_silence(struct map_session_data* sd, struct map_session_data* tsd, uint8 type);
    void clif_disp_overhead(struct map_session_data *sd, const char* mes);
    void clif_get_weapon_view(struct map_session_data* sd, unsigned short *rhand, unsigned short *lhand);
    void clif_party_xy_remove(struct map_session_data *sd); //Fix for minimap [Kevin]
    void clif_gospel_info(struct map_session_data *sd, int type);
    void clif_feel_req(int fd, struct map_session_data *sd, uint16 skill_lv);
    void clif_starskill(struct map_session_data* sd, const char* mapname, int monster_id, unsigned char star, unsigned char result);
    void clif_feel_info(struct map_session_data* sd, unsigned char feel_level, unsigned char type);
    void clif_hate_info(struct map_session_data *sd, unsigned char hate_level,int class_, unsigned char type);
    void clif_mission_info(struct map_session_data *sd, int mob_id, unsigned char progress);
    void clif_feel_hate_reset(struct map_session_data *sd);
    // [blackhole89]
    void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int flag);
    int clif_homskillinfoblock(struct map_session_data *sd);
    void clif_homskillup(struct map_session_data *sd, uint16 skill_id); //[orn]
    int clif_hom_food(struct map_session_data *sd,int foodid,int fail); //[orn]
    void clif_send_homdata(struct map_session_data *sd, int state, int param); //[orn]
    void clif_equiptickack(struct map_session_data* sd, int flag);
    void clif_viewequip_ack(struct map_session_data* sd, struct map_session_data* tsd);
    void clif_viewequip_fail(struct map_session_data* sd);
    void clif_equipcheckbox(struct map_session_data* sd);
    void clif_msg(struct map_session_data* sd, unsigned short id);
    void clif_msg_value(struct map_session_data* sd, unsigned short id, int value);
    void clif_msg_skill(struct map_session_data* sd, uint16 skill_id, int msg_id);
    //quest system [Kevin] [inkfish]
    void clif_quest_send_list(struct map_session_data * sd);
    void clif_quest_send_mission(struct map_session_data * sd);
    void clif_quest_add(struct map_session_data * sd, struct quest * qd, int index);
    void clif_quest_delete(struct map_session_data * sd, int quest_id);
    void clif_quest_update_status(struct map_session_data * sd, int quest_id, bool active);
    void clif_quest_update_objective(struct map_session_data * sd, struct quest * qd, int index);
    void clif_quest_show_event(struct map_session_data *sd, struct block_list *bl, short state, short color);
    void clif_displayexp(struct map_session_data *sd, unsigned int exp, char type, bool quest);
    int clif_send(const uint8* buf, int len, struct block_list* bl, enum send_target type);
    int do_init_clif(void);
    void do_final_clif(void);
    // MAIL SYSTEM
    void clif_Mail_window(int fd, int flag);
    void clif_Mail_read(struct map_session_data *sd, int mail_id);
    void clif_Mail_delete(int fd, int mail_id, short fail);
    void clif_Mail_return(int fd, int mail_id, short fail);
    void clif_Mail_send(int fd, bool fail);
    void clif_Mail_new(int fd, int mail_id, const char *sender, const char *title);
    void clif_Mail_refreshinbox(struct map_session_data *sd);
    void clif_Mail_getattachment(int fd, uint8 flag);
    // AUCTION SYSTEM
    void clif_Auction_openwindow(struct map_session_data *sd);
    void clif_Auction_results(struct map_session_data *sd, short count, short pages, uint8 *buf);
    void clif_Auction_message(int fd, unsigned char flag);
    void clif_Auction_close(int fd, unsigned char flag);
    void clif_parse_Auction_cancelreg(int fd, struct map_session_data *sd);
    void clif_bossmapinfo(int fd, struct mob_data *md, short flag);
    void clif_cashshop_show(struct map_session_data *sd, struct npc_data *nd);
    // ADOPTION
    void clif_Adopt_reply(struct map_session_data *sd, int type);
    // MERCENARIES
    void clif_mercenary_info(struct map_session_data *sd);
    void clif_mercenary_skillblock(struct map_session_data *sd);
    void clif_mercenary_message(struct map_session_data* sd, int message);
    void clif_mercenary_updatestatus(struct map_session_data *sd, int type);
    // RENTAL SYSTEM
    void clif_rental_time(int fd, int nameid, int seconds);
    void clif_rental_expired(int fd, int index, int nameid);
    // BOOK READING
    void clif_readbook(int fd, int book_id, int page);
    // Show Picker
    void clif_party_show_picker(struct map_session_data * sd, struct item * item_data);
    // Progress Bar [inkfish]
    void clif_progressbar(struct map_session_data * sd, unsigned long color, unsigned int second);
    void clif_progressbar_abort(struct map_session_data * sd);
    void clif_PartyBookingRegisterAck(struct map_session_data *sd, int flag);
    void clif_PartyBookingDeleteAck(struct map_session_data* sd, int flag);
    void clif_PartyBookingSearchAck(int fd, struct party_booking_ad_info** results, int count, bool more_result);
    void clif_PartyBookingUpdateNotify(struct map_session_data* sd, struct party_booking_ad_info* pb_ad);
    void clif_PartyBookingDeleteNotify(struct map_session_data* sd, int index);
    void clif_PartyBookingInsertNotify(struct map_session_data* sd, struct party_booking_ad_info* pb_ad);
    void clif_showdigit(struct map_session_data* sd, unsigned char type, int value);
    /// Buying Store System
    void clif_buyingstore_open(struct map_session_data* sd);
    void clif_buyingstore_open_failed(struct map_session_data* sd, unsigned short result, unsigned int weight);
    void clif_buyingstore_myitemlist(struct map_session_data* sd);
    void clif_buyingstore_entry(struct map_session_data* sd);
    void clif_buyingstore_entry_single(struct map_session_data* sd, struct map_session_data* pl_sd);
    void clif_buyingstore_disappear_entry(struct map_session_data* sd);
    void clif_buyingstore_disappear_entry_single(struct map_session_data* sd, struct map_session_data* pl_sd);
    void clif_buyingstore_itemlist(struct map_session_data* sd, struct map_session_data* pl_sd);
    void clif_buyingstore_trade_failed_buyer(struct map_session_data* sd, short result);
    void clif_buyingstore_update_item(struct map_session_data* sd, unsigned short nameid, unsigned short amount);
    void clif_buyingstore_delete_item(struct map_session_data* sd, short index, unsigned short amount, int price);
    void clif_buyingstore_trade_failed_seller(struct map_session_data* sd, short result, unsigned short nameid);
    /// Search Store System
    void clif_search_store_info_ack(struct map_session_data* sd);
    void clif_search_store_info_failed(struct map_session_data* sd, unsigned char reason);
    void clif_open_search_store_info(struct map_session_data* sd);
    void clif_search_store_info_click_ack(struct map_session_data* sd, short x, short y);
    /**
    * 3CeAM
    **/
    void clif_msgtable(int fd, int line);
    void clif_msgtable_num(int fd, int line, int num);
    int clif_elementalconverter_list(struct map_session_data *sd);
    void clif_millenniumshield(struct map_session_data *sd, short shields );
    int clif_spellbook_list(struct map_session_data *sd);
    int clif_magicdecoy_list(struct map_session_data *sd, uint16 skill_lv, short x, short y);
    int clif_poison_list(struct map_session_data *sd, uint16 skill_lv);
    int clif_autoshadowspell_list(struct map_session_data *sd);
    int clif_status_load_notick(struct block_list *bl,int type,int flag,int val1, int val2, int val3);
    int clif_status_load_single(int fd, int id,int type,int flag,int val1, int val2, int val3);
    
    int clif_skill_itemlistwindow( struct map_session_data *sd, uint16 skill_id, uint16 skill_lv );
    void clif_elemental_info(struct map_session_data *sd);
    void clif_elemental_updatestatus(struct map_session_data *sd, int type);
    void clif_talisman(struct map_session_data *sd, short type);
    void clif_snap( struct block_list *bl, short x, short y );
    void clif_monster_hp_bar( struct mob_data* md, int fd );
    /**
    * Color Table
    **/
    enum clif_colors {
    COLOR_RED,
    COLOR_MAX
    };
    unsigned long color_table[color_MAX];
    int clif_colormes(struct map_session_data * sd, enum clif_colors color, const char* msg);
    #define clif_menuskill_clear(sd) (sd)->menuskill_id = (sd)->menuskill_val = (sd)->menuskill_val2 = 0;
    #endif /* _CLIF_H_ */
    

    mmo.h

    // Copyright (c) Athena Dev Teams - Licensed under GNU GPL
    // For more information, see LICENCE in the main folder
    #ifndef _MMO_H_
    #define _MMO_H_
    #include "cbasetypes.h"
    #include <time.h>
    // server->client protocol version
    //        0 - pre-?
    //        1 - ?                    - 0x196
    //        2 - ?                    - 0x78, 0x79
    //        3 - ?                    - 0x1c8, 0x1c9, 0x1de
    //        4 - ?                    - 0x1d7, 0x1d8, 0x1d9, 0x1da
    //        5 - 2003-12-18aSakexe+   - 0x1ee, 0x1ef, 0x1f0, ?0x1c4, 0x1c5?
    //        6 - 2004-03-02aSakexe+   - 0x1f4, 0x1f5
    //        7 - 2005-04-11aSakexe+   - 0x229, 0x22a, 0x22b, 0x22c
    // 20061023 - 2006-10-23aSakexe+   - 0x6b, 0x6d
    // 20070521 - 2007-05-21aSakexe+   - 0x283
    // 20070821 - 2007-08-21aSakexe+   - 0x2c5
    // 20070918 - 2007-09-18aSakexe+   - 0x2d7, 0x2d9, 0x2da
    // 20071106 - 2007-11-06aSakexe+   - 0x78, 0x7c, 0x22c
    // 20080102 - 2008-01-02aSakexe+   - 0x2ec, 0x2ed , 0x2ee
    // 20081126 - 2008-11-26aSakexe+   - 0x1a2
    // 20090408 - 2009-04-08aSakexe+   - 0x44a (dont use as it overlaps with RE client packets)
    // 20080827 - 2008-08-27aRagexeRE+ - First RE Client
    // 20081217 - 2008-12-17aRagexeRE+ - 0x6d (Note: This one still use old Char Info Packet Structure)
    // 20081218 - 2008-12-17bRagexeRE+ - 0x6d (Note: From this one client use new Char Info Packet Structure)
    // 20090603 - 2009-06-03aRagexeRE+ - 0x7d7, 0x7d8, 0x7d9, 0x7da
    // 20090617 - 2009-06-17aRagexeRE+ - 0x7d9
    // 20090922 - 2009-09-22aRagexeRE+ - 0x7e5, 0x7e7, 0x7e8, 0x7e9
    // 20091103 - 2009-11-03aRagexeRE+ - 0x7f7, 0x7f8, 0x7f9
    // 20100105 - 2010-01-05aRagexeRE+ - 0x133, 0x800, 0x801
    // 20100126 - 2010-01-26aRagexeRE+ - 0x80e
    // 20100223 - 2010-02-23aRagexeRE+ - 0x80f
    // 20100413 - 2010-04-13aRagexeRE+ - 0x6b
    // 20100629 - 2010-06-29aRagexeRE+ - 0x2d0, 0xaa, 0x2d1, 0x2d2
    // 20100721 - 2010-07-21aRagexeRE+ - 0x6b, 0x6d
    // 20100727 - 2010-07-27aRagexeRE+ - 0x6b, 0x6d
    // 20100803 - 2010-08-03aRagexeRE+ - 0x6b, 0x6d, 0x827, 0x828, 0x829, 0x82a, 0x82b, 0x82c, 0x842, 0x843
    // 20101124 - 2010-11-24aRagexeRE+ - 0x856, 0x857, 0x858
    // 20110111 - 2011-01-11aRagexeRE+ - 0x6b, 0x6d
    // 20110928 - 2011-09-28aRagexeRE+ - 0x6b, 0x6d
    // 20111025 - 2011-10-25aRagexeRE+ - 0x6b, 0x6d
    // 20120307 - 2012-03-07aRagexeRE+ - 0x970
    #ifndef PACKETVER
    #define PACKETVER 20120410
    //#define PACKETVER 20111116
    #endif
    //Remove/Comment this line to disable sc_data saving. [skotlex]
    #define ENABLE_SC_SAVING
    //Remove/Comment this line to disable server-side hot-key saving support [skotlex]
    //Note that newer clients no longer save hotkeys in the registry!
    #define HOTKEY_SAVING
    #if PACKETVER < 20090603
           // (27 = 9 skills x 3 bars)               (0x02b9,191)
           #define MAX_HOTKEYS 27
    #elif PACKETVER < 20090617
           // (36 = 9 skills x 4 bars)               (0x07d9,254)
           #define MAX_HOTKEYS 36
    #else
           // (38 = 9 skills x 4 bars & 2 Quickslots)(0x07d9,268)
           #define MAX_HOTKEYS 38
    #endif
    #define MAX_MAP_PER_SERVER 1500 // Increased to allow creation of Instance Maps
    #define MAX_INVENTORY 100
    //Max number of characters per account. Note that changing this setting alone is not enough if the client is not hexed to support more characters as well.
    #define MAX_CHARS 9
    //Number of slots carded equipment can have. Never set to less than 4 as they are also used to keep the data of forged items/equipment. [skotlex]
    //Note: The client seems unable to receive data for more than 4 slots due to all related packets having a fixed size.
    #define MAX_SLOTS 4
    //Max amount of a single stacked item
    #define MAX_AMOUNT 30000
    #define MAX_ZENY 1000000000
    #define MAX_FAME 1000000000
    #define MAX_CART 100
    #define MAX_SKILL 3100
    #define GLOBAL_REG_NUM 256   // max permanent character variables per char
    #define ACCOUNT_REG_NUM 64   // max permanent local account variables per account
    #define ACCOUNT_REG2_NUM 16  // max permanent global account variables per account
    //Should hold the max of GLOBAL/ACCOUNT/ACCOUNT2 (needed for some arrays that hold all three)
    #define MAX_REG_NUM 256
    #define DEFAULT_WALK_SPEED 150
    #define MIN_WALK_SPEED 0
    #define MAX_WALK_SPEED 1000
    #define MAX_STORAGE 600
    #define MAX_GUILD_STORAGE 600
    #define MAX_PARTY 12
    #define MAX_GUILD 16+10*6 // increased max guild members +6 per 1 extension levels [Lupus]
    #define MAX_GUILDPOSITION 20 // increased max guild positions to accomodate for all members [Valaris] (removed) [PoW]
    #define MAX_GUILDEXPULSION 32
    #define MAX_GUILDALLIANCE 16
    #define MAX_GUILDSKILL 15 // increased max guild skills because of new skills [sara-chan]
    #define MAX_GUILDLEVEL 50
    #define MAX_GUARDIANS 8 //Local max per castle. [skotlex]
    #define MAX_QUEST_DB 2200 //Max quests that the server will load
    #define MAX_QUEST_OBJECTIVES 3 //Max quest objectives for a quest
    // for produce
    #define MIN_ATTRIBUTE 0
    #define MAX_ATTRIBUTE 4
    #define ATTRIBUTE_NORMAL 0
    #define MIN_STAR 0
    #define MAX_STAR 3
    #define MAX_STATUS_TYPE 5
    #define WEDDING_RING_M 2634
    #define WEDDING_RING_F 2635
    //For character names, title names, guilds, maps, etc.
    //Includes null-terminator as it is the length of the array.
    #define NAME_LENGTH (23 + 1)
    //For item names, which tend to have much longer names.
    #define ITEM_NAME_LENGTH 50
    //For Map Names, which the client considers to be 16 in length including the .gat extension
    #define MAP_NAME_LENGTH (11 + 1)
    #define MAP_NAME_LENGTH_EXT (MAP_NAME_LENGTH + 4)
    #define MAX_FRIENDS 40
    #define MAX_MEMOPOINTS 3
    //Size of the fame list arrays.
    #define MAX_FAME_LIST 10
    //Limits to avoid ID collision with other game objects
    #define START_ACCOUNT_NUM 2000000
    #define END_ACCOUNT_NUM 100000000
    #define START_CHAR_NUM 150000
    //Guilds
    #define MAX_GUILDMES1 60
    #define MAX_GUILDMES2 120
    //Base Homun skill.
    #define HM_SKILLBASE 8001
    #define MAX_HOMUNSKILL 43
    #define MAX_HOMUNCULUS_CLASS 52 //[orn], Increased to 60 from 16 to allow new Homun-S.
    #define HM_CLASS_BASE 6001
    #define HM_CLASS_MAX (HM_CLASS_BASE+MAX_HOMUNCULUS_CLASS-1)
    //Mail System
    #define MAIL_MAX_INBOX 30
    #define MAIL_TITLE_LENGTH 40
    #define MAIL_BODY_LENGTH 200
    //Mercenary System
    #define MC_SKILLBASE 8201
    #define MAX_MERCSKILL 40
    #define MAX_MERCENARY_CLASS 44
    //Elemental System
    #define MAX_ELEMENTALSKILL 42
    #define EL_SKILLBASE 8401
    #define MAX_ELESKILLTREE 3
    #define MAX_ELEMENTAL_CLASS 12
    #define EL_CLASS_BASE 2114
    #define EL_CLASS_MAX (EL_CLASS_BASE+MAX_ELEMENTAL_CLASS-1)
    enum item_types {
    IT_HEALING = 0,
    IT_UNKNOWN, //1
    IT_USABLE,  //2
    IT_ETC,     //3
    IT_WEAPON,  //4
    IT_ARMOR,   //5
    IT_CARD,    //6
    IT_PETEGG,  //7
    IT_PETARMOR,//8
    IT_UNKNOWN2,//9
    IT_AMMO,    //10
    IT_DELAYCONSUME,//11
    IT_CASH = 18,
    IT_MAX
    };
    
    //Questlog system [Kevin] [inkfish]
    typedef enum quest_state { Q_INACTIVE, Q_ACTIVE, Q_COMPLETE } quest_state;
    struct quest {
    int quest_id;
    unsigned int time;
    int count[MAX_QUEST_OBJECTIVES];
    quest_state state;
    };
    struct item {
    int id;
    short nameid;
    short amount;
    unsigned short equip; // location(s) where item is equipped (using enum equip_pos for bitmasking)
    char identify;
    char refine;
    char attribute;
    short card[MAX_SLOTS];
    unsigned int expire_time;
    char favorite;
    };
    struct point {
    unsigned short map;
    short x,y;
    };
    enum e_skill_flag
    {
    SKILL_FLAG_PERMANENT,
    SKILL_FLAG_TEMPORARY,
    SKILL_FLAG_PLAGIARIZED,
    SKILL_FLAG_REPLACED_LV_0, // temporary skill overshadowing permanent skill of level 'N - SKILL_FLAG_REPLACED_LV_0',
    SKILL_FLAG_PERM_GRANTED, // permanent, granted through someway e.g. script
    //...
    };
    struct s_skill {
    unsigned short id;
    unsigned char lv;
    unsigned char flag; // see enum e_skill_flag
    };
    struct global_reg {
    char str[32];
    char value[256];
    };
    //Holds array of global registries, used by the char server and converter.
    struct accreg {
    int account_id, char_id;
    int reg_num;
    struct global_reg reg[MAX_REG_NUM];
    };
    //For saving status changes across sessions. [skotlex]
    struct status_change_data {
    unsigned short type; //SC_type
    long val1, val2, val3, val4, tick; //Remaining duration.
    };
    struct storage_data {
    int storage_amount;
    struct item items[MAX_STORAGE];
    };
    struct guild_storage {
    int dirty;
    int guild_id;
    short storage_status;
    short storage_amount;
    struct item items[MAX_GUILD_STORAGE];
    unsigned short lock;
    };
    struct s_pet {
    int account_id;
    int char_id;
    int pet_id;
    short class_;
    short level;
    short egg_id;//pet egg id
    short equip;//pet equip name_id
    short intimate;//pet friendly
    short hungry;//pet hungry
    char name[NAME_LENGTH];
    char rename_flag;
    char incuvate;
    };
    struct s_homunculus { //[orn]
    char name[NAME_LENGTH];
    int hom_id;
    int char_id;
    short class_;
    short prev_class;
    int hp,max_hp,sp,max_sp;
    unsigned int intimacy; //[orn]
    short hunger;
    struct s_skill hskill[MAX_HOMUNSKILL]; //albator
    short skillpts;
    short level;
    unsigned int exp;
    short rename_flag;
    short vaporize; //albator
    int str ;
    int agi ;
    int vit ;
    int int_ ;
    int dex ;
    int luk ;
    char spiritball; //for homun S [lighta]
    };
    struct s_mercenary {
    int mercenary_id;
    int char_id;
    short class_;
    int hp, sp;
    unsigned int kill_count;
    unsigned int life_time;
    };
    struct s_elemental {
    int elemental_id;
    int char_id;
    short class_;
    int mode;
    int hp, sp, max_hp, max_sp, matk, atk, atk2;
    short hit, flee, amotion, def, mdef;
    int life_time;
    };
    struct s_friend {
    int account_id;
    int char_id;
    char name[NAME_LENGTH];
    };
    #ifdef HOTKEY_SAVING
    struct hotkey {
    unsigned int id;
    unsigned short lv;
    unsigned char type; // 0: item, 1: skill
    };
    #endif
    struct mmo_charstatus {
    int char_id;
    int account_id;
    int partner_id;
    int father;
    int mother;
    int child;
    unsigned int base_exp,job_exp;
    int zeny;
    short class_;
    unsigned int status_point,skill_point;
    int hp,max_hp,sp,max_sp;
    unsigned int option;
    short manner;
    unsigned char karma;
    short hair,hair_color,clothes_color;
    int party_id,guild_id,pet_id,hom_id,mer_id,ele_id;
    int fame;
    // Mercenary Guilds Rank
    int arch_faith, arch_calls;
    int spear_faith, spear_calls;
    int sword_faith, sword_calls;
    short weapon; // enum weapon_type
    short shield; // view-id
    short head_top,head_mid,head_bottom;
    short robe;
    char name[NAME_LENGTH];
    unsigned int base_level,job_level;
    short str,agi,vit,int_,dex,luk;
    unsigned char slot,sex;
    uint32 mapip;
    uint16 mapport;
    struct point last_point,save_point,memo_point[MAX_MEMOPOINTS];
    struct item inventory[MAX_INVENTORY],cart[MAX_CART];
    struct storage_data storage;
    struct s_skill skill[MAX_SKILL];
    struct s_friend friends[MAX_FRIENDS]; //New friend system [skotlex]
    #ifdef HOTKEY_SAVING
    struct hotkey hotkeys[MAX_HOTKEYS];
    #endif
    bool show_equip;
    short rename;
    time_t delete_date;
    };
    typedef enum mail_status {
    MAIL_NEW,
    MAIL_UNREAD,
    MAIL_READ,
    } mail_status;
    struct mail_message {
    int id;
    int send_id;
    char send_name[NAME_LENGTH];
    int dest_id;
    char dest_name[NAME_LENGTH];
    char title[MAIL_TITLE_LENGTH];
    char body[MAIL_BODY_LENGTH];
    mail_status status;
    time_t timestamp; // marks when the message was sent
    int zeny;
    struct item item;
    };
    struct mail_data {
    short amount;
    bool full;
    short unchecked, unread;
    struct mail_message msg[MAIL_MAX_INBOX];
    };
    struct auction_data {
    unsigned int auction_id;
    int seller_id;
    char seller_name[NAME_LENGTH];
    int buyer_id;
    char buyer_name[NAME_LENGTH];
    struct item item;
    // This data is required for searching, as itemdb is not read by char server
    char item_name[iTEM_NAME_LENGTH];
    short type;
    unsigned short hours;
    int price, buynow;
    time_t timestamp; // auction's end time
    int auction_end_timer;
    };
    struct registry {
    int global_num;
    struct global_reg global[GLOBAL_REG_NUM];
    int account_num;
    struct global_reg account[ACCOUNT_REG_NUM];
    int account2_num;
    struct global_reg account2[ACCOUNT_REG2_NUM];
    };
    struct party_member {
    int account_id;
    int char_id;
    char name[NAME_LENGTH];
    unsigned short class_;
    unsigned short map;
    unsigned short lv;
    unsigned leader : 1,
             online : 1;
    };
    struct party {
    int party_id;
    char name[NAME_LENGTH];
    unsigned char count; //Count of online characters.
    unsigned exp : 1,
       item : 2; //&1: Party-Share (round-robin), &2: pickup style: shared.
    struct party_member member[MAX_PARTY];
    };
    struct map_session_data;
    struct guild_member {
    int account_id, char_id;
    short hair,hair_color,gender,class_,lv;
    uint64 exp;
    int exp_payper;
    short online,position;
    char name[NAME_LENGTH];
    struct map_session_data *sd;
    unsigned char modified;
    };
    struct guild_position {
    char name[NAME_LENGTH];
    int mode;
    int exp_mode;
    unsigned char modified;
    };
    struct guild_alliance {
    int opposition;
    int guild_id;
    char name[NAME_LENGTH];
    };
    struct guild_expulsion {
    char name[NAME_LENGTH];
    char mes[40];
    int account_id;
    };
    struct guild_skill {
    int id,lv;
    };
    struct guild {
    int guild_id;
    short guild_lv, connect_member, max_member, average_lv;
    uint64 exp;
    unsigned int next_exp;
    int skill_point;
    char name[NAME_LENGTH],master[NAME_LENGTH];
    struct guild_member member[MAX_GUILD];
    struct guild_position position[MAX_GUILDPOSITION];
    char mes1[MAX_GUILDMES1],mes2[MAX_GUILDMES2];
    int emblem_len,emblem_id;
    char emblem_data[2048];
    struct guild_alliance alliance[MAX_GUILDALLIANCE];
    struct guild_expulsion expulsion[MAX_GUILDEXPULSION];
    struct guild_skill skill[MAX_GUILDSKILL];
    unsigned short save_flag; // for TXT saving
    };
    struct guild_castle {
    int castle_id;
    int mapindex;
    char castle_name[NAME_LENGTH];
    char castle_event[NAME_LENGTH];
    int guild_id;
    int economy;
    int defense;
    int triggerE;
    int triggerD;
    int nextTime;
    int payTime;
    int createTime;
    int visibleC;
    struct {
     unsigned visible : 1;
     int id; // object id
    } guardian[MAX_GUARDIANS];
    int* temp_guardians; // ids of temporary guardians (mobs)
    int temp_guardians_max;
    };
    struct fame_list {
    int id;
    int fame;
    char name[NAME_LENGTH];
    };
    enum { //Change Guild Infos
    GBI_EXP =1,  // Guild Experience (EXP)
    GBI_GUILDLV,  // Guild level
    GBI_SKILLPOINT,  // Guild skillpoints
    GBI_SKILLLV,  // Guild skill_lv ?? seem unused
    };
    enum { //Change Member Infos
    GMI_POSITION =0,
    GMI_EXP,
    GMI_HAIR,
    GMI_HAIR_COLOR,
    GMI_GENDER,
    GMI_CLASS,
    GMI_LEVEL,
    };
    enum {
    GD_SKILLBASE=10000,
    GD_APPROVAL=10000,
    GD_KAFRACONTRACT=10001,
    GD_GUARDRESEARCH=10002,
    GD_GUARDUP=10003,
    GD_EXTENSION=10004,
    GD_GLORYGUILD=10005,
    GD_LEADERSHIP=10006,
    GD_GLORYWOUNDS=10007,
    GD_SOULCOLD=10008,
    GD_HAWKEYES=10009,
    GD_BATTLEORDER=10010,
    GD_REGENERATION=10011,
    GD_RESTORE=10012,
    GD_EMERGENCYCALL=10013,
    GD_DEVELOPMENT=10014,
    GD_MAX,
    };
    
    //These mark the ID of the jobs, as expected by the client. [skotlex]
    enum {
    JOB_NOVICE,
    JOB_SWORDMAN,
    JOB_MAGE,
    JOB_ARCHER,
    JOB_ACOLYTE,
    JOB_MERCHANT,
    JOB_THIEF,
    JOB_KNIGHT,
    JOB_PRIEST,
    JOB_WIZARD,
    JOB_BLACKSMITH,
    JOB_HUNTER,
    JOB_ASSASSIN,
    JOB_KNIGHT2,
    JOB_CRUSADER,
    JOB_MONK,
    JOB_SAGE,
    JOB_ROGUE,
    JOB_ALCHEMIST,
    JOB_BARD,
    JOB_DANCER,
    JOB_CRUSADER2,
    JOB_WEDDING,
    JOB_SUPER_NOVICE,
    JOB_GUNSLINGER,
    JOB_NINJA,
    JOB_XMAS,
    JOB_SUMMER,
    JOB_MAX_BASIC,
    JOB_NOVICE_HIGH = 4001,
    JOB_SWORDMAN_HIGH,
    JOB_MAGE_HIGH,
    JOB_ARCHER_HIGH,
    JOB_ACOLYTE_HIGH,
    JOB_MERCHANT_HIGH,
    JOB_THIEF_HIGH,
    JOB_LORD_KNIGHT,
    JOB_HIGH_PRIEST,
    JOB_HIGH_WIZARD,
    JOB_WHITESMITH,
    JOB_SNIPER,
    JOB_ASSASSIN_CROSS,
    JOB_LORD_KNIGHT2,
    JOB_PALADIN,
    JOB_CHAMPION,
    JOB_PROFESSOR,
    JOB_STALKER,
    JOB_CREATOR,
    JOB_CLOWN,
    JOB_GYPSY,
    JOB_PALADIN2,
    JOB_BABY,
    JOB_BABY_SWORDMAN,
    JOB_BABY_MAGE,
    JOB_BABY_ARCHER,
    JOB_BABY_ACOLYTE,
    JOB_BABY_MERCHANT,
    JOB_BABY_THIEF,
    JOB_BABY_KNIGHT,
    JOB_BABY_PRIEST,
    JOB_BABY_WIZARD,
    JOB_BABY_BLACKSMITH,
    JOB_BABY_HUNTER,
    JOB_BABY_ASSASSIN,
    JOB_BABY_KNIGHT2,
    JOB_BABY_CRUSADER,
    JOB_BABY_MONK,
    JOB_BABY_SAGE,
    JOB_BABY_ROGUE,
    JOB_BABY_ALCHEMIST,
    JOB_BABY_BARD,
    JOB_BABY_DANCER,
    JOB_BABY_CRUSADER2,
    JOB_SUPER_BABY,
    JOB_TAEKWON,
    JOB_STAR_GLADIATOR,
    JOB_STAR_GLADIATOR2,
    JOB_SOUL_LINKER,
    JOB_GANGSI,
    JOB_DEATH_KNIGHT,
    JOB_DARK_COLLECTOR,
    JOB_RUNE_KNIGHT = 4054,
    JOB_WARLOCK,
    JOB_RANGER,
    JOB_ARCH_BISHOP,
    JOB_MECHANIC,
    JOB_GUILLOTINE_CROSS,
    JOB_RUNE_KNIGHT_T,
    JOB_WARLOCK_T,
    JOB_RANGER_T,
    JOB_ARCH_BISHOP_T,
    JOB_MECHANIC_T,
    JOB_GUILLOTINE_CROSS_T,
    JOB_ROYAL_GUARD,
    JOB_SORCERER,
    JOB_MINSTREL,
    JOB_WANDERER,
    JOB_SURA,
    JOB_GENETIC,
    JOB_SHADOW_CHASER,
    JOB_ROYAL_GUARD_T,
    JOB_SORCERER_T,
    JOB_MINSTREL_T,
    JOB_WANDERER_T,
    JOB_SURA_T,
    JOB_GENETIC_T,
    JOB_SHADOW_CHASER_T,
    JOB_RUNE_KNIGHT2,
    JOB_RUNE_KNIGHT_T2,
    JOB_ROYAL_GUARD2,
    JOB_ROYAL_GUARD_T2,
    JOB_RANGER2,
    JOB_RANGER_T2,
    JOB_MECHANIC2,
    JOB_MECHANIC_T2,
    JOB_BABY_RUNE = 4096,
    JOB_BABY_WARLOCK,
    JOB_BABY_RANGER,
    JOB_BABY_BISHOP,
    JOB_BABY_MECHANIC,
    JOB_BABY_CROSS,
    JOB_BABY_GUARD,
    JOB_BABY_SORCERER,
    JOB_BABY_MINSTREL,
    JOB_BABY_WANDERER,
    JOB_BABY_SURA,
    JOB_BABY_GENETIC,
    JOB_BABY_CHASER,
    JOB_BABY_RUNE2,
    JOB_BABY_GUARD2,
    JOB_BABY_RANGER2,
    JOB_BABY_MECHANIC2,
    JOB_SUPER_NOVICE_E = 4190,
    JOB_SUPER_BABY_E,
    JOB_KAGEROU = 4211,
    JOB_OBORO,
    JOB_MAX,
    };
    enum {
    SEX_FEMALE = 0,
    SEX_MALE,
    SEX_SERVER
    };
    // sanity checks...
    #if MAX_ZENY > INT_MAX
    #error MAX_ZENY is too big
    #endif
    #endif /* _MMO_H_ */
    

    packet_db.txt

    // Client<->Map Packet Database
    //
    // Structure of Database:
    // PacketType,PacketLength[,Name,FieldIndex1:FieldIndex2:FieldIndex3:...]
    //
    // 01. PacketType       ID of the packet.
    // 02. PacketLength     Length of the packet. If 0, packet is disabled in current packet version. If -1, packet has variable size.
    // 03. Name             Name of the packet parser function (optional, for incoming packets only).
    // 04. FieldIndex       Specifies the offset of a packet field in bytes from the begin of the packet (only specified when Name is given).
    //                      Can be 0, when the layout is not known.
    // ...
    //
    // NOTE: Up to MAX_PACKET_POS (typically 20) field indexes may be used.
    //
    // The packet database allows you to add support for new clients,
    // because packets change every release.
    //
    // Note: Every packet version needs a wanttoconnection specification, since
    // that is the packet used to identify a client's version.
    // If multiple versions have the same connection packet, the higher version
    // will be used (unless the lower one is specified as the default)
    //
    // Incoming packets have their parser function and layout specified, which enables
    // them for the current and all higher versions, unless explicitely disabled.
    //
    // Outgoing packets must be specified in order to enable them for the current
    // and all higher versions, unless explicitely disabled. Packets that are not
    // enabled for a packet version are silently discarded when sent as multicast.
    //
    // Every packet version inherits packet definitions from the previous (lower)
    // packet version.
    //
    // Main packet version of the DB to use (default = max available version)
    // Client detection is faster when all clients use this version.
    // Version 23 is the latest Sakexe (above versions are for Renewal clients)
    //packet_db_ver: 25
    packet_db_ver: default
    packet_ver: 5
    0x0064,55
    0x0065,17
    0x0066,6
    0x0067,37
    0x0068,46
    0x0069,-1
    0x006a,23
    0x006b,-1
    0x006c,3
    0x006d,108
    0x006e,3
    0x006f,2
    0x0070,6
    0x0071,28
    0x0072,19,wanttoconnection,2:6:10:14:18
    0x0073,11
    0x0074,3
    0x0075,-1
    0x0076,9
    0x0077,5
    0x0078,54
    0x0079,53
    0x007a,58
    0x007b,60
    0x007c,41
    0x007d,2,loadendack,0
    0x007e,6,ticksend,2
    0x007f,6
    0x0080,7
    0x0081,3
    0x0082,2
    0x0083,2
    0x0084,2
    0x0085,5,walktoxy,2
    0x0086,16
    0x0087,12
    0x0088,10
    0x0089,7,actionrequest,2:6
    0x008a,29
    0x008b,2
    0x008c,-1,globalmessage,2:4
    0x008d,-1
    0x008e,-1
    //0x008f,-1
    0x0090,7,npcclicked,2
    0x0091,22
    0x0092,28
    0x0093,2
    0x0094,6,getcharnamerequest,2
    0x0095,30
    0x0096,-1,wis,2:4:28
    0x0097,-1
    0x0098,3
    0x0099,-1,broadcast,2:4
    0x009a,-1
    0x009b,5,changedir,2:4
    0x009c,9
    0x009d,17
    0x009e,17
    0x009f,6,takeitem,2
    0x00a0,23
    0x00a1,6
    0x00a2,6,dropitem,2:4
    0x00a3,-1
    0x00a4,-1
    0x00a5,-1
    0x00a6,-1
    0x00a7,8,useitem,2:4
    0x00a8,7
    0x00a9,6,equipitem,2:4
    0x00aa,7
    0x00ab,4,unequipitem,2
    0x00ac,7
    //0x00ad,-1
    0x00ae,-1
    0x00af,6
    0x00b0,8
    0x00b1,8
    0x00b2,3,restart,2
    0x00b3,3
    0x00b4,-1
    0x00b5,6
    0x00b6,6
    0x00b7,-1
    0x00b8,7,npcselectmenu,2:6
    0x00b9,6,npcnextclicked,2
    0x00ba,2
    0x00bb,5,statusup,2:4
    0x00bc,6
    0x00bd,44
    0x00be,5
    0x00bf,3,emotion,2
    0x00c0,7
    0x00c1,2,howmanyconnections,0
    0x00c2,6
    0x00c3,8
    0x00c4,6
    0x00c5,7,npcbuysellselected,2:6
    0x00c6,-1
    0x00c7,-1
    0x00c8,-1,npcbuylistsend,2:4
    0x00c9,-1,npcselllistsend,2:4
    0x00ca,3
    0x00cb,3
    0x00cc,6,gmkick,2
    0x00cd,3
    0x00ce,2,killall,0
    0x00cf,27,wisexin,2:26
    0x00d0,3,wisall,2
    0x00d1,4
    0x00d2,4
    0x00d3,2,wisexlist,0
    0x00d4,-1
    0x00d5,-1,createchatroom,2:4:6:7:15
    0x00d6,3
    0x00d7,-1
    0x00d8,6
    0x00d9,14,chataddmember,2:6
    0x00da,3
    0x00db,-1
    0x00dc,28
    0x00dd,29
    0x00de,-1,chatroomstatuschange,2:4:6:7:15
    0x00df,-1
    0x00e0,30,changechatowner,2:6
    0x00e1,30
    0x00e2,26,kickfromchat,2
    0x00e3,2,chatleave,0
    0x00e4,6,traderequest,2
    0x00e5,26
    0x00e6,3,tradeack,2
    0x00e7,3
    0x00e8,8,tradeadditem,2:4
    0x00e9,19
    0x00ea,5
    0x00eb,2,tradeok,0
    0x00ec,3
    0x00ed,2,tradecancel,0
    0x00ee,2
    0x00ef,2,tradecommit,0
    0x00f0,3
    0x00f1,2
    0x00f2,6
    0x00f3,8,movetokafra,2:4
    0x00f4,21
    0x00f5,8,movefromkafra,2:4
    0x00f6,8
    0x00f7,2,closekafra,0
    0x00f8,2
    0x00f9,26,createparty,2
    0x00fa,3
    0x00fb,-1
    0x00fc,6,partyinvite,2
    0x00fd,27
    0x00fe,30
    0x00ff,10,replypartyinvite,2:6
    0x0100,2,leaveparty,0
    0x0101,6
    0x0102,6,partychangeoption,2
    0x0103,30,removepartymember,2:6
    0x0104,79
    0x0105,31
    0x0106,10
    0x0107,10
    0x0108,-1,partymessage,2:4
    0x0109,-1
    0x010a,4
    0x010b,6
    0x010c,6
    0x010d,2
    0x010e,11
    0x010f,-1
    0x0110,10
    0x0111,39
    0x0112,4,skillup,2
    0x0113,10,useskilltoid,2:4:6
    0x0114,31
    0x0115,35
    0x0116,10,useskilltopos,2:4:6:8
    0x0117,18
    0x0118,2,stopattack,0
    0x0119,13
    0x011a,15
    0x011b,20,useskillmap,2:4
    0x011c,68
    0x011d,2,requestmemo,0
    0x011e,3
    0x011f,16
    0x0120,6
    0x0121,14
    0x0122,-1
    0x0123,-1
    0x0124,21
    0x0125,8
    0x0126,8,putitemtocart,2:4
    0x0127,8,getitemfromcart,2:4
    0x0128,8,movefromkafratocart,2:4
    0x0129,8,movetokafrafromcart,2:4
    0x012a,2,removeoption,0
    0x012b,2
    0x012c,3
    0x012d,4
    0x012e,2,closevending,0
    0x012f,-1
    0x0130,6,vendinglistreq,2
    0x0131,86
    0x0132,6
    0x0133,-1
    0x0134,-1,purchasereq,2:4:8
    0x0135,7
    0x0136,-1
    0x0137,6
    0x0138,3
    0x0139,16
    0x013a,4
    0x013b,4
    0x013c,4
    0x013d,6
    0x013e,24
    0x013f,26,itemmonster,2
    0x0140,22,mapmove,2:18:20
    0x0141,14
    0x0142,6
    0x0143,10,npcamountinput,2:6
    0x0144,23
    0x0145,19
    0x0146,6,npccloseclicked,2
    0x0147,39
    0x0148,8
    0x0149,9,gmreqnochat,2:6:7
    0x014a,6
    0x014b,27
    0x014c,-1
    0x014d,2,guildcheckmaster,0
    0x014e,6
    0x014f,6,guildrequestinfo,2
    0x0150,110
    0x0151,6,guildrequestemblem,2
    0x0152,-1
    0x0153,-1,guildchangeemblem,2:4
    0x0154,-1
    0x0155,-1,guildchangememberposition,2
    0x0156,-1
    0x0157,6
    0x0158,-1
    0x0159,54,guildleave,2:6:10:14
    0x015a,66
    0x015b,54,guildexpulsion,2:6:10:14
    0x015c,90
    0x015d,42,guildbreak,2
    0x015e,6
    0x015f,42
    0x0160,-1
    0x0161,-1,guildchangepositioninfo,2
    0x0162,-1
    0x0163,-1
    0x0164,-1
    0x0165,30,createguild,6
    0x0166,-1
    0x0167,3
    0x0168,14,guildinvite,2
    0x0169,3
    0x016a,30
    0x016b,10,guildreplyinvite,2:6
    0x016c,43
    0x016d,14
    0x016e,186,guildchangenotice,2:6:66
    0x016f,182
    0x0170,14,guildrequestalliance,2
    0x0171,30
    0x0172,10,guildreplyalliance,2:6
    0x0173,3
    0x0174,-1
    0x0175,6
    0x0176,106
    0x0177,-1
    0x0178,4,itemidentify,2
    0x0179,5
    0x017a,4,usecard,2
    0x017b,-1
    0x017c,6,insertcard,2:4
    0x017d,7
    0x017e,-1,guildmessage,2:4
    0x017f,-1
    0x0180,6,guildopposition,2
    0x0181,3
    0x0182,106
    0x0183,10,guilddelalliance,2:6
    0x0184,10
    0x0185,34
    //0x0186,-1
    0x0187,6
    0x0188,8
    0x0189,4
    0x018a,4,quitgame,0
    0x018b,4
    0x018c,29
    0x018d,-1
    0x018e,10,producemix,2:4:6:8
    0x018f,6
    0x0190,90,useskilltoposinfo,2:4:6:8:10
    0x0191,86
    0x0192,24
    0x0193,6,solvecharname,2
    0x0194,30
    0x0195,102
    0x0196,9
    0x0197,4,resetchar,2
    0x0198,8,changemaptype,2:4:6
    0x0199,4
    0x019a,14
    0x019b,10
    0x019c,-1,localbroadcast,2:4
    0x019d,6,gmhide,0
    0x019e,2
    0x019f,6,catchpet,2
    0x01a0,3
    0x01a1,3,petmenu,2
    0x01a2,35
    0x01a3,5
    0x01a4,11
    0x01a5,26,changepetname,2
    0x01a6,-1
    0x01a7,4,selectegg,2
    0x01a8,4
    0x01a9,6,sendemotion,2
    0x01aa,10
    0x01ab,12
    0x01ac,6
    0x01ad,-1
    0x01ae,4,selectarrow,2
    0x01af,4,changecart,2
    0x01b0,11
    0x01b1,7
    0x01b2,-1,openvending,2:4:84:85
    0x01b3,67
    0x01b4,12
    0x01b5,18
    0x01b6,114
    0x01b7,6
    0x01b8,3
    0x01b9,6
    0x01ba,26,remove,2
    0x01bb,26,shift,2
    0x01bc,26,recall,2
    0x01bd,26,summon,2
    0x01be,2
    0x01bf,3
    0x01c0,2
    0x01c1,14
    0x01c2,10
    0x01c3,-1
    0x01c4,22
    0x01c5,22
    0x01c6,4
    0x01c7,2
    0x01c8,13
    0x01c9,97
    //0x01ca,-1
    0x01cb,9
    0x01cc,9
    0x01cd,30
    0x01ce,6,autospell,2
    0x01cf,28
    0x01d0,8
    0x01d1,14
    0x01d2,10
    0x01d3,35
    0x01d4,6
    0x01d5,-1,npcstringinput,2:4:8
    0x01d6,4
    0x01d7,11
    0x01d8,54
    0x01d9,53
    0x01da,60
    0x01db,2
    0x01dc,-1
    0x01dd,47
    0x01de,33
    0x01df,6,gmreqaccname,2
    0x01e0,30
    0x01e1,8
    0x01e2,34
    0x01e3,14
    0x01e4,2
    0x01e5,6
    0x01e6,26
    0x01e7,2,sndoridori,0
    0x01e8,28,createparty2,2
    0x01e9,81
    0x01ea,6
    0x01eb,10
    0x01ec,26
    0x01ed,2,snexplosionspirits,0
    0x01ee,-1
    0x01ef,-1
    0x01f0,-1
    0x01f1,-1
    0x01f2,20
    0x01f3,10
    0x01f4,32
    0x01f5,9
    0x01f6,34
    0x01f7,14,adoptreply,0
    0x01f8,2
    0x01f9,6,adoptrequest,0
    0x01fa,48
    0x01fb,56
    0x01fc,-1
    0x01fd,4,repairitem,2
    0x01fe,5
    0x01ff,10
    0x0200,26
    0x0201,-1
    0x0202,26,friendslistadd,2
    0x0203,10,friendslistremove,2:6
    0x0204,18
    0x0205,26
    0x0206,11
    0x0207,34
    0x0208,11,friendslistreply,2:6:10
    0x0209,36
    0x020a,10
    //0x020b,-1
    //0x020c,-1
    0x020d,-1
    //2004-07-05aSakexe
    packet_ver: 6
    0x0072,22,wanttoconnection,5:9:13:17:21
    0x0085,8,walktoxy,5
    0x00a7,13,useitem,5:9
    0x0113,15,useskilltoid,4:9:11
    0x0116,15,useskilltopos,4:9:11:13
    0x0190,95,useskilltoposinfo,4:9:11:13:15
    0x0208,14,friendslistreply,2:6:10
    0x020e,24
    //2004-07-13aSakexe
    packet_ver: 7
    0x0072,39,wanttoconnection,12:22:30:34:38
    0x0085,9,walktoxy,6
    0x009b,13,changedir,5:12
    0x009f,10,takeitem,6
    0x00a7,17,useitem,6:13
    0x0113,19,useskilltoid,7:9:15
    0x0116,19,useskilltopos,7:9:15:17
    0x0190,99,useskilltoposinfo,7:9:15:17:19
    //2004-07-26aSakexe
    packet_ver: 8
    0x0072,14,dropitem,5:12
    0x007e,33,wanttoconnection,12:18:24:28:32
    0x0085,20,useskilltoid,7:12:16
    0x0089,15,getcharnamerequest,11
    0x008c,23,useskilltopos,3:6:17:21
    0x0094,10,takeitem,6
    0x009b,6,walktoxy,3
    0x009f,13,changedir,5:12
    0x00a2,103,useskilltoposinfo,3:6:17:21:23
    0x00a7,12,solvecharname,8
    0x00f3,-1,globalmessage,2:4
    0x00f5,17,useitem,6:12
    0x00f7,10,ticksend,6
    0x0113,16,movetokafra,5:12
    0x0116,2,closekafra,0
    0x0190,26,movefromkafra,10:22
    0x0193,9,actionrequest,3:8
    //2004-08-09aSakexe
    packet_ver: 9
    0x0072,17,dropitem,8:15
    0x007e,37,wanttoconnection,9:21:28:32:36
    0x0085,26,useskilltoid,11:18:22
    0x0089,12,getcharnamerequest,8
    0x008c,40,useskilltopos,5:15:29:38
    0x0094,13,takeitem,9
    0x009b,15,walktoxy,12
    0x009f,12,changedir,7:11
    0x00a2,120,useskilltoposinfo,5:15:29:38:40
    0x00a7,11,solvecharname,7
    0x00f5,24,useitem,9:20
    0x00f7,13,ticksend,9
    0x0113,23,movetokafra,5:19
    0x0190,26,movefromkafra,11:22
    0x0193,18,actionrequest,7:17
    //2004-08-16aSakexe
    0x0212,26,rc,2
    0x0213,26,check,2
    0x0214,42
    //2004-08-17aSakexe
    0x020f,10,pvpinfo,2:6
    0x0210,22
    //2004-09-06aSakexe
    packet_ver: 10
    0x0072,20,useitem,9:20
    0x007e,19,movetokafra,3:15
    0x0085,23,actionrequest,9:22
    0x0089,9,walktoxy,6
    0x008c,105,useskilltoposinfo,10:14:18:23:25
    0x0094,17,dropitem,6:15
    0x009b,14,getcharnamerequest,10
    0x009f,-1,globalmessage,2:4
    0x00a2,14,solvecharname,10
    0x00a7,25,useskilltopos,10:14:18:23
    0x00f3,10,changedir,4:9
    0x00f5,34,wanttoconnection,7:15:25:29:33
    0x00f7,2,closekafra,0
    0x0113,11,takeitem,7
    0x0116,11,ticksend,7
    0x0190,22,useskilltoid,9:15:18
    0x0193,17,movefromkafra,3:13
    //2004-09-20aSakexe
    packet_ver: 11
    0x0072,18,useitem,10:14
    0x007e,25,movetokafra,6:21
    0x0085,9,actionrequest,3:8
    0x0089,14,walktoxy,11
    0x008c,109,useskilltoposinfo,16:20:23:27:29
    0x0094,19,dropitem,12:17
    0x009b,10,getcharnamerequest,6
    0x00a2,10,solvecharname,6
    0x00a7,29,useskilltopos,6:20:23:27
    0x00f3,18,changedir,8:17
    0x00f5,32,wanttoconnection,10:17:23:27:31
    0x0113,14,takeitem,10
    0x0116,14,ticksend,10
    0x0190,14,useskilltoid,4:7:10
    0x0193,12,movefromkafra,4:8
    //2004-10-05aSakexe
    packet_ver: 12
    0x0072,17,useitem,6:13
    0x007e,16,movetokafra,5:12
    0x0089,6,walktoxy,3
    0x008c,103,useskilltoposinfo,2:6:17:21:23
    0x0094,14,dropitem,5:12
    0x009b,15,getcharnamerequest,11
    0x00a2,12,solvecharname,8
    0x00a7,23,useskilltopos,3:6:17:21
    0x00f3,13,changedir,5:12
    0x00f5,33,wanttoconnection,12:18:24:28:32
    0x0113,10,takeitem,6
    0x0116,10,ticksend,6
    0x0190,20,useskilltoid,7:12:16
    0x0193,26,movefromkafra,10:22
    //2004-10-25aSakexe
    packet_ver: 13
    0x0072,13,useitem,5:9
    0x007e,13,movetokafra,6:9
    0x0085,15,actionrequest,4:14
    0x008c,108,useskilltoposinfo,6:9:23:26:28
    0x0094,12,dropitem,6:10
    0x009b,10,getcharnamerequest,6
    0x00a2,16,solvecharname,12
    0x00a7,28,useskilltopos,6:9:23:26
    0x00f3,15,changedir,6:14
    0x00f5,29,wanttoconnection,5:14:20:24:28
    0x0113,9,takeitem,5
    0x0116,9,ticksend,5
    0x0190,26,useskilltoid,4:10:22
    0x0193,22,movefromkafra,12:18
    //2004-11-01aSakexe
    0x0084,-1
    0x0215,6
    //2004-11-08aSakexe
    0x0084,2
    0x0216,6
    0x0217,2,blacksmith,0
    0x0218,2,alchemist,0
    0x0219,282
    0x021a,282
    0x021b,10
    0x021c,10
    //2004-11-15aSakexe
    0x021d,6,lesseffect,2
    //2004-11-29aSakexe
    packet_ver: 14
    0x0072,22,useskilltoid,8:12:18
    0x007e,30,useskilltopos,4:9:22:28
    0x0085,-1,globalmessage,2:4
    0x0089,7,ticksend,3
    0x008c,13,getcharnamerequest,9
    0x0094,14,movetokafra,4:10
    0x009b,2,closekafra,0
    0x009f,18,actionrequest,6:17
    0x00a2,7,takeitem,3
    0x00a7,7,walktoxy,4
    0x00f3,8,changedir,3:7
    0x00f5,29,wanttoconnection,3:10:20:24:28
    0x00f7,14,solvecharname,10
    0x0113,110,useskilltoposinfo,4:9:22:28:30
    0x0116,12,dropitem,4:10
    0x0190,15,useitem,3:11
    0x0193,21,movefromkafra,4:17
    0x0221,-1
    0x0222,6,weaponrefine,2
    0x0223,8
    //2004-12-13aSakexe
    //skipped: many packets being set to -1
    0x0066,3
    0x0070,3
    0x01ca,3
    0x021e,6
    0x021f,66
    0x0220,10
    //2005-01-10bSakexe
    packet_ver: 15
    0x0072,26,useskilltoid,8:16:22
    0x007e,114,useskilltoposinfo,10:18:22:32:34
    0x0085,23,changedir,12:22
    0x0089,9,ticksend,5
    0x008c,8,getcharnamerequest,4
    0x0094,20,movetokafra,10:16
    0x009b,32,wanttoconnection,3:12:23:27:31
    0x009f,17,useitem,5:13
    0x00a2,11,solvecharname,7
    0x00a7,13,walktoxy,10
    0x00f3,-1,globalmessage,2:4
    0x00f5,9,takeitem,5
    0x00f7,21,movefromkafra,11:17
    0x0113,34,useskilltopos,10:18:22:32
    0x0116,20,dropitem,15:18
    0x0190,20,actionrequest,9:19
    0x0193,2,closekafra,0
    //2005-03-28aSakexe
    0x0224,10
    0x0225,2,taekwon,0
    0x0226,282
    //2005-04-04aSakexe
    0x0227,18
    0x0228,18
    //2005-04-11aSakexe
    0x0229,15
    0x022a,58
    0x022b,57
    0x022c,64
    //2005-04-25aSakexe
    0x022d,5,hommenu,2:4
    0x0232,9,hommoveto,2:6
    0x0233,11,homattack,2:6:10
    0x0234,6,hommovetomaster,2
    //2005-05-09aSakexe
    packet_ver: 16
    0x0072,25,useskilltoid,6:10:21
    0x007e,102,useskilltoposinfo,5:9:12:20:22
    0x0085,11,changedir,7:10
    0x0089,8,ticksend,4
    0x008c,11,getcharnamerequest,7
    0x0094,14,movetokafra,7:10
    0x009b,26,wanttoconnection,4:9:17:21:25
    0x009f,14,useitem,4:10
    0x00a2,15,solvecharname,11
    0x00a7,8,walktoxy,5
    0x00f5,8,takeitem,4
    0x00f7,22,movefromkafra,14:18
    0x0113,22,useskilltopos,5:9:12:20
    0x0116,10,dropitem,5:8
    0x0190,19,actionrequest,5:18
    //2005-05-23aSakexe
    0x022e,69
    0x0230,12
    //2005-05-30aSakexe
    0x022e,71
    0x0235,-1
    0x0236,10
    0x0237,2,rankingpk,0
    0x0238,282
    //2005-05-31aSakexe
    0x0216,2
    0x0239,11
    //2005-06-08aSakexe
    0x0216,6
    0x0217,2,blacksmith,0
    0x022f,5
    0x0231,26,changehomunculusname,0
    0x023a,4
    0x023b,36,storagepassword,2:4:20
    0x023c,6
    //2005-06-22aSakexe
    0x022e,71
    //2005-06-28aSakexe
    packet_ver: 17
    0x0072,34,useskilltoid,6:17:30
    0x007e,113,useskilltoposinfo,12:15:18:31:33
    0x0085,17,changedir,8:16
    0x0089,13,ticksend,9
    0x008c,8,getcharnamerequest,4
    0x0094,31,movetokafra,16:27
    0x009b,32,wanttoconnection,9:15:23:27:31
    0x009f,19,useitem,9:15
    0x00a2,9,solvecharname,5
    0x00a7,11,walktoxy,8
    0x00f5,13,takeitem,9
    0x00f7,18,movefromkafra,11:14
    0x0113,33,useskilltopos,12:15:18:31
    0x0116,12,dropitem,3:10
    0x0190,24,actionrequest,11:23
    0x0216,-1
    0x023d,-1
    0x023e,4
    //2005-07-18aSakexe
    packet_ver: 18
    0x0072,19,useskilltoid,5:11:15
    0x007e,110,useskilltoposinfo,9:15:23:28:30
    0x0085,11,changedir,6:10
    0x0089,7,ticksend,3
    0x008c,11,getcharnamerequest,7
    0x0094,21,movetokafra,12:17
    0x009b,31,wanttoconnection,3:13:22:26:30
    0x009f,12,useitem,3:8
    0x00a2,18,solvecharname,14
    0x00a7,15,walktoxy,12
    0x00f5,7,takeitem,3
    0x00f7,13,movefromkafra,5:9
    0x0113,30,useskilltopos,9:15:23:28
    0x0116,12,dropitem,6:10
    0x0190,21,actionrequest,5:20
    0x0216,6
    0x023f,2,mailrefresh,0
    0x0240,8
    0x0241,6,mailread,2
    0x0242,-1
    0x0243,6,maildelete,2
    0x0244,6,mailgetattach,2
    0x0245,7
    0x0246,4,mailwinopen,2
    0x0247,8,mailsetattach,2:4
    0x0248,68
    0x0249,3
    0x024a,70
    0x024b,4,auctioncancelreg,0
    0x024c,8,auctionsetitem,0
    0x024d,14
    0x024e,6,auctioncancel,0
    0x024f,10,auctionbid,0
    0x0250,3
    0x0251,2
    0x0252,-1
    //2005-07-19bSakexe
    packet_ver: 19
    0x0072,34,useskilltoid,6:17:30
    0x007e,113,useskilltoposinfo,12:15:18:31:33
    0x0085,17,changedir,8:16
    0x0089,13,ticksend,9
    0x008c,8,getcharnamerequest,4
    0x0094,31,movetokafra,16:27
    0x009b,32,wanttoconnection,9:15:23:27:31
    0x009f,19,useitem,9:15
    0x00a2,9,solvecharname,5
    0x00a7,11,walktoxy,8
    0x00f5,13,takeitem,9
    0x00f7,18,movefromkafra,11:14
    0x0113,33,useskilltopos,12:15:18:31
    0x0116,12,dropitem,3:10
    0x0190,24,actionrequest,11:23
    //2005-08-01aSakexe
    0x0245,3
    0x0251,4
    //2005-08-08aSakexe
    0x024d,12,auctionregister,0
    0x024e,4
    //2005-08-17aSakexe
    0x0253,3
    0x0254,3,feelsaveok,0
    //2005-08-29aSakexe
    0x0240,-1
    0x0248,-1,mailsend,2:4:28:68
    0x0255,5
    0x0256,-1
    0x0257,8
    //2005-09-12bSakexe
    0x0256,5
    0x0258,2
    0x0259,3
    //2005-10-10aSakexe
    0x020e,32
    0x025a,-1
    0x025b,6,cooking,0
    //2005-10-13aSakexe
    0x007a,6
    0x0251,32
    0x025c,4,auctionbuysell,0
    //2005-10-17aSakexe
    0x007a,58
    0x025d,6,auctionclose,0
    0x025e,4
    //2005-10-24aSakexe
    0x025f,6
    0x0260,6
    //2005-11-07aSakexe
    0x024e,6,auctioncancel,0
    0x0251,34,auctionsearch,0
    //2006-01-09aSakexe
    0x0261,11
    0x0262,11
    0x0263,11
    0x0264,20
    0x0265,20
    0x0266,30
    0x0267,4
    0x0268,4
    0x0269,4
    0x026a,4
    0x026b,4
    0x026c,4
    0x026d,4
    0x026f,2
    0x0270,2
    0x0271,38
    0x0272,44
    //2006-01-26aSakexe
    0x0271,40
    //2006-03-06aSakexe
    0x0273,6
    0x0274,8
    //2006-03-13aSakexe
    0x0273,30,mailreturn,2:6
    //2006-03-27aSakexe
    packet_ver: 20
    0x0072,26,useskilltoid,11:18:22
    0x007e,120,useskilltoposinfo,5:15:29:38:40
    0x0085,12,changedir,7:11
    //0x0089,13,ticksend,9
    0x008c,12,getcharnamerequest,8
    0x0094,23,movetokafra,5:19
    0x009b,37,wanttoconnection,9:21:28:32:36
    0x009f,24,useitem,9:20
    0x00a2,11,solvecharname,7
    0x00a7,15,walktoxy,12
    0x00f5,13,takeitem,9
    0x00f7,26,movefromkafra,11:22
    0x0113,40,useskilltopos,5:15:29:38
    0x0116,17,dropitem,8:15
    0x0190,18,actionrequest,7:17
    //2006-10-23aSakexe
    0x006d,110
    //2006-04-24aSakexe to 2007-01-02aSakexe
    0x023e,8
    0x0277,84
    0x0278,2
    0x0279,2
    0x027a,-1
    0x027b,14
    0x027c,60
    0x027d,62
    0x027e,-1
    0x027f,8
    0x0280,12
    0x0281,4
    0x0282,284
    0x0283,6
    0x0284,14
    0x0285,6
    0x0286,4
    0x0287,-1
    0x0288,6
    0x0289,8
    0x028a,18
    0x028b,-1
    0x028c,46
    0x028d,34
    0x028e,4
    0x028f,6
    0x0290,4
    0x0291,4
    0x0292,2,autorevive,0
    0x0293,70
    0x0294,10
    0x0295,-1
    0x0296,-1
    0x0297,-1
    0x0298,8
    0x0299,6
    0x029a,27
    0x029c,66
    0x029d,-1
    0x029e,11
    0x029f,3,mermenu,0
    0x02a0,-1
    0x02a1,-1
    0x02a2,8
    //2007-01-08aSakexe
    packet_ver: 21
    0x0072,30,useskilltoid,10:14:26
    0x007e,120,useskilltoposinfo,10:19:23:38:40
    0x0085,14,changedir,10:13
    0x0089,11,ticksend,7
    0x008c,17,getcharnamerequest,13
    0x0094,17,movetokafra,4:13
    0x009b,35,wanttoconnection,7:21:26:30:34
    0x009f,21,useitem,7:17
    0x00a2,10,solvecharname,6
    0x00a7,8,walktoxy,5
    0x00f5,11,takeitem,7
    0x00f7,15,movefromkafra,3:11
    0x0113,40,useskilltopos,10:19:23:38
    0x0116,19,dropitem,11:17
    0x0190,10,actionrequest,4:9
    //2007-01-22aSakexe
    0x02a3,18
    0x02a4,2
    //2007-01-29aSakexe
    0x029b,72
    0x02a3,-1
    0x02a4,-1
    0x02a5,8
    // 2007-02-05aSakexe
    0x02aa,4
    0x02ab,36
    0x02ac,6
    //2007-02-12aSakexe
    packet_ver: 22
    0x0072,25,useskilltoid,6:10:21
    0x007e,102,useskilltoposinfo,5:9:12:20:22
    0x0085,11,changedir,7:10
    0x0089,8,ticksend,4
    0x008c,11,getcharnamerequest,7
    0x0094,14,movetokafra,7:10
    0x009b,26,wanttoconnection,4:9:17:21:25
    0x009f,14,useitem,4:10
    0x00a2,15,solvecharname,11
    //0x00a7,8,walktoxy,5
    0x00f5,8,takeitem,4
    0x00f7,22,movefromkafra,14:18
    0x0113,22,useskilltopos,5:9:12:20
    0x0116,10,dropitem,5:8
    0x0190,19,actionrequest,5:18
    //2007-05-07aSakexe
    0x01fd,15,repairitem,2
    //2007-02-27aSakexe to 2007-10-02aSakexe
    0x0288,10,cashshopbuy,2:4:6
    0x0289,12
    0x02a6,22
    0x02a7,22
    0x02a8,162
    0x02a9,58
    0x02ad,8
    0x02b0,85
    0x02b1,-1
    0x02b2,-1
    0x02b3,107
    0x02b4,6
    0x02b5,-1
    0x02b6,7,queststate,2:6
    0x02b7,7
    0x02b8,22
    0x02b9,191
    0x02ba,11,hotkey,2:4:5:9
    0x02bb,8
    0x02bc,6
    0x02bf,10
    0x02c0,2
    0x02c1,-1
    0x02c2,-1
    0x02c4,26,partyinvite2,2
    0x02c5,30
    0x02c6,30
    0x02c7,7,replypartyinvite2,2:6
    0x02c8,3
    0x02c9,3
    0x02ca,3
    0x02cb,20
    0x02cc,4
    0x02cd,26
    0x02ce,10
    0x02cf,6
    0x02d0,-1
    0x02d1,-1
    0x02d2,-1
    0x02d3,4
    0x02d4,29
    0x02d5,2
    0x02d6,6,viewplayerequip,2
    0x02d7,-1
    0x02d8,10,equiptickbox,6
    0x02d9,10
    0x02da,3
    0x02db,-1,battlechat,2:4
    0x02dc,-1
    0x02dd,32
    0x02de,6
    0x02df,36
    0x02e0,34
    //2007-10-23aSakexe
    0x02cb,65
    0x02cd,71
    //2007-11-06aSakexe
    0x0078,55
    0x007c,42
    0x022c,65
    0x029b,80
    //2007-11-13aSakexe
    0x02e1,33
    //2007-11-20aSakexe
    //0x01df,10 <- ???
    0x02e2,14
    0x02e3,25
    0x02e4,8
    0x02e5,8
    0x02e6,6
    //2007-11-27aSakexe
    0x02e7,-1
    //2008-01-02aSakexe
    0x01df,6,gmreqaccname,2
    0x02e8,-1
    0x02e9,-1
    0x02ea,-1
    0x02eb,13
    0x02ec,67
    0x02ed,59
    0x02ee,60
    0x02ef,8
    //2008-03-18aSakexe
    0x02bf,-1
    0x02c0,-1
    0x02f0,10
    0x02f1,2,progressbar,0
    0x02f2,2
    //2008-03-25bSakexe
    0x02f3,-1
    0x02f4,-1
    0x02f5,-1
    0x02f6,-1
    0x02f7,-1
    0x02f8,-1
    0x02f9,-1
    0x02fa,-1
    0x02fb,-1
    0x02fc,-1
    0x02fd,-1
    0x02fe,-1
    0x02ff,-1
    0x0300,-1
    //2008-04-01aSakexe
    0x0301,-1
    0x0302,-1
    0x0303,-1
    0x0304,-1
    0x0305,-1
    0x0306,-1
    0x0307,-1
    0x0308,-1
    0x0309,-1
    0x030a,-1
    0x030b,-1
    0x030c,-1
    0x030d,-1
    0x030e,-1
    0x030f,-1
    0x0310,-1
    0x0311,-1
    0x0312,-1
    0x0313,-1
    0x0314,-1
    0x0315,-1
    0x0316,-1
    0x0317,-1
    0x0318,-1
    0x0319,-1
    0x031a,-1
    0x031b,-1
    0x031c,-1
    0x031d,-1
    0x031e,-1
    0x031f,-1
    0x0320,-1
    0x0321,-1
    0x0322,-1
    0x0323,-1
    0x0324,-1
    0x0325,-1
    0x0326,-1
    0x0327,-1
    0x0328,-1
    0x0329,-1
    0x032a,-1
    0x032b,-1
    0x032c,-1
    0x032d,-1
    0x032e,-1
    0x032f,-1
    0x0330,-1
    0x0331,-1
    0x0332,-1
    0x0333,-1
    0x0334,-1
    0x0335,-1
    0x0336,-1
    0x0337,-1
    0x0338,-1
    0x0339,-1
    0x033a,-1
    0x033b,-1
    0x033c,-1
    0x033d,-1
    0x033e,-1
    0x033f,-1
    0x0340,-1
    0x0341,-1
    0x0342,-1
    0x0343,-1
    0x0344,-1
    0x0345,-1
    0x0346,-1
    0x0347,-1
    0x0348,-1
    0x0349,-1
    0x034a,-1
    0x034b,-1
    0x034c,-1
    0x034d,-1
    0x034e,-1
    0x034f,-1
    0x0350,-1
    0x0351,-1
    0x0352,-1
    0x0353,-1
    0x0354,-1
    0x0355,-1
    0x0356,-1
    0x0357,-1
    0x0358,-1
    0x0359,-1
    0x035a,-1
    //2008-05-27aSakexe
    0x035b,-1
    0x035c,2
    0x035d,-1
    0x035e,2
    0x035f,-1
    0x0389,-1
    //2008-08-20aSakexe
    0x040c,-1
    0x040d,-1
    0x040e,-1
    0x040f,-1
    0x0410,-1
    0x0411,-1
    0x0412,-1
    0x0413,-1
    0x0414,-1
    0x0415,-1
    0x0416,-1
    0x0417,-1
    0x0418,-1
    0x0419,-1
    0x041a,-1
    0x041b,-1
    0x041c,-1
    0x041d,-1
    0x041e,-1
    0x041f,-1
    0x0420,-1
    0x0421,-1
    0x0422,-1
    0x0423,-1
    0x0424,-1
    0x0425,-1
    0x0426,-1
    0x0427,-1
    0x0428,-1
    0x0429,-1
    0x042a,-1
    0x042b,-1
    0x042c,-1
    0x042d,-1
    0x042e,-1
    0x042f,-1
    0x0430,-1
    0x0431,-1
    0x0432,-1
    0x0433,-1
    0x0434,-1
    0x0435,-1
    //2008-09-10aSakexe
    packet_ver: 23
    0x0436,19,wanttoconnection,2:6:10:14:18
    0x0437,7,actionrequest,2:6
    0x0438,10,useskilltoid,2:4:6
    0x0439,8,useitem,2:4
    //2008-11-13aSakexe
    0x043d,8
    0x043e,-1
    0x043f,8
    //2008-11-26aSakexe
    0x01a2,37
    0x0440,10
    0x0441,4
    //2008-12-10aSakexe
    0x0442,-1
    0x0443,8,skillselectmenu,2:6
    //2009-01-14aSakexe
    0x043f,25
    0x0444,-1
    0x0445,10
    //2009-02-18aSakexe
    0x0446,14
    //2009-02-25aSakexe
    0x0448,-1
    //2009-03-30aSakexe
    0x0449,4
    //2009-04-08aSakexe
    0x02a6,-1
    0x02a7,-1
    0x044a,6
    //Renewal Clients
    //2008-08-27aRagexeRE
    packet_ver: 24
    0x0072,22,useskilltoid,9:15:18
    0x007c,44
    0x007e,105,useskilltoposinfo,10:14:18:23:25
    0x0085,10,changedir,4:9
    0x0089,11,ticksend,7
    0x008c,14,getcharnamerequest,10
    0x0094,19,movetokafra,3:15
    0x009b,34,wanttoconnection,7:15:25:29:33
    0x009f,20,useitem,7:20
    0x00a2,14,solvecharname,10
    0x00a7,9,walktoxy,6
    0x00f5,11,takeitem,7
    0x00f7,17,movefromkafra,3:13
    0x0113,25,useskilltopos,10:14:18:23
    0x0116,17,dropitem,6:15
    0x0190,23,actionrequest,9:22
    0x02e2,20
    0x02e3,22
    0x02e4,11
    0x02e5,9
    //2008-09-10aRagexeRE
    packet_ver: 25
    0x0436,19,wanttoconnection,2:6:10:14:18
    0x0437,7,actionrequest,2:6
    0x0438,10,useskilltoid,2:4:6
    0x0439,8,useitem,2:4
    //2008-11-12aRagexeRE
    0x043d,8
    //0x043e,-1
    0x043f,8
    //2008-12-17aRagexeRE
    0x01a2,37
    //0x0440,10
    //0x0441,4
    //0x0442,8
    //0x0443,8
    //2008-12-17bRagexeRE
    0x006d,114
    //2009-01-21aRagexeRE
    0x043f,25
    //0x0444,-1
    //0x0445,10
    //2009-02-18aRagexeRE
    //0x0446,14
    //2009-02-26cRagexeRE
    //0x0448,-1
    //2009-04-01aRagexeRE
    //0x0449,4
    //2009-05-14aRagexeRE
    //0x044b,2
    //2009-05-20aRagexeRE
    //0x07d0,6
    //0x07d1,2
    //0x07d2,-1
    //0x07d3,4
    //0x07d4,4
    //0x07d5,4
    //0x07d6,4
    //0x0447,2
    //2009-06-03aRagexeRE
    0x07d7,8,partychangeoption,2:6:7
    0x07d8,8
    0x07d9,254
    0x07da,6,partychangeleader,2
    //2009-06-10aRagexeRE
    //0x07db,8
    //2009-06-17aRagexeRE
    0x07d9,268
    //0x07dc,6
    //0x07dd,54
    //0x07de,30
    //0x07df,54
    //2009-07-01aRagexeRE
    //0x0275,37
    //0x0276,-1
    //2009-07-08aRagexeRE
    //0x07e0,58
    //2009-07-15aRagexeRE
    0x07e1,15
    //2009-08-05aRagexeRE
    0x07e2,8
    //2009-08-18aRagexeRE
    0x07e3,6
    0x07e4,-1,itemlistwindowselected,2:4:8
    0x07e6,8
    //2009-08-25aRagexeRE
    //0x07e6,28
    0x07e7,5
    //2009-09-22aRagexeRE
    0x07e5,8
    0x07e6,8
    0x07e7,32
    0x07e8,-1
    0x07e9,5
    //2009-09-29aRagexeRE
    //0x07ea,2
    //0x07eb,-1
    //0x07ec,6
    //0x07ed,8
    //0x07ee,6
    //0x07ef,8
    //0x07f0,4
    //0x07f2,4
    //0x07f3,3
    //2009-10-06aRagexeRE
    //0x07ec,8
    //0x07ed,10
    //0x07f0,8
    //0x07f1,15
    //0x07f2,6
    //0x07f3,4
    //0x07f4,3
    //2009-10-27aRagexeRE
    0x07f5,6,gmreqaccname,2
    0x07f6,14
    //2009-11-03aRagexeRE
    0x07f7,-1
    0x07f8,-1
    0x07f9,-1
    //2009-11-17aRagexeRE
    0x07fa,8
    //2009-11-24aRagexeRE
    0x07fb,25
    //2009-12-01aRagexeRE
    //0x07fc,10
    //0x07fd,-1
    0x07fe,26
    //0x07ff,-1
    //2009-12-15aRagexeRE
    0x0800,-1
    //0x0801,-1
    //2009-12-22aRagexeRE
    0x0802,18,bookingregreq,2:4:6  // Booking System
    0x0803,4
    0x0804,8  // Booking System
    0x0805,-1
    0x0806,4,bookingdelreq,2  // Booking System
    //0x0807,2
    0x0808,4  // Booking System
    //0x0809,14
    //0x080A,50
    //0x080B,18
    //0x080C,6
    //2009-12-29aRagexeRE
    0x0804,14,bookingsearchreq,2:4:6:8:12  // Booking System
    0x0806,2,bookingdelreq,0  // Booking System
    0x0807,4
    0x0808,14,bookingupdatereq,2  // Booking System
    0x0809,50
    0x080A,18
    0x080B,6  // Booking System
    //2010-01-05aRagexeRE
    0x0801,-1,purchasereq2,2:4:8:12
    //2010-01-26aRagexeRE
    //0x080C,2
    //0x080D,3
    0x080E,14
    //2010-02-09aRagexeRE
    //0x07F0,6
    //2010-02-23aRagexeRE
    0x080F,20
    //2010-03-03aRagexeRE
    0x0810,3
    0x0811,-1,reqopenbuyingstore,2:4:8:9:89
    //0x0812,86
    //0x0813,6
    //0x0814,6
    //0x0815,-1
    //0x0817,-1
    //0x0818,6
    //0x0819,4
    //2010-03-09aRagexeRE
    0x0813,-1
    //0x0814,2
    //0x0815,6
    0x0816,6
    0x0818,-1
    //0x0819,10
    //0x081A,4
    //0x081B,4
    //0x081C,6
    0x081d,22
    0x081e,8
    //2010-03-23aRagexeRE
    //0x081F,-1
    //2010-04-06aRagexeRE
    //0x081A,6
    //2010-04-13aRagexeRE
    //0x081A,10
    0x0820,11
    //0x0821,2
    //0x0822,9
    //0x0823,-1
    //2010-04-14dRagexeRE
    //0x081B,8
    //2010-04-20aRagexeRE
    0x0812,8
    0x0814,86
    0x0815,2,reqclosebuyingstore,0
    0x0817,6,reqclickbuyingstore,2
    0x0819,-1,reqtradebuyingstore,2:4:8:12
    0x081a,4
    0x081b,10
    0x081c,10
    0x0824,6
    //2010-06-01aRagexeRE
    //0x0825,-1
    //0x0826,4
    0x0835,-1,searchstoreinfo,2:4:5:9:13:14:15
    0x0836,-1
    0x0837,3
    //0x0838,3
    //2010-06-08aRagexeRE
    0x0838,2,searchstoreinfonextpage,0
    0x083A,4  // Search Stalls Feature
    0x083B,2,closesearchstoreinfo,0
    0x083C,12,searchstoreinfolistitemclick,2:6:10
    0x083D,6
    //2010-06-15aRagexeRE
    //0x083E,26
    //2010-06-22aRagexeRE
    //0x083F,22
    //2010-06-29aRagexeRE
    0x00AA,9
    //0x07F1,18
    //0x07F2,8
    //0x07F3,6
    //2010-07-01aRagexeRE
    0x083A,5  // Search Stalls Feature
    //2010-07-13aRagexeRE
    //0x0827,6
    //0x0828,14
    //0x0829,6
    //0x082A,10
    //0x082B,6
    //0x082C,14
    //0x0840,-1
    //0x0841,19
    //2010-07-14aRagexeRE
    //0x841,4
    //2010-08-03aRagexeRE
    0x0839,66
    0x0842,6,recall2,2
    0x0843,6,remove2,2
    //2010-11-24aRagexeRE
    packet_ver: 26
    0x0288,-1,cashshopbuy,4:8
    0x0436,19,wanttoconnection,2:6:10:14:18
    0x035f,5,walktoxy,2
    0x0360,6,ticksend,2
    0x0361,5,changedir,2:4
    0x0362,6,takeitem,2
    0x0363,6,dropitem,2:4
    0x0364,8,movetokafra,2:4
    0x0365,8,movefromkafra,2:4
    0x0366,10,useskilltopos,2:4:6:8
    0x0367,90,useskilltoposinfo,2:4:6:8:10
    0x0368,6,getcharnamerequest,2
    0x0369,6,solvecharname,2
    0x0856,-1
    0x0857,-1
    0x0858,-1
    0x0859,-1
    //2011-10-05aRagexeRE
    packet_ver: 27
    0x0364,5,walktoxy,2
    0x0817,6,ticksend,2
    0x0366,5,changedir,2:4
    0x0815,6,takeitem,2
    0x0885,6,dropitem,2:4
    0x0893,8,movetokafra,2:4
    0x0897,8,movefromkafra,2:4
    0x0369,10,useskilltopos,2:4:6:8
    0x08ad,90,useskilltoposinfo,2:4:6:8:10
    0x088a,6,getcharnamerequest,2
    0x0838,6,solvecharname,2
    0x0439,8,useitem,2:4
    0x08d2,10
    // 2011-11-02aRagexe
    packet_ver: 28
    0x0436,26,friendslistadd,2
    0x0898,5,hommenu,4
    0x0281,36,storagepassword,0
    0x088d,26,partyinvite2,2
    0x083c,19,wanttoconnection,2:6:10:14:18
    0x08aa,7,actionrequest,2:6
    0x02c4,10,useskilltoid,2:4:6
    0x0811,-1,itemlistwindowselected,2:4:8
    0x890,8
    0x08a5,18,bookingregreq,2:4:6
    0x0835,-1,reqopenbuyingstore,2:4:8:9:89
    0x089b,2,reqclosebuyingstore,0
    0x08a1,6,reqclickbuyingstore,2
    0x089e,-1,reqtradebuyingstore,2:4:8:12
    0x08ab,-1,searchstoreinfo,2:4:5:9:13:14:15
    0x088b,2,searchstoreinfonextpage,0
    0x08a2,12,searchstoreinfolistitemclick,2:6:10
    //2012-03-07fRagexeRE
    packet_ver:29
    0x086A,19,wanttoconnection,2:6:10:14:18
    0x0437,5,walktoxy,2
    0x0887,6,ticksend,2
    0x0890,5,changedir,2:4
    0x0865,6,takeitem,2
    0x02C4,6,dropitem,2:4
    0x093B,8,movetokafra,2:4
    0x0963,8,movefromkafra,2:4
    0x0438,10,useskilltopos,2:4:6:8
    0x0366,90,useskilltoposinfo,2:4:6:8:10
    0x096A,6,getcharnamerequest,2
    0x0368,6,solvecharname,2
    0x0369,26,friendslistadd,2
    0x0863,5,hommenu,4
    0x0861,36,storagepassword,0
    0x0929,26,partyinvite2,2
    0x0885,7,actionrequest,2:6
    0x0889,10,useskilltoid,2:4:6
    0x0870,-1,itemlistwindowselected,2:4:8
    0x0926,18,bookingregreq,2:4:6
    0x0815,-1,reqopenbuyingstore,2:4:8:9:89
    0x0817,2,reqclosebuyingstore,0
    0x0360,6,reqclickbuyingstore,2
    0x0811,-1,reqtradebuyingstore,2:4:8:12
    0x0884,-1,searchstoreinfo,2:4:5:9:13:14:15
    0x0835,2,searchstoreinfonextpage,0
    0x0838,12,searchstoreinfolistitemclick,2:6:10
    0x0439,8,useitem,2:4
    //2012-04-10aRagexeRE
    packet_ver: 30
    0x01FD,15,repairitem,2
    0x089C,26,friendslistadd,2
    0x0885,5,hommenu,2:4
    0x0961,36,storagepassword,0
    0x0288,-1,cashshopbuy,4:8
    0x091C,26,partyinvite2,2
    0x094B,19,wanttoconnection,2:6:10:14:18
    0x0369,7,actionrequest,2:6
    0x083C,10,useskilltoid,2:4:6
    0x0439,8,useitem,2:4
    0x0945,-1,itemlistwindowselected,2:4:8
    0x0815,-1,reqopenbuyingstore,2:4:8:9:89
    0x0817,2,reqclosebuyingstore,0
    0x0360,6,reqclickbuyingstore,2
    0x0811,-1,reqtradebuyingstore,2:4:8:12
    0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15
    0x0835,2,searchstoreinfonextpage,0
    0x0838,12,searchstoreinfolistitemclick,2:6:10
    0x0437,5,walktoxy,2
    0x0886,6,ticksend,2
    0x0871,5,changedir,2:4
    0x0938,6,takeitem,2
    0x0891,6,dropitem,2:4
    0x086C,8,movetokafra,2:4
    0x08A6,8,movefromkafra,2:4
    0x0438,10,useskilltopos,2:4:6:8
    0x0366,90,useskilltoposinfo,2:4:6:8:10
    0x0889,6,getcharnamerequest,2
    0x0884,6,solvecharname,2
    0x08E5,41,bookingregreq,2:4 //Added to prevent disconnections
    0x08E6,4
    0x08E7,10,bookingsearchreq,2
    0x08E8,-1
    0x08E9,2,bookingdelreq,2
    0x08EA,4
    0x08EB,39,bookingupdatereq,2
    0x08EC,73
    0x08ED,43
    0x08EE,6
    0x08EF,6,bookingignorereq,2
    0x08F0,6
    0x08F1,6,bookingjoinpartyreq,2
    0x08F2,36
    0x08F3,-1
    0x08F4,6
    0x08F5,-1,bookingsummonmember,2:4
    0x08F6,22
    0x08F7,3
    0x08F8,7
    0x08F9,6
    0x08FA,6
    0x08FB,6,bookingcanceljoinparty,2
    0x0907,5,moveitem,2:4
    0x0908,5
    0x08D7,28,battlegroundreg,2:4 //Added to prevent disconnections
    0x08CF,10 //Amulet spirits
    0x0977,14 //Monster HP Bar
    //Add new packets here
    //packet_ver: 31
    

    subnet_athena.conf

    // Subnet support file
    // Format is:
    // subnet: net-submask:char_ip:map_ip
    // you can add more than one subnet
    subnet: 255.255.255.0:127.0.0.1:127.0.0.1
    

    map_athena.conf

    //--------------------------------------------------------------
    //rAthena Map-Server Configuration File
    //--------------------------------------------------------------
    // Note: "Comments" are all text on the right side of a double slash "//"
    // Whatever text is commented will not be parsed by the servers, and serves
    // only as information/reference.
    //--------------------------------------------------------------
    //                     Configuration Info
    //--------------------------------------------------------------
    // Interserver communication passwords, set in account.txt (or equiv.)
    userid: username
    passwd: password
    // Character Server IP
    // The map server connects to the character server using this IP address.
    // NOTE: This is useful when you are running behind a firewall or are on
    // a machine with multiple interfaces.
    char_ip: 127.0.0.1
    // The map server listens on the interface with this IP address.
    // NOTE: This allows you to run multiple servers on multiple interfaces
    // while using the same ports for each server.
    //bind_ip: 127.0.0.1
    // Character Server Port
    char_port: 6121
    // Map Server IP
    // The IP address which clients will use to connect.
    // Set this to what your server's public IP address is.
    map_ip: 127.0.0.1
    // Map Server Port
    map_port: 5121
    //Time-stamp format which will be printed before all messages.
    //Can at most be 20 characters long.
    //Common formats:
    // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format)
    // %H:%M:%S (hour:minute:second, 24 hour format)
    // %d/%b/%Y (day/Month/year)
    //For full format information, consult the strftime() manual.
    //timestamp_format: [%d/%b %H:%M]
    //If redirected output contains escape sequences (color codes)
    stdout_with_ansisequence: no
    //Makes server log selected message types to a file in the /log/ folder
    //1: Log Warning Messages
    //2: Log Error and SQL Error messages.
    //4: Log Debug Messages
    //Example: "console_msg_log: 7" logs all 3 kinds
    //Messages logged by this overrides console_silent setting
    console_msg_log: 0
    //Makes server output more silent by ommitting certain types of messages:
    //1: Hide Information messages
    //2: Hide Status messages
    //4: Hide Notice Messages
    //8: Hide Warning Messages
    //16: Hide Error and SQL Error messages.
    //32: Hide Debug Messages
    //Example: "console_silent: 7" Hides information, status and notice messages (1+2+4)
    console_silent: 0
    //Where should all database data be read from?
    db_path: db
    // Enable the @guildspy and @partyspy at commands?
    // Note that enabling them decreases packet sending performance.
    enable_spy: no
    // Read map data from GATs and RSWs in GRF files or a data directory
    // as referenced by grf-files.txt rather than from the mapcache?
    use_grf: no
    // Console Commands
    // Allow for console commands to be used on/off
    // This prevents usage of >& log.file
    console: off
    // Database autosave time
    // All characters are saved on this time in seconds (example:
    // autosave of 60 secs with 60 characters online -> one char is saved every
    // second)
    autosave_time: 300
    // Min database save intervals (in ms)
    // Prevent saving characters faster than at this rate (prevents char-server
    // save-load getting too high as character-count increases)
    minsave_time: 100
    // Apart from the autosave_time, players will also get saved when involved
    // in the following (add as needed):
    // 1: after every successful trade
    // 2: after every vending transaction
    // 4: after closing storage/guild storage.
    // 8: After hatching/returning to egg a pet.
    // 16: After successfully sending a mail with attachment
    // 32: After successfully submitting an item for auction
    // 64: After successfully get/delete/complete a quest
    // NOTE: These settings decrease the chance of dupes/lost items when there's a
    // server crash at the expense of increasing the map/char server lag. If your
    // server rarely crashes, but experiences interserver lag, you may want to set
    // these off.
    save_settings: 127
    // Message of the day file, when a character logs on, this message is displayed.
    motd_txt: conf/motd.txt
    // When @help or @h is typed when you are a gm, this is displayed for helping new gms understand gm commands.
    help_txt: conf/help.txt
    help2_txt: conf/help2.txt
    charhelp_txt: conf/charhelp.txt
    // Maps:
    import: conf/maps_athena.conf
    import: conf/import/map_conf.txt
    

    char_athena.conf

    // Athena Character configuration file.
    // Note: "Comments" are all text on the right side of a double slash "//"
    // Whatever text is commented will not be parsed by the servers, and serves
    // only as information/reference.
    // Server Communication username and password.
    userid: username
    passwd: password
    // Server name, use alternative character such as ASCII 160 for spaces.
    // NOTE: Do not use spaces or any of these characters which are not allowed in
    //       Windows filenames \/:*?"<>|
    //       ... or else guild emblems won't work client-side!
    server_name: KainRO_Test
    // Wisp name for server: used to send wisp from server to players (between 4 to 23 characters)
    wisp_server_name: Server
    // Login Server IP
    // The character server connects to the login server using this IP address.
    // NOTE: This is useful when you are running behind a firewall or are on
    // a machine with multiple interfaces.
    login_ip: 127.0.0.1
    // The character server listens on the interface with this IP address.
    // NOTE: This allows you to run multiple servers on multiple interfaces
    // while using the same ports for each server.
    //bind_ip: 127.0.0.1
    // Login Server Port
    login_port: 6900
    // Character Server IP
    // The IP address which clients will use to connect.
    // Set this to what your server's public IP address is.
    char_ip: 127.0.0.1
    // Character Server Port
    char_port: 6121
    //Time-stamp format which will be printed before all messages.
    //Can at most be 20 characters long.
    //Common formats:
    // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format)
    // %H:%M:%S (hour:minute:second, 24 hour format)
    // %d/%b/%Y (day/Month/year)
    //For full format information, consult the strftime() manual.
    //timestamp_format: [%d/%b %H:%M]
    //If redirected output contains escape sequences (color codes)
    stdout_with_ansisequence: no
    //Makes server output more silent by ommitting certain types of messages:
    //1: Hide Information messages
    //2: Hide Status messages
    //4: Hide Notice Messages
    //8: Hide Warning Messages
    //16: Hide Error and SQL Error messages.
    //32: Hide Debug Messages
    //Example: "console_silent: 7" Hides information, status and notice messages (1+2+4)
    console_silent: 0
    // Console Commands
    // Allow for console commands to be used on/off
    // This prevents usage of >& log.file
    console: off
    // Type of server.
    // No functional side effects at the moment.
    // Displayed next to the server name in the client.
    // 0=normal, 1=maintenance, 2=over 18, 3=paying, 4=P2P
    char_maintenance: 0
    // Enable or disable creation of new characters.
    // Now it is actually supported [Kevin]
    char_new: 1
    // Display (New) in the server list.
    char_new_display: 0
    // Maximum users able to connect to the server. Set to 0 for unlimited.
    max_connect_user: 0
    // Group ID that is allowed to bypass the server limit of users.
    // Default: -1 = nobody (there are no groups with ID < 0)
    // See: conf/groups.conf
    gm_allow_group: -1
    // How often should the server save all files? (In seconds)
    // Note: Applies to all data files on TXT servers.
    // On SQL servers, it applies to guilds (character save interval is defined on the map config)
    autosave_time: 60
    // Display information on the console whenever characters/guilds/parties/pets are loaded/saved?
    save_log: yes
    // Start point, Map name followed by coordinates (x,y)
    start_point: new_1-1,53,111
    // Starting weapon for new characters
    start_weapon: 1201
    // Starting armor for new characters
    start_armor: 2301
    // Starting zeny for new characters
    start_zeny: 0
    // Size for the fame-lists
    fame_list_alchemist: 10
    fame_list_blacksmith: 10
    fame_list_taekwon: 10
    // Guild earned exp modifier.
    // Adjusts taxed exp before adding it to the guild's exp. For example, if set
    // to 200, the guild receives double the player's taxed exp.
    guild_exp_rate: 100
    // Name used for unknown characters
    unknown_char_name: Unknown
    // To log the character server?
    log_char: 1
    // Allow or not identical name for characters but with a different case (upper/lower):
    // example: Test-test-TEST-TesT; Value: 0 not allowed (default), 1 allowed
    name_ignoring_case: no
    // Manage possible letters/symbol in the name of charater. Control character (0x00-0x1f) are never accepted. Possible values are:
    // NOTE: Applies to character, party and guild names.
    // 0: no restriction (default)
    // 1: only letters/symbols in 'char_name_letters' option.
    // 2: Letters/symbols in 'char_name_letters' option are forbidden. All others are possibles.
    char_name_option: 1
    // Set the letters/symbols that you want use with the 'char_name_option' option.
    // Note: Don't add spaces unless you mean to add 'space' to the list.
    char_name_letters: abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
    // How many Characters are allowed per Account ? (0 = disabled)
    // You can not exceed the limit of MAX_CHARS slots, defined in mmo.h
    // Doing that, chars_per_account will be default to MAX_CHARS.
    chars_per_account: 0
    // Restrict character deletion by BaseLevel
    // 0: no restriction (players can delete characters of any level)
    // -X: you can't delete chars with BaseLevel <= X
    // Y: you can't delete chars with BaseLevel >= Y
    // e.g. char_del_level: 80 (players can't delete characters with 80+ BaseLevel)
    char_del_level: 0
    // Amount of time in seconds by which the character deletion is delayed.
    // Default: 86400 (24 hours)
    // NOTE: Requires client 2010-08-03aragexeRE or newer.
    char_del_delay: 86400
    // What folder the DB files are in (item_db.txt, etc.)
    db_path: db
    import: conf/import/char_conf.txt
    

    login_athena.conf (the only that is everything default. I didin't change any line in this file.

    // Athena Login Server configuration file.
    // Translated by Peter Kieser <[email protected]>
    // Note: "Comments" are all text on the right side of a double slash "//"
    // Whatever text is commented will not be parsed by the servers, and serves
    // only as information/reference.
    // The login server listens on the interface with this IP address.
    // NOTE: This allows you to run multiple servers on multiple interfaces
    // while using the same ports for each server.
    //bind_ip: 127.0.0.1
    
    // Login Server Port
    login_port: 6900
    //Time-stamp format which will be printed before all messages.
    //Can at most be 20 characters long.
    //Common formats:
    // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format)
    // %H:%M:%S (hour:minute:second, 24 hour format)
    // %d/%b/%Y (day/Month/year)
    //For full format information, consult the strftime() manual.
    //timestamp_format: [%d/%b %H:%M]
    //If redirected output contains escape sequences (color codes)
    stdout_with_ansisequence: no
    //Makes server output more silent by ommitting certain types of messages:
    //1: Hide Information messages
    //2: Hide Status messages
    //4: Hide Notice Messages
    //8: Hide Warning Messages
    //16: Hide Error and SQL Error messages.
    //32: Hide Debug Messages
    //Example: "console_silent: 7" Hides information, status and notice messages (1+2+4)
    console_silent: 0
    // Console Commands
    // Allow for console commands to be used on/off
    // This prevents usage of >& log.file
    console: off
    // Can you use _M/_F to make new accounts on the server?
    new_account: yes
    //If new_account is enabled, minimum length to userid and passwords should be 4?
    //Must be 'Yes' unless your client uses both 'Disable 4 LetterUserID/Password' Diffs
    new_acc_length_limit: yes
    // Account registration flood protection system
    // allowed_regs is the number of registrations allowed in time_allowed (in seconds)
    allowed_regs: 1
    time_allowed: 10
    // Log Filename. All operations received by the server are logged in this file.
    login_log_filename: log/login.log
    // To log the login server?
    // NOTE: The login-sql server needs the login logs to enable dynamic pass failure bans.
    log_login: yes
    // Indicate how to display date in logs, to players, etc.
    date_format: %Y-%m-%d %H:%M:%S
    // Required account group id to connect to server.
    // -1: disabled
    // 0 or more: group id
    group_id_to_connect: -1
    // Minimum account group id required to connect to server.
    // Will not function if group_id_to_connect config is enabled.
    // -1: disabled
    // 0 or more: group id
    min_group_id_to_connect: -1
    // Starting additional sec from now for the limited time at creation of account
    // -1: new account are created with UNlimited time (default value)
    // 0 or more: new accounts was created by addition of the value (in sec) to the actual time (to set first limited time)
    start_limited_time: -1
    // Check The clientversion set in the clientinfo ?
    check_client_version: no
    // What version we would allow to connect? (if the options above is enabled..)
    client_version_to_connect: 20
    // Store passwords as MD5 hashes instead of plaintext ?
    // NOTE: Will not work with clients that use <passwordencrypt>
    use_MD5_passwords: no
    // Ipban features (SQL only)
    ipban.enable: yes
    //ipban.sql.db_hostname: 127.0.0.1
    //ipban.sql.db_port: 3306
    //ipban.sql.db_username: ragnarok
    //ipban.sql.db_password: ragnarok
    //ipban.sql.db_database: ragnarok
    //ipban.sql.codepage:
    //ipban.sql.ipban_table: ipbanlist
    // Dynamic password failure ipban system
    ipban.dynamic_pass_failure_ban: yes
    ipban.dynamic_pass_failure_ban_interval: 5
    ipban.dynamic_pass_failure_ban_limit: 7
    ipban.dynamic_pass_failure_ban_duration: 5
    // Interval (in seconds) to clean up expired IP bans. 0 = disabled. default = 60.
    // NOTE: Even if this is disabled, expired IP bans will be cleaned up on login server start/stop.
    // Players will still be able to login if an ipban entry exists but the expiration time has already passed.
    ipban_cleanup_interval: 60
    // Interval (in minutes) to execute a DNS/IP update. Disabled by default.
    // Enable it if your server uses a dynamic IP which changes with time.
    //ip_sync_interval: 10
    // DNS Blacklist Blocking
    // If enabled, each incoming connection will be tested against the blacklists
    // on the specified dnsbl_servers (comma-separated list)
    use_dnsbl: no
    dnsbl_servers: bl.blocklist.de, socks.dnsbl.sorbs.net
    // Here are some free DNS Blacklist Services: http://en.wikipedia.org/wiki/Comparison_of_DNS_blacklists
    //==============================================================================
    //   dnsbl_servers                 Description
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    // bl.blocklist.de                 IP-Addresses who attack other servers/honeypots over SSH, FTP, IMAP, etc.
    // ircbl.ahbl.org                  AHBL (open proxies, compromised machines, comment spammers)
    // safe.dnsbl.sorbs.net            All zones in dnsbl.sorbs.net except "recent" and "escalations"
    // sbl-xbl.spamhaus.org            Spamhaus blacklist (spammers, open proxies)
    // socks.dnsbl.sorbs.net           Open SOCKS proxy servers
    // tor.ahbl.org                    Current tor relay and exit nodes
    // Which account engine to use.
    // 'auto' selects the first engine available (txt, sql, then others)
    // (defaults to auto)
    account.engine: auto
    // Account data storage configuration
    // SQL
    //account.sql.db_hostname: 127.0.0.1
    //account.sql.db_port: 3306
    //account.sql.db_username: ragnarok
    //account.sql.db_password: ragnarok
    //account.sql.db_database: ragnarok
    //account.sql.codepage:
    //account.sql.case_sensitive: no
    //account.sql.account_db: login
    //account.sql.accreg_db: global_reg_value
    // Client MD5 hash check
    // If turned on, the login server will check if the client's hash matches
    // the value below, and will not connect tampered clients.
    // Note: see doc\md5_hashcheck.txt for more details.
    client_hash_check: off
    // Client MD5 hashes
    // A player can login with a client hash at or below the account group_id.
    // Format: group_id, hash
    client_hash: 0, 113e195e6c051bb1cfb12a644bb084c5
    client_hash: 99, cb1ea78023d337c38e8ba5124e2338ae
    import: conf/inter_athena.conf
    import: conf/import/login_conf.txt
    

    I followed these videos:

    [rAthena - Sharpienero] How to: Make a ragnarok online private server [Part 1 - 2012]

    http://www.youtube.com/watch?v=3LTOOEjRtUo

    [rAthena - Sharpienero] How to: Make a client and get in-game [Part 2 - 2012]

    http://www.youtube.com/watch?v=CtDRZki3Hpo

    [rAthena - Sharpienero] How to: Assign Admins/Work w/ Groups.conf [Part 3 - 2012]

    http://www.youtube.com/watch?v=UT3bHiRSvRo

    [rAthena - Sharpienero] How to: Adding NPCs [Part 4 - 2012]

    http://www.youtube.com/watch?v=Az0C1k9AU_o

    Please, someone can help us?

    It's WORKING! I can't belive, but it's finally working thanks to user ossi0110 ( http://http://rathena.org/board/user/1117-ossi0110/)

    Who helped me a lot this afternoon (here is Brazil, GTM -3) until now (19:40 PM).

    He spent a lot of time helping me to find the problems and fix then.

    God bless him, because we dont a lot of people who has his goodwill to help like him.

    Cheers to ossi0110 \o/

    Cheers to ossi0110 \o/

  3. EDIT!!!!!!!!!!!!!

    It's WORKING! I can't belive, but it's finally working thanks to user ossi0110 ( http://http://rathena.org/board/user/1117-ossi0110/)

    Who helped me a lot this afternoon (here is Brazil, GTM -3) until now (19:40 PM).

    He spent a lot of time helping me to find the problems and fix then.

    God bless him, because we dont a lot of people who has his goodwill to help like him.

    Cheers to ossi0110 \o/

    Cheers to ossi0110 \o/

    My Old Reply:

    what about the langtype ?

    In my clientinfo.xml is like this:

    <langtype>1</langtype>

    1 For america right? http://rathena.org/wiki/clientinfo.xml

    I'm using iRO client. I have bRO (brazil) and kRO too, but i'm not using it, but if i choose some os those clients, i sould change value 1 in my clientinfo to 0 for Korea and 12 for Brazil right?

    I solved this today by diffing and using WDGSkipPacketHeaderObfuscation.dll. And everything will be fine

    Where can I find that?

  4. make sure your

    trunk/db/packet_db is default

    packet_db_ver: default

    change your version

    <version>26</version>

    @ChemicalCallNCK my packet_db is default look:

    packet_db.txt

    // Client<->Map Packet Database
    //
    // Structure of Database:
    // PacketType,PacketLength[,Name,FieldIndex1:FieldIndex2:FieldIndex3:...]
    //
    // 01. PacketType	ID of the packet.
    // 02. PacketLength  Length of the packet. If 0, packet is disabled in current packet version. If -1, packet has variable size.
    // 03. Name	Name of the packet parser function (optional, for incoming packets only).
    // 04. FieldIndex	Specifies the offset of a packet field in bytes from the begin of the packet (only specified when Name is given).
    //	   Can be 0, when the layout is not known.
    // ...
    //
    // NOTE: Up to MAX_PACKET_POS (typically 20) field indexes may be used.
    //
    // The packet database allows you to add support for new clients,
    // because packets change every release.
    //
    // Note: Every packet version needs a wanttoconnection specification, since
    // that is the packet used to identify a client's version.
    // If multiple versions have the same connection packet, the higher version
    // will be used (unless the lower one is specified as the default)
    //
    // Incoming packets have their parser function and layout specified, which enables
    // them for the current and all higher versions, unless explicitely disabled.
    //
    // Outgoing packets must be specified in order to enable them for the current
    // and all higher versions, unless explicitely disabled. Packets that are not
    // enabled for a packet version are silently discarded when sent as multicast.
    //
    // Every packet version inherits packet definitions from the previous (lower)
    // packet version.
    //
    // Main packet version of the DB to use (default = max available version)
    // Client detection is faster when all clients use this version.
    // Version 23 is the latest Sakexe (above versions are for Renewal clients)
    //packet_db_ver: 25
    packet_db_ver: default
    packet_ver: 5
    0x0064,55
    0x0065,17
    0x0066,6
    0x0067,37
    0x0068,46
    0x0069,-1
    0x006a,23
    0x006b,-1
    0x006c,3
    0x006d,108
    0x006e,3
    0x006f,2
    0x0070,6
    0x0071,28
    0x0072,19,wanttoconnection,2:6:10:14:18
    0x0073,11
    0x0074,3
    0x0075,-1
    0x0076,9
    0x0077,5
    0x0078,54
    0x0079,53
    0x007a,58
    0x007b,60
    0x007c,41
    0x007d,2,loadendack,0
    0x007e,6,ticksend,2
    0x007f,6
    0x0080,7
    0x0081,3
    0x0082,2
    0x0083,2
    0x0084,2
    0x0085,5,walktoxy,2
    0x0086,16
    0x0087,12
    0x0088,10
    0x0089,7,actionrequest,2:6
    0x008a,29
    0x008b,2
    0x008c,-1,globalmessage,2:4
    0x008d,-1
    0x008e,-1
    //0x008f,-1
    0x0090,7,npcclicked,2
    0x0091,22
    0x0092,28
    0x0093,2
    0x0094,6,getcharnamerequest,2
    0x0095,30
    0x0096,-1,wis,2:4:28
    0x0097,-1
    0x0098,3
    0x0099,-1,broadcast,2:4
    0x009a,-1
    0x009b,5,changedir,2:4
    0x009c,9
    0x009d,17
    0x009e,17
    0x009f,6,takeitem,2
    0x00a0,23
    0x00a1,6
    0x00a2,6,dropitem,2:4
    0x00a3,-1
    0x00a4,-1
    0x00a5,-1
    0x00a6,-1
    0x00a7,8,useitem,2:4
    0x00a8,7
    0x00a9,6,equipitem,2:4
    0x00aa,7
    0x00ab,4,unequipitem,2
    0x00ac,7
    //0x00ad,-1
    0x00ae,-1
    0x00af,6
    0x00b0,8
    0x00b1,8
    0x00b2,3,restart,2
    0x00b3,3
    0x00b4,-1
    0x00b5,6
    0x00b6,6
    0x00b7,-1
    0x00b8,7,npcselectmenu,2:6
    0x00b9,6,npcnextclicked,2
    0x00ba,2
    0x00bb,5,statusup,2:4
    0x00bc,6
    0x00bd,44
    0x00be,5
    0x00bf,3,emotion,2
    0x00c0,7
    0x00c1,2,howmanyconnections,0
    0x00c2,6
    0x00c3,8
    0x00c4,6
    0x00c5,7,npcbuysellselected,2:6
    0x00c6,-1
    0x00c7,-1
    0x00c8,-1,npcbuylistsend,2:4
    0x00c9,-1,npcselllistsend,2:4
    0x00ca,3
    0x00cb,3
    0x00cc,6,gmkick,2
    0x00cd,3
    0x00ce,2,killall,0
    0x00cf,27,wisexin,2:26
    0x00d0,3,wisall,2
    0x00d1,4
    0x00d2,4
    0x00d3,2,wisexlist,0
    0x00d4,-1
    0x00d5,-1,createchatroom,2:4:6:7:15
    0x00d6,3
    0x00d7,-1
    0x00d8,6
    0x00d9,14,chataddmember,2:6
    0x00da,3
    0x00db,-1
    0x00dc,28
    0x00dd,29
    0x00de,-1,chatroomstatuschange,2:4:6:7:15
    0x00df,-1
    0x00e0,30,changechatowner,2:6
    0x00e1,30
    0x00e2,26,kickfromchat,2
    0x00e3,2,chatleave,0
    0x00e4,6,traderequest,2
    0x00e5,26
    0x00e6,3,tradeack,2
    0x00e7,3
    0x00e8,8,tradeadditem,2:4
    0x00e9,19
    0x00ea,5
    0x00eb,2,tradeok,0
    0x00ec,3
    0x00ed,2,tradecancel,0
    0x00ee,2
    0x00ef,2,tradecommit,0
    0x00f0,3
    0x00f1,2
    0x00f2,6
    0x00f3,8,movetokafra,2:4
    0x00f4,21
    0x00f5,8,movefromkafra,2:4
    0x00f6,8
    0x00f7,2,closekafra,0
    0x00f8,2
    0x00f9,26,createparty,2
    0x00fa,3
    0x00fb,-1
    0x00fc,6,partyinvite,2
    0x00fd,27
    0x00fe,30
    0x00ff,10,replypartyinvite,2:6
    0x0100,2,leaveparty,0
    0x0101,6
    0x0102,6,partychangeoption,2
    0x0103,30,removepartymember,2:6
    0x0104,79
    0x0105,31
    0x0106,10
    0x0107,10
    0x0108,-1,partymessage,2:4
    0x0109,-1
    0x010a,4
    0x010b,6
    0x010c,6
    0x010d,2
    0x010e,11
    0x010f,-1
    0x0110,10
    0x0111,39
    0x0112,4,skillup,2
    0x0113,10,useskilltoid,2:4:6
    0x0114,31
    0x0115,35
    0x0116,10,useskilltopos,2:4:6:8
    0x0117,18
    0x0118,2,stopattack,0
    0x0119,13
    0x011a,15
    0x011b,20,useskillmap,2:4
    0x011c,68
    0x011d,2,requestmemo,0
    0x011e,3
    0x011f,16
    0x0120,6
    0x0121,14
    0x0122,-1
    0x0123,-1
    0x0124,21
    0x0125,8
    0x0126,8,putitemtocart,2:4
    0x0127,8,getitemfromcart,2:4
    0x0128,8,movefromkafratocart,2:4
    0x0129,8,movetokafrafromcart,2:4
    0x012a,2,removeoption,0
    0x012b,2
    0x012c,3
    0x012d,4
    0x012e,2,closevending,0
    0x012f,-1
    0x0130,6,vendinglistreq,2
    0x0131,86
    0x0132,6
    0x0133,-1
    0x0134,-1,purchasereq,2:4:8
    0x0135,7
    0x0136,-1
    0x0137,6
    0x0138,3
    0x0139,16
    0x013a,4
    0x013b,4
    0x013c,4
    0x013d,6
    0x013e,24
    0x013f,26,itemmonster,2
    0x0140,22,mapmove,2:18:20
    0x0141,14
    0x0142,6
    0x0143,10,npcamountinput,2:6
    0x0144,23
    0x0145,19
    0x0146,6,npccloseclicked,2
    0x0147,39
    0x0148,8
    0x0149,9,gmreqnochat,2:6:7
    0x014a,6
    0x014b,27
    0x014c,-1
    0x014d,2,guildcheckmaster,0
    0x014e,6
    0x014f,6,guildrequestinfo,2
    0x0150,110
    0x0151,6,guildrequestemblem,2
    0x0152,-1
    0x0153,-1,guildchangeemblem,2:4
    0x0154,-1
    0x0155,-1,guildchangememberposition,2
    0x0156,-1
    0x0157,6
    0x0158,-1
    0x0159,54,guildleave,2:6:10:14
    0x015a,66
    0x015b,54,guildexpulsion,2:6:10:14
    0x015c,90
    0x015d,42,guildbreak,2
    0x015e,6
    0x015f,42
    0x0160,-1
    0x0161,-1,guildchangepositioninfo,2
    0x0162,-1
    0x0163,-1
    0x0164,-1
    0x0165,30,createguild,6
    0x0166,-1
    0x0167,3
    0x0168,14,guildinvite,2
    0x0169,3
    0x016a,30
    0x016b,10,guildreplyinvite,2:6
    0x016c,43
    0x016d,14
    0x016e,186,guildchangenotice,2:6:66
    0x016f,182
    0x0170,14,guildrequestalliance,2
    0x0171,30
    0x0172,10,guildreplyalliance,2:6
    0x0173,3
    0x0174,-1
    0x0175,6
    0x0176,106
    0x0177,-1
    0x0178,4,itemidentify,2
    0x0179,5
    0x017a,4,usecard,2
    0x017b,-1
    0x017c,6,insertcard,2:4
    0x017d,7
    0x017e,-1,guildmessage,2:4
    0x017f,-1
    0x0180,6,guildopposition,2
    0x0181,3
    0x0182,106
    0x0183,10,guilddelalliance,2:6
    0x0184,10
    0x0185,34
    //0x0186,-1
    0x0187,6
    0x0188,8
    0x0189,4
    0x018a,4,quitgame,0
    0x018b,4
    0x018c,29
    0x018d,-1
    0x018e,10,producemix,2:4:6:8
    0x018f,6
    0x0190,90,useskilltoposinfo,2:4:6:8:10
    0x0191,86
    0x0192,24
    0x0193,6,solvecharname,2
    0x0194,30
    0x0195,102
    0x0196,9
    0x0197,4,resetchar,2
    0x0198,8,changemaptype,2:4:6
    0x0199,4
    0x019a,14
    0x019b,10
    0x019c,-1,localbroadcast,2:4
    0x019d,6,gmhide,0
    0x019e,2
    0x019f,6,catchpet,2
    0x01a0,3
    0x01a1,3,petmenu,2
    0x01a2,35
    0x01a3,5
    0x01a4,11
    0x01a5,26,changepetname,2
    0x01a6,-1
    0x01a7,4,selectegg,2
    0x01a8,4
    0x01a9,6,sendemotion,2
    0x01aa,10
    0x01ab,12
    0x01ac,6
    0x01ad,-1
    0x01ae,4,selectarrow,2
    0x01af,4,changecart,2
    0x01b0,11
    0x01b1,7
    0x01b2,-1,openvending,2:4:84:85
    0x01b3,67
    0x01b4,12
    0x01b5,18
    0x01b6,114
    0x01b7,6
    0x01b8,3
    0x01b9,6
    0x01ba,26,remove,2
    0x01bb,26,shift,2
    0x01bc,26,recall,2
    0x01bd,26,summon,2
    0x01be,2
    0x01bf,3
    0x01c0,2
    0x01c1,14
    0x01c2,10
    0x01c3,-1
    0x01c4,22
    0x01c5,22
    0x01c6,4
    0x01c7,2
    0x01c8,13
    0x01c9,97
    //0x01ca,-1
    0x01cb,9
    0x01cc,9
    0x01cd,30
    0x01ce,6,autospell,2
    0x01cf,28
    0x01d0,8
    0x01d1,14
    0x01d2,10
    0x01d3,35
    0x01d4,6
    0x01d5,-1,npcstringinput,2:4:8
    0x01d6,4
    0x01d7,11
    0x01d8,54
    0x01d9,53
    0x01da,60
    0x01db,2
    0x01dc,-1
    0x01dd,47
    0x01de,33
    0x01df,6,gmreqaccname,2
    0x01e0,30
    0x01e1,8
    0x01e2,34
    0x01e3,14
    0x01e4,2
    0x01e5,6
    0x01e6,26
    0x01e7,2,sndoridori,0
    0x01e8,28,createparty2,2
    0x01e9,81
    0x01ea,6
    0x01eb,10
    0x01ec,26
    0x01ed,2,snexplosionspirits,0
    0x01ee,-1
    0x01ef,-1
    0x01f0,-1
    0x01f1,-1
    0x01f2,20
    0x01f3,10
    0x01f4,32
    0x01f5,9
    0x01f6,34
    0x01f7,14,adoptreply,0
    0x01f8,2
    0x01f9,6,adoptrequest,0
    0x01fa,48
    0x01fb,56
    0x01fc,-1
    0x01fd,4,repairitem,2
    0x01fe,5
    0x01ff,10
    0x0200,26
    0x0201,-1
    0x0202,26,friendslistadd,2
    0x0203,10,friendslistremove,2:6
    0x0204,18
    0x0205,26
    0x0206,11
    0x0207,34
    0x0208,11,friendslistreply,2:6:10
    0x0209,36
    0x020a,10
    //0x020b,-1
    //0x020c,-1
    0x020d,-1
    //2004-07-05aSakexe
    packet_ver: 6
    0x0072,22,wanttoconnection,5:9:13:17:21
    0x0085,8,walktoxy,5
    0x00a7,13,useitem,5:9
    0x0113,15,useskilltoid,4:9:11
    0x0116,15,useskilltopos,4:9:11:13
    0x0190,95,useskilltoposinfo,4:9:11:13:15
    0x0208,14,friendslistreply,2:6:10
    0x020e,24
    //2004-07-13aSakexe
    packet_ver: 7
    0x0072,39,wanttoconnection,12:22:30:34:38
    0x0085,9,walktoxy,6
    0x009b,13,changedir,5:12
    0x009f,10,takeitem,6
    0x00a7,17,useitem,6:13
    0x0113,19,useskilltoid,7:9:15
    0x0116,19,useskilltopos,7:9:15:17
    0x0190,99,useskilltoposinfo,7:9:15:17:19
    //2004-07-26aSakexe
    packet_ver: 8
    0x0072,14,dropitem,5:12
    0x007e,33,wanttoconnection,12:18:24:28:32
    0x0085,20,useskilltoid,7:12:16
    0x0089,15,getcharnamerequest,11
    0x008c,23,useskilltopos,3:6:17:21
    0x0094,10,takeitem,6
    0x009b,6,walktoxy,3
    0x009f,13,changedir,5:12
    0x00a2,103,useskilltoposinfo,3:6:17:21:23
    0x00a7,12,solvecharname,8
    0x00f3,-1,globalmessage,2:4
    0x00f5,17,useitem,6:12
    0x00f7,10,ticksend,6
    0x0113,16,movetokafra,5:12
    0x0116,2,closekafra,0
    0x0190,26,movefromkafra,10:22
    0x0193,9,actionrequest,3:8
    //2004-08-09aSakexe
    packet_ver: 9
    0x0072,17,dropitem,8:15
    0x007e,37,wanttoconnection,9:21:28:32:36
    0x0085,26,useskilltoid,11:18:22
    0x0089,12,getcharnamerequest,8
    0x008c,40,useskilltopos,5:15:29:38
    0x0094,13,takeitem,9
    0x009b,15,walktoxy,12
    0x009f,12,changedir,7:11
    0x00a2,120,useskilltoposinfo,5:15:29:38:40
    0x00a7,11,solvecharname,7
    0x00f5,24,useitem,9:20
    0x00f7,13,ticksend,9
    0x0113,23,movetokafra,5:19
    0x0190,26,movefromkafra,11:22
    0x0193,18,actionrequest,7:17
    //2004-08-16aSakexe
    0x0212,26,rc,2
    0x0213,26,check,2
    0x0214,42
    //2004-08-17aSakexe
    0x020f,10,pvpinfo,2:6
    0x0210,22
    //2004-09-06aSakexe
    packet_ver: 10
    0x0072,20,useitem,9:20
    0x007e,19,movetokafra,3:15
    0x0085,23,actionrequest,9:22
    0x0089,9,walktoxy,6
    0x008c,105,useskilltoposinfo,10:14:18:23:25
    0x0094,17,dropitem,6:15
    0x009b,14,getcharnamerequest,10
    0x009f,-1,globalmessage,2:4
    0x00a2,14,solvecharname,10
    0x00a7,25,useskilltopos,10:14:18:23
    0x00f3,10,changedir,4:9
    0x00f5,34,wanttoconnection,7:15:25:29:33
    0x00f7,2,closekafra,0
    0x0113,11,takeitem,7
    0x0116,11,ticksend,7
    0x0190,22,useskilltoid,9:15:18
    0x0193,17,movefromkafra,3:13
    //2004-09-20aSakexe
    packet_ver: 11
    0x0072,18,useitem,10:14
    0x007e,25,movetokafra,6:21
    0x0085,9,actionrequest,3:8
    0x0089,14,walktoxy,11
    0x008c,109,useskilltoposinfo,16:20:23:27:29
    0x0094,19,dropitem,12:17
    0x009b,10,getcharnamerequest,6
    0x00a2,10,solvecharname,6
    0x00a7,29,useskilltopos,6:20:23:27
    0x00f3,18,changedir,8:17
    0x00f5,32,wanttoconnection,10:17:23:27:31
    0x0113,14,takeitem,10
    0x0116,14,ticksend,10
    0x0190,14,useskilltoid,4:7:10
    0x0193,12,movefromkafra,4:8
    //2004-10-05aSakexe
    packet_ver: 12
    0x0072,17,useitem,6:13
    0x007e,16,movetokafra,5:12
    0x0089,6,walktoxy,3
    0x008c,103,useskilltoposinfo,2:6:17:21:23
    0x0094,14,dropitem,5:12
    0x009b,15,getcharnamerequest,11
    0x00a2,12,solvecharname,8
    0x00a7,23,useskilltopos,3:6:17:21
    0x00f3,13,changedir,5:12
    0x00f5,33,wanttoconnection,12:18:24:28:32
    0x0113,10,takeitem,6
    0x0116,10,ticksend,6
    0x0190,20,useskilltoid,7:12:16
    0x0193,26,movefromkafra,10:22
    //2004-10-25aSakexe
    packet_ver: 13
    0x0072,13,useitem,5:9
    0x007e,13,movetokafra,6:9
    0x0085,15,actionrequest,4:14
    0x008c,108,useskilltoposinfo,6:9:23:26:28
    0x0094,12,dropitem,6:10
    0x009b,10,getcharnamerequest,6
    0x00a2,16,solvecharname,12
    0x00a7,28,useskilltopos,6:9:23:26
    0x00f3,15,changedir,6:14
    0x00f5,29,wanttoconnection,5:14:20:24:28
    0x0113,9,takeitem,5
    0x0116,9,ticksend,5
    0x0190,26,useskilltoid,4:10:22
    0x0193,22,movefromkafra,12:18
    //2004-11-01aSakexe
    0x0084,-1
    0x0215,6
    //2004-11-08aSakexe
    0x0084,2
    0x0216,6
    0x0217,2,blacksmith,0
    0x0218,2,alchemist,0
    0x0219,282
    0x021a,282
    0x021b,10
    0x021c,10
    //2004-11-15aSakexe
    0x021d,6,lesseffect,2
    //2004-11-29aSakexe
    packet_ver: 14
    0x0072,22,useskilltoid,8:12:18
    0x007e,30,useskilltopos,4:9:22:28
    0x0085,-1,globalmessage,2:4
    0x0089,7,ticksend,3
    0x008c,13,getcharnamerequest,9
    0x0094,14,movetokafra,4:10
    0x009b,2,closekafra,0
    0x009f,18,actionrequest,6:17
    0x00a2,7,takeitem,3
    0x00a7,7,walktoxy,4
    0x00f3,8,changedir,3:7
    0x00f5,29,wanttoconnection,3:10:20:24:28
    0x00f7,14,solvecharname,10
    0x0113,110,useskilltoposinfo,4:9:22:28:30
    0x0116,12,dropitem,4:10
    0x0190,15,useitem,3:11
    0x0193,21,movefromkafra,4:17
    0x0221,-1
    0x0222,6,weaponrefine,2
    0x0223,8
    //2004-12-13aSakexe
    //skipped: many packets being set to -1
    0x0066,3
    0x0070,3
    0x01ca,3
    0x021e,6
    0x021f,66
    0x0220,10
    //2005-01-10bSakexe
    packet_ver: 15
    0x0072,26,useskilltoid,8:16:22
    0x007e,114,useskilltoposinfo,10:18:22:32:34
    0x0085,23,changedir,12:22
    0x0089,9,ticksend,5
    0x008c,8,getcharnamerequest,4
    0x0094,20,movetokafra,10:16
    0x009b,32,wanttoconnection,3:12:23:27:31
    0x009f,17,useitem,5:13
    0x00a2,11,solvecharname,7
    0x00a7,13,walktoxy,10
    0x00f3,-1,globalmessage,2:4
    0x00f5,9,takeitem,5
    0x00f7,21,movefromkafra,11:17
    0x0113,34,useskilltopos,10:18:22:32
    0x0116,20,dropitem,15:18
    0x0190,20,actionrequest,9:19
    0x0193,2,closekafra,0
    //2005-03-28aSakexe
    0x0224,10
    0x0225,2,taekwon,0
    0x0226,282
    //2005-04-04aSakexe
    0x0227,18
    0x0228,18
    //2005-04-11aSakexe
    0x0229,15
    0x022a,58
    0x022b,57
    0x022c,64
    //2005-04-25aSakexe
    0x022d,5,hommenu,2:4
    0x0232,9,hommoveto,2:6
    0x0233,11,homattack,2:6:10
    0x0234,6,hommovetomaster,2
    //2005-05-09aSakexe
    packet_ver: 16
    0x0072,25,useskilltoid,6:10:21
    0x007e,102,useskilltoposinfo,5:9:12:20:22
    0x0085,11,changedir,7:10
    0x0089,8,ticksend,4
    0x008c,11,getcharnamerequest,7
    0x0094,14,movetokafra,7:10
    0x009b,26,wanttoconnection,4:9:17:21:25
    0x009f,14,useitem,4:10
    0x00a2,15,solvecharname,11
    0x00a7,8,walktoxy,5
    0x00f5,8,takeitem,4
    0x00f7,22,movefromkafra,14:18
    0x0113,22,useskilltopos,5:9:12:20
    0x0116,10,dropitem,5:8
    0x0190,19,actionrequest,5:18
    //2005-05-23aSakexe
    0x022e,69
    0x0230,12
    //2005-05-30aSakexe
    0x022e,71
    0x0235,-1
    0x0236,10
    0x0237,2,rankingpk,0
    0x0238,282
    //2005-05-31aSakexe
    0x0216,2
    0x0239,11
    //2005-06-08aSakexe
    0x0216,6
    0x0217,2,blacksmith,0
    0x022f,5
    0x0231,26,changehomunculusname,0
    0x023a,4
    0x023b,36,storagepassword,2:4:20
    0x023c,6
    //2005-06-22aSakexe
    0x022e,71
    //2005-06-28aSakexe
    packet_ver: 17
    0x0072,34,useskilltoid,6:17:30
    0x007e,113,useskilltoposinfo,12:15:18:31:33
    0x0085,17,changedir,8:16
    0x0089,13,ticksend,9
    0x008c,8,getcharnamerequest,4
    0x0094,31,movetokafra,16:27
    0x009b,32,wanttoconnection,9:15:23:27:31
    0x009f,19,useitem,9:15
    0x00a2,9,solvecharname,5
    0x00a7,11,walktoxy,8
    0x00f5,13,takeitem,9
    0x00f7,18,movefromkafra,11:14
    0x0113,33,useskilltopos,12:15:18:31
    0x0116,12,dropitem,3:10
    0x0190,24,actionrequest,11:23
    0x0216,-1
    0x023d,-1
    0x023e,4
    //2005-07-18aSakexe
    packet_ver: 18
    0x0072,19,useskilltoid,5:11:15
    0x007e,110,useskilltoposinfo,9:15:23:28:30
    0x0085,11,changedir,6:10
    0x0089,7,ticksend,3
    0x008c,11,getcharnamerequest,7
    0x0094,21,movetokafra,12:17
    0x009b,31,wanttoconnection,3:13:22:26:30
    0x009f,12,useitem,3:8
    0x00a2,18,solvecharname,14
    0x00a7,15,walktoxy,12
    0x00f5,7,takeitem,3
    0x00f7,13,movefromkafra,5:9
    0x0113,30,useskilltopos,9:15:23:28
    0x0116,12,dropitem,6:10
    0x0190,21,actionrequest,5:20
    0x0216,6
    0x023f,2,mailrefresh,0
    0x0240,8
    0x0241,6,mailread,2
    0x0242,-1
    0x0243,6,maildelete,2
    0x0244,6,mailgetattach,2
    0x0245,7
    0x0246,4,mailwinopen,2
    0x0247,8,mailsetattach,2:4
    0x0248,68
    0x0249,3
    0x024a,70
    0x024b,4,auctioncancelreg,0
    0x024c,8,auctionsetitem,0
    0x024d,14
    0x024e,6,auctioncancel,0
    0x024f,10,auctionbid,0
    0x0250,3
    0x0251,2
    0x0252,-1
    //2005-07-19bSakexe
    packet_ver: 19
    0x0072,34,useskilltoid,6:17:30
    0x007e,113,useskilltoposinfo,12:15:18:31:33
    0x0085,17,changedir,8:16
    0x0089,13,ticksend,9
    0x008c,8,getcharnamerequest,4
    0x0094,31,movetokafra,16:27
    0x009b,32,wanttoconnection,9:15:23:27:31
    0x009f,19,useitem,9:15
    0x00a2,9,solvecharname,5
    0x00a7,11,walktoxy,8
    0x00f5,13,takeitem,9
    0x00f7,18,movefromkafra,11:14
    0x0113,33,useskilltopos,12:15:18:31
    0x0116,12,dropitem,3:10
    0x0190,24,actionrequest,11:23
    //2005-08-01aSakexe
    0x0245,3
    0x0251,4
    //2005-08-08aSakexe
    0x024d,12,auctionregister,0
    0x024e,4
    //2005-08-17aSakexe
    0x0253,3
    0x0254,3,feelsaveok,0
    //2005-08-29aSakexe
    0x0240,-1
    0x0248,-1,mailsend,2:4:28:68
    0x0255,5
    0x0256,-1
    0x0257,8
    //2005-09-12bSakexe
    0x0256,5
    0x0258,2
    0x0259,3
    //2005-10-10aSakexe
    0x020e,32
    0x025a,-1
    0x025b,6,cooking,0
    //2005-10-13aSakexe
    0x007a,6
    0x0251,32
    0x025c,4,auctionbuysell,0
    //2005-10-17aSakexe
    0x007a,58
    0x025d,6,auctionclose,0
    0x025e,4
    //2005-10-24aSakexe
    0x025f,6
    0x0260,6
    //2005-11-07aSakexe
    0x024e,6,auctioncancel,0
    0x0251,34,auctionsearch,0
    //2006-01-09aSakexe
    0x0261,11
    0x0262,11
    0x0263,11
    0x0264,20
    0x0265,20
    0x0266,30
    0x0267,4
    0x0268,4
    0x0269,4
    0x026a,4
    0x026b,4
    0x026c,4
    0x026d,4
    0x026f,2
    0x0270,2
    0x0271,38
    0x0272,44
    //2006-01-26aSakexe
    0x0271,40
    //2006-03-06aSakexe
    0x0273,6
    0x0274,8
    //2006-03-13aSakexe
    0x0273,30,mailreturn,2:6
    //2006-03-27aSakexe
    packet_ver: 20
    0x0072,26,useskilltoid,11:18:22
    0x007e,120,useskilltoposinfo,5:15:29:38:40
    0x0085,12,changedir,7:11
    //0x0089,13,ticksend,9
    0x008c,12,getcharnamerequest,8
    0x0094,23,movetokafra,5:19
    0x009b,37,wanttoconnection,9:21:28:32:36
    0x009f,24,useitem,9:20
    0x00a2,11,solvecharname,7
    0x00a7,15,walktoxy,12
    0x00f5,13,takeitem,9
    0x00f7,26,movefromkafra,11:22
    0x0113,40,useskilltopos,5:15:29:38
    0x0116,17,dropitem,8:15
    0x0190,18,actionrequest,7:17
    //2006-10-23aSakexe
    0x006d,110
    //2006-04-24aSakexe to 2007-01-02aSakexe
    0x023e,8
    0x0277,84
    0x0278,2
    0x0279,2
    0x027a,-1
    0x027b,14
    0x027c,60
    0x027d,62
    0x027e,-1
    0x027f,8
    0x0280,12
    0x0281,4
    0x0282,284
    0x0283,6
    0x0284,14
    0x0285,6
    0x0286,4
    0x0287,-1
    0x0288,6
    0x0289,8
    0x028a,18
    0x028b,-1
    0x028c,46
    0x028d,34
    0x028e,4
    0x028f,6
    0x0290,4
    0x0291,4
    0x0292,2,autorevive,0
    0x0293,70
    0x0294,10
    0x0295,-1
    0x0296,-1
    0x0297,-1
    0x0298,8
    0x0299,6
    0x029a,27
    0x029c,66
    0x029d,-1
    0x029e,11
    0x029f,3,mermenu,0
    0x02a0,-1
    0x02a1,-1
    0x02a2,8
    //2007-01-08aSakexe
    packet_ver: 21
    0x0072,30,useskilltoid,10:14:26
    0x007e,120,useskilltoposinfo,10:19:23:38:40
    0x0085,14,changedir,10:13
    0x0089,11,ticksend,7
    0x008c,17,getcharnamerequest,13
    0x0094,17,movetokafra,4:13
    0x009b,35,wanttoconnection,7:21:26:30:34
    0x009f,21,useitem,7:17
    0x00a2,10,solvecharname,6
    0x00a7,8,walktoxy,5
    0x00f5,11,takeitem,7
    0x00f7,15,movefromkafra,3:11
    0x0113,40,useskilltopos,10:19:23:38
    0x0116,19,dropitem,11:17
    0x0190,10,actionrequest,4:9
    //2007-01-22aSakexe
    0x02a3,18
    0x02a4,2
    //2007-01-29aSakexe
    0x029b,72
    0x02a3,-1
    0x02a4,-1
    0x02a5,8
    // 2007-02-05aSakexe
    0x02aa,4
    0x02ab,36
    0x02ac,6
    //2007-02-12aSakexe
    packet_ver: 22
    0x0072,25,useskilltoid,6:10:21
    0x007e,102,useskilltoposinfo,5:9:12:20:22
    0x0085,11,changedir,7:10
    0x0089,8,ticksend,4
    0x008c,11,getcharnamerequest,7
    0x0094,14,movetokafra,7:10
    0x009b,26,wanttoconnection,4:9:17:21:25
    0x009f,14,useitem,4:10
    0x00a2,15,solvecharname,11
    //0x00a7,8,walktoxy,5
    0x00f5,8,takeitem,4
    0x00f7,22,movefromkafra,14:18
    0x0113,22,useskilltopos,5:9:12:20
    0x0116,10,dropitem,5:8
    0x0190,19,actionrequest,5:18
    //2007-05-07aSakexe
    0x01fd,15,repairitem,2
    //2007-02-27aSakexe to 2007-10-02aSakexe
    0x0288,10,cashshopbuy,2:4:6
    0x0289,12
    0x02a6,22
    0x02a7,22
    0x02a8,162
    0x02a9,58
    0x02ad,8
    0x02b0,85
    0x02b1,-1
    0x02b2,-1
    0x02b3,107
    0x02b4,6
    0x02b5,-1
    0x02b6,7,queststate,2:6
    0x02b7,7
    0x02b8,22
    0x02b9,191
    0x02ba,11,hotkey,2:4:5:9
    0x02bb,8
    0x02bc,6
    0x02bf,10
    0x02c0,2
    0x02c1,-1
    0x02c2,-1
    0x02c4,26,partyinvite2,2
    0x02c5,30
    0x02c6,30
    0x02c7,7,replypartyinvite2,2:6
    0x02c8,3
    0x02c9,3
    0x02ca,3
    0x02cb,20
    0x02cc,4
    0x02cd,26
    0x02ce,10
    0x02cf,6
    0x02d0,-1
    0x02d1,-1
    0x02d2,-1
    0x02d3,4
    0x02d4,29
    0x02d5,2
    0x02d6,6,viewplayerequip,2
    0x02d7,-1
    0x02d8,10,equiptickbox,6
    0x02d9,10
    0x02da,3
    0x02db,-1,battlechat,2:4
    0x02dc,-1
    0x02dd,32
    0x02de,6
    0x02df,36
    0x02e0,34
    //2007-10-23aSakexe
    0x02cb,65
    0x02cd,71
    //2007-11-06aSakexe
    0x0078,55
    0x007c,42
    0x022c,65
    0x029b,80
    //2007-11-13aSakexe
    0x02e1,33
    //2007-11-20aSakexe
    //0x01df,10 <- ???
    0x02e2,14
    0x02e3,25
    0x02e4,8
    0x02e5,8
    0x02e6,6
    //2007-11-27aSakexe
    0x02e7,-1
    //2008-01-02aSakexe
    0x01df,6,gmreqaccname,2
    0x02e8,-1
    0x02e9,-1
    0x02ea,-1
    0x02eb,13
    0x02ec,67
    0x02ed,59
    0x02ee,60
    0x02ef,8
    //2008-03-18aSakexe
    0x02bf,-1
    0x02c0,-1
    0x02f0,10
    0x02f1,2,progressbar,0
    0x02f2,2
    //2008-03-25bSakexe
    0x02f3,-1
    0x02f4,-1
    0x02f5,-1
    0x02f6,-1
    0x02f7,-1
    0x02f8,-1
    0x02f9,-1
    0x02fa,-1
    0x02fb,-1
    0x02fc,-1
    0x02fd,-1
    0x02fe,-1
    0x02ff,-1
    0x0300,-1
    //2008-04-01aSakexe
    0x0301,-1
    0x0302,-1
    0x0303,-1
    0x0304,-1
    0x0305,-1
    0x0306,-1
    0x0307,-1
    0x0308,-1
    0x0309,-1
    0x030a,-1
    0x030b,-1
    0x030c,-1
    0x030d,-1
    0x030e,-1
    0x030f,-1
    0x0310,-1
    0x0311,-1
    0x0312,-1
    0x0313,-1
    0x0314,-1
    0x0315,-1
    0x0316,-1
    0x0317,-1
    0x0318,-1
    0x0319,-1
    0x031a,-1
    0x031b,-1
    0x031c,-1
    0x031d,-1
    0x031e,-1
    0x031f,-1
    0x0320,-1
    0x0321,-1
    0x0322,-1
    0x0323,-1
    0x0324,-1
    0x0325,-1
    0x0326,-1
    0x0327,-1
    0x0328,-1
    0x0329,-1
    0x032a,-1
    0x032b,-1
    0x032c,-1
    0x032d,-1
    0x032e,-1
    0x032f,-1
    0x0330,-1
    0x0331,-1
    0x0332,-1
    0x0333,-1
    0x0334,-1
    0x0335,-1
    0x0336,-1
    0x0337,-1
    0x0338,-1
    0x0339,-1
    0x033a,-1
    0x033b,-1
    0x033c,-1
    0x033d,-1
    0x033e,-1
    0x033f,-1
    0x0340,-1
    0x0341,-1
    0x0342,-1
    0x0343,-1
    0x0344,-1
    0x0345,-1
    0x0346,-1
    0x0347,-1
    0x0348,-1
    0x0349,-1
    0x034a,-1
    0x034b,-1
    0x034c,-1
    0x034d,-1
    0x034e,-1
    0x034f,-1
    0x0350,-1
    0x0351,-1
    0x0352,-1
    0x0353,-1
    0x0354,-1
    0x0355,-1
    0x0356,-1
    0x0357,-1
    0x0358,-1
    0x0359,-1
    0x035a,-1
    //2008-05-27aSakexe
    0x035b,-1
    0x035c,2
    0x035d,-1
    0x035e,2
    0x035f,-1
    0x0389,-1
    //2008-08-20aSakexe
    0x040c,-1
    0x040d,-1
    0x040e,-1
    0x040f,-1
    0x0410,-1
    0x0411,-1
    0x0412,-1
    0x0413,-1
    0x0414,-1
    0x0415,-1
    0x0416,-1
    0x0417,-1
    0x0418,-1
    0x0419,-1
    0x041a,-1
    0x041b,-1
    0x041c,-1
    0x041d,-1
    0x041e,-1
    0x041f,-1
    0x0420,-1
    0x0421,-1
    0x0422,-1
    0x0423,-1
    0x0424,-1
    0x0425,-1
    0x0426,-1
    0x0427,-1
    0x0428,-1
    0x0429,-1
    0x042a,-1
    0x042b,-1
    0x042c,-1
    0x042d,-1
    0x042e,-1
    0x042f,-1
    0x0430,-1
    0x0431,-1
    0x0432,-1
    0x0433,-1
    0x0434,-1
    0x0435,-1
    //2008-09-10aSakexe
    packet_ver: 23
    0x0436,19,wanttoconnection,2:6:10:14:18
    0x0437,7,actionrequest,2:6
    0x0438,10,useskilltoid,2:4:6
    0x0439,8,useitem,2:4
    //2008-11-13aSakexe
    0x043d,8
    0x043e,-1
    0x043f,8
    //2008-11-26aSakexe
    0x01a2,37
    0x0440,10
    0x0441,4
    //2008-12-10aSakexe
    0x0442,-1
    0x0443,8,skillselectmenu,2:6
    //2009-01-14aSakexe
    0x043f,25
    0x0444,-1
    0x0445,10
    //2009-02-18aSakexe
    0x0446,14
    //2009-02-25aSakexe
    0x0448,-1
    //2009-03-30aSakexe
    0x0449,4
    //2009-04-08aSakexe
    0x02a6,-1
    0x02a7,-1
    0x044a,6
    //Renewal Clients
    //2008-08-27aRagexeRE
    packet_ver: 24
    0x0072,22,useskilltoid,9:15:18
    0x007c,44
    0x007e,105,useskilltoposinfo,10:14:18:23:25
    0x0085,10,changedir,4:9
    0x0089,11,ticksend,7
    0x008c,14,getcharnamerequest,10
    0x0094,19,movetokafra,3:15
    0x009b,34,wanttoconnection,7:15:25:29:33
    0x009f,20,useitem,7:20
    0x00a2,14,solvecharname,10
    0x00a7,9,walktoxy,6
    0x00f5,11,takeitem,7
    0x00f7,17,movefromkafra,3:13
    0x0113,25,useskilltopos,10:14:18:23
    0x0116,17,dropitem,6:15
    0x0190,23,actionrequest,9:22
    0x02e2,20
    0x02e3,22
    0x02e4,11
    0x02e5,9
    //2008-09-10aRagexeRE
    packet_ver: 25
    0x0436,19,wanttoconnection,2:6:10:14:18
    0x0437,7,actionrequest,2:6
    0x0438,10,useskilltoid,2:4:6
    0x0439,8,useitem,2:4
    //2008-11-12aRagexeRE
    0x043d,8
    //0x043e,-1
    0x043f,8
    //2008-12-17aRagexeRE
    0x01a2,37
    //0x0440,10
    //0x0441,4
    //0x0442,8
    //0x0443,8
    //2008-12-17bRagexeRE
    0x006d,114
    //2009-01-21aRagexeRE
    0x043f,25
    //0x0444,-1
    //0x0445,10
    //2009-02-18aRagexeRE
    //0x0446,14
    //2009-02-26cRagexeRE
    //0x0448,-1
    //2009-04-01aRagexeRE
    //0x0449,4
    //2009-05-14aRagexeRE
    //0x044b,2
    //2009-05-20aRagexeRE
    //0x07d0,6
    //0x07d1,2
    //0x07d2,-1
    //0x07d3,4
    //0x07d4,4
    //0x07d5,4
    //0x07d6,4
    //0x0447,2
    //2009-06-03aRagexeRE
    0x07d7,8,partychangeoption,2:6:7
    0x07d8,8
    0x07d9,254
    0x07da,6,partychangeleader,2
    //2009-06-10aRagexeRE
    //0x07db,8
    //2009-06-17aRagexeRE
    0x07d9,268
    //0x07dc,6
    //0x07dd,54
    //0x07de,30
    //0x07df,54
    //2009-07-01aRagexeRE
    //0x0275,37
    //0x0276,-1
    //2009-07-08aRagexeRE
    //0x07e0,58
    //2009-07-15aRagexeRE
    0x07e1,15
    //2009-08-05aRagexeRE
    0x07e2,8
    //2009-08-18aRagexeRE
    0x07e3,6
    0x07e4,-1,itemlistwindowselected,2:4:8
    0x07e6,8
    //2009-08-25aRagexeRE
    //0x07e6,28
    0x07e7,5
    //2009-09-22aRagexeRE
    0x07e5,8
    0x07e6,8
    0x07e7,32
    0x07e8,-1
    0x07e9,5
    //2009-09-29aRagexeRE
    //0x07ea,2
    //0x07eb,-1
    //0x07ec,6
    //0x07ed,8
    //0x07ee,6
    //0x07ef,8
    //0x07f0,4
    //0x07f2,4
    //0x07f3,3
    //2009-10-06aRagexeRE
    //0x07ec,8
    //0x07ed,10
    //0x07f0,8
    //0x07f1,15
    //0x07f2,6
    //0x07f3,4
    //0x07f4,3
    //2009-10-27aRagexeRE
    0x07f5,6,gmreqaccname,2
    0x07f6,14
    //2009-11-03aRagexeRE
    0x07f7,-1
    0x07f8,-1
    0x07f9,-1
    //2009-11-17aRagexeRE
    0x07fa,8
    //2009-11-24aRagexeRE
    0x07fb,25
    //2009-12-01aRagexeRE
    //0x07fc,10
    //0x07fd,-1
    0x07fe,26
    //0x07ff,-1
    //2009-12-15aRagexeRE
    0x0800,-1
    //0x0801,-1
    //2009-12-22aRagexeRE
    0x0802,18,bookingregreq,2:4:6  // Booking System
    0x0803,4
    0x0804,8  // Booking System
    0x0805,-1
    0x0806,4,bookingdelreq,2  // Booking System
    //0x0807,2
    0x0808,4  // Booking System
    //0x0809,14
    //0x080A,50
    //0x080B,18
    //0x080C,6
    //2009-12-29aRagexeRE
    0x0804,14,bookingsearchreq,2:4:6:8:12  // Booking System
    0x0806,2,bookingdelreq,0  // Booking System
    0x0807,4
    0x0808,14,bookingupdatereq,2  // Booking System
    0x0809,50
    0x080A,18
    0x080B,6  // Booking System
    //2010-01-05aRagexeRE
    0x0801,-1,purchasereq2,2:4:8:12
    //2010-01-26aRagexeRE
    //0x080C,2
    //0x080D,3
    0x080E,14
    //2010-02-09aRagexeRE
    //0x07F0,6
    //2010-02-23aRagexeRE
    0x080F,20
    //2010-03-03aRagexeRE
    0x0810,3
    0x0811,-1,reqopenbuyingstore,2:4:8:9:89
    //0x0812,86
    //0x0813,6
    //0x0814,6
    //0x0815,-1
    //0x0817,-1
    //0x0818,6
    //0x0819,4
    //2010-03-09aRagexeRE
    0x0813,-1
    //0x0814,2
    //0x0815,6
    0x0816,6
    0x0818,-1
    //0x0819,10
    //0x081A,4
    //0x081B,4
    //0x081C,6
    0x081d,22
    0x081e,8
    //2010-03-23aRagexeRE
    //0x081F,-1
    //2010-04-06aRagexeRE
    //0x081A,6
    //2010-04-13aRagexeRE
    //0x081A,10
    0x0820,11
    //0x0821,2
    //0x0822,9
    //0x0823,-1
    //2010-04-14dRagexeRE
    //0x081B,8
    //2010-04-20aRagexeRE
    0x0812,8
    0x0814,86
    0x0815,2,reqclosebuyingstore,0
    0x0817,6,reqclickbuyingstore,2
    0x0819,-1,reqtradebuyingstore,2:4:8:12
    0x081a,4
    0x081b,10
    0x081c,10
    0x0824,6
    //2010-06-01aRagexeRE
    //0x0825,-1
    //0x0826,4
    0x0835,-1,searchstoreinfo,2:4:5:9:13:14:15
    0x0836,-1
    0x0837,3
    //0x0838,3
    //2010-06-08aRagexeRE
    0x0838,2,searchstoreinfonextpage,0
    0x083A,4  // Search Stalls Feature
    0x083B,2,closesearchstoreinfo,0
    0x083C,12,searchstoreinfolistitemclick,2:6:10
    0x083D,6
    //2010-06-15aRagexeRE
    //0x083E,26
    //2010-06-22aRagexeRE
    //0x083F,22
    //2010-06-29aRagexeRE
    0x00AA,9
    //0x07F1,18
    //0x07F2,8
    //0x07F3,6
    //2010-07-01aRagexeRE
    0x083A,5  // Search Stalls Feature
    //2010-07-13aRagexeRE
    //0x0827,6
    //0x0828,14
    //0x0829,6
    //0x082A,10
    //0x082B,6
    //0x082C,14
    //0x0840,-1
    //0x0841,19
    //2010-07-14aRagexeRE
    //0x841,4
    //2010-08-03aRagexeRE
    0x0839,66
    0x0842,6,recall2,2
    0x0843,6,remove2,2
    //2010-11-24aRagexeRE
    packet_ver: 26
    0x0288,-1,cashshopbuy,4:8
    0x0436,19,wanttoconnection,2:6:10:14:18
    0x035f,5,walktoxy,2
    0x0360,6,ticksend,2
    0x0361,5,changedir,2:4
    0x0362,6,takeitem,2
    0x0363,6,dropitem,2:4
    0x0364,8,movetokafra,2:4
    0x0365,8,movefromkafra,2:4
    0x0366,10,useskilltopos,2:4:6:8
    0x0367,90,useskilltoposinfo,2:4:6:8:10
    0x0368,6,getcharnamerequest,2
    0x0369,6,solvecharname,2
    0x0856,-1
    0x0857,-1
    0x0858,-1
    0x0859,-1
    //2011-10-05aRagexeRE
    packet_ver: 27
    0x0364,5,walktoxy,2
    0x0817,6,ticksend,2
    0x0366,5,changedir,2:4
    0x0815,6,takeitem,2
    0x0885,6,dropitem,2:4
    0x0893,8,movetokafra,2:4
    0x0897,8,movefromkafra,2:4
    0x0369,10,useskilltopos,2:4:6:8
    0x08ad,90,useskilltoposinfo,2:4:6:8:10
    0x088a,6,getcharnamerequest,2
    0x0838,6,solvecharname,2
    0x0439,8,useitem,2:4
    0x08d2,10
    // 2011-11-02aRagexe
    packet_ver: 28
    0x0436,26,friendslistadd,2
    0x0898,5,hommenu,4
    0x0281,36,storagepassword,0
    0x088d,26,partyinvite2,2
    0x083c,19,wanttoconnection,2:6:10:14:18
    0x08aa,7,actionrequest,2:6
    0x02c4,10,useskilltoid,2:4:6
    0x0811,-1,itemlistwindowselected,2:4:8
    0x890,8
    0x08a5,18,bookingregreq,2:4:6
    0x0835,-1,reqopenbuyingstore,2:4:8:9:89
    0x089b,2,reqclosebuyingstore,0
    0x08a1,6,reqclickbuyingstore,2
    0x089e,-1,reqtradebuyingstore,2:4:8:12
    0x08ab,-1,searchstoreinfo,2:4:5:9:13:14:15
    0x088b,2,searchstoreinfonextpage,0
    0x08a2,12,searchstoreinfolistitemclick,2:6:10
    //2012-03-07fRagexeRE
    packet_ver:29
    0x086A,19,wanttoconnection,2:6:10:14:18
    0x0437,5,walktoxy,2
    0x0887,6,ticksend,2
    0x0890,5,changedir,2:4
    0x0865,6,takeitem,2
    0x02C4,6,dropitem,2:4
    0x093B,8,movetokafra,2:4
    0x0963,8,movefromkafra,2:4
    0x0438,10,useskilltopos,2:4:6:8
    0x0366,90,useskilltoposinfo,2:4:6:8:10
    0x096A,6,getcharnamerequest,2
    0x0368,6,solvecharname,2
    0x0369,26,friendslistadd,2
    0x0863,5,hommenu,4
    0x0861,36,storagepassword,0
    0x0929,26,partyinvite2,2
    0x0885,7,actionrequest,2:6
    0x0889,10,useskilltoid,2:4:6
    0x0870,-1,itemlistwindowselected,2:4:8
    0x0926,18,bookingregreq,2:4:6
    0x0815,-1,reqopenbuyingstore,2:4:8:9:89
    0x0817,2,reqclosebuyingstore,0
    0x0360,6,reqclickbuyingstore,2
    0x0811,-1,reqtradebuyingstore,2:4:8:12
    0x0884,-1,searchstoreinfo,2:4:5:9:13:14:15
    0x0835,2,searchstoreinfonextpage,0
    0x0838,12,searchstoreinfolistitemclick,2:6:10
    0x0439,8,useitem,2:4
    //2012-04-10aRagexeRE
    packet_ver: 30
    0x01FD,15,repairitem,2
    0x089C,26,friendslistadd,2
    0x0885,5,hommenu,2:4
    0x0961,36,storagepassword,0
    0x0288,-1,cashshopbuy,4:8
    0x091C,26,partyinvite2,2
    0x094B,19,wanttoconnection,2:6:10:14:18
    0x0369,7,actionrequest,2:6
    0x083C,10,useskilltoid,2:4:6
    0x0439,8,useitem,2:4
    0x0945,-1,itemlistwindowselected,2:4:8
    0x0815,-1,reqopenbuyingstore,2:4:8:9:89
    0x0817,2,reqclosebuyingstore,0
    0x0360,6,reqclickbuyingstore,2
    0x0811,-1,reqtradebuyingstore,2:4:8:12
    0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15
    0x0835,2,searchstoreinfonextpage,0
    0x0838,12,searchstoreinfolistitemclick,2:6:10
    0x0437,5,walktoxy,2
    0x0886,6,ticksend,2
    0x0871,5,changedir,2:4
    0x0938,6,takeitem,2
    0x0891,6,dropitem,2:4
    0x086C,8,movetokafra,2:4
    0x08A6,8,movefromkafra,2:4
    0x0438,10,useskilltopos,2:4:6:8
    0x0366,90,useskilltoposinfo,2:4:6:8:10
    0x0889,6,getcharnamerequest,2
    0x0884,6,solvecharname,2
    0x08E5,41,bookingregreq,2:4 //Added to prevent disconnections
    0x08E6,4
    0x08E7,10,bookingsearchreq,2
    0x08E8,-1
    0x08E9,2,bookingdelreq,2
    0x08EA,4
    0x08EB,39,bookingupdatereq,2
    0x08EC,73
    0x08ED,43
    0x08EE,6
    0x08EF,6,bookingignorereq,2
    0x08F0,6
    0x08F1,6,bookingjoinpartyreq,2
    0x08F2,36
    0x08F3,-1
    0x08F4,6
    0x08F5,-1,bookingsummonmember,2:4
    0x08F6,22
    0x08F7,3
    0x08F8,7
    0x08F9,6
    0x08FA,6
    0x08FB,6,bookingcanceljoinparty,2
    0x0907,5,moveitem,2:4
    0x0908,5
    0x08D7,28,battlegroundreg,2:4 //Added to prevent disconnections
    0x08CF,10 //Amulet spirits
    0x0977,14 //Monster HP Bar
    //Add new packets here
    //packet_ver: 31
    

    About to put <version>26</version>, this version shouldn't0 be the same as my Cliente in packet_db file?

    My packet_db have this:

    //2012-04-10aRagexeRE

    packet_ver: 30

    Besides, i am so desperate to make it work, that i tried to put in my clientinfo.xml <version> 25, 26, 28, 30 and not work.

    I tried to change the value default in packet_db_ver: from default to 30 and recompile rAthena on VS2010 and it not work too.

    I'm have no Idea about what to do to fix this problem :'(

  5. Guys i really don't know what to do. I used up all my tries.

    Give a look at this "evil error" :

    rathneerror.png

    I'm using one of the lastest rAthena version. I got it here: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/

    . Im using 2012-04-10aRagexeRE client. patched with ShinsDiffPatcher.

    . My packetversion in mmo.h is set to 20120410 by default

    . My clientinfo packetver is set to 30

    . My rAthena file packet_db.txt contains packer_ver 30 - packets for 2012-04-10 client. it is included in recents rathena versions.

    . WAN, lan, Port F. settings are correct.

    I found a lot of similar topics but still cannot fix the problem.

    :(

  6. Hey guys, i would like some help here with this error;

    [Info]: clif_parse: Disconnecting session #3 with unknown packet version (p:0x46

    4d,l:19).

    Notes:

    . Im using 2012-04-10aRagexeRE client. patched with ShinsDiffPatcher.

    . My packetversion in mmo.h is set to 20120410 by default

    . My clientinfo packetver is set to 30

    . My rAthena file packet_db.txt contains packer_ver 30 - packets for 2012-04-10 client. it is included in recents rathena versions.

    . WAN, lan, Port F. settings are correct.

    I found a lot of similar topics but still cannot fix the problem.

×
×
  • Create New...