Jump to content

chowking

Members
  • Posts

    178
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by chowking

  1. Check your sprite folder, it's different sprite. Or somewhere in lua (i think in lub!!!) this ID is taken. Or client do not read this number, try to replace in shorter number your headgear.

     

    i have necessary files for drop, male female and textures, although IDK why it shows the (null).spr (null).act,

    also, i always compile my lua to lub whenever i use 2012 04 10,,

     

     try to replace in shorter number your headgear.

     

    i'll try this one, maybe 874

  2. Currently Adding a new HG to latest rAthena trunk rev, all seems fine except, HG fails to show

     

    2012-04-10aRagexeRE.exe

     

    used Shindiff with:
    all recommended

    Diffed with 30K view ID,

    skip packet obfuciation

     

    didn't include:

    Lua before LUB

    Read data folder first

    HKLM to HKCU (or so)

     

    attached pic of what is currently happening:

    post-5696-0-04370100-1377880711_thumb.png

     

    please help,

     

    This is my accessoryid.lua,, compiled it later on and put  in luafiles514/lua files/datainfo/

    ACCESSORY_IDs = {
    	ACCESSORY_GOGGLES = 1,
    	ACCESSORY_CATTYHAIRBAND = 2,
    	ACCESSORY_GLASS = 3,
    	ACCESSORY_FLOWER = 4,
    	ACCESSORY_FLORALHAIRBAND = 5,
    	ACCESSORY_HOOD = 6,
    	ACCESSORY_ROUNDCAP = 7,
    	ACCESSORY_FLUMASK = 8,
    	ACCESSORY_HAIRBAND = 9,
    	ACCESSORY_DIVERSGOGGLES = 10,
    	ACCESSORY_BIRETTA = 11,
    	ACCESSORY_SUNGLASS = 12,
    	ACCESSORY_EYEBANDAGE = 13,
    	ACCESSORY_CAP = 14,
    	ACCESSORY_BUNNYBAND = 15,
    	ACCESSORY_HAT = 16,
    	ACCESSORY_RIBBON = 17,
    	ACCESSORY_CIRCLET = 18,
    	ACCESSORY_TIARA = 19,
    	ACCESSORY_SANTAHAT = 20,
    	ACCESSORY_BEARD = 21,
    	ACCESSORY_MUSTACHE = 22,
    	ACCESSORY_SPECTACLE = 23,
    	ACCESSORY_BLACK_BEARD = 24,
    	ACCESSORY_WHITE_BEARD = 25,
    	ACCESSORY_QUALITY_SUNGLASS = 26,
    	ACCESSORY_SPIN_GLASS = 27,
    	ACCESSORY_LARGE_RIBBON = 28,
    	ACCESSORY_SWEET_GENTLE = 29,
    	ACCESSORY_GOLDEN_HEADGEAR = 30,
    	ACCESSORY_OLDSTER_ROMANCE = 31,
    	ACCESSORY_WESTERN_GRACE = 32,
    	ACCESSORY_CORONET = 33,
    	ACCESSORY_HAIR_STRING = 34,
    	ACCESSORY_PRIEST_CAP = 35,
    	ACCESSORY_WIZARD_HAT = 36,
    	ACCESSORY_SUNFLOWER = 37,
    	ACCESSORY_ANGEL_HAIRBAND = 38,
    	ACCESSORY_DEVIL_HAIRBAND = 39,
    	ACCESSORY_HELM = 40,
    	ACCESSORY_MAJESTIC_GOUT = 41,
    	ACCESSORY_WHITE_HORN = 42,
    	ACCESSORY_SHARP_HEADGEAR = 43,
    	ACCESSORY_WEDDING_VEIL = 44,
    	ACCESSORY_CROWN = 45,
    	ACCESSORY_PROPELLER = 46,
    	ACCESSORY_TINY_EYE_GLASSES = 47,
    	ACCESSORY_PRONTERA_ARMY_CAP = 48,
    	ACCESSORY_PIERROTS_NOSE = 49,
    	ACCESSORY_PIRATES_EYEBANDAGE = 50,
    	ACCESSORY_MUNAK_TURBAN = 51,
    	ACCESSORY_HIP_HOP_MASK = 52,
    	ACCESSORY_IRONCANE = 53,
    	ACCESSORY_CIGAR = 54,
    	ACCESSORY_CIGAR_PIPE = 55,
    	ACCESSORY_SENTIMENTAL_FLOWER = 56,
    	ACCESSORY_SENTIMENTAL_BLADE = 57,
    	ACCESSORY_HEY_DUDE = 58,
    	ACCESSORY_STOP_SIGNPOST = 59,
    	ACCESSORY_DOCTOR_BAND = 60,
    	ACCESSORY_JAPANESE_GHOST = 61,
    	ACCESSORY_SCARLET_BANDANA = 62,
    	ACCESSORY_EAGLE_EYES = 63,
    	ACCESSORY_NURSE_CAP = 64,
    	ACCESSORY_SMILE = 65,
    	ACCESSORY_BOMB_WICK = 66,
    	ACCESSORY_SAHT_GAHT = 67,
    	ACCESSORY_MASQUERADE = 68,
    	ACCESSORY_SERAPHIC_RING = 69,
    	ACCESSORY_EARMUFFS = 70,
    	ACCESSORY_MOOSE_HORN = 71,
    	ACCESSORY_THE_APPLE_OF_WILHELM_TELL = 72,
    	ACCESSORY_TINKER_BELL = 73,
    	ACCESSORY_PIRATE_BANDANA = 74,
    	ACCESSORY_MUNCHS_SCREAM = 75,
    	ACCESSORY_POO_POO_HAT = 76,
    	ACCESSORY_KOEAN_FUNERAL_COSTUME = 77,
    	ACCESSORY_BUTTERFLY_MASQUE = 78,
    	ACCESSORY_WELDER_MASK = 79,
    	ACCESSORY_PRETEND_TO_BE_MURDERED = 80,
    	ACCESSORY_STAR_DUST = 81,
    	ACCESSORY_EYE_MASK = 82,
    	ACCESSORY_BINOCULARS = 83,
    	ACCESSORY_GOBLIN_MASQUE = 84,
    	ACCESSORY_GREEN_FEELER = 85,
    	ACCESSORY_VIKING_HELMET = 86,
    	ACCESSORY_HEAD_SET = 87,
    	ACCESSORY_GEMMED_CROWN = 88,
    	ACCESSORY_PIERROT_CROWN = 89,
    	ACCESSORY_OXYGEN_MASK = 90,
    	ACCESSORY_GAS_MASK = 91,
    	ACCESSORY_MACHO_MANS_GLASSES = 92,
    	ACCESSORY_LORD_CIRCLET = 93,
    	ACCESSORY_PUPPY_LOVE = 94,
    	ACCESSORY_CRASH_HELMET = 95,
    	ACCESSORY_INDIAN_BAND = 96,
    	ACCESSORY_AERIAL = 97,
    	ACCESSORY_BA_HAT = 98,
    	ACCESSORY_HORN_OF_LORD_KAHO = 99,
    	ACCESSORY_FIN_HELM = 100,
    	ACCESSORY_EGG_SHELL = 101,
    	ACCESSORY_KOREAN_SCHOOL_HAT = 102,
    	ACCESSORY_BONE_HELM = 103,
    	ACCESSORY_WILHELM_TELLS_HAT = 104,
    	ACCESSORY_CORSAIR = 105,
    	ACCESSORY_BAND_OF_KAFRA = 106,
    	ACCESSORY_LOST_MONEY_HEART = 107,
    	ACCESSORY_BUNDLE = 108,
    	ACCESSORY_CAKE_HAT = 109,
    	ACCESSORY_ANGEL_HELM = 110,
    	ACCESSORY_COOKER_HAT = 111,
    	ACCESSORY_MAGE_HAT = 112,
    	ACCESSORY_CANDLE = 113,
    	ACCESSORY_SPORE_HAT = 114,
    	ACCESSORY_PANDA_HAT = 115,
    	ACCESSORY_MINE_HAT = 116,
    	ACCESSORY_OUTSIDE_HAT = 117,
    	ACCESSORY_RACCOON_HAT = 118,
    	ACCESSORY_LAMP_BAND = 119,
    	ACCESSORY_PORING_HAT = 120,
    	ACCESSORY_CROSS_BAND = 121,
    	ACCESSORY_NUT_SHELL = 122,
    	ACCESSORY_YOUNG_DEVIL_HAT = 123,
    	ACCESSORY_SPOT_EGG_SHELL = 124,
    	ACCESSORY_DYE_RED = 125,
    	ACCESSORY_HEART_HAIRPIN = 126,
    	ACCESSORY_HAIR_CLOTH = 127,
    	ACCESSORY_GHOST_MASK = 128,
    	ACCESSORY_DEVIL_WING = 129,
    	ACCESSORY_WIZARD_HEADGEAR = 130,
    	ACCESSORY_FASION_SUNGLASSES = 131,
    	ACCESSORY_MOON_HEARPIN = 132,
    	ACCESSORY_STRIPES_BAND = 133,
    	ACCESSORY_MYSTIC_NUT_SHELL = 134,
    	ACCESSORY_CAT_BELL = 135,
    	ACCESSORY_BLUE_BAND = 136,
    	ACCESSORY_SPHINX_HAT = 137,
    	ACCESSORY_SUN_GOD_HAT = 138,
    	ACCESSORY_BOMGUN_HAT = 139,
    	ACCESSORY_LOVE_NUT = 140,
    	ACCESSORY_BLACKCAT_EAR = 141,
    	ACCESSORY_LAZYCAT = 142,
    	ACCESSORY_BEAR_HAT = 143,
    	ACCESSORY_KOCAL_HAT = 144,
    	ACCESSORY_FLOWER_HAIRPIN = 145,
    	ACCESSORY_MILZIP_HAT = 146,
    	ACCESSORY_DAEILBAND = 147,
    	ACCESSORY_LEAF_HELM = 148,
    	ACCESSORY_FISH_HAT = 149,
    	ACCESSORY_SERCUBUS_HORN = 150,
    	ACCESSORY_SOM_BRERO = 151,
    	ACCESSORY_DEVILWING_EAR = 152,
    	ACCESSORY_FOX_MASK = 153,
    	ACCESSORY_FIRE_HEADBAND = 154,
    	ACCESSORY_INDIAN_HEADBAND = 155,
    	ACCESSORY_INCUBUS_HORN = 156,
    	ACCESSORY_STRAIGHT_HAT = 157,
    	ACCESSORY_ANGELWING_EAR = 158,
    	ACCESSORY_COWBOY_HAT = 159,
    	ACCESSORY_FUR_HAT = 160,
    	ACCESSORY_TULIP_HAIRPIN = 161,
    	ACCESSORY_HAEDAL_HAT = 162,
    	ACCESSORY_X_HAIRPIN = 163,
    	ACCESSORY_QUEEN_HELM = 164,
    	ACCESSORY_MISTRESS_CROWN = 165,
    	ACCESSORY_MUSHROOM_HEADBAND = 166,
    	ACCESSORY_REDTAIL_RIBBON = 167,
    	ACCESSORY_LAZY_RACCOON = 168,
    	ACCESSORY_BELOWEAR_RIBBON = 169,
    	ACCESSORY_ALARM_MASK = 170,
    	ACCESSORY_GOBLIN_MASK1 = 171,
    	ACCESSORY_GOBLIN_MASK2 = 172,
    	ACCESSORY_GOBLIN_MASK3 = 173,
    	ACCESSORY_GOBLIN_MASK4 = 174,
    	ACCESSORY_BIGGOLDEN_BELL = 175,
    	ACCESSORY_SISTER_HAT = 176,
    	ACCESSORY_SISTER_HAT2 = 177,
    	ACCESSORY_ORCHERO_HELM = 178,
    	ACCESSORY_ORCHERO_HELM2 = 179,
    	ACCESSORY_ASSASSIN_MASK = 180,
    	ACCESSORY_TIGER_MASK = 181,
    	ACCESSORY_CAT_HAT = 182,
    	ACCESSORY_SALE_HAT = 183,
    	ACCESSORY_TAKIUS = 184,
    	ACCESSORY_BATTLEONLINE = 185,
    	ACCESSORY_HAEBARAGI_PIN = 186,
    	ACCESSORY_BLACK_EYECOVER = 187,
    	ACCESSORY_TOAST = 188,
    	ACCESSORY_DECTECTIVE_HAT = 189,
    	ACCESSORY_CHAYANG_HAT = 190,
    	ACCESSORY_BABY = 191,
    	ACCESSORY_DUCK_HAT = 192,
    	ACCESSORY_SUNO_HAT = 193,
    	ACCESSORY_ANGRY_MOUTH = 194,
    	ACCESSORY_BEONG_HAT = 195,
    	ACCESSORY_COLDPROTECT_HAT = 196,
    	ACCESSORY_BANANA_HAT = 197,
    	ACCESSORY_MYSTICROSE = 198,
    	ACCESSORY_PUPPY_EAR = 199,
    	ACCESSORY_ZIRTAS_MASK = 200,
    	ACCESSORY_BIRD_NEST = 201,
    	ACCESSORY_LION_MASK = 202,
    	ACCESSORY_CROSS_HELMET = 203,
    	ACCESSORY_ANGELING_HAT = 204,
    	ACCESSORY_GOAT_HAT = 205,
    	ACCESSORY_PUMPKIN_HAT = 206,
    	ACCESSORY_CYCLOPS_EYE = 207,
    	ACCESSORY_ALICE_HAT = 208,
    	ACCESSORY_MAGIC_EYES = 209,
    	ACCESSORY_PUYONG = 210,
    	ACCESSORY_PRETTY_RIBBON = 211,
    	ACCESSORY_MARIONET_HAT = 212,
    	ACCESSORY_MOON_HELM = 213,
    	ACCESSORY_GABUKI_MASK = 214,
    	ACCESSORY_KOKIRI_HAT = 215,
    	ACCESSORY_BASEBALL_HAT = 216,
    	ACCESSORY_GOOKGYEONG_HAT = 217,
    	ACCESSORY_SILVERTIARA = 218,
    	ACCESSORY_PIERROT_CROWN_ = 219,
    	ACCESSORY_MUSICHEADPHONE = 220,
    	ACCESSORY_BONGCROWN = 221,
    	ACCESSORY_ANGELING_PIN = 222,
    	ACCESSORY_GAKSITAL = 223,
    	ACCESSORY_FEATHER_BEREHAT = 224,
    	ACCESSORY_VALKYRIE_HELMET = 225,
    	ACCESSORY_BEREHAT = 226,
    	ACCESSORY_SATOHAT = 227,
    	ACCESSORY_AYAM = 228,
    	ACCESSORY_NONAME = 229,
    	ACCESSORY_HAHETAL = 230,
    	ACCESSORY_LIONTAL = 231,
    	ACCESSORY_GOLDTIARA = 232,
    	ACCESSORY_DARKHELMET = 233,
    	ACCESSORY_DOGHAT = 234,
    	ACCESSORY_BIRDHAT = 235,
    	ACCESSORY_CAPTAINHAT = 236,
    	ACCESSORY_BAYTREEHAT = 237,
    	ACCESSORY_GEOGRAPHER = 238,
    	ACCESSORY_TWINRIBBON = 239,
    	ACCESSORY_SINGERHAT = 240,
    	ACCESSORY_LEAF = 241,
    	ACCESSORY_BLACKRIBBON = 242,
    	ACCESSORY_YELLOWRIBBON = 243,
    	ACCESSORY_GREENRIBBON = 244,
    	ACCESSORY_PINKRIBBON = 245,
    	ACCESSORY_REDRIBBON = 246,
    	ACCESSORY_ORANGERIBBON = 247,
    	ACCESSORY_WHITERIBBON = 248,
    	ACCESSORY_LAZYRABBIT = 249,
    	ACCESSORY_MEGINCAP = 250,
    	ACCESSORY_PRIKACIRCLET = 251,
    	ACCESSORY_COPOLA = 252,
    	ACCESSORY_MERONGMASK = 253,
    	ACCESSORY_WOOLCAP = 254,
    	ACCESSORY_ANGELKISS = 255,
    	ACCESSORY_MORPHISDOOGUN = 256,
    	ACCESSORY_MORIANEHELM = 257,
    	ACCESSORY_GEVNEITUGOO = 258,
    	ACCESSORY_WHITEFLOWER = 259,
    	ACCESSORY_GOLDENGORI = 260,
    	ACCESSORY_LAUREL = 261,
    	ACCESSORY_RIDEWORD = 262,
    	ACCESSORY_YELLOW_BASEBALLCAP = 263,
    	ACCESSORY_FLYING_ANGEL = 264,
    	ACCESSORY_DRESSHAT = 265,
    	ACCESSORY_SATELITE_HAIRBAND = 266,
    	ACCESSORY_BLACK_BUNNYBAND = 267,
    	ACCESSORY_WALLYAHWA_HAT = 268,
    	ACCESSORY_MARCHING_HAT = 269,
    	ACCESSORY_PROPELLER2 = 270,
    	ACCESSORY_RED_DEVIRUCHI = 271,
    	ACCESSORY_WHITE_DEVIRUCHI = 272,
    	ACCESSORY_GRAY_DEVIRUCHI = 273,
    	ACCESSORY_WHITE_LAZYCAT = 274,
    	ACCESSORY_GRAY_LAZYCAT = 275,
    	ACCESSORY_PINK_LAZYCAT = 276,
    	ACCESSORY_BLUE_LAZYCAT = 277,
    	ACCESSORY_YELLOW_LAZYCAT = 278,
    	ACCESSORY_GRAY_FURHAT = 279,
    	ACCESSORY_BLUE_FURHAT = 280,
    	ACCESSORY_PINK_FURHAT = 281,
    	ACCESSORY_RED_MAGICIANHAT = 282,
    	ACCESSORY_WHITE_MAGICIANHAT = 283,
    	ACCESSORY_GRAY_MAGICIANHAT = 284,
    	ACCESSORY_BLUE_MAGICIANHAT = 285,
    	ACCESSORY_YELLOW_MAGICIANHAT = 286,
    	ACCESSORY_EARPLUG_HAT = 287,
    	ACCESSORY_ELF_BLINDER = 288,
    	ACCESSORY_ELF_SUNGLASS = 289,
    	ACCESSORY_ANGEL_MIXHELM = 290,
    	ACCESSORY_DEVIL_MIXHELM = 291,
    	ACCESSORY_ROBOT_BLINDER = 292,
    	ACCESSORY_HUMAN_BLINDER = 293,
    	ACCESSORY_ROBOT_EAR = 294,
    	ACCESSORY_HUMAN_EAR = 295,
    	ACCESSORY_LAZY_NINETAIL = 296,
    	ACCESSORY_LAZY_LEAF = 297,
    	ACCESSORY_DEVILRING_HAT = 298,
    	ACCESSORY_3PORINGS = 299,
    	ACCESSORY_VALKYRIE_FEATHER = 300,
    	ACCESSORY_SOULESS_WING = 301,
    	ACCESSORY_APRO_WIG = 302,
    	ACCESSORY_ATIATI_HAT = 303,
    	ACCESSORY_AUSTRALIA_HAT = 304,
    	ACCESSORY_HAPPY_WIG = 305,
    	ACCESSORY_BRIGHT_WIG = 306,
    	ACCESSORY_AMAZING_WIG = 307,
    	ACCESSORY_FANTASTIC_WIG = 308,
    	ACCESSORY_YELLOW_DOOGUN = 309,
    	ACCESSORY_YELLOW_RIBBON = 310,
    	ACCESSORY_CHICK_HAT = 311,
    	ACCESSORY_SUREON_CROWN = 312,
    	ACCESSORY_WINDMILL_HAIRPIN = 313,
    	ACCESSORY_PECOPECO_HAT = 314,
    	ACCESSORY_VACATION_HAT = 315,
    	ACCESSORY_RED_GLASSES = 316,
    	ACCESSORY_VANIL_HAT = 317,
    	ACCESSORY_KETTLE_HAT = 318,
    	ACCESSORY_DRAGON_SKULL = 319,
    	ACCESSORY_RAMYEON_HAT = 320,
    	ACCESSORY_WHISPER_MASK = 321,
    	ACCESSORY_HORN_HAT = 322,
    	ACCESSORY_RUSSIA_RIBBON = 323,
    	ACCESSORY_LOTUS_FLOWER = 324,
    	ACCESSORY_CEREMONIAL_CORONET = 325,
    	ACCESSORY_MANGMOK = 326,
    	ACCESSORY_PIRATE_DAGGER = 327,
    	ACCESSORY_FREYA_CROWN = 328,
    	ACCESSORY_TROPICALFRUIT = 329,
    	ACCESSORY_BRAZIL_HAT = 330,
    	ACCESSORY_MOHIKAN = 331,
    	ACCESSORY_BANJAK_JEONGOO = 332,
    	ACCESSORY_BIG_HIBISCUS = 333,
    	ACCESSORY_AYOTAYA_HAT = 334,
    	ACCESSORY_DIA_DAM = 335,
    	ACCESSORY_HAKI_MASK = 336,
    	ACCESSORY_OBSERVER = 337,
    	ACCESSORY_UMBRELLA_HAT = 338,
    	ACCESSORY_FISHER_HAT = 339,
    	ACCESSORY_PORINGPARTY_HAT = 340,
    	ACCESSORY_BLUE_ANGELING_HAT = 341,
    	ACCESSORY_INDONESIA_HARIBAND = 342,
    	ACCESSORY_SCARF = 343,
    	ACCESSORY_LITTLEANGELDOLL = 344,
    	ACCESSORY_ROBOTEYE = 345,
    	ACCESSORY_ROKIMASK = 346,
    	ACCESSORY_JEONPA_ANTENNA = 347,
    	ACCESSORY_WANTTOFLY_ANGELING = 348,
    	ACCESSORY_JUMPING_PORING = 349,
    	ACCESSORY_WANT_GUILDMAN = 350,
    	ACCESSORY_WANT_PARTY = 351,
    	ACCESSORY_WANT_BOY = 352,
    	ACCESSORY_WANT_FRIEND = 353,
    	ACCESSORY_DIFORTE = 354,
    	ACCESSORY_GLARRIS = 355,
    	ACCESSORY_SORIN = 356,
    	ACCESSORY_TAILING = 357,
    	ACCESSORY_BINIT = 358,
    	ACCESSORY_W = 359,
    	ACCESSORY_WANT_GIRL = 360,
    	ACCESSORY_POPORING_HAT = 361,
    	ACCESSORY_MUSLIM_M = 362,
    	ACCESSORY_MUSLIM_F = 363,
    	ACCESSORY_MAWANG_HAT = 364,
    	ACCESSORY_VICTORYWING = 365,
    	ACCESSORY_PECOPECO_FLY_HAT = 366,
    	ACCESSORY_CAPTION_HAT = 367,
    	ACCESSORY_WHIKEBAIN_EARS = 368,
    	ACCESSORY_GANG_SCARF = 369,
    	ACCESSORY_NINJA_SCROLL = 370,
    	ACCESSORY_SIMYEON_HAT = 371,
    	ACCESSORY_BLACKDEATHKING = 372,
    	ACCESSORY_EGGFRY = 373,
    	ACCESSORY_EMPEROR_HAT = 374,
    	ACCESSORY_HAEGOON_HAT = 375,
    	ACCESSORY_NANCHO_HAT = 376,
    	ACCESSORY_PANGUAN_HAT = 377,
    	ACCESSORY_LAZY_WHITECAT = 378,
    	ACCESSORY_DARKNESS_HELM = 379,
    	ACCESSORY_HUGE_MAJESTIC = 380,
    	ACCESSORY_HUGE_ORCHERO = 381,
    	ACCESSORY_SATANIC_CHAIN = 382,
    	ACCESSORY_ENTIQUE_CIGAR = 383,
    	ACCESSORY_RABBITEAR = 384,
    	ACCESSORY_BALLOON_HAT = 385,
    	ACCESSORY_FISH_HEAD_HAT = 386,
    	ACCESSORY_SANTA_PORING_HAT = 387,
    	ACCESSORY_BELL_RIBBON = 388,
    	ACCESSORY_HUNTINGCAP = 389,
    	ACCESSORY_TWIN_SANTAHAT = 390,
    	ACCESSORY_YOYOHAT = 391,
    	ACCESSORY_NEKOMIMI_KAFRA = 392,
    	ACCESSORY_SNAKE_HAT = 393,
    	ACCESSORY_ANGEL_GHOST = 394,
    	ACCESSORY_BLUE_SANTAHAT = 395,
    	ACCESSORY_SEOLNAL_HAT = 396,
    	ACCESSORY_VALENTINE_HAT = 397,
    	ACCESSORY_TIRAYABONET = 398,
    	ACCESSORY_JASPER = 399,
    	ACCESSORY_SCUVER_MASK = 400,
    	ACCESSORY_BONEHEAD = 401,
    	ACCESSORY_MANDRAGORA = 402,
    	ACCESSORY_FOXHAT = 403,
    	ACCESSORY_BLACKGLASSES = 404,
    	ACCESSORY_PLAYELF = 405,
    	ACCESSORY_FISHINMOUTH = 406,
    	ACCESSORY_BLUERIBBON = 407,
    	ACCESSORY_PHILIRHAT = 408,
    	ACCESSORY_ACADEMY_NEWBIE = 409,
    	ACCESSORY_ACADEMY_LV1 = 410,
    	ACCESSORY_NEW_COWBOY = 411,
    	ACCESSORY_BREAD2 = 412,
    	ACCESSORY_WHITESNAKE = 413,
    	ACCESSORY_SWEETCANDY = 414,
    	ACCESSORY_POPCORN_HAT = 415,
    	ACCESSORY_CAMPFIRE_HAT = 416,
    	ACCESSORY_PORINGCAKE_HAT = 417,
    	ACCESSORY_BEER_HAT = 418,
    	ACCESSORY_CROWNBIRD = 419,
    	ACCESSORY_SOLDIERHAT = 420,
    	ACCESSORY_IFRIT_MASK = 421,
    	ACCESSORY_IFRIT_EAR = 422,
    	ACCESSORY_WORDBOOK = 423,
    	ACCESSORY_LOVECHINA = 424,
    	ACCESSORY_FANTAORANGE = 425,
    	ACCESSORY_FANTAGRAPE = 426,
    	ACCESSORY_KARADA_HAT = 427,
    	ACCESSORY_REDTEA_HAT = 428,
    	ACCESSORY_BREADHAT1 = 429,
    	ACCESSORY_DOKEBIHAT = 430,
    	ACCESSORY_FLAMECROWN = 431,
    	ACCESSORY_CHICK_HAT2 = 432,
    	ACCESSORY_BRAZIL4 = 433,
    	ACCESSORY_GOLDENLAUREL = 434,
    	ACCESSORY_COLA_CAN = 435,
    	ACCESSORY_COKE_HAT = 436,
    	ACCESSORY_BRIDE_FLOWER = 437,
    	ACCESSORY_SKYGIRL_FLOWER = 438,
    	ACCESSORY_HAIRBAND_GREEN = 439,
    	ACCESSORY_HAIRBAND_RED = 440,
    	ACCESSORY_HAIRBAND_BLUE = 441,
    	ACCESSORY_HAIRBAND_WHITE = 442,
    	ACCESSORY_NECKTIE = 443,
    	ACCESSORY_BABYANGEL_STONE = 444,
    	ACCESSORY_HAIRBRUSH = 445,
    	ACCESSORY_CANDYIN_MOUTH = 446,
    	ACCESSORY_CATFOOT = 447,
    	ACCESSORY_FROGHAT = 448,
    	ACCESSORY_FACEBOX1 = 449,
    	ACCESSORY_FACEBOX2 = 450,
    	ACCESSORY_SUNHAT = 451,
    	ACCESSORY_DRAGON_GOLD = 452,
    	ACCESSORY_DRAGON_SILVER = 453,
    	ACCESSORY_DRAGON_BRONZE = 454,
    	ACCESSORY_RABBITHAT = 455,
    	ACCESSORY_WINDTOY_HAT = 456,
    	ACCESSORY_EVOLVED_DRAGON = 457,
    	ACCESSORY_EVOLVED_WHISPER = 458,
    	ACCESSORY_BIGNAIL_SCARF = 459,
    	ACCESSORY_RAINBOW_SCARF = 460,
    	ACCESSORY_JAHA_DOLL = 461,
    	ACCESSORY_CELESTIAL_HAT = 462,
    	ACCESSORY_WIND_MILESTONE = 463,
    	ACCESSORY_HELM_OF_DRAGOON = 464,
    	ACCESSORY_PARADE_CAP = 465,
    	ACCESSORY_NOBLE_HAT = 466,
    	ACCESSORY_EYES_OF_DARKNESS = 467,
    	ACCESSORY_HAIRBAND_OF_REGINLEIF = 468,
    	ACCESSORY_RED_WHITE_HAT = 469,
    	ACCESSORY_FORCEPS_HAIRPIN = 470,
    	ACCESSORY_NOTICE_BOARD = 471,
    	ACCESSORY_CUBE_MASK = 472,
    	ACCESSORY_HAIRBAND_OF_GRANDPECO = 473,
    	ACCESSORY_BR_FLAG_BANDANNA = 474,
    	ACCESSORY_CLASSIC_HAT = 475,
    	ACCESSORY_SHAMAN_STUFF = 476,
    	ACCESSORY_BZOFNIL_WING = 477,
    	ACCESSORY_HERMOZ_CAP = 478,
    	ACCESSORY_DARKKNIGHT_MASK = 479,
    	ACCESSORY_ODIN_MASK = 480,
    	ACCESSORY_RED_PHD_HAT = 481,
    	ACCESSORY_TAIWANFLAG = 482,
    	ACCESSORY_TIGERFACE = 483,
    	ACCESSORY_LOVEDADDY = 484,
    	ACCESSORY_ANUBIS_HELM = 485,
    	ACCESSORY_HAT_OF_OUTLAW = 486,
    	ACCESSORY_PIZZA_HAT = 487,
    	ACCESSORY_ICECREAM_HAT = 488,
    	ACCESSORY_CHINESE_5TH = 489,
    	ACCESSORY_WOLFKING = 490,
    	ACCESSORY_GANG_DOOGUN = 491,
    	ACCESSORY_ASARA_FAIRY = 492,
    	ACCESSORY_THUNDER_GOD = 493,
    	ACCESSORY_DICE_HAT = 494,
    	ACCESSORY_TIGER_KING = 495,
    	ACCESSORY_PIRATE_PRIDE = 496,
    	ACCESSORY_RABBIT_MAGIC = 497,
    	ACCESSORY_BLACKELF_YEAR = 498,
    	ACCESSORY_GOLDEN_TULIP = 499,
    	ACCESSORY_LOVELYCHICK_HAT = 500,
    	ACCESSORY_BLUE_PAJAMA = 501,
    	ACCESSORY_PINK_PAJAMA = 502,
    	ACCESSORY_SHARK_HAT = 503,
    	ACCESSORY_STING_HAT = 504,
    	ACCESSORY_CARNIBAL_HAT = 505,
    	ACCESSORY_CARNIBAL_CIRCLET = 506,
    	ACCESSORY_SHOWER_CAP = 507,
    	ACCESSORY_SAMAN_BAIYA = 508,
    	ACCESSORY_AQUARIUS_DIADEM = 509,
    	ACCESSORY_AQUARIUS_CROWN = 510,
    	ACCESSORY_PISCES_DIADEM = 511,
    	ACCESSORY_PISCES_CROWN = 512,
    	ACCESSORY_BIG_MAJESTIC2 = 513,
    	ACCESSORY_PEACOCK_FEATHER = 514,
    	ACCESSORY_RABBITEAR2 = 515,
    	ACCESSORY_FANTA_ZERO_LEMON_HAT = 516,
    	ACCESSORY_SAKURA_MIST_HAT = 517,
    	ACCESSORY_SAKURA_MILK_TEA_HAT = 518,
    	ACCESSORY_FIRST_LEAF_TEA_HAT = 519,
    	ACCESSORY_LADY_TANEE_DOLL = 520,
    	ACCESSORY_LUNATIC_HAT = 521,
    	ACCESSORY_KING_FROG_HAT = 522,
    	ACCESSORY_EVIL_BONE_HAT = 523,
    	ACCESSORY_KAMAGI_HAT = 524,
    	ACCESSORY_BABYDRAGON_HAT = 525,
    	ACCESSORY_SPARE_CARD = 526,
    	ACCESSORY_QUATI_HAT = 527,
    	ACCESSORY_TWOKAN_HAT = 528,
    	ACCESSORY_SIDECAP = 529,
    	ACCESSORY_JAGUAR_HAT = 530,
    	ACCESSORY_ARIES_DIADEM = 531,
    	ACCESSORY_ARIES_CROWN = 532,
    	ACCESSORY_RJC_CATHUSA = 533,
    	ACCESSORY_REDROSE = 534,
    	ACCESSORY_KWG_BOGWAN = 535,
    	ACCESSORY_KWG_WANGAN = 536,
    	ACCESSORY_HOLY_EGG_HAT = 537,
    	ACCESSORY_OCTOPUS_HAT = 538,
    	ACCESSORY_LEAF_CAT_HAT = 539,
    	ACCESSORY_FUR_SEAL_HAT = 540,
    	ACCESSORY_WILD_ROSE_HAT = 541,
    	ACCESSORY_SACI_HAT = 542,
    	ACCESSORY_543 = 543,
    	ACCESSORY_CROWN_OF_DECEIT = 544,
    	ACCESSORY_DRAGON_ARHAT_MASK = 545,
    	ACCESSORY_TIGER_ARHAT_MASK = 546,
    	ACCESSORY_DOLOR_HAT = 547,
    	ACCESSORY_BRIGHT_FURY = 548,
    	ACCESSORY_RABBIT_BONNET = 549,
    	ACCESSORY_GEMINI_DIADEM = 550,
    	ACCESSORY_GEMINI_CROWN = 551,
    	ACCESSORY_RASTA_WIG = 552,
    	ACCESSORY_SAVAGE_BABY_HAT = 553,
    	ACCESSORY_DOKEBI_HORN = 554,
    	ACCESSORY_MOUTH_PENCIL = 555,
    	ACCESSORY_ONIGIRI_HAT = 556,
    	ACCESSORY_SAKE = 557,
    	ACCESSORY_SATGAT = 558,
    	ACCESSORY_RED_BERET = 559,
    	ACCESSORY_CANCER_DIADEM = 560,
    	ACCESSORY_CANCER_CROWN = 561,
    	ACCESSORY_MAJESTIC_DEVIL = 562,
    	ACCESSORY_MOGIKILLER = 563,
    	ACCESSORY_RUNE_HAIRBAND = 564,
    	ACCESSORY_LEO_CROWN = 565,
    	ACCESSORY_LEO_DIADEM = 566,
    	ACCESSORY_DESERT_PRINCE = 567,
    	ACCESSORY_SIGRUNS_WING = 568,
    	ACCESSORY_DONUT_MOUTH = 569,
    	ACCESSORY_YUNO_EYE = 570,
    	ACCESSORY_CLOVER_MOUTH = 571,
    	ACCESSORY_GUM_MOUTH = 572,
    	ACCESSORY_TWINGIRL_CROWN = 573,
    	ACCESSORY_TWINGIRL_BOGWAN = 574,
    	ACCESSORY_BRAZIL_RIBBON = 575,
    	ACCESSORY_BRAZIL_BERE = 576,
    	ACCESSORY_RTC_WINNER_ONLY = 577,
    	ACCESSORY_RTC_SECOND_BEST = 578,
    	ACCESSORY_RTC_THIRD_BEST = 579,
    	ACCESSORY_CAMPUME_HAT = 580,
    	ACCESSORY_LYRIA_DOLL_HAT = 581,
    	ACCESSORY_DOROTHY_DOLL_HAT = 582,
    	ACCESSORY_CHUNG_HAIRBAND = 583,
    	ACCESSORY_ICE_WING_EAR = 584,
    	ACCESSORY_TURTLE_HAT = 585,
    	ACCESSORY_DARKNESS_HELM_J = 586,
    	ACCESSORY_HOLY_MARCHING_HAT_J = 587,
    	ACCESSORY_SCOOTER_HAT_J = 588,
    	ACCESSORY_IMP_HAT = 589,
    	ACCESSORY_SLEEPR_HAT = 590,
    	ACCESSORY_GRYPHON_HAT = 591,
    	ACCESSORY_RED_PIRATE_BANDANA = 592,
    	ACCESSORY_LIBRA_CROWN = 593,
    	ACCESSORY_LIBRA_DIADEM = 594,
    	ACCESSORY_FILIR_WING = 595,
    	ACCESSORY_MOOSOK_HAT = 596,
    	ACCESSORY_GOLDEN_HAT = 597,
    	ACCESSORY_SKULL_HOOD = 598,
    	ACCESSORY_ANIV_STAR_HAT = 599,
    	ACCESSORY_DROOPING_MOROCC_MINION = 600,
    	ACCESSORY_SOUTHERN_CROSS = 601,
    	ACCESSORY_HOME_CHERRY_BLOSSOM = 602,
    	ACCESSORY_PIG_MONEYBOX = 603,
    	ACCESSORY_PORING_LETTER = 604,
    	ACCESSORY_SCORPIO_CROWN = 605,
    	ACCESSORY_SCORPIO_DIADEM = 606,
    	ACCESSORY_NOTATION_HAIRBAND = 607,
    	ACCESSORY_ENGINEER_CAP = 608,
    	ACCESSORY_HAWKEYES = 609,
    	ACCESSORY_TRIANGLE_RUNE = 610,
    	ACCESSORY_2009LOVE_DADDY = 611,
    	ACCESSORY_612 = 612,
    	ACCESSORY_PRIESTHAT = 613,
    	ACCESSORY_NOFEAR_POQWER_HEADGEAR = 614,
    	ACCESSORY_CACTUS_HAT = 615,
    	ACCESSORY_SNOWMAN_HAT = 616,
    	ACCESSORY_SAGITTARIUS_CROWN = 617,
    	ACCESSORY_SAGITTARIUS_DIADEM = 618,
    	ACCESSORY_SANTACAP = 619,
    	ACCESSORY_ORANGE_STEM_HAT = 620,
    	ACCESSORY_CAPRICORN_CROWN = 621,
    	ACCESSORY_CAPRICORN_DIADEM = 622,
    	ACCESSORY_RUNE_CIRCLET = 623,
    	ACCESSORY_MITRA = 624,
    	ACCESSORY_RANGER_GOGGLES = 625,
    	ACCESSORY_DRIVER_BAND = 626,
    	ACCESSORY_627 = 627,
    	ACCESSORY_MINSTRELSONG_HAT = 628,
    	ACCESSORY_629 = 629,
    	ACCESSORY_630 = 630,
    	ACCESSORY_631 = 631,
    	ACCESSORY_632 = 632,
    	ACCESSORY_633 = 633,
    	ACCESSORY_634 = 634,
    	ACCESSORY_635 = 635,
    	ACCESSORY_NOAHS_HAT = 636,
    	ACCESSORY_DRIVER_BAND2 = 637,
    	ACCESSORY_SLOTH_HAT = 638,
    	ACCESSORY_DUNEYRR_HELM = 639,
    	ACCESSORY_RED_BUNNY_BAND = 640,
    	ACCESSORY_BUZZY_BOL_BOARD = 641,
    	ACCESSORY_BLACK_TAIL_RIBBON = 642,
    	ACCESSORY_AMISTR_CAP = 643,
    	ACCESSORY_SAMURAI_MASK = 644,	
    	ACCESSORY_SAKURA_CORONET= 645,
    	ACCESSORY_GOLDEN_ANGEL= 646,
    	ACCESSORY_FOOL_DAY_HAT= 647,
    	ACCESSORY_GOLDEN_SAVAGE_HAT= 648,
    	ACCESSORY_SPLASH_HAT= 649,
    	ACCESSORY_FAMILY_HAT= 650,
    	ACCESORY_RED_NAVY_HAT= 651,
    	ACCESORY_BERET= 652,
    	ACCESSORY_CHOCODONUT_MOUTH = 653,
    	ACCESSORY_BLAZING_SUN = 654,
    	ACCESSORY_REMOVER_HAT = 655,
    	ACCESSORY_BLUE_ARARA_HAT = 656,
    	ACCESSORY_DROOPING_BOTO = 657,
    	ACCESSORY_TENDRILION_HAT = 658,
    	ACCESSORY_PERSICA = 659,
    	ACCESSORY_HOPLITE_HELMET = 660,
    	ACCESSORY_3DGLASS = 661,
    	ACCESSORY_YELLOWBUNNY_HAIRBAND = 662,
    	ACCESSORY_PINKBUNNY_HAIRBAND = 663,
    	ACCESSORY_GREENBUNNY_HAIRBAND = 664,
    	ACCESSORY_OLD_ELFEAR = 665,
    	ACCESSORY_THA_MAERO_MASK = 666,
    	ACCESSORY_THANATOS_MAI_MASK = 667,
    	ACCESSORY_TENKAIPPIN_RAMEN = 668,
    	ACCESSORY_FISHPIN = 669,
    	ACCESSORY_RED_DRESS_HAT = 670,
    	ACCESSORY_PASSION_FB_HAT = 671,
    	ACCESSORY_COOL_FB_HAT = 672,
    	ACCESSORY_VICTORY_FB_HAT = 673,
    	ACCESSORY_GLORY_FB_HAT = 674,
    	ACCESSORY_UMBALA_SPIRIT = 675,
    	ACCESSORY_HATTAH_BLACK = 676,
    	ACCESSORY_GARUDA_HAT = 677,
    	ACCESSORY_RWC2010_INDONESIA = 678,
    	ACCESSORY_BLOODY_ANGEL_HAIRBAND = 679,
    	ACCESSORY_BLOODY_ANGELWING_EAR = 680,
    	ACCESSORY_SHINING_SUNFLOWER = 681,
    	ACCESSORY_PARADISE_HAT = 682,
    	ACCESSORY_RTC_WINNER_HEADGEAR = 683,
    	ACCESSORY_RTC_2ND_HEADGEAR = 684,
    	ACCESSORY_RTC_3RD_HEADGEAR = 685,
    	ACCESSORY_JATI_CROWN = 686,
    	ACCESSORY_EVILMARCHER_HAT = 687,
    	ACCESSORY_THUNDERSTORM_CLOUD = 688,
    	ACCESSORY_DOKKEBI_MASK = 689,
    	ACCESSORY_WARTERMELON_HAT = 690,
    	ACCESSORY_DARK_PUMPKIN_HAT = 691,
    	ACCESSORY_DROOPING_NEKO_CRU = 692,
    	ACCESSORY_THA_DESPERO_MASK = 693,
    	ACCESSORY_DROOPING_PERMETER = 694,
    	ACCESSORY_BUTTERFLYWINGS_EAR = 695,
    	ACCESSORY_SCREW_STUCK_HEAD = 696,
    	ACCESSORY_HEART_EYEBANDAGE1 = 697,
    	ACCESSORY_HEART_EYEBANDAGE2 = 698,
    	ACCESSORY_CHICKEN_BILL = 699,
    	ACCESSORY_CHARLIES_BEARD = 700,
    	ACCESSORY_YELLOW_HAT = 701,
    	ACCESSORY_SINGING_BIRD = 702,
    	ACCESSORY_CHICKEN_CREST = 703,
    	ACCESSORY_RAINBOW = 704,
    	ACCESSORY_RAIN_CLOUD = 705,
    	ACCESSORY_CHARLIES_HAT = 706,
    	ACCESSORY_MINI_CROWN1 = 707,
    	ACCESSORY_HEART_RIBBON_BAND = 708,
    	ACCESSORY_HONEYBEE_HAT = 709,
    	ACCESSORY_FANCY_PHANTOM_MAS = 710,
    	ACCESSORY_PUPPY_GRASS = 711,
    	ACCESSORY_DEVIL_WHISPER = 712,
    	ACCESSORY_SKULL_CAP = 713,
    	ACCESSORY_EVIL_MASK = 714,
    	ACCESSORY_LITTLE_FHAT = 715,
    	ACCESSORY_LOVE_GUARD = 716,
    	ACCESSORY_WITCHS_HAT = 717,
    	ACCESSORY_BLACKRABBIT_BAND = 718,
    	ACCESSORY_WHITERABBIT_BAND = 719,
    	ACCESSORY_LOVER_IN_MOUTH = 720,
    	ACCESSORY_CAMPUS_FESTIVAL = 721,
    	ACCESSORY_TAINI_CAP = 722,
    	ACCESSORY_BUTTERFLY_HAIRPIN = 723,
    	ACCESSORY_ASGARD_BLESS = 724,
    	ACCESSORY_GALAXY_CIRCLET = 725,
    	ACCESSORY_MALANGDO_HAT = 726,
    	ACCESSORY_MINI_TREE = 727,
    	ACCESSORY_KING_PRAWN_HAT = 728,
    	ACCESSORY_GENERAL_HELMET = 729,
    	ACCESSORY_SINSUNCHO_HAT = 730,
    	ACCESSORY_B_FEATHER_BERET = 731,
    	ACCESSORY_BONE_HAT = 732,
    	ACCESSORY_HEART_WING_HAIRBAND = 733,
    	ACCESSORY_LOVE_PIECE = 734,
    	ACCESSORY_ST_PAT_HAT = 735,
    	ACCESSORY_NUT_DONUT_MOUTH = 736,
    	ACCESSORY_STRETCHED_NOSE = 737,
    	ACCESSORY_SOFT_SHEEP_HAT = 738,
    	ACCESSORY_ANCIENT_GOLD_ADORNMENT = 739,
    	ACCESSORY_LUCKY_HAT = 740,
    	ACCESSORY_WHITE_FEATHER = 741,
    	ACCESSORY_LORD_OF_DEATH = 742,
    	ACCESSORY_WUNDERKAMMER = 743,
    	ACCESSORY_YINYANG_EARRING = 744,
    	ACCESSORY_9TH_ANNIVERSARY = 745,
    	ACCESSORY_YGGDRASIL_CROWN = 746,
    	ACCESSORY_RED_TIGER_MASK = 747,
    	ACCESSORY_BLUE_TIGER_MASK = 748,
    	ACCESSORY_NAVY_DROOPING_KITTY = 749,
    	ACCESSORY_BROWN_DROOPING_KITTY = 750,
    	ACCESSORY_ORANGE_BUNNY_BAND = 751,
    	ACCESSORY_VIOLET_BUNNY_BAND = 752,
    	ACCESSORY_BLUE_BUNNY_BAND = 753,
    	ACCESSORY_SILVAH_BUNNY_BAND = 754,
    	ACCESSORY_STRAWBERRY_HAT = 755,
    	ACCESSORY_NESTEA_HAT = 756,
    	ACCESSORY_HORN_OF_ANCIENT = 757,
    	ACCESSORY_SPROUT_HAT = 758,
    	ACCESSORY_MERCURY_HELM = 759,
    	ACCESSORY_MASK_OF_BLACKDEVIL = 760,
    	ACCESSORY_CATEAR_BERET = 761,
    	ACCESSORY_RED_TAMOSHANTER = 762,
    	ACCESSORY_WATERMELON_OF_A_MOUTHFUL = 763,
    	ACCESSORY_1ST_ROCKET_HELM = 764,
    	ACCESSORY_2ND_ROCKET_HELM = 765,
    	ACCESSORY_DARK_AGE = 766,
    	ACCESSORY_TEAR_DROP = 767,
    	ACCESSORY_3RD_ROCKET_HELM = 768,
    	ACCESSORY_RWC_ROCKET_HELM = 769,
    	ACCESSORY_WHITE_MUSANG_HAT = 770,
    	ACCESSORY_BLACK_MUSANG_HAT = 771,
    	ACCESSORY_INJURED_EYEPATCH = 772,
    	ACCESSORY_LONG_TONGUE = 773,
    	ACCESSORY_ONIGIRI_IN_MOUTH = 774,
    	ACCESSORY_AIRPLANE_HAT = 775,
    	ACCESSORY_THIEF_BANDANA = 776,
    	ACCESSORY_GELATO_HAT = 777,
    	ACCESSORY_7TH_ANNI_HAT_B = 778,
    	ACCESSORY_HEART_EYEBANDAGE = 779,
    	ACCESSORY_FULL_MOON = 780,
    	ACCESSORY_TARE_DOMOVOI = 781,
    	ACCESSORY_FALCON_MASK = 782,
    	ACCESSORY_DESERT_WOLF_HAT = 783,
    	ACCESSORY_DROOPING_ALICEL = 784,
    	ACCESSORY_PETITE_CHEF_HAT = 785,
    	ACCESSORY_PORING_CLIP_YELLOW = 786,
    	ACCESSORY_PORING_CLIP_PINK = 787,
    	ACCESSORY_PORING_CLIP_GREEN = 788,
    	ACCESSORY_PORING_CLIP_BLUE = 789,
    	ACCESSORY_BRIDES_BOW = 790,
    	ACCESSORY_CITRON_HAT = 791,
    	ACCESSORY_NAVY_HAT = 792,
    	ACCESSORY_STARFISH_BAND = 793,
    	ACCESSORY_RIBBON_MAGICIANHAT = 794,
    	ACCESSORY_SCISSORS_REPLICA = 795,
    	ACCESSORY_ROCK_REPLICA = 796,
    	ACCESSORY_PAPER_REPLICA = 797,
    	ACCESSORY_SAILOR_HAT = 798,
    	ACCESSORY_MILKCOW_HAT = 799,
    	ACCESSORY_STAR_EYEBANDAGE = 800,
    	ACCESSORY_TONGUE_CHARM = 801,
    	ACCESSORY_LUDE_MASK = 802,
    	ACCESSORY_IGNIS_CAP = 803,
    	ACCESSORY_VANARGAND_HELM = 804,
    	ACCESSORY_DEVI_HEADPHONE = 805,
    	ACCESSORY_SS_BANDANA = 806,
    	ACCESSORY_THIEF_SPECTACLE = 807,
    	ACCESSORY_BOITATA_HAT = 808,
    	ACCESSORY_INDIAN_FEATHER = 809,
    	ACCESSORY_BLITZ_HELMET = 810,
    	ACCESSORY_ANTLER_GENTLEHAT = 811,
    	ACCESSORY_SUNGLASS_BASEBALLCAP = 812,
    	ACCESSORY_BLIND_GLASS = 813,
    	ACCESSORY_ORANGE_MOUTH = 814,
    	ACCESSORY_COMPACTDISK_MOUTH = 815,
    	ACCESSORY_CAT_LACE_HEADBAND = 816,
    	ACCESSORY_HANDKERCHIEF_MOUTH = 818,
    	ACCESSORY_COWHIDE_HAT = 819,
    	ACCESSORY_TARE_POPEDOLL = 817,
    	ACCESSORY_FLYWING_HAT = 820,
    	ACCESSORY_GREENAPPLE_HAT = 821,
    	ACCESSORY_HEXAGON_GLASSES = 822,
    	ACCESSORY_CHERRYBLOSSOMS_MOUTH = 823,
    	ACCESSORY_GREENONION_MOUTH = 824,
    	ACCESSORY_ABACUS_MOUTH = 825,
    	ACCESSORY_FROGHAT_T = 826,
    	ACCESSORY_PUPPY_EAR_HAT = 827,
    	ACCESSORY_TEAR = 828,
    	ACCESSORY_CARROT_MOUTH = 829,
    	ACCESSORY_FANCY_HIGHCAP = 830,
    	ACCESSORY_STAR_DUST_HAIRBAND = 831,
    	ACCESSORY_2011_RMSC = 832,
    	--833-835 free
    	ACCESSORY_RUDOLPH_HEADBAND = 836,
    	ACCESSORY_MIC_HAT = 837,
    	ACCESSORY_SLEEPINGCAT_HAT = 838,
    	ACCESSORY_TW_REDBANDANA = 839,
    	ACCESSORY_PHOENIX_HELMET = 840,
    	ACCESSORY_ORANGE_HAT = 841,
    	ACCESSORY_SYRINGE_MOUTH = 842,
    	ACCESSORY_CHEESE_CRACK_MOUTH = 843,
    	ACCESSORY_HUNGRY_BIGFISH_HAT = 844,
    	ACCESSORY_RABBIT_RIBBON_HAT = 845,
    	ACCESSORY_ANTIQUITY_HELMET = 846,
    	ACCESSORY_SHAVE_CREAM = 847,
    	ACCESSORY_PLANTSTEM_MOUTH = 848,
    	ACCESSORY_OLIVER_WOLF_HOOD = 849,
    	ACCESSORY_INSECTIVOROUS_PLANT_HAIRPIN = 850,
    	ACCESSORY_CAN_HAT = 851,
    	ACCESSORY_CANNIBAL_FLOW_HAT = 852,
    	ACCESSORY_CANDY_HAT = 853,
    	ACCESSORY_BLACKSWEATER_HAT = 854,
    	ACCESSORY_SUGARFRUIT_MOUTH = 855,
    	ACCESSORY_UNIQUE_GLASSES = 856,
    	ACCESSORY_FAN_MOUTH = 857,
    	ACCESSORY_MONKYCOAT_HAT = 858,
    	ACCESSORY_DRINKINGHIPPO_HAT = 859,
    	ACCESSORY_THOTH_OFFCIAL_HAT = 860,
    	ACCESSORY_STRAWBERRY_MOUTH = 861,
    	ACCESSORY_FLIP_HAT = 862,
    	ACCESSORY_ASCENSION_BLACK_DRAGON = 863,
    	ACCESSORY_ROSE_HEADBAND = 864,
    	ACCESSORY_SWEETVALENTINE_HAT = 865,
    	ACCESSORY_AURAQUARTZ_CROWN = 866,
    	ACCESSORY_RABBIT_KNITHAT = 867,
    	ACCESSORY_SKYMET = 868,
    	ACCESSORY_SEDORA_HAT = 869,
    	ACCESSORY_AEGIR_HELM = 870,
    	ACCESSORY_MVP_BASKETHAT = 871,
    	ACCESSORY_CRITURA_HAT = 872,
    	ACCESSORY_MAGICAL_BOOSTER = 873,
    	ACCESSORY_FUSION_RING = 2000
    }
    

     

     

    This is my accname_eng.lua,, compiled it later on and put  in luafiles514/lua files/datainfo/

    AccNameTable_Eng  = {
    
    	[ACCESSORY_IDs.ACCESSORY_GOGGLES] = "_GOGGLES",
    	[ACCESSORY_IDs.ACCESSORY_CATTYHAIRBAND] = "_CATTYHAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_GLASS] = "_GLASS",
    	[ACCESSORY_IDs.ACCESSORY_FLOWER] = "_FLOWER",
    	[ACCESSORY_IDs.ACCESSORY_FLORALHAIRBAND] = "_FLORALHAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_HOOD] = "_HOOD",
    	[ACCESSORY_IDs.ACCESSORY_ROUNDCAP] = "_ROUNDCAP",
    	[ACCESSORY_IDs.ACCESSORY_FLUMASK] = "_FLUMASK",
    	[ACCESSORY_IDs.ACCESSORY_HAIRBAND] = "_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_DIVERSGOGGLES] = "_DIVERSGOGGLES",
    	[ACCESSORY_IDs.ACCESSORY_BIRETTA] = "_BIRETTA",
    	[ACCESSORY_IDs.ACCESSORY_SUNGLASS] = "_SUNGLASS",
    	[ACCESSORY_IDs.ACCESSORY_EYEBANDAGE] = "_EYEBANDAGE",
    	[ACCESSORY_IDs.ACCESSORY_CAP] = "_CAP",
    	[ACCESSORY_IDs.ACCESSORY_BUNNYBAND] = "_BUNNYBAND",
    	[ACCESSORY_IDs.ACCESSORY_HAT] = "_HAT",
    	[ACCESSORY_IDs.ACCESSORY_RIBBON] = "_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_CIRCLET] = "_CIRCLET",
    	[ACCESSORY_IDs.ACCESSORY_TIARA] = "_TIARA",
    	[ACCESSORY_IDs.ACCESSORY_SANTAHAT] = "_SANTAHAT",
    	[ACCESSORY_IDs.ACCESSORY_BEARD] = "_BEARD",
    	[ACCESSORY_IDs.ACCESSORY_MUSTACHE] = "_MUSTACHE",
    	[ACCESSORY_IDs.ACCESSORY_SPECTACLE] = "_SPECTACLE",
    	[ACCESSORY_IDs.ACCESSORY_BLACK_BEARD] = "_BLACK_BEARD",
    	[ACCESSORY_IDs.ACCESSORY_WHITE_BEARD] = "_WHITE_BEARD",
    	[ACCESSORY_IDs.ACCESSORY_QUALITY_SUNGLASS] = "_QUALITY_SUNGLASS",
    	[ACCESSORY_IDs.ACCESSORY_SPIN_GLASS] = "_SPIN_GLASS",
    	[ACCESSORY_IDs.ACCESSORY_LARGE_RIBBON] = "_LARGE_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_SWEET_GENTLE] = "_SWEET_GENTLE",
    	[ACCESSORY_IDs.ACCESSORY_GOLDEN_HEADGEAR] = "_GOLDEN_HEADGEAR",
    	[ACCESSORY_IDs.ACCESSORY_OLDSTER_ROMANCE] = "_OLDSTER_ROMANCE",
    	[ACCESSORY_IDs.ACCESSORY_WESTERN_GRACE] = "_WESTERN_GRACE",
    	[ACCESSORY_IDs.ACCESSORY_CORONET] = "_CORONET",
    	[ACCESSORY_IDs.ACCESSORY_HAIR_STRING] = "_HAIR_STRING",
    	[ACCESSORY_IDs.ACCESSORY_PRIEST_CAP] = "_PRIEST_CAP",
    	[ACCESSORY_IDs.ACCESSORY_WIZARD_HAT] = "_WIZARD_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SUNFLOWER] = "_SUNFLOWER",
    	[ACCESSORY_IDs.ACCESSORY_ANGEL_HAIRBAND] = "_ANGEL_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_DEVIL_HAIRBAND] = "_DEVIL_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_HELM] = "_HELM",
    	[ACCESSORY_IDs.ACCESSORY_MAJESTIC_GOUT] = "_MAJESTIC_GOUT",
    	[ACCESSORY_IDs.ACCESSORY_WHITE_HORN] = "_WHITE_HORN",
    	[ACCESSORY_IDs.ACCESSORY_SHARP_HEADGEAR] = "_SHARP_HEADGEAR",
    	[ACCESSORY_IDs.ACCESSORY_WEDDING_VEIL] = "_WEDDING_VEIL",
    	[ACCESSORY_IDs.ACCESSORY_CROWN] = "_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_PROPELLER] = "_PROPELLER",
    	[ACCESSORY_IDs.ACCESSORY_TINY_EYE_GLASSES] = "_TINY_EYE_GLASSES",
    	[ACCESSORY_IDs.ACCESSORY_PRONTERA_ARMY_CAP] = "_PRONTERA_ARMY_CAP",
    	[ACCESSORY_IDs.ACCESSORY_PIERROTS_NOSE] = "_PIERROTS_NOSE",
    	[ACCESSORY_IDs.ACCESSORY_PIRATES_EYEBANDAGE] = "_PIRATES_EYEBANDAGE",
    	[ACCESSORY_IDs.ACCESSORY_MUNAK_TURBAN] = "_MUNAK_TURBAN",
    	[ACCESSORY_IDs.ACCESSORY_HIP_HOP_MASK] = "_HIP_HOP_MASK",
    	[ACCESSORY_IDs.ACCESSORY_IRONCANE] = "_IRONCANE",
    	[ACCESSORY_IDs.ACCESSORY_CIGAR] = "_CIGAR",
    	[ACCESSORY_IDs.ACCESSORY_CIGAR_PIPE] = "_CIGAR_PIPE",
    	[ACCESSORY_IDs.ACCESSORY_SENTIMENTAL_FLOWER] = "_SENTIMENTAL_FLOWER",
    	[ACCESSORY_IDs.ACCESSORY_SENTIMENTAL_BLADE] = "_SENTIMENTAL_BLADE",
    	[ACCESSORY_IDs.ACCESSORY_HEY_DUDE] = "_HEY_DUDE",
    	[ACCESSORY_IDs.ACCESSORY_STOP_SIGNPOST] = "_STOP_SIGNPOST",
    	[ACCESSORY_IDs.ACCESSORY_DOCTOR_BAND] = "_DOCTOR_BAND",
    	[ACCESSORY_IDs.ACCESSORY_JAPANESE_GHOST] = "_JAPANESE_GHOST",
    	[ACCESSORY_IDs.ACCESSORY_SCARLET_BANDANA] = "_SCARLET_BANDANA",
    	[ACCESSORY_IDs.ACCESSORY_EAGLE_EYES] = "_EAGLE_EYES",
    	[ACCESSORY_IDs.ACCESSORY_NURSE_CAP] = "_NURSE_CAP",
    	[ACCESSORY_IDs.ACCESSORY_SMILE] = "_SMILE",
    	[ACCESSORY_IDs.ACCESSORY_BOMB_WICK] = "_BOMB_WICK",
    	[ACCESSORY_IDs.ACCESSORY_SAHT_GAHT] = "_SAHT_GAHT",
    	[ACCESSORY_IDs.ACCESSORY_MASQUERADE] = "_MASQUERADE",
    	[ACCESSORY_IDs.ACCESSORY_SERAPHIC_RING] = "_SERAPHIC_RING",
    	[ACCESSORY_IDs.ACCESSORY_EARMUFFS] = "_EARMUFFS",
    	[ACCESSORY_IDs.ACCESSORY_MOOSE_HORN] = "_MOOSE_HORN",
    	[ACCESSORY_IDs.ACCESSORY_THE_APPLE_OF_WILHELM_TELL] = "_THE_APPLE_OF_WILHELM_TELL",
    	[ACCESSORY_IDs.ACCESSORY_TINKER_BELL] = "_TINKER_BELL",
    	[ACCESSORY_IDs.ACCESSORY_PIRATE_BANDANA] = "_PIRATE_BANDANA",
    	[ACCESSORY_IDs.ACCESSORY_MUNCHS_SCREAM] = "_MUNCHS_SCREAM",
    	[ACCESSORY_IDs.ACCESSORY_POO_POO_HAT] = "_POO_POO_HAT",
    	[ACCESSORY_IDs.ACCESSORY_KOEAN_FUNERAL_COSTUME] = "_KOEAN_FUNERAL_COSTUME",
    	[ACCESSORY_IDs.ACCESSORY_BUTTERFLY_MASQUE] = "_BUTTERFLY_MASQUE",
    	[ACCESSORY_IDs.ACCESSORY_WELDER_MASK] = "_WELDER_MASK",
    	[ACCESSORY_IDs.ACCESSORY_PRETEND_TO_BE_MURDERED] = "_PRETEND_TO_BE_MURDERED",
    	[ACCESSORY_IDs.ACCESSORY_STAR_DUST] = "_STAR_DUST",
    	[ACCESSORY_IDs.ACCESSORY_EYE_MASK] = "_EYE_MASK",
    	[ACCESSORY_IDs.ACCESSORY_BINOCULARS] = "_BINOCULARS",
    	[ACCESSORY_IDs.ACCESSORY_GOBLIN_MASQUE] = "_GOBLIN_MASQUE",
    	[ACCESSORY_IDs.ACCESSORY_GREEN_FEELER] = "_GREEN_FEELER",
    	[ACCESSORY_IDs.ACCESSORY_VIKING_HELMET] = "_VIKING_HELMET",
    	[ACCESSORY_IDs.ACCESSORY_HEAD_SET] = "_HEAD_SET",
    	[ACCESSORY_IDs.ACCESSORY_GEMMED_CROWN] = "_GEMMED_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_PIERROT_CROWN] = "_PIERROT_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_OXYGEN_MASK] = "_OXYGEN_MASK",
    	[ACCESSORY_IDs.ACCESSORY_GAS_MASK] = "_GAS_MASK",
    	[ACCESSORY_IDs.ACCESSORY_MACHO_MANS_GLASSES] = "_MACHO_MANS_GLASSES",
    	[ACCESSORY_IDs.ACCESSORY_LORD_CIRCLET] = "_LORD_CIRCLET",
    	[ACCESSORY_IDs.ACCESSORY_PUPPY_LOVE] = "_PUPPY_LOVE",
    	[ACCESSORY_IDs.ACCESSORY_CRASH_HELMET] = "_CRASH_HELMET",
    	[ACCESSORY_IDs.ACCESSORY_INDIAN_BAND] = "_INDIAN_BAND",
    	[ACCESSORY_IDs.ACCESSORY_AERIAL] = "_AERIAL",
    	[ACCESSORY_IDs.ACCESSORY_BA_HAT] = "_BA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_HORN_OF_LORD_KAHO] = "_HORN_OF_LORD_KAHO",
    	[ACCESSORY_IDs.ACCESSORY_FIN_HELM] = "_FIN_HELM",
    	[ACCESSORY_IDs.ACCESSORY_EGG_SHELL] = "_EGG_SHELL",
    	[ACCESSORY_IDs.ACCESSORY_KOREAN_SCHOOL_HAT] = "_KOREAN_SCHOOL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BONE_HELM] = "_BONE_HELM",
    	[ACCESSORY_IDs.ACCESSORY_WILHELM_TELLS_HAT] = "_WILHELM_TELLS_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CORSAIR] = "_CORSAIR",
    	[ACCESSORY_IDs.ACCESSORY_BAND_OF_KAFRA] = "_BAND_OF_KAFRA",
    	[ACCESSORY_IDs.ACCESSORY_LOST_MONEY_HEART] = "_LOST_MONEY_HEART",
    	[ACCESSORY_IDs.ACCESSORY_BUNDLE] = "_BUNDLE",
    	[ACCESSORY_IDs.ACCESSORY_CAKE_HAT] = "_CAKE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_ANGEL_HELM] = "_ANGEL_HELM",
    	[ACCESSORY_IDs.ACCESSORY_COOKER_HAT] = "_COOKER_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MAGE_HAT] = "_MAGE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CANDLE] = "_CANDLE",
    	[ACCESSORY_IDs.ACCESSORY_SPORE_HAT] = "_SPORE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_PANDA_HAT] = "_PANDA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MINE_HAT] = "_MINE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_OUTSIDE_HAT] = "_OUTSIDE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_RACCOON_HAT] = "_RACCOON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_LAMP_BAND] = "_LAMP_BAND",
    	[ACCESSORY_IDs.ACCESSORY_PORING_HAT] = "_PORING_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CROSS_BAND] = "_CROSS_BAND",
    	[ACCESSORY_IDs.ACCESSORY_NUT_SHELL] = "_NUT_SHELL",
    	[ACCESSORY_IDs.ACCESSORY_YOUNG_DEVIL_HAT] = "_YOUNG_DEVIL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SPOT_EGG_SHELL] = "_SPOT_EGG_SHELL",
    	[ACCESSORY_IDs.ACCESSORY_DYE_RED] = "_DYE_RED",
    	[ACCESSORY_IDs.ACCESSORY_HEART_HAIRPIN] = "_HEART_HAIRPIN",
    	[ACCESSORY_IDs.ACCESSORY_HAIR_CLOTH] = "_HAIR_CLOTH",
    	[ACCESSORY_IDs.ACCESSORY_GHOST_MASK] = "_GHOST_MASK",
    	[ACCESSORY_IDs.ACCESSORY_DEVIL_WING] = "_DEVIL_WING",
    	[ACCESSORY_IDs.ACCESSORY_WIZARD_HEADGEAR] = "_WIZARD_HEADGEAR",
    	[ACCESSORY_IDs.ACCESSORY_FASION_SUNGLASSES] = "_FASION_SUNGLASSES",
    	[ACCESSORY_IDs.ACCESSORY_MOON_HEARPIN] = "_MOON_HEARPIN",
    	[ACCESSORY_IDs.ACCESSORY_STRIPES_BAND] = "_STRIPES_BAND",
    	[ACCESSORY_IDs.ACCESSORY_MYSTIC_NUT_SHELL] = "_MYSTIC_NUT_SHELL",
    	[ACCESSORY_IDs.ACCESSORY_CAT_BELL] = "_CAT_BELL",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_BAND] = "_BLUE_BAND",
    	[ACCESSORY_IDs.ACCESSORY_SPHINX_HAT] = "_SPHINX_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SUN_GOD_HAT] = "_SUN_GOD_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BOMGUN_HAT] = "_BOMGUN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_LOVE_NUT] = "_LOVE_NUT",
    	[ACCESSORY_IDs.ACCESSORY_BLACKCAT_EAR] = "_BLACKCAT_EAR",
    	[ACCESSORY_IDs.ACCESSORY_LAZYCAT] = "_LAZYCAT",
    	[ACCESSORY_IDs.ACCESSORY_BEAR_HAT] = "_BEAR_HAT",
    	[ACCESSORY_IDs.ACCESSORY_KOCAL_HAT] = "_KOCAL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_FLOWER_HAIRPIN] = "_FLOWER_HAIRPIN",
    	[ACCESSORY_IDs.ACCESSORY_MILZIP_HAT] = "_MILZIP_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DAEILBAND] = "_DAEILBAND",
    	[ACCESSORY_IDs.ACCESSORY_LEAF_HELM] = "_LEAF_HELM",
    	[ACCESSORY_IDs.ACCESSORY_FISH_HAT] = "_FISH_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SERCUBUS_HORN] = "_SERCUBUS_HORN",
    	[ACCESSORY_IDs.ACCESSORY_SOM_BRERO] = "_SOM_BRERO",
    	[ACCESSORY_IDs.ACCESSORY_DEVILWING_EAR] = "_DEVILWING_EAR",
    	[ACCESSORY_IDs.ACCESSORY_FOX_MASK] = "_FOX_MASK",
    	[ACCESSORY_IDs.ACCESSORY_FIRE_HEADBAND] = "_FIRE_HEADBAND",
    	[ACCESSORY_IDs.ACCESSORY_INDIAN_HEADBAND] = "_INDIAN_HEADBAND",
    	[ACCESSORY_IDs.ACCESSORY_INCUBUS_HORN] = "_INCUBUS_HORN",
    	[ACCESSORY_IDs.ACCESSORY_STRAIGHT_HAT] = "_STRAIGHT_HAT",
    	[ACCESSORY_IDs.ACCESSORY_ANGELWING_EAR] = "_ANGELWING_EAR",
    	[ACCESSORY_IDs.ACCESSORY_COWBOY_HAT] = "_COWBOY_HAT",
    	[ACCESSORY_IDs.ACCESSORY_FUR_HAT] = "_FUR_HAT",
    	[ACCESSORY_IDs.ACCESSORY_TULIP_HAIRPIN] = "_TULIP_HAIRPIN",
    	[ACCESSORY_IDs.ACCESSORY_HAEDAL_HAT] = "_HAEDAL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_X_HAIRPIN] = "_X_HAIRPIN",
    	[ACCESSORY_IDs.ACCESSORY_QUEEN_HELM] = "_QUEEN_HELM",
    	[ACCESSORY_IDs.ACCESSORY_MISTRESS_CROWN] = "_MISTRESS_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_MUSHROOM_HEADBAND] = "_MUSHROOM_HEADBAND",
    	[ACCESSORY_IDs.ACCESSORY_REDTAIL_RIBBON] = "_REDTAIL_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_LAZY_RACCOON] = "_LAZY_RACCOON",
    	[ACCESSORY_IDs.ACCESSORY_BELOWEAR_RIBBON] = "_BELOWEAR_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_ALARM_MASK] = "_ALARM_MASK",
    	[ACCESSORY_IDs.ACCESSORY_GOBLIN_MASK1] = "_GOBLIN_MASK1",
    	[ACCESSORY_IDs.ACCESSORY_GOBLIN_MASK2] = "_GOBLIN_MASK2",
    	[ACCESSORY_IDs.ACCESSORY_GOBLIN_MASK3] = "_GOBLIN_MASK3",
    	[ACCESSORY_IDs.ACCESSORY_GOBLIN_MASK4] = "_GOBLIN_MASK4",
    	[ACCESSORY_IDs.ACCESSORY_BIGGOLDEN_BELL] = "_BIGGOLDEN_BELL",
    	[ACCESSORY_IDs.ACCESSORY_SISTER_HAT] = "_SISTER_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SISTER_HAT2] = "_SISTER_HAT2",
    	[ACCESSORY_IDs.ACCESSORY_ORCHERO_HELM] = "_ORCHERO_HELM",
    	[ACCESSORY_IDs.ACCESSORY_ORCHERO_HELM2] = "_ORCHERO_HELM2",
    	[ACCESSORY_IDs.ACCESSORY_ASSASSIN_MASK] = "_ASSASSIN_MASK",
    	[ACCESSORY_IDs.ACCESSORY_TIGER_MASK] = "_TIGER_MASK",
    	[ACCESSORY_IDs.ACCESSORY_CAT_HAT] = "_CAT_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SALE_HAT] = "_SALE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_TAKIUS] = "_TAKIUS",
    	[ACCESSORY_IDs.ACCESSORY_BATTLEONLINE] = "_BATTLEONLINE",
    	[ACCESSORY_IDs.ACCESSORY_HAEBARAGI_PIN] = "_HAEBARAGI_PIN",
    	[ACCESSORY_IDs.ACCESSORY_BLACK_EYECOVER] = "_BLACK_EYECOVER",
    	[ACCESSORY_IDs.ACCESSORY_TOAST] = "_TOAST",
    	[ACCESSORY_IDs.ACCESSORY_DECTECTIVE_HAT] = "_DECTECTIVE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CHAYANG_HAT] = "_CHAYANG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BABY] = "_BABY",
    	[ACCESSORY_IDs.ACCESSORY_DUCK_HAT] = "_DUCK_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SUNO_HAT] = "_SUNO_HAT",
    	[ACCESSORY_IDs.ACCESSORY_ANGRY_MOUTH] = "_ANGRY_MOUTH",
    	[ACCESSORY_IDs.ACCESSORY_BEONG_HAT] = "_BEONG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_COLDPROTECT_HAT] = "_COLDPROTECT_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BANANA_HAT] = "_BANANA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MYSTICROSE] = "_MYSTICROSE",
    	[ACCESSORY_IDs.ACCESSORY_PUPPY_EAR] = "_PUPPY_EAR",
    	[ACCESSORY_IDs.ACCESSORY_ZIRTAS_MASK] = "_ZIRTAS_MASK",
    	[ACCESSORY_IDs.ACCESSORY_BIRD_NEST] = "_BIRD_NEST",
    	[ACCESSORY_IDs.ACCESSORY_LION_MASK] = "_LION_MASK",
    	[ACCESSORY_IDs.ACCESSORY_CROSS_HELMET] = "_CROSS_HELMET",
    	[ACCESSORY_IDs.ACCESSORY_ANGELING_HAT] = "_ANGELING_HAT",
    	[ACCESSORY_IDs.ACCESSORY_GOAT_HAT] = "_GOAT_HAT",
    	[ACCESSORY_IDs.ACCESSORY_PUMPKIN_HAT] = "_PUMPKIN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CYCLOPS_EYE] = "_CYCLOPS_EYE",
    	[ACCESSORY_IDs.ACCESSORY_ALICE_HAT] = "_ALICE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MAGIC_EYES] = "_MAGIC_EYES",
    	[ACCESSORY_IDs.ACCESSORY_PUYONG] = "_PUYONG",
    	[ACCESSORY_IDs.ACCESSORY_PRETTY_RIBBON] = "_PRETTY_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_MARIONET_HAT] = "_MARIONET_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MOON_HELM] = "_MOON_HELM",
    	[ACCESSORY_IDs.ACCESSORY_GABUKI_MASK] = "_GABUKI_MASK",
    	[ACCESSORY_IDs.ACCESSORY_KOKIRI_HAT] = "_KOKIRI_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BASEBALL_HAT] = "_BASEBALL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_GOOKGYEONG_HAT] = "_GOOKGYEONG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SILVERTIARA] = "_SILVERTIARA",
    	[ACCESSORY_IDs.ACCESSORY_PIERROT_CROWN_] = "_PIERROT_CROWN_",
    	[ACCESSORY_IDs.ACCESSORY_MUSICHEADPHONE] = "_MUSICHEADPHONE",
    	[ACCESSORY_IDs.ACCESSORY_BONGCROWN] = "_BONGCROWN",
    	[ACCESSORY_IDs.ACCESSORY_ANGELING_PIN] = "_ANGELING_PIN",
    	[ACCESSORY_IDs.ACCESSORY_GAKSITAL] = "_GAKSITAL",
    	[ACCESSORY_IDs.ACCESSORY_FEATHER_BEREHAT] = "_FEATHER_BEREHAT",
    	[ACCESSORY_IDs.ACCESSORY_VALKYRIE_HELMET] = "_VALKYRIE_HELMET",
    	[ACCESSORY_IDs.ACCESSORY_BEREHAT] = "_BEREHAT",
    	[ACCESSORY_IDs.ACCESSORY_SATOHAT] = "_SATOHAT",
    	[ACCESSORY_IDs.ACCESSORY_AYAM] = "_AYAM",
    	[ACCESSORY_IDs.ACCESSORY_NONAME] = "_NONAME",
    	[ACCESSORY_IDs.ACCESSORY_HAHETAL] = "_HAHETAL",
    	[ACCESSORY_IDs.ACCESSORY_LIONTAL] = "_LIONTAL",
    	[ACCESSORY_IDs.ACCESSORY_GOLDTIARA] = "_GOLDTIARA",
    	[ACCESSORY_IDs.ACCESSORY_DARKHELMET] = "_DARKHELMET",
    	[ACCESSORY_IDs.ACCESSORY_DOGHAT] = "_DOGHAT",
    	[ACCESSORY_IDs.ACCESSORY_BIRDHAT] = "_BIRDHAT",
    	[ACCESSORY_IDs.ACCESSORY_CAPTAINHAT] = "_CAPTAINHAT",
    	[ACCESSORY_IDs.ACCESSORY_BAYTREEHAT] = "_BAYTREEHAT",
    	[ACCESSORY_IDs.ACCESSORY_GEOGRAPHER] = "_GEOGRAPHER",
    	[ACCESSORY_IDs.ACCESSORY_TWINRIBBON] = "_TWINRIBBON",
    	[ACCESSORY_IDs.ACCESSORY_SINGERHAT] = "_SINGERHAT",
    	[ACCESSORY_IDs.ACCESSORY_LEAF] = "_LEAF",
    	[ACCESSORY_IDs.ACCESSORY_BLACKRIBBON] = "_BLACKRIBBON",
    	[ACCESSORY_IDs.ACCESSORY_YELLOWRIBBON] = "_YELLOWRIBBON",
    	[ACCESSORY_IDs.ACCESSORY_GREENRIBBON] = "_GREENRIBBON",
    	[ACCESSORY_IDs.ACCESSORY_PINKRIBBON] = "_PINKRIBBON",
    	[ACCESSORY_IDs.ACCESSORY_REDRIBBON] = "_REDRIBBON",
    	[ACCESSORY_IDs.ACCESSORY_ORANGERIBBON] = "_ORANGERIBBON",
    	[ACCESSORY_IDs.ACCESSORY_WHITERIBBON] = "_WHITERIBBON",
    	[ACCESSORY_IDs.ACCESSORY_LAZYRABBIT] = "_LAZYRABBIT",
    	[ACCESSORY_IDs.ACCESSORY_MEGINCAP] = "_MEGINCAP",
    	[ACCESSORY_IDs.ACCESSORY_PRIKACIRCLET] = "_PRIKACIRCLET",
    	[ACCESSORY_IDs.ACCESSORY_COPOLA] = "_COPOLA",
    	[ACCESSORY_IDs.ACCESSORY_MERONGMASK] = "_MERONGMASK",
    	[ACCESSORY_IDs.ACCESSORY_WOOLCAP] = "_WOOLCAP",
    	[ACCESSORY_IDs.ACCESSORY_ANGELKISS] = "_ANGELKISS",
    	[ACCESSORY_IDs.ACCESSORY_MORPHISDOOGUN] = "_MORPHISDOOGUN",
    	[ACCESSORY_IDs.ACCESSORY_MORIANEHELM] = "_MORIANEHELM",
    	[ACCESSORY_IDs.ACCESSORY_GEVNEITUGOO] = "_GEVNEITUGOO",
    	[ACCESSORY_IDs.ACCESSORY_WHITEFLOWER] = "_WHITEFLOWER",
    	[ACCESSORY_IDs.ACCESSORY_GOLDENGORI] = "_GOLDENGORI",
    	[ACCESSORY_IDs.ACCESSORY_LAUREL] = "_LAUREL",
    	[ACCESSORY_IDs.ACCESSORY_RIDEWORD] = "_RIDEWORD",
    	[ACCESSORY_IDs.ACCESSORY_YELLOW_BASEBALLCAP] = "_YELLOW_BASEBALLCAP",
    	[ACCESSORY_IDs.ACCESSORY_FLYING_ANGEL] = "_FLYING_ANGEL",
    	[ACCESSORY_IDs.ACCESSORY_DRESSHAT] = "_DRESSHAT",
    	[ACCESSORY_IDs.ACCESSORY_SATELITE_HAIRBAND] = "_SATELITE_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_BLACK_BUNNYBAND] = "_BLACK_BUNNYBAND",
    	[ACCESSORY_IDs.ACCESSORY_WALLYAHWA_HAT] = "_WALLYAHWA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MARCHING_HAT] = "_MARCHING_HAT",
    	[ACCESSORY_IDs.ACCESSORY_PROPELLER2] = "_PROPELLER2",
    	[ACCESSORY_IDs.ACCESSORY_RED_DEVIRUCHI] = "_RED_DEVIRUCHI",
    	[ACCESSORY_IDs.ACCESSORY_WHITE_DEVIRUCHI] = "_WHITE_DEVIRUCHI",
    	[ACCESSORY_IDs.ACCESSORY_GRAY_DEVIRUCHI] = "_GRAY_DEVIRUCHI",
    	[ACCESSORY_IDs.ACCESSORY_WHITE_LAZYCAT] = "_WHITE_LAZYCAT",
    	[ACCESSORY_IDs.ACCESSORY_GRAY_LAZYCAT] = "_GRAY_LAZYCAT",
    	[ACCESSORY_IDs.ACCESSORY_PINK_LAZYCAT] = "_PINK_LAZYCAT",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_LAZYCAT] = "_BLUE_LAZYCAT",
    	[ACCESSORY_IDs.ACCESSORY_YELLOW_LAZYCAT] = "_YELLOW_LAZYCAT",
    	[ACCESSORY_IDs.ACCESSORY_GRAY_FURHAT] = "_GRAY_FURHAT",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_FURHAT] = "_BLUE_FURHAT",
    	[ACCESSORY_IDs.ACCESSORY_PINK_FURHAT] = "_PINK_FURHAT",
    	[ACCESSORY_IDs.ACCESSORY_RED_MAGICIANHAT] = "_RED_MAGICIANHAT",
    	[ACCESSORY_IDs.ACCESSORY_WHITE_MAGICIANHAT] = "_WHITE_MAGICIANHAT",
    	[ACCESSORY_IDs.ACCESSORY_GRAY_MAGICIANHAT] = "_GRAY_MAGICIANHAT",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_MAGICIANHAT] = "_BLUE_MAGICIANHAT",
    	[ACCESSORY_IDs.ACCESSORY_YELLOW_MAGICIANHAT] = "_YELLOW_MAGICIANHAT",
    	[ACCESSORY_IDs.ACCESSORY_EARPLUG_HAT] = "_EARPLUG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_ELF_BLINDER] = "_ELF_BLINDER",
    	[ACCESSORY_IDs.ACCESSORY_ELF_SUNGLASS] = "_ELF_SUNGLASS",
    	[ACCESSORY_IDs.ACCESSORY_ANGEL_MIXHELM] = "_ANGEL_MIXHELM",
    	[ACCESSORY_IDs.ACCESSORY_DEVIL_MIXHELM] = "_DEVIL_MIXHELM",
    	[ACCESSORY_IDs.ACCESSORY_ROBOT_BLINDER] = "_ROBOT_BLINDER",
    	[ACCESSORY_IDs.ACCESSORY_HUMAN_BLINDER] = "_HUMAN_BLINDER",
    	[ACCESSORY_IDs.ACCESSORY_ROBOT_EAR] = "_ROBOT_EAR",
    	[ACCESSORY_IDs.ACCESSORY_HUMAN_EAR] = "_HUMAN_EAR",
    	[ACCESSORY_IDs.ACCESSORY_LAZY_NINETAIL] = "_LAZY_NINETAIL",
    	[ACCESSORY_IDs.ACCESSORY_LAZY_LEAF] = "_LAZY_LEAF",
    	[ACCESSORY_IDs.ACCESSORY_DEVILRING_HAT] = "_DEVILRING_HAT",
    	[ACCESSORY_IDs.ACCESSORY_3PORINGS] = "_3PORINGS",
    	[ACCESSORY_IDs.ACCESSORY_VALKYRIE_FEATHER] = "_VALKYRIE_FEATHER",
    	[ACCESSORY_IDs.ACCESSORY_SOULESS_WING] = "_SOULESS_WING",
    	[ACCESSORY_IDs.ACCESSORY_APRO_WIG] = "_APRO_WIG",
    	[ACCESSORY_IDs.ACCESSORY_ATIATI_HAT] = "_ATIATI_HAT",
    	[ACCESSORY_IDs.ACCESSORY_AUSTRALIA_HAT] = "_AUSTRALIA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_HAPPY_WIG] = "_HAPPY_WIG",
    	[ACCESSORY_IDs.ACCESSORY_BRIGHT_WIG] = "_BRIGHT_WIG",
    	[ACCESSORY_IDs.ACCESSORY_AMAZING_WIG] = "_AMAZING_WIG",
    	[ACCESSORY_IDs.ACCESSORY_FANTASTIC_WIG] = "_FANTASTIC_WIG",
    	[ACCESSORY_IDs.ACCESSORY_YELLOW_DOOGUN] = "_YELLOW_DOOGUN",
    	[ACCESSORY_IDs.ACCESSORY_YELLOW_RIBBON] = "_YELLOW_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_CHICK_HAT] = "_CHICK_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SUREON_CROWN] = "_SUREON_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_WINDMILL_HAIRPIN] = "_WINDMILL_HAIRPIN",
    	[ACCESSORY_IDs.ACCESSORY_PECOPECO_HAT] = "_PECOPECO_HAT",
    	[ACCESSORY_IDs.ACCESSORY_VACATION_HAT] = "_VACATION_HAT",
    	[ACCESSORY_IDs.ACCESSORY_RED_GLASSES] = "_RED_GLASSES",
    	[ACCESSORY_IDs.ACCESSORY_VANIL_HAT] = "_VANIL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_KETTLE_HAT] = "_KETTLE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DRAGON_SKULL] = "_DRAGON_SKULL",
    	[ACCESSORY_IDs.ACCESSORY_RAMYEON_HAT] = "_RAMYEON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_WHISPER_MASK] = "_WHISPER_MASK",
    	[ACCESSORY_IDs.ACCESSORY_HORN_HAT] = "_HORN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_RUSSIA_RIBBON] = "_RUSSIA_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_LOTUS_FLOWER] = "_LOTUS_FLOWER",
    	[ACCESSORY_IDs.ACCESSORY_CEREMONIAL_CORONET] = "_CEREMONIAL_CORONET",
    	[ACCESSORY_IDs.ACCESSORY_MANGMOK] = "_MANGMOK",
    	[ACCESSORY_IDs.ACCESSORY_PIRATE_DAGGER] = "_PIRATE_DAGGER",
    	[ACCESSORY_IDs.ACCESSORY_FREYA_CROWN] = "_FREYA_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_TROPICALFRUIT] = "_TROPICALFRUIT",
    	[ACCESSORY_IDs.ACCESSORY_BRAZIL_HAT] = "_BRAZIL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MOHIKAN] = "_MOHIKAN",
    	[ACCESSORY_IDs.ACCESSORY_BANJAK_JEONGOO] = "_BANJAK_JEONGOO",
    	[ACCESSORY_IDs.ACCESSORY_BIG_HIBISCUS] = "_BIG_HIBISCUS",
    	[ACCESSORY_IDs.ACCESSORY_AYOTAYA_HAT] = "_AYOTAYA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DIA_DAM] = "_DIA_DAM",
    	[ACCESSORY_IDs.ACCESSORY_HAKI_MASK] = "_HAKI_MASK",
    	[ACCESSORY_IDs.ACCESSORY_OBSERVER] = "_OBSERVER",
    	[ACCESSORY_IDs.ACCESSORY_UMBRELLA_HAT] = "_UMBRELLA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_FISHER_HAT] = "_FISHER_HAT",
    	[ACCESSORY_IDs.ACCESSORY_PORINGPARTY_HAT] = "_PORINGPARTY_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_ANGELING_HAT] = "_BLUE_ANGELING_HAT",
    	[ACCESSORY_IDs.ACCESSORY_INDONESIA_HARIBAND] = "_INDONESIA_HARIBAND",
    	[ACCESSORY_IDs.ACCESSORY_SCARF] = "_SCARF",
    	[ACCESSORY_IDs.ACCESSORY_LITTLEANGELDOLL] = "_LITTLEANGELDOLL",
    	[ACCESSORY_IDs.ACCESSORY_ROBOTEYE] = "_ROBOTEYE",
    	[ACCESSORY_IDs.ACCESSORY_ROKIMASK] = "_ROKIMASK",
    	[ACCESSORY_IDs.ACCESSORY_JEONPA_ANTENNA] = "_JEONPA_ANTENNA",
    	[ACCESSORY_IDs.ACCESSORY_WANTTOFLY_ANGELING] = "_WANTTOFLY_ANGELING",
    	[ACCESSORY_IDs.ACCESSORY_JUMPING_PORING] = "_JUMPING_PORING",
    	[ACCESSORY_IDs.ACCESSORY_WANT_GUILDMAN] = "_WANT_GUILDMAN",
    	[ACCESSORY_IDs.ACCESSORY_WANT_PARTY] = "_WANT_PARTY",
    	[ACCESSORY_IDs.ACCESSORY_WANT_BOY] = "_WANT_BOY",
    	[ACCESSORY_IDs.ACCESSORY_WANT_FRIEND] = "_WANT_FRIEND",
    	[ACCESSORY_IDs.ACCESSORY_DIFORTE] = "_DIFORTE",
    	[ACCESSORY_IDs.ACCESSORY_GLARRIS] = "_GLARRIS",
    	[ACCESSORY_IDs.ACCESSORY_SORIN] = "_SORIN",
    	[ACCESSORY_IDs.ACCESSORY_TAILING] = "_TAILING",
    	[ACCESSORY_IDs.ACCESSORY_BINIT] = "_BINIT",
    	[ACCESSORY_IDs.ACCESSORY_W] = "_W",
    	[ACCESSORY_IDs.ACCESSORY_WANT_GIRL] = "_WANT_GIRL",
    	[ACCESSORY_IDs.ACCESSORY_POPORING_HAT] = "_POPORING_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MUSLIM_M] = "_MUSLIM_M",
    	[ACCESSORY_IDs.ACCESSORY_MUSLIM_F] = "_MUSLIM_F",
    	[ACCESSORY_IDs.ACCESSORY_MAWANG_HAT] = "_MAWANG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_VICTORYWING] = "_VICTORYWING",
    	[ACCESSORY_IDs.ACCESSORY_PECOPECO_FLY_HAT] = "_PECOPECO_FLY_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CAPTION_HAT] = "_CAPTION_HAT",
    	[ACCESSORY_IDs.ACCESSORY_WHIKEBAIN_EARS] = "_WHIKEBAIN_EARS",
    	[ACCESSORY_IDs.ACCESSORY_GANG_SCARF] = "_GANG_SCARF",
    	[ACCESSORY_IDs.ACCESSORY_NINJA_SCROLL] = "_NINJA_SCROLL",
    	[ACCESSORY_IDs.ACCESSORY_SIMYEON_HAT] = "_SIMYEON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BLACKDEATHKING] = "_BLACKDEATHKING",
    	[ACCESSORY_IDs.ACCESSORY_EGGFRY] = "_EGGFRY",
    	[ACCESSORY_IDs.ACCESSORY_EMPEROR_HAT] = "_EMPEROR_HAT",
    	[ACCESSORY_IDs.ACCESSORY_HAEGOON_HAT] = "_HAEGOON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_NANCHO_HAT] = "_NANCHO_HAT",
    	[ACCESSORY_IDs.ACCESSORY_PANGUAN_HAT] = "_PANGUAN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_LAZY_WHITECAT] = "_LAZY_WHITECAT",
    	[ACCESSORY_IDs.ACCESSORY_DARKNESS_HELM] = "_DARKNESS_HELM",
    	[ACCESSORY_IDs.ACCESSORY_HUGE_MAJESTIC] = "_HUGE_MAJESTIC",
    	[ACCESSORY_IDs.ACCESSORY_HUGE_ORCHERO] = "_HUGE_ORCHERO",
    	[ACCESSORY_IDs.ACCESSORY_SATANIC_CHAIN] = "_SATANIC_CHAIN",
    	[ACCESSORY_IDs.ACCESSORY_ENTIQUE_CIGAR] = "_ENTIQUE_CIGAR",
    	[ACCESSORY_IDs.ACCESSORY_RABBITEAR] = "_RABBITEAR",
    	[ACCESSORY_IDs.ACCESSORY_BALLOON_HAT] = "_BALLOON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_FISH_HEAD_HAT] = "_FISH_HEAD_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SANTA_PORING_HAT] = "_SANTA_PORING_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BELL_RIBBON] = "_BELL_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_HUNTINGCAP] = "_HUNTINGCAP",
    	[ACCESSORY_IDs.ACCESSORY_TWIN_SANTAHAT] = "_TWIN_SANTAHAT",
    	[ACCESSORY_IDs.ACCESSORY_YOYOHAT] = "_YOYOHAT",
    	[ACCESSORY_IDs.ACCESSORY_NEKOMIMI_KAFRA] = "_NEKOMIMI_KAFRA",
    	[ACCESSORY_IDs.ACCESSORY_SNAKE_HAT] = "_SNAKE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_ANGEL_GHOST] = "_ANGEL_GHOST",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_SANTAHAT] = "_BLUE_SANTAHAT",
    	[ACCESSORY_IDs.ACCESSORY_SEOLNAL_HAT] = "_SEOLNAL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_VALENTINE_HAT] = "_VALENTINE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_TIRAYABONET] = "_TIRAYABONET",
    	[ACCESSORY_IDs.ACCESSORY_JASPER] = "_JASPER",
    	[ACCESSORY_IDs.ACCESSORY_SCUVER_MASK] = "_SCUVER_MASK",
    	[ACCESSORY_IDs.ACCESSORY_BONEHEAD] = "_BONEHEAD",
    	[ACCESSORY_IDs.ACCESSORY_MANDRAGORA] = "_MANDRAGORA",
    	[ACCESSORY_IDs.ACCESSORY_FOXHAT] = "_FOXHAT",
    	[ACCESSORY_IDs.ACCESSORY_BLACKGLASSES] = "_BLACKGLASSES",
    	[ACCESSORY_IDs.ACCESSORY_PLAYELF] = "_PLAYELF",
    	[ACCESSORY_IDs.ACCESSORY_FISHINMOUTH] = "_FISHINMOUTH",
    	[ACCESSORY_IDs.ACCESSORY_BLUERIBBON] = "_BLUERIBBON",
    	[ACCESSORY_IDs.ACCESSORY_PHILIRHAT] = "_PHILIRHAT",
    	[ACCESSORY_IDs.ACCESSORY_ACADEMY_NEWBIE] = "_ACADEMY_NEWBIE",
    	[ACCESSORY_IDs.ACCESSORY_ACADEMY_LV1] = "_ACADEMY_LV1",
    	[ACCESSORY_IDs.ACCESSORY_NEW_COWBOY] = "_NEW_COWBOY",
    	[ACCESSORY_IDs.ACCESSORY_BREAD2] = "_BREAD2",
    	[ACCESSORY_IDs.ACCESSORY_WHITESNAKE] = "_WHITESNAKE",
    	[ACCESSORY_IDs.ACCESSORY_SWEETCANDY] = "_SWEETCANDY",
    	[ACCESSORY_IDs.ACCESSORY_POPCORN_HAT] = "_POPCORN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CAMPFIRE_HAT] = "_CAMPFIRE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_PORINGCAKE_HAT] = "_PORINGCAKE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BEER_HAT] = "_BEER_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CROWNBIRD] = "_CROWNBIRD",
    	[ACCESSORY_IDs.ACCESSORY_SOLDIERHAT] = "_SOLDIERHAT",
    	[ACCESSORY_IDs.ACCESSORY_IFRIT_MASK] = "_IFRIT_MASK",
    	[ACCESSORY_IDs.ACCESSORY_IFRIT_EAR] = "_IFRIT_EAR",
    	[ACCESSORY_IDs.ACCESSORY_WORDBOOK] = "_WORDBOOK",
    	[ACCESSORY_IDs.ACCESSORY_LOVECHINA] = "_LOVECHINA",
    	[ACCESSORY_IDs.ACCESSORY_FANTAORANGE] = "_FANTAORANGE",
    	[ACCESSORY_IDs.ACCESSORY_FANTAGRAPE] = "_FANTAGRAPE",
    	[ACCESSORY_IDs.ACCESSORY_KARADA_HAT] = "_KARADA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_REDTEA_HAT] = "_REDTEA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BREADHAT1] = "_BREADHAT1",
    	[ACCESSORY_IDs.ACCESSORY_DOKEBIHAT] = "_DOKEBIHAT",
    	[ACCESSORY_IDs.ACCESSORY_FLAMECROWN] = "_FLAMECROWN",
    	[ACCESSORY_IDs.ACCESSORY_CHICK_HAT2] = "_CHICK_HAT2",
    	[ACCESSORY_IDs.ACCESSORY_BRAZIL4] = "_BRAZIL4",
    	[ACCESSORY_IDs.ACCESSORY_GOLDENLAUREL] = "_GOLDENLAUREL",
    	[ACCESSORY_IDs.ACCESSORY_COLA_CAN] = "_COLA_CAN",
    	[ACCESSORY_IDs.ACCESSORY_COKE_HAT] = "_COKE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BRIDE_FLOWER] = "_BRIDE_FLOWER",
    	[ACCESSORY_IDs.ACCESSORY_SKYGIRL_FLOWER] = "_SKYGIRL_FLOWER",
    	[ACCESSORY_IDs.ACCESSORY_HAIRBAND_GREEN] = "_HAIRBAND_GREEN",
    	[ACCESSORY_IDs.ACCESSORY_HAIRBAND_RED] = "_HAIRBAND_RED",
    	[ACCESSORY_IDs.ACCESSORY_HAIRBAND_BLUE] = "_HAIRBAND_BLUE",
    	[ACCESSORY_IDs.ACCESSORY_HAIRBAND_WHITE] = "_HAIRBAND_WHITE",
    	[ACCESSORY_IDs.ACCESSORY_NECKTIE] = "_NECKTIE",
    	[ACCESSORY_IDs.ACCESSORY_BABYANGEL_STONE] = "_BABYANGEL_STONE",
    	[ACCESSORY_IDs.ACCESSORY_HAIRBRUSH] = "_HAIRBRUSH",
    	[ACCESSORY_IDs.ACCESSORY_CANDYIN_MOUTH] = "_CANDYIN_MOUTH",
    	[ACCESSORY_IDs.ACCESSORY_CATFOOT] = "_CATFOOT",
    	[ACCESSORY_IDs.ACCESSORY_FROGHAT] = "_FROGHAT",
    	[ACCESSORY_IDs.ACCESSORY_FACEBOX1] = "_FACEBOX1",
    	[ACCESSORY_IDs.ACCESSORY_FACEBOX2] = "_FACEBOX2",
    	[ACCESSORY_IDs.ACCESSORY_SUNHAT] = "_SUNHAT",
    	[ACCESSORY_IDs.ACCESSORY_DRAGON_GOLD] = "_DRAGON_GOLD",
    	[ACCESSORY_IDs.ACCESSORY_DRAGON_SILVER] = "_DRAGON_SILVER",
    	[ACCESSORY_IDs.ACCESSORY_DRAGON_BRONZE] = "_DRAGON_BRONZE",
    	[ACCESSORY_IDs.ACCESSORY_RABBITHAT] = "_RABBITHAT",
    	[ACCESSORY_IDs.ACCESSORY_WINDTOY_HAT] = "_WINDTOY_HAT",
    	[ACCESSORY_IDs.ACCESSORY_EVOLVED_DRAGON] = "_EVOLVED_DRAGON",
    	[ACCESSORY_IDs.ACCESSORY_EVOLVED_WHISPER] = "_EVOLVED_WHISPER",
    	[ACCESSORY_IDs.ACCESSORY_BIGNAIL_SCARF] = "_BIGNAIL_SCARF",
    	[ACCESSORY_IDs.ACCESSORY_RAINBOW_SCARF] = "_RAINBOW_SCARF",
    	[ACCESSORY_IDs.ACCESSORY_JAHA_DOLL] = "_JAHA_DOLL",
    	[ACCESSORY_IDs.ACCESSORY_CELESTIAL_HAT] = "_CELESTIAL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_WIND_MILESTONE] = "_WIND_MILESTONE",
    	[ACCESSORY_IDs.ACCESSORY_HELM_OF_DRAGOON] = "_HELM_OF_DRAGOON",
    	[ACCESSORY_IDs.ACCESSORY_PARADE_CAP] = "_PARADE_CAP",
    	[ACCESSORY_IDs.ACCESSORY_NOBLE_HAT] = "_NOBLE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_EYES_OF_DARKNESS] = "_EYES_OF_DARKNESS",
    	[ACCESSORY_IDs.ACCESSORY_HAIRBAND_OF_REGINLEIF] = "_HAIRBAND_OF_REGINLEIF",
    	[ACCESSORY_IDs.ACCESSORY_RED_WHITE_HAT] = "_RED_WHITE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_FORCEPS_HAIRPIN] = "_FORCEPS_HAIRPIN",
    	[ACCESSORY_IDs.ACCESSORY_NOTICE_BOARD] = "_NOTICE_BOARD",
    	[ACCESSORY_IDs.ACCESSORY_CUBE_MASK] = "_CUBE_MASK",
    	[ACCESSORY_IDs.ACCESSORY_HAIRBAND_OF_GRANDPECO] = "_HAIRBAND_OF_GRANDPECO",
    	[ACCESSORY_IDs.ACCESSORY_BR_FLAG_BANDANNA] = "_BR_FLAG_BANDANNA",
    	[ACCESSORY_IDs.ACCESSORY_CLASSIC_HAT] = "_CLASSIC_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SHAMAN_STUFF] = "_SHAMAN_STUFF",
    	[ACCESSORY_IDs.ACCESSORY_BZOFNIL_WING] = "_BZOFNIL_WING",
    	[ACCESSORY_IDs.ACCESSORY_HERMOZ_CAP] = "_HERMOZ_CAP",
    	[ACCESSORY_IDs.ACCESSORY_DARKKNIGHT_MASK] = "_DARKKNIGHT_MASK",
    	[ACCESSORY_IDs.ACCESSORY_ODIN_MASK] = "_ODIN_MASK",
    	[ACCESSORY_IDs.ACCESSORY_RED_PHD_HAT] = "_RED_PHD_HAT",
    	[ACCESSORY_IDs.ACCESSORY_TAIWANFLAG] = "_TAIWANFLAG",
    	[ACCESSORY_IDs.ACCESSORY_TIGERFACE] = "_TIGERFACE",
    	[ACCESSORY_IDs.ACCESSORY_LOVEDADDY] = "_LOVEDADDY",
    	[ACCESSORY_IDs.ACCESSORY_ANUBIS_HELM] = "_ANUBIS_HELM",
    	[ACCESSORY_IDs.ACCESSORY_HAT_OF_OUTLAW] = "_HAT_OF_OUTLAW",
    	[ACCESSORY_IDs.ACCESSORY_PIZZA_HAT] = "_PIZZA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_ICECREAM_HAT] = "_ICECREAM_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CHINESE_5TH] = "_CHINESE_5TH",
    	[ACCESSORY_IDs.ACCESSORY_WOLFKING] = "_WOLFKING",
    	[ACCESSORY_IDs.ACCESSORY_GANG_DOOGUN] = "_GANG_DOOGUN",
    	[ACCESSORY_IDs.ACCESSORY_ASARA_FAIRY] = "_ASARA_FAIRY",
    	[ACCESSORY_IDs.ACCESSORY_THUNDER_GOD] = "_THUNDER_GOD",
    	[ACCESSORY_IDs.ACCESSORY_DICE_HAT] = "_DICE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_TIGER_KING] = "_TIGER_KING",
    	[ACCESSORY_IDs.ACCESSORY_PIRATE_PRIDE] = "_PIRATE_PRIDE",
    	[ACCESSORY_IDs.ACCESSORY_RABBIT_MAGIC] = "_RABBIT_MAGIC",
    	[ACCESSORY_IDs.ACCESSORY_BLACKELF_YEAR] = "_BLACKELF_YEAR",
    	[ACCESSORY_IDs.ACCESSORY_GOLDEN_TULIP] = "_GOLDEN_TULIP",
    	[ACCESSORY_IDs.ACCESSORY_LOVELYCHICK_HAT] = "_LOVELYCHICK_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_PAJAMA] = "_BLUE_PAJAMA",
    	[ACCESSORY_IDs.ACCESSORY_PINK_PAJAMA] = "_PINK_PAJAMA",
    	[ACCESSORY_IDs.ACCESSORY_SHARK_HAT] = "_SHARK_HAT",
    	[ACCESSORY_IDs.ACCESSORY_STING_HAT] = "_STING_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CARNIBAL_HAT] = "_CARNIBAL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CARNIBAL_CIRCLET] = "_CARNIBAL_CIRCLET",
    	[ACCESSORY_IDs.ACCESSORY_SHOWER_CAP] = "_SHOWER_CAP",
    	[ACCESSORY_IDs.ACCESSORY_SAMAN_BAIYA] = "_SAMAN_BAIYA",
    	[ACCESSORY_IDs.ACCESSORY_AQUARIUS_DIADEM] = "_AQUARIUS_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_AQUARIUS_CROWN] = "_AQUARIUS_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_PISCES_DIADEM] = "_PISCES_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_PISCES_CROWN] = "_PISCES_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_BIG_MAJESTIC2] = "_BIG_MAJESTIC2",
    	[ACCESSORY_IDs.ACCESSORY_PEACOCK_FEATHER] = "_PEACOCK_FEATHER",
    	[ACCESSORY_IDs.ACCESSORY_RABBITEAR2] = "_RABBITEAR2",
    	[ACCESSORY_IDs.ACCESSORY_FANTA_ZERO_LEMON_HAT] = "_FANTA_ZERO_LEMON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SAKURA_MIST_HAT] = "_SAKURA_MIST_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SAKURA_MILK_TEA_HAT] = "_SAKURA_MILK_TEA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_FIRST_LEAF_TEA_HAT] = "_FIRST_LEAF_TEA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_LADY_TANEE_DOLL] = "_LADY_TANEE_DOLL",
    	[ACCESSORY_IDs.ACCESSORY_LUNATIC_HAT] = "_LUNATIC_HAT",
    	[ACCESSORY_IDs.ACCESSORY_KING_FROG_HAT] = "_KING_FROG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_EVIL_BONE_HAT] = "_EVIL_BONE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_KAMAGI_HAT] = "_KAMAGI_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BABYDRAGON_HAT] = "_BABYDRAGON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SPARE_CARD] = "_SPARE_CARD",
    	[ACCESSORY_IDs.ACCESSORY_QUATI_HAT] = "_QUATI_HAT",
    	[ACCESSORY_IDs.ACCESSORY_TWOKAN_HAT] = "_TWOKAN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SIDECAP] = "_SIDECAP",
    	[ACCESSORY_IDs.ACCESSORY_JAGUAR_HAT] = "_JAGUAR_HAT",
    	[ACCESSORY_IDs.ACCESSORY_ARIES_DIADEM] = "_ARIES_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_ARIES_CROWN] = "_ARIES_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_RJC_CATHUSA] = "_RJC_CATHUSA",
    	[ACCESSORY_IDs.ACCESSORY_REDROSE] = "_REDROSE",
    	[ACCESSORY_IDs.ACCESSORY_KWG_BOGWAN] = "_KWG_BOGWAN",
    	[ACCESSORY_IDs.ACCESSORY_KWG_WANGAN] = "_KWG_WANGAN",
    	[ACCESSORY_IDs.ACCESSORY_HOLY_EGG_HAT] = "_HOLY_EGG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_OCTOPUS_HAT] = "_OCTOPUS_HAT",
    	[ACCESSORY_IDs.ACCESSORY_LEAF_CAT_HAT] = "_LEAF_CAT_HAT",
    	[ACCESSORY_IDs.ACCESSORY_FUR_SEAL_HAT] = "_FUR_SEAL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_WILD_ROSE_HAT] = "_WILD_ROSE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SACI_HAT] = "_SACI_HAT",
    	[ACCESSORY_IDs.ACCESSORY_543] = "_543",
    	[ACCESSORY_IDs.ACCESSORY_CROWN_OF_DECEIT] = "_CROWN_OF_DECEIT",
    	[ACCESSORY_IDs.ACCESSORY_DRAGON_ARHAT_MASK] = "_DRAGON_ARHAT_MASK",
    	[ACCESSORY_IDs.ACCESSORY_TIGER_ARHAT_MASK] = "_TIGER_ARHAT_MASK",
    	[ACCESSORY_IDs.ACCESSORY_DOLOR_HAT] = "_DOLOR_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BRIGHT_FURY] = "_BRIGHT_FURY",
    	[ACCESSORY_IDs.ACCESSORY_RABBIT_BONNET] = "_RABBIT_BONNET",
    	[ACCESSORY_IDs.ACCESSORY_GEMINI_DIADEM] = "_GEMINI_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_GEMINI_CROWN] = "_GEMINI_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_RASTA_WIG] = "_RASTA_WIG",
    	[ACCESSORY_IDs.ACCESSORY_SAVAGE_BABY_HAT] = "_SAVAGE_BABY_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DOKEBI_HORN] = "_DOKEBI_HORN",
    	[ACCESSORY_IDs.ACCESSORY_MOUTH_PENCIL] = "_MOUTH_PENCIL",
    	[ACCESSORY_IDs.ACCESSORY_ONIGIRI_HAT] = "_ONIGIRI_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SAKE] = "_SAKE",
    	[ACCESSORY_IDs.ACCESSORY_SATGAT] = "_SATGAT",
    	[ACCESSORY_IDs.ACCESSORY_RED_BERET] = "_RED_BERET",
    	[ACCESSORY_IDs.ACCESSORY_CANCER_DIADEM] = "_CANCER_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_CANCER_CROWN] = "_CANCER_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_MAJESTIC_DEVIL] = "_MAJESTIC_DEVIL",
    	[ACCESSORY_IDs.ACCESSORY_MOGIKILLER] = "_MOGIKILLER",
    	[ACCESSORY_IDs.ACCESSORY_RUNE_HAIRBAND] = "_RUNE_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_LEO_CROWN] = "_LEO_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_LEO_DIADEM] = "_LEO_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_DESERT_PRINCE] = "_DESERT_PRINCE",
    	[ACCESSORY_IDs.ACCESSORY_SIGRUNS_WING] = "_SIGRUNS_WING",
    	[ACCESSORY_IDs.ACCESSORY_DONUT_MOUTH] = "_DONUT_MOUTH",
    	[ACCESSORY_IDs.ACCESSORY_YUNO_EYE] = "_YUNO_EYE",
    	[ACCESSORY_IDs.ACCESSORY_CLOVER_MOUTH] = "_CLOVER_MOUTH",
    	[ACCESSORY_IDs.ACCESSORY_GUM_MOUTH] = "_GUM_MOUTH",
    	[ACCESSORY_IDs.ACCESSORY_TWINGIRL_CROWN] = "_TWINGIRL_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_TWINGIRL_BOGWAN] = "_TWINGIRL_BOGWAN",
    	[ACCESSORY_IDs.ACCESSORY_BRAZIL_RIBBON] = "_BRAZIL_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_BRAZIL_BERE] = "_BRAZIL_BERE",
    	[ACCESSORY_IDs.ACCESSORY_RTC_WINNER_ONLY] = "_RTC_WINNER_ONLY",
    	[ACCESSORY_IDs.ACCESSORY_RTC_SECOND_BEST] = "_RTC_SECOND_BEST",
    	[ACCESSORY_IDs.ACCESSORY_RTC_THIRD_BEST] = "_RTC_THIRD_BEST",
    	[ACCESSORY_IDs.ACCESSORY_CAMPUME_HAT] = "_CAMPUME_HAT",
    	[ACCESSORY_IDs.ACCESSORY_LYRIA_DOLL_HAT] = "_LYRIA_DOLL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DOROTHY_DOLL_HAT] = "_DOROTHY_DOLL_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CHUNG_HAIRBAND] = "_CHUNG_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_ICE_WING_EAR] = "_ICE_WING_EAR",
    	[ACCESSORY_IDs.ACCESSORY_TURTLE_HAT] = "_TURTLE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DARKNESS_HELM_J] = "_DARKNESS_HELM_J",
    	[ACCESSORY_IDs.ACCESSORY_HOLY_MARCHING_HAT_J] = "_HOLY_MARCHING_HAT_J",
    	[ACCESSORY_IDs.ACCESSORY_SCOOTER_HAT_J] = "_SCOOTER_HAT_J",
    	[ACCESSORY_IDs.ACCESSORY_IMP_HAT] = "_IMP_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SLEEPR_HAT] = "_SLEEPR_HAT",
    	[ACCESSORY_IDs.ACCESSORY_GRYPHON_HAT] = "_GRYPHON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_RED_PIRATE_BANDANA] = "_RED_PIRATE_BANDANA",
    	[ACCESSORY_IDs.ACCESSORY_LIBRA_CROWN] = "_LIBRA_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_LIBRA_DIADEM] = "_LIBRA_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_FILIR_WING] = "_FILIR_WING",
    	[ACCESSORY_IDs.ACCESSORY_MOOSOK_HAT] = "_MOOSOK_HAT",
    	[ACCESSORY_IDs.ACCESSORY_GOLDEN_HAT] = "_GOLDEN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SKULL_HOOD] = "_SKULL_HOOD",
    	[ACCESSORY_IDs.ACCESSORY_ANIV_STAR_HAT] = "_ANIV_STAR_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DROOPING_MOROCC_MINION] = "_DROOPING_MOROCC_MINION",
    	[ACCESSORY_IDs.ACCESSORY_SOUTHERN_CROSS] = "_SOUTHERN_CROSS",
    	[ACCESSORY_IDs.ACCESSORY_HOME_CHERRY_BLOSSOM] = "_HOME_CHERRY_BLOSSOM",
    	[ACCESSORY_IDs.ACCESSORY_PIG_MONEYBOX] = "_PIG_MONEYBOX",
    	[ACCESSORY_IDs.ACCESSORY_PORING_LETTER] = "_PORING_LETTER",
    	[ACCESSORY_IDs.ACCESSORY_SCORPIO_CROWN] = "_SCORPIO_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_SCORPIO_DIADEM] = "_SCORPIO_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_NOTATION_HAIRBAND] = "_NOTATION_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_ENGINEER_CAP] = "_ENGINEER_CAP",
    	[ACCESSORY_IDs.ACCESSORY_HAWKEYES] = "_HAWKEYES",
    	[ACCESSORY_IDs.ACCESSORY_TRIANGLE_RUNE] = "_TRIANGLE_RUNE",
    	[ACCESSORY_IDs.ACCESSORY_2009LOVE_DADDY] = "_2009LOVE_DADDY",
    	[ACCESSORY_IDs.ACCESSORY_612] = "_612",
    	[ACCESSORY_IDs.ACCESSORY_PRIESTHAT] = "_PRIESTHAT",
    	[ACCESSORY_IDs.ACCESSORY_NOFEAR_POQWER_HEADGEAR] = "_NOFEAR_POQWER_HEADGEAR",
    	[ACCESSORY_IDs.ACCESSORY_CACTUS_HAT] = "_CACTUS_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SNOWMAN_HAT] = "_SNOWMAN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SAGITTARIUS_CROWN] = "_SAGITTARIUS_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_SAGITTARIUS_DIADEM] = "_SAGITTARIUS_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_SANTACAP] = "_SANTACAP",
    	[ACCESSORY_IDs.ACCESSORY_ORANGE_STEM_HAT] = "_ORANGE_STEM_HAT",
    	[ACCESSORY_IDs.ACCESSORY_CAPRICORN_CROWN] = "_CAPRICORN_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_CAPRICORN_DIADEM] = "_CAPRICORN_DIADEM",
    	[ACCESSORY_IDs.ACCESSORY_RUNE_CIRCLET] = "_RUNE_CIRCLET",
    	[ACCESSORY_IDs.ACCESSORY_MITRA] = "_MITRA",
    	[ACCESSORY_IDs.ACCESSORY_RANGER_GOGGLES] = "_RANGER_GOGGLES",
    	[ACCESSORY_IDs.ACCESSORY_DRIVER_BAND] = "_DRIVER_BAND",
    	[ACCESSORY_IDs.ACCESSORY_627] = "_627",
    	[ACCESSORY_IDs.ACCESSORY_MINSTRELSONG_HAT] = "_MINSTRELSONG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_629] = "_629",
    	[ACCESSORY_IDs.ACCESSORY_630] = "_630",
    	[ACCESSORY_IDs.ACCESSORY_631] = "_631",
    	[ACCESSORY_IDs.ACCESSORY_632] = "_632",
    	[ACCESSORY_IDs.ACCESSORY_633] = "_633",
    	[ACCESSORY_IDs.ACCESSORY_634] = "_634",
    	[ACCESSORY_IDs.ACCESSORY_635] = "_635",
    	[ACCESSORY_IDs.ACCESSORY_NOAHS_HAT] = "_NOAHS_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DRIVER_BAND2] = "_DRIVER_BAND2",
    	[ACCESSORY_IDs.ACCESSORY_SLOTH_HAT] = "_SLOTH_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DUNEYRR_HELM] = "_DUNEYRR_HELM",
    	[ACCESSORY_IDs.ACCESSORY_RED_BUNNY_BAND] = "_RED_BUNNY_BAND",
    	[ACCESSORY_IDs.ACCESSORY_BUZZY_BOL_BOARD] = "_BUZZY_BOL_BOARD",
    	[ACCESSORY_IDs.ACCESSORY_BLACK_TAIL_RIBBON] = "_BLACK_TAIL_RIBBON",
    	[ACCESSORY_IDs.ACCESSORY_AMISTR_CAP] = "_AMISTR_CAP",
    	[ACCESSORY_IDs.ACCESSORY_SAMURAI_MASK] = "_SAMURAI_MASK",
    	[ACCESSORY_IDs.ACCESSORY_SAKURA_CORONET] = "_SAKURA_CORONET",
    	[ACCESSORY_IDs.ACCESSORY_GOLDEN_ANGEL] = "_GOLDEN_ANGEL",
    	[ACCESSORY_IDs.ACCESSORY_FOOL_DAY_HAT] = "_FOOL_DAY_HAT",
    	[ACCESSORY_IDs.ACCESSORY_GOLDEN_SAVAGE_HAT] = "_GOLDEN_SAVAGE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SPLASH_HAT] = "_SPLASH_HAT",
    	[ACCESSORY_IDs.ACCESSORY_FAMILY_HAT] = "_FAMILY_HAT",
    	[ACCESSORY_IDs.ACCESORY_RED_NAVY_HAT] = "[ACCESSORY_IDs.ACCESORY_RED_NAVY_HAT",
    	[ACCESSORY_IDs.ACCESORY_BERET] = "[ACCESSORY_IDs.ACCESORY_BERET",
    	[ACCESSORY_IDs.ACCESSORY_CHOCODONUT_MOUTH] = "_CHOCODONUT_MOUTH",
    	[ACCESSORY_IDs.ACCESSORY_BLAZING_SUN] = "_BLAZING_SUN",
    	[ACCESSORY_IDs.ACCESSORY_REMOVER_HAT] = "_REMOVER_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_ARARA_HAT] = "_BLUE_ARARA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DROOPING_BOTO] = "_DROOPING_BOTO",
    	[ACCESSORY_IDs.ACCESSORY_TENDRILION_HAT] = "_TENDRILION_HAT",
    	[ACCESSORY_IDs.ACCESSORY_PERSICA] = "_PERSICA",
    	[ACCESSORY_IDs.ACCESSORY_HOPLITE_HELMET] = "_HOPLITE_HELMET",
    	[ACCESSORY_IDs.ACCESSORY_3DGLASS] = "_3DGLASS",
    	[ACCESSORY_IDs.ACCESSORY_YELLOWBUNNY_HAIRBAND] = "_YELLOWBUNNY_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_PINKBUNNY_HAIRBAND] = "_PINKBUNNY_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_GREENBUNNY_HAIRBAND] = "_GREENBUNNY_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_OLD_ELFEAR] = "_OLD_ELFEAR ",
    	[ACCESSORY_IDs.ACCESSORY_THA_MAERO_MASK] = "_THA_MAERO_MASK",
    	[ACCESSORY_IDs.ACCESSORY_THANATOS_MAI_MASK] = "_THANATOS_MAI_MASK",
    	[ACCESSORY_IDs.ACCESSORY_TENKAIPPIN_RAMEN] = "_TENKAIPPIN_RAMEN",
    	[ACCESSORY_IDs.ACCESSORY_FISHPIN] = "_FISHPIN",
    	[ACCESSORY_IDs.ACCESSORY_RED_DRESS_HAT] = "_RED_DRESS_HAT",
    	[ACCESSORY_IDs.ACCESSORY_PASSION_FB_HAT] = "_PASSION_FB_HAT",
    	[ACCESSORY_IDs.ACCESSORY_COOL_FB_HAT] = "_COOL_FB_HAT",
    	[ACCESSORY_IDs.ACCESSORY_VICTORY_FB_HAT] = "_VICTORY_FB_HAT",
    	[ACCESSORY_IDs.ACCESSORY_GLORY_FB_HAT] = "_GLORY_FB_HAT",
    	[ACCESSORY_IDs.ACCESSORY_UMBALA_SPIRIT] = "_UMBALA_SPIRIT",
    	[ACCESSORY_IDs.ACCESSORY_GARUDA_HAT] = "_GARUDA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_RWC2010_INDONESIA] = "_RWC2010_INDONESIA",
    	[ACCESSORY_IDs.ACCESSORY_BLOODY_ANGEL_HAIRBAND] = "_BLOODY_ANGEL_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_BLOODY_ANGELWING_EAR] = "_BLOODY_ANGELWING_EAR",
    	[ACCESSORY_IDs.ACCESSORY_SHINING_SUNFLOWER] = "_SHINING_SUNFLOWER",
    	[ACCESSORY_IDs.ACCESSORY_PARADISE_HAT] = "_PARADISE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_RTC_WINNER_HEADGEAR] = "_RTC_WINNER_HEADGEAR",
    	[ACCESSORY_IDs.ACCESSORY_RTC_2ND_HEADGEAR] = "_RTC_2ND_HEADGEAR",
    	[ACCESSORY_IDs.ACCESSORY_RTC_3RD_HEADGEAR] = "_RTC_3RD_HEADGEAR",
    	[ACCESSORY_IDs.ACCESSORY_JATI_CROWN] = "_JATI_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_EVILMARCHER_HAT] = "_EVILMARCHER_HAT",
    	[ACCESSORY_IDs.ACCESSORY_THUNDERSTORM_CLOUD] = "_THUNDERSTORM_CLOUD",
    	[ACCESSORY_IDs.ACCESSORY_DOKKEBI_MASK] = "_DOKKEBI_MASK",
    	[ACCESSORY_IDs.ACCESSORY_WARTERMELON_HAT] = "_WARTERMELON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DARK_PUMPKIN_HAT] = "_DARK_PUMPKIN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DROOPING_NEKO_CRU] = "_DROOPING_NEKO_CRU",
    	[ACCESSORY_IDs.ACCESSORY_THA_DESPERO_MASK] = "_THA_DESPERO_MASK",
    	[ACCESSORY_IDs.ACCESSORY_DROOPING_PERMETER] = "_DROOPING_PERMETER",
    	[ACCESSORY_IDs.ACCESSORY_BUTTERFLYWINGS_EAR] = "_BUTTERFLYWINGS_EAR",
    	[ACCESSORY_IDs.ACCESSORY_SCREW_STUCK_HEAD] = "_SCREW_STUCK_HEAD",
    	[ACCESSORY_IDs.ACCESSORY_HEART_EYEBANDAGE1] = "_HEART_EYEBANDAGE1",
    	[ACCESSORY_IDs.ACCESSORY_HEART_EYEBANDAGE2] = "_HEART_EYEBANDAGE2",
    	[ACCESSORY_IDs.ACCESSORY_CHICKEN_BILL] = "_CHICKEN_BILL",
    	[ACCESSORY_IDs.ACCESSORY_CHARLIES_BEARD] = "_CHARLIES_BEARD",
    	[ACCESSORY_IDs.ACCESSORY_YELLOW_HAT] = "_YELLOW_HAT",
    	[ACCESSORY_IDs.ACCESSORY_SINGING_BIRD] = "_SINGING_BIRD",
    	[ACCESSORY_IDs.ACCESSORY_CHICKEN_CREST] = "_CHICKEN_CREST",
    	[ACCESSORY_IDs.ACCESSORY_RAINBOW] = "_RAINBOW",
    	[ACCESSORY_IDs.ACCESSORY_RAIN_CLOUD] = "_RAIN_CLOUD",
    	[ACCESSORY_IDs.ACCESSORY_CHARLIES_HAT] = "_CHARLIES_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MINI_CROWN1] = "_MINI_CROWN1",
    	[ACCESSORY_IDs.ACCESSORY_HEART_RIBBON_BAND] = "_HEART_RIBBON_BAND",
    	[ACCESSORY_IDs.ACCESSORY_HONEYBEE_HAT] = "_HONEYBEE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_FANCY_PHANTOM_MAS] = "_FANCY_PHANTOM_MAS",
    	[ACCESSORY_IDs.ACCESSORY_PUPPY_GRASS] = "_PUPPY_GRASS",
    	[ACCESSORY_IDs.ACCESSORY_DEVIL_WHISPER] = "_DEVIL_WHISPER",
    	[ACCESSORY_IDs.ACCESSORY_SKULL_CAP] = "_SKULL_CAP",
    	[ACCESSORY_IDs.ACCESSORY_EVIL_MASK] = "_EVIL_MASK",
    	[ACCESSORY_IDs.ACCESSORY_LITTLE_FHAT] = "_LITTLE_FHAT",
    	[ACCESSORY_IDs.ACCESSORY_LOVE_GUARD] = "_LOVE_GUARD",
    	[ACCESSORY_IDs.ACCESSORY_WITCHS_HAT] = "_WITCHS_HAT",
    	[ACCESSORY_IDs.ACCESSORY_LOVER_IN_MOUTH] = "_LOVER_IN_MOUTH",
    	[ACCESSORY_IDs.ACCESSORY_CAMPUS_FESTIVAL] = "_CAMPUS_FESTIVAL",
    	[ACCESSORY_IDs.ACCESSORY_TAINI_CAP] = "_TAINI_CAP",
    	[ACCESSORY_IDs.ACCESSORY_BUTTERFLY_HAIRPIN] = "_BUTTERFLY_HAIRPIN",
    	[ACCESSORY_IDs.ACCESSORY_ASGARD_BLESS] = "_ASGARD_BLESS",
    	[ACCESSORY_IDs.ACCESSORY_GALAXY_CIRCLET] = "_GALAXY_CIRCLET",
    	[ACCESSORY_IDs.ACCESSORY_MALANGDO_HAT] = "_MALANGDO_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MINI_TREE] = "_MINI_TREE",
    	[ACCESSORY_IDs.ACCESSORY_KING_PRAWN_HAT] = "_KING_PRAWN_HAT",
    	[ACCESSORY_IDs.ACCESSORY_GENERAL_HELMET] = "_GENERAL_HELMET",
    	[ACCESSORY_IDs.ACCESSORY_SINSUNCHO_HAT] = "_SINSUNCHO_HAT",
    	[ACCESSORY_IDs.ACCESSORY_B_FEATHER_BERET] = "_B_FEATHER_BERET",
    	[ACCESSORY_IDs.ACCESSORY_BONE_HAT] = "_BONE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_HEART_WING_HAIRBAND] = "_HEART_WING_HAIRBAND",
    	[ACCESSORY_IDs.ACCESSORY_LOVE_PIECE] = "_LOVE_PIECE",
    	[ACCESSORY_IDs.ACCESSORY_ST_PAT_HAT] = "_ST_PAT_HAT",
    	[ACCESSORY_IDs.ACCESSORY_NUT_DONUT_MOUTH] = "_NUT_DONUT_MOUTH",
    	[ACCESSORY_IDs.ACCESSORY_STRETCHED_NOSE] = "_STRETCHED_NOSE",
    	[ACCESSORY_IDs.ACCESSORY_SOFT_SHEEP_HAT] = "_SOFT_SHEEP_HAT",
    	[ACCESSORY_IDs.ACCESSORY_ANCIENT_GOLD_ADORNMENT] = "_ANCIENT_GOLD_ADORNMENT",
    	[ACCESSORY_IDs.ACCESSORY_LUCKY_HAT] = "_LUCKY_HAT",
    	[ACCESSORY_IDs.ACCESSORY_WHITE_FEATHER] = "_WHITE_FEATHER",
    	[ACCESSORY_IDs.ACCESSORY_LORD_OF_DEATH] = "_LORD_OF_DEATH",
    	[ACCESSORY_IDs.ACCESSORY_WUNDERKAMMER] = "_WUNDERKAMMER",
    	[ACCESSORY_IDs.ACCESSORY_YINYANG_EARRING] = "_YINYANG_EARRING",
    	[ACCESSORY_IDs.ACCESSORY_9TH_ANNIVERSARY] = "_9TH_ANNIVERSARY",
    	[ACCESSORY_IDs.ACCESSORY_YGGDRASIL_CROWN] = "_YGGDRASIL_CROWN",
    	[ACCESSORY_IDs.ACCESSORY_RED_TIGER_MASK] = "_RED_TIGER_MASK",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_TIGER_MASK] = "_BLUE_TIGER_MASK",
    	[ACCESSORY_IDs.ACCESSORY_NAVY_DROOPING_KITTY] = "_NAVY_DROOPING_KITTY",
    	[ACCESSORY_IDs.ACCESSORY_BROWN_DROOPING_KITTY] = "_BROWN_DROOPING_KITTY",
    	[ACCESSORY_IDs.ACCESSORY_ORANGE_BUNNY_BAND] = "_ORANGE_BUNNY_BAND",
    	[ACCESSORY_IDs.ACCESSORY_VIOLET_BUNNY_BAND] = "_VIOLET_BUNNY_BAND",
    	[ACCESSORY_IDs.ACCESSORY_BLUE_BUNNY_BAND] = "_BLUE_BUNNY_BAND",
    	[ACCESSORY_IDs.ACCESSORY_SILVAH_BUNNY_BAND] = "_SILVAH_BUNNY_BAND",
    	[ACCESSORY_IDs.ACCESSORY_STRAWBERRY_HAT] = "_STRAWBERRY_HAT",
    	[ACCESSORY_IDs.ACCESSORY_NESTEA_HAT] = "_NESTEA_HAT",
    	[ACCESSORY_IDs.ACCESSORY_HORN_OF_ANCIENT] = "_HORN_OF_ANCIENT",
    	[ACCESSORY_IDs.ACCESSORY_SPROUT_HAT] = "_SPROUT_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MERCURY_HELM] = "_MERCURY_HELM",
    	[ACCESSORY_IDs.ACCESSORY_MASK_OF_BLACKDEVIL] = "_MASK_OF_BLACKDEVIL",
    	[ACCESSORY_IDs.ACCESSORY_CATEAR_BERET] = "_CATEAR_BERET",
    	[ACCESSORY_IDs.ACCESSORY_RED_TAMOSHANTER] = "_RED_TAMOSHANTER",
    	[ACCESSORY_IDs.ACCESSORY_WATERMELON_OF_A_MOUTHFUL] = "_WATERMELON_OF_A_MOUTHFUL",
    	[ACCESSORY_IDs.ACCESSORY_1ST_ROCKET_HELM] = "_1ST_ROCKET_HELM",
    	[ACCESSORY_IDs.ACCESSORY_2ND_ROCKET_HELM] = "_2ND_ROCKET_HELM",
    	[ACCESSORY_IDs.ACCESSORY_DARK_AGE] = "_DARK_AGE",
    	[ACCESSORY_IDs.ACCESSORY_TEAR_DROP] = "_TEAR_DROP",
    	[ACCESSORY_IDs.ACCESSORY_3RD_ROCKET_HELM] = "_3RD_ROCKET_HELM",
    	[ACCESSORY_IDs.ACCESSORY_RWC_ROCKET_HELM] = "_RWC_ROCKET_HELM",
    	[ACCESSORY_IDs.ACCESSORY_WHITE_MUSANG_HAT] = "_WHITE_MUSANG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_BLACK_MUSANG_HAT] = "_BLACK_MUSANG_HAT",
    	[ACCESSORY_IDs.ACCESSORY_INJURED_EYEPATCH] = "_INJURED_EYEPATCH",
    	[ACCESSORY_IDs.ACCESSORY_LONG_TONGUE] = "_LONG_TONGUE",
    	[ACCESSORY_IDs.ACCESSORY_ONIGIRI_IN_MOUTH] = "_ONIGIRI_IN_MOUTH",
    	[ACCESSORY_IDs.ACCESSORY_AIRPLANE_HAT] = "_AIRPLANE_HAT",
    	[ACCESSORY_IDs.ACCESSORY_THIEF_BANDANA] = "_THIEF_BANDANA",
    	[ACCESSORY_IDs.ACCESSORY_GELATO_HAT] = "_GELATO_HAT",
    	[ACCESSORY_IDs.ACCESSORY_7TH_ANNI_HAT_B] = "_7TH_ANNI_HAT_B",
    	[ACCESSORY_IDs.ACCESSORY_HEART_EYEBANDAGE] = "_HEART_EYEBANDAGE",
    	[ACCESSORY_IDs.ACCESSORY_FULL_MOON] = "_FULL_MOON",
    	[ACCESSORY_IDs.ACCESSORY_TARE_DOMOVOI] = "_TARE_DOMOVOI",
    	[ACCESSORY_IDs.ACCESSORY_FALCON_MASK] = "_FALCON_MASK",
    	[ACCESSORY_IDs.ACCESSORY_DESERT_WOLF_HAT] = "_DESERT_WOLF_HAT",
    	[ACCESSORY_IDs.ACCESSORY_DROOPING_ALICEL] = "_DROOPING_ALICEL",
    	[ACCESSORY_IDs.ACCESSORY_PETITE_CHEF_HAT] = "_PETITE_CHEF_HAT",
    	[ACCESSORY_IDs.ACCESSORY_PORING_CLIP_YELLOW] = "_PORING_CLIP_YELLOW",
    	[ACCESSORY_IDs.ACCESSORY_PORING_CLIP_PINK] = "_PORING_CLIP_PINK",
    	[ACCESSORY_IDs.ACCESSORY_PORING_CLIP_GREEN] = "_PORING_CLIP_GREEN",
    	[ACCESSORY_IDs.ACCESSORY_PORING_CLIP_BLUE] = "_PORING_CLIP_BLUE",
    	[ACCESSORY_IDs.ACCESSORY_BRIDES_BOW] = "_BRIDES_BOW",
    	[ACCESSORY_IDs.ACCESSORY_CITRON_HAT] = "_CITRON_HAT",
    	[ACCESSORY_IDs.ACCESSORY_NAVY_HAT] = "_NAVY_HAT",
    	[ACCESSORY_IDs.ACCESSORY_STARFISH_BAND] = "_STARFISH_BAND",
    	[ACCESSORY_IDs.ACCESSORY_RIBBON_MAGICIANHAT] = "_RIBBON_MAGICIANHAT",
    	[ACCESSORY_IDs.ACCESSORY_SCISSORS_REPLICA] = "_SCISSORS_REPLICA",
    	[ACCESSORY_IDs.ACCESSORY_ROCK_REPLICA] = "_ROCK_REPLICA",
    	[ACCESSORY_IDs.ACCESSORY_PAPER_REPLICA] = "_PAPER_REPLICA",
    	[ACCESSORY_IDs.ACCESSORY_SAILOR_HAT] = "_SAILOR_HAT",
    	[ACCESSORY_IDs.ACCESSORY_MILKCOW_HAT] = "_MILKCOW_HAT",
    	[ACCESSORY_IDs.ACCESSORY_STAR_EYEBANDAGE] = "_STAR_EYEBANDAGE",
    	[ACCESSORY_IDs.ACCESSORY_TONGUE_CHARM] = "_TONGUE_CHARM",
    	[ACCESSORY_IDs.ACCESSORY_FUSION_RING] = "_fusionring"
    }
    

     

    in item_db2.txt

    // =========================== CUSTOM ====================================
    30000,Fusion_Ring,Fusion Ring,5,20,,0,,5,,0,0xFFFFFFFF,7,2,1,,0,1,2000,{},{},{}
    

     

     

  3. try this:

     

    index: src/map/skill.c

    case SC_FEINTBOMB:
    if( map_getcell(src->m, x, y, CELL_CHKLANDPROTECTOR) ) {
                    clif_skill_fail(sd,skill_id,USESKILL_FAIL,0);
                    return 0;
    }
    else {
            clif_skill_nodamage(src,src,skill_id,skill_lv,1);
            skill_unitsetting(src,skill_id,skill_lv,x,y,0); // Set bomb on current Position
            if( skill_blown(src,src,6,unit_getdir(src),0) )
                skill_castend_nodamage_id(src,src,TF_HIDING,1,tick,0);
    }
    break;
     

    don't forget to recompile

  4.  

                if (skill == AS_SONICBLOW)
                    pc_stop_attack(sd); //Special case, Sonic Blow autospell should stop the player attacking.
    
                else if (skill == PF_SPIDERWEB) //Special case, due to its nature of coding.
                    type = CAST_GROUND;
    
     

     

    it becomes:

               /* if (skill == AS_SONICBLOW)
                    pc_stop_attack(sd); //Special case, Sonic Blow autospell should stop the player attacking. */
    
                else if (skill == PF_SPIDERWEB) //Special case, due to its nature of coding.
                    type = CAST_GROUND;
    
     

    save then recompile :)

     

    yeah that will more or less produce errors thanks for pointing it out :)

  5.  
    and also I'm trying to change the coordinates of @go of different cities but when I save the file, I go out of the game and restart my server, after that, when I go back to the game, the @warp coordinates goes back to default in game.. But the file has the coordinates I edited..

     

    you forgot to recompile the server. coordinates will apply after recompile

  6. This error just came to be when i was re-compiling without changing anything since last compile,

    using Visual C++ 2010 express, though it compiles successfully in linux (server host compiler) and on Visual C++ 2009,

     

    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(129): warning C4133: '=' : incompatible types - from 'Channel **' to 'raChSysCh **'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(130): warning C4133: '=' : incompatible types - from 'Channel *' to 'raChSysCh *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(138): warning C4013: 'clif_channel_msg' undefined; assuming extern returning int
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(161): warning C4133: '=' : incompatible types - from 'Channel *' to 'raChSysCh *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(170): warning C4133: 'function' : incompatible types - from 'raChSysCh *' to 'Channel *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(251): warning C4133: '==' : incompatible types - from 'raChSysCh *' to 'Channel *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(254): warning C4133: '==' : incompatible types - from 'Channel *' to 'raChSysCh *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(313): warning C4133: 'function' : incompatible types - from 'raChSysCh *' to 'Channel *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(314): warning C4133: 'function' : incompatible types - from 'raChSysCh *' to 'Channel *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(319): warning C4133: 'function' : incompatible types - from 'raChSysCh *' to 'Channel *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(337): error C2039: 'channel_tick' : is not a member of 'map_session_data'
    1>          c:\users\cyson\desktop\tro\rathena\rathena\src\map\pc.h(111) : see declaration of 'map_session_data'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(349): error C2039: 'channel_tick' : is not a member of 'map_session_data'
    1>          c:\users\cyson\desktop\tro\rathena\rathena\src\map\pc.h(111) : see declaration of 'map_session_data'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(401): warning C4133: '=' : incompatible types - from 'raChSysCh *' to 'Channel *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(405): warning C4133: '=' : incompatible types - from 'Channel *' to 'raChSysCh *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(495): warning C4133: '=' : incompatible types - from 'raChSysCh *' to 'Channel *'
    1>c:\users\cyson\desktop\tro\rathena\rathena\src\map\channel.c(765): warning C4133: '=' : incompatible types - from 'Channel *' to 'raChSysCh *'

     

     

    channel.c

    // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
    // For more information, see LICENCE in the main folder
    
    #include "../common/cbasetypes.h"
    #include "../common/malloc.h"
    #include "../common/conf.h" //libconfig
    #include "../common/showmsg.h"
    #include "../common/strlib.h" //safestrncpy
    #include "../common/socket.h" //set_eof
    #include "../common/nullpo.h" //nullpo chk
    
    #include "map.h" //msg_conf
    #include "clif.h" //clif_chsys_msg
    #include "channel.h"
    #include "pc.h"
    
    #include <stdio.h>
    #include <stdlib.h>
    
    static DBMap* channel_db; // channels
    DBMap* channel_get_db(void){ return channel_db; }
    
    struct chan_banentry {
    	int char_id;
    	char char_name[NAME_LENGTH];
    } chan_banentry;
    
    /*
     * Create *channel
     * - will then add it in channel_db if type not map or ally
     * @name : the name channel will be given, can't be null
     * @pass : can be null. if we want to restrain access
     * @color : display color type
     * @chantype : type of channel
     * return
     *  NULL : creation failed
     */
    struct Channel* channel_create(char *name, char *pass, unsigned char color, enum Channel_Type chantype, int val) {
    	struct Channel* channel;
    
    	if(!name) return NULL;
    
    	CREATE( channel, struct Channel, 1 ); //will exit on fail allocation
    	channel->users = idb_alloc(DB_OPT_BASE);
    	channel->banned = idb_alloc(DB_OPT_BASE|DB_OPT_RELEASE_DATA);
    	channel->opt = CHAN_OPT_BASE;
    	channel->type = chantype;
    	channel->color = color;
    	safestrncpy(channel->name, name, CHAN_NAME_LENGTH);
    	if( !pass )
    		channel->pass[0] = '\0';
    	else
    		safestrncpy(channel->pass, pass, CHAN_NAME_LENGTH);
    
    	//ShowInfo("Create channel %s\n",channel->name);
    	switch(channel->type){
    	case CHAN_TYPE_MAP: channel->m = val; break;
    	case CHAN_TYPE_ALLY: channel->gid = val; break;
    	case CHAN_TYPE_PRIVATE: channel->owner = val; //dont break here private need to put in db
    	default: strdb_put(channel_db, channel->name, channel);
    	}
    
    	return channel;
    }
    
    /*
     * Delete channel *channel
     * - check if there is any user in channel and make them all quit
     * return
     *  0 : success
     *  -1 : invalid channel
     */
    int channel_delete(struct Channel *channel) {
    	if(!channel)
    		return -1;
    	else if( db_size(channel->users)) {
    		struct map_session_data *sd;
    		DBIterator *iter = db_iterator(channel->users);
    		for( sd = dbi_first(iter); dbi_exists(iter); sd = dbi_next(iter) ) { //for all users
    			channel_clean(channel,sd,1); //make all quit
    		}
    		dbi_destroy(iter);
    	}
    	//ShowInfo("Deleting channel %s\n",channel->name);
    	db_destroy(channel->users);
    	db_destroy(channel->banned);
    	switch(channel->type){
    	case CHAN_TYPE_MAP:
    		map[channel->m].channel = NULL;
    		aFree(channel);
    		break;
    	case CHAN_TYPE_ALLY: {
    		struct guild *g = guild_search(channel->gid);
    		if(g) g->channel = NULL;
    		aFree(channel);
    		break;
    	}
    	default:
    		strdb_remove(channel_db, channel->name);
    		break;
    	}
    	return 0;
    }
    
    /*
     * Make player *sd join a channel *channel
     * - add charid to channel user list
     * - add *channel to user channel list
     * return
     *  0 : success
     * -1 : invalid channel or sd
     * -2 : sd already in channel
     * -3 : sd banned
     */
    int channel_join(struct Channel *channel, struct map_session_data *sd) {
    	char output[128];
    
    	if(!channel || !sd)
    		return -1;
    	if(channel_haspc(channel,sd)==1)
    		return -2;
    
    	if(channel_haspcbanned(channel,sd)==1){
    		sprintf(output, msg_txt(sd,1438),channel->name); //You're currently banned from the '%s' channel.
    		clif_displaymessage(sd->fd, output);
    		return -3;
    	}
    
    	RECREATE(sd->channels, struct Channel *, ++sd->channel_count);
    	sd->channels[ sd->channel_count - 1 ] = channel;
    	idb_put(channel->users, sd->status.char_id, sd);
    
    	if( sd->stealth ) {
    		sd->stealth = false;
    	} else if( channel->opt & CHAN_OPT_ANNOUNCE_JOIN ) {
    		char message[60];
    		sprintf(message, "[ #%s ] '%s' has joined.",channel->name,sd->status.name);
    		clif_channel_msg(channel,sd,message,channel->color);
    	}
    
    	/* someone is cheating, we kindly disconnect the bastard */
    	if( sd->channel_count > 200 ) {
    		set_eof(sd->fd);
    	}
    
    	return 0;
    }
    
    /*
     * Make *sd join the map channel
     * create the map_channel if not exist
     * return
     *  -1 : invalid sd
     *  -2 : sd already in channel (channel_join)
     *  -3 : sd banned (channel_join)
     */
    int channel_mjoin(struct map_session_data *sd) {
    	if(!sd) return -1;
    
    	if( !map[sd->bl.m].channel ) {
    		map[sd->bl.m].channel = channel_create(Channel_Config.map_chname,NULL,Channel_Config.map_chcolor,CHAN_TYPE_MAP,sd->bl.m);
    	}
    
    	if( !( map[sd->bl.m].channel->opt & CHAN_OPT_ANNOUNCE_JOIN ) ) {
    		char mout[60];
    		sprintf(mout, msg_txt(sd,1435),Channel_Config.map_chname,map[sd->bl.m].name); // You're now in the '#%s' channel for '%s'.
    		clif_disp_onlyself(sd, mout, strlen(mout));
    	}
    
    	return channel_join(map[sd->bl.m].channel,sd);
    }
    
    /*
     * Make all ally member of guild *g join our guild chan
     * nb : they only join if they are into their own guild channel (if they not they probably left it)
     * return
     *  0 : success
     *  -1 : invalid guild or no channel for guild
     */
    int channel_ajoin(struct guild *g){
    	int i;
    	struct map_session_data *pl_sd;
    
    	if(!g || !g->channel) return -1;
    	for (i = 0; i < MAX_GUILDALLIANCE; i++){
    		struct guild *ag; //allied guld
    		struct guild_alliance *ga = &g->alliance[i]; //guild alliance
    		if(ga->guild_id && (ga->opposition==0) && (ag=guild_search(ga->guild_id))){
    			for (i = 0; i < ag->max_member; i++){ //load all guildmember
    				pl_sd = ag->member[i].sd;
    				if(channel_haspc(ag->channel,pl_sd)==1)  //only if they are in their own guildchan
    					channel_join(g->channel,pl_sd);
    			}
    		}
    	}
    	return 0;
    }
    
    /*
     * Make *sd join the guild channel
     * create a chan guild if not exist
     * return
     *   0 : success
     *  -1 : invalid sd
     *  -2 : sd has no guild attached
     */
    int channel_gjoin(struct map_session_data *sd, int flag){
    	struct Channel *channel;
    	struct guild *g;
    	int i;
    
    	if(!sd) return -1;
    
    	g = sd->guild;
    	if(!g) return -2;
    
    	channel = g->channel;
    	if(!channel){
    		channel = channel_create(Channel_Config.ally_chname,NULL,Channel_Config.ally_chcolor,CHAN_TYPE_ALLY,g->guild_id);
    		g->channel = channel;
    		channel_ajoin(g);
    	}
    	if(flag&1) {
    		channel_join(channel,sd);	//join our guild chat
    	}
    	if(flag&2){
    		for (i = 0; i < MAX_GUILDALLIANCE; i++){
    			struct guild *ag; //allied guld
    			struct guild_alliance *ga = &g->alliance[i]; //guild alliance
    			if(ga->guild_id && (ga->opposition==0) && (ag=guild_search(ga->guild_id)) ) //only join allies
    				channel_join(ag->channel,sd);
    		}
    	}
    	return 0;
    }
    
    /*
     * Make *sd leave *channel and cleanup association.
     *  - if no one remain in chat delete it
     * @flag&1 called from delete do not recall delete
     *return
     *  0 : success
     *  -1 : invalid sd or channel
     */
    int channel_clean(struct Channel *channel, struct map_session_data *sd, int flag) {
    	unsigned char i;
    
    	if(!channel || !sd)
    		return -1;
    
    	if( channel == sd->gcbind )
    		sd->gcbind = NULL;
    
    	ARR_FIND(0, sd->channel_count, i, sd->channels[i] == channel);
    	if( i < sd->channel_count ) {
    		unsigned char cursor = i;
    		sd->channels[i] = NULL;
    		for(; i < sd->channel_count; i++ ) { //slice move list down
    			if( sd->channels[i] == NULL )
    				continue;
    			if(i != cursor)
    				sd->channels[cursor] = sd->channels[i];
    			cursor++;
    		}
    		if ( !(sd->channel_count = cursor) ) { //if in no more chan delete db
    			aFree(sd->channels);
    			sd->channels = NULL;
    		}
    	}
    
    	idb_remove(channel->users,sd->status.char_id); //remove user for channel user list
    	if( !db_size(channel->users) && !(flag&1) && channel->type != CHAN_TYPE_PUBLIC )
    		channel_delete(channel);
    
    	return 0;
    }
    
    /*
     * Make a *sd leave a type of chan.
     * @type&1 : quit guild chan
     * @type&2 : quit ally chans
     * @type&4 : quit map chan
     * @type&8 : quit all users joined chan
     * return
     *  0 : success
     *  -1 : invalid sd
     *
     */
    int channel_pcquit(struct map_session_data *sd, int type){
    	int i;
    
    	//On closing state we could have clean all chan by sd but pcquit is more used to free unit when
    	//he quit a map_server, not call in map_quit cause we need to cleanup when we switch map-server as well
    	if(!sd) return -1;
    
    	// Leave all chat channels.
    	if(type&(1|2) && Channel_Config.ally_enable && sd->guild){ //quit guild and ally chan
    		struct guild *g = sd->guild;
    		if(type&1 && channel_haspc(g->channel,sd)==1){
    			channel_clean(g->channel,sd,0); //leave guild chan
    		}
    		if(type&2){
    			struct guild *ag; //allied guild
    			for (i = 0; i < MAX_GUILDALLIANCE; i++) { //leave all alliance chan
    				if( g->alliance[i].guild_id && (ag = guild_search(g->alliance[i].guild_id) ) ) {
    					if(channel_haspc(ag->channel,sd) == 1)
    						channel_clean(ag->channel,sd,0);
    					break;
    				}
    			}
    		}
    	}
    	if(type&4 && Channel_Config.map_enable && channel_haspc(map[sd->bl.m].channel,sd)==1){ //quit map chan
    		channel_clean(map[sd->bl.m].channel,sd,0);
    	}
    	if(type&8 && sd->channel_count ) { //quit all chan
    		uint8 count = sd->channel_count;
    		for( i = count-1; i >= 0; i--) { //going backward to avoid shifting
    			channel_clean(sd->channels[i],sd,0);
    		}
    	}
    	return 0;
    }
    
    /*
     * Format *msg from *sd to send it in *channel
     * Also truncate extra char if msg too long (max=RACHSYS_MSG_LENGTH)
     * return
     *  0 : success
     *  -1 : invalid sd, channel, or msg
     *  -2 : delay msg too low since last talk
     */
    int channel_send(struct Channel *channel, struct map_session_data *sd, const char *msg) {
    	if(!channel || !sd || !msg)
    		return -1;
    
    	if(!pc_has_permission(sd, PC_PERM_CHANNEL_ADMIN) && channel->msg_delay != 0 && DIFF_TICK(sd->channel_tick + ( channel->msg_delay * 1000 ), gettick()) > 0) {
    		clif_colormes(sd,color_table[COLOR_RED],msg_txt(sd,1455)); //You're talking too fast!
    		return -2;
    	}
    	else {
    		char message[CHAN_MSG_LENGTH], color;
    		if((channel->opt)&CHAN_OPT_COLOR_OVERRIDE && sd->fontcolor)
    			color = sd->fontcolor;
    		else
    			color = channel->color;
    		snprintf(message, CHAN_MSG_LENGTH, "[ #%s ] %s : %s",channel->name,sd->status.name, msg);
    		clif_channel_msg(channel,sd,message,color);
    		sd->channel_tick = gettick();
    	}
    	return 0;
    }
    
    /*
     * Check parameters for channel creation
     * @type (bitflag)
     *	1 : check name # + length
     *	2 : check if already exist, need 1
     *	4 : check password length
     * return
     *  0 : success
     *  -1 : bad chan name
     *  -2 : bad chan name length
     *  -3 : pass given too long
     *  -4 : chan already exists
     */
    int channel_chk(char *chname, char *chpass, int type){
    	if(type&1){ //check name
    		if( chname[0] != '#' )
    			return -1;
    		if ( strlen(chname) < 3 || strlen(chname) > CHAN_NAME_LENGTH )
    			return -2;
    		if( (type&2) && (
    			strcmpi(chname + 1,Channel_Config.map_chname) == 0
    			|| strcmpi(chname + 1,Channel_Config.ally_chname) == 0
    			|| strdb_exists(channel_db, chname + 1) )
    			) {
    			return -4;
    		}
    	}
    	if (type&4 && (chpass != '\0' && strlen(chpass) > CHAN_NAME_LENGTH ) ) {
    		return -3;
    	}
    
    	return 0;
    }
    
    /*
     * Lookup to found a channel from his name.
     * @chname : channel name
     * @sd : can be NULL, use to solve #map and #ally case
     * @flag&1 : create channel if not exist (map or ally only)
     * @flag&3 : join channel if not exist (map or ally only)
     * return
     *  NULL : channel not found
     */
    struct Channel* channel_name2channel(char *chname, struct map_session_data *sd, int flag){
    	struct Channel *channel;
    	if(channel_chk(chname, NULL, 1)) return NULL;
    	if(sd && strcmpi(chname + 1,Channel_Config.map_chname) == 0){
    		channel = map[sd->bl.m].channel;
    		if(flag&1 && !channel) {
    			channel = channel_create(Channel_Config.map_chname,NULL,Channel_Config.map_chcolor,CHAN_TYPE_MAP,sd->bl.m);
    			if(flag&2) channel_mjoin(sd);
    			map[sd->bl.m].channel = channel;
    		}
    	}
    	else if(sd && (strcmpi(chname + 1,Channel_Config.ally_chname) == 0) && sd->guild){
    		channel = sd->guild->channel;
    		if(flag&1 && !channel) {
    			channel = channel_create(Channel_Config.map_chname,NULL,Channel_Config.map_chcolor,CHAN_TYPE_ALLY,sd->guild->guild_id);
    			if(flag&2) channel_gjoin(sd,3);
    			sd->guild->channel = channel;
    		}
    	}
    	else if( !(channel = strdb_get(channel_db, chname + 1)) ) {
    		return NULL;
    	}
    	return channel;
    }
    
    /*
     * Channel check if he has *sd in his user list
     * return
     *  -1 : invalid sd or channel
     *  0 : not found
     *  1 : has pc
     */
    int channel_haspc(struct Channel *channel,struct map_session_data *sd){
    	if(!channel || !sd) return -1;
    	return (idb_exists(channel->users, sd->status.char_id))?1:0;
    }
    
    /*
     * Channel check if *sd is banned from channel (banned ?)
     * return
     *  -1 : invalid sd or channel
     *  0 : not found
     *  1 : has pc
     */
    int channel_haspcbanned(struct Channel *channel,struct map_session_data *sd){
    	if(!channel || !sd) return -1;
    	return (idb_exists(channel->banned, sd->status.char_id))?1:0;
    }
    
    
    /*
     * Player *sd check if he has Channel *channel in his channel list
     * return
     *  -1 : invalid channel or sd
     *  -2 : not found
     *  x>0 : has_chan at index x
     */
    int channel_pc_haschan(struct map_session_data *sd, struct Channel *channel){
    	int k;
    	if(!channel || !sd) return -1; //channel or player doesn't exist
    	ARR_FIND(0, sd->channel_count, k, strcmpi(channel->name,sd->channels[k]->name) == 0);
    	if( k >= sd->channel_count ) return -2;
    	return k;
    }
    
    /*
     * Display some info to user *sd on channels
     * @options :
     *  colors : display availables colors for chan system
     *  mine : list of chan *sd is in + nb of user
     *  void : list of public chan + map + guild + nb of user
     * return
     *  0 : success
     *  -1 : fail
     */
    int channel_display_list(struct map_session_data *sd, char *options){
    	struct Channel *channel;
    	char output[128];
    	int k;
    
    	if(!sd || !options)
    		return -1;
    
    	//display availaible colors
    	if( options[0] != '\0' && strcmpi(options,"colors") == 0 ) {
    		char msg[40];
    		clif_displaymessage(sd->fd, msg_txt(sd,1444)); // ---- Available Colors ----
    		for( k = 0; k < Channel_Config.colors_count; k++ ) {
    			sprintf(msg, msg_txt(sd,1445),Channel_Config.colors_name[k]);// - '%s'
    			clif_colormes(sd,Channel_Config.colors[k],msg);
    		}
    	}
    	else if( options[0] != '\0' && strcmpi(options,"mine") == 0 ) { //display chan I'm into
    		clif_displaymessage(sd->fd, msg_txt(sd,1475)); // ---- My Channels ----
    		if(!sd->channel_count)
    			clif_displaymessage(sd->fd, msg_txt(sd,1476)); // You have not joined any channels.
    		else {
    			for(k=0; k<sd->channel_count; k++){
    				channel = sd->channels[k];
    				sprintf(output, msg_txt(sd,1409), channel->name, db_size(channel->users));// - #%s (%d users)
    				clif_displaymessage(sd->fd, output);
    			}
    		}
    	}
    	else { //display public chanels
    		DBIterator *iter;
    		bool has_perm = pc_has_permission(sd, PC_PERM_CHANNEL_ADMIN) ? true : false;
    
    		clif_displaymessage(sd->fd, msg_txt(sd,1410)); // ---- Public Channels ----
    		if( Channel_Config.map_enable ) {
    			sprintf(output, msg_txt(sd,1409), Channel_Config.map_chname, map[sd->bl.m].channel ? db_size(map[sd->bl.m].channel->users) : 0);// - #%s (%d users)
    			clif_displaymessage(sd->fd, output);
    		}
    		if( Channel_Config.ally_enable && sd->status.guild_id ) {
    			struct guild *g = sd->guild;
    			if( !g ) return -1; //how can this happen if status.guild_id true ?
    			sprintf(output, msg_txt(sd,1409), Channel_Config.ally_chname, db_size(((struct Channel *)g->channel)->users));// - #%s (%d users)
    			clif_displaymessage(sd->fd, output);
    		}
    		iter = db_iterator(channel_db);
    		for(channel = dbi_first(iter); dbi_exists(iter); channel = dbi_next(iter)) {
    			if( has_perm || channel->type == CHAN_TYPE_PUBLIC ) {
    				sprintf(output, msg_txt(sd,1409), channel->name, db_size(channel->users));// - #%s (%d users)
    				clif_displaymessage(sd->fd, output);
    			}
    		}
    		dbi_destroy(iter);
    	}
    
    	return 0;
    }
    
    /*
     * A user *sd is attempting to create a channel named *chname with pass *chpass
     * return
     *  0 : success
     *  -1 : fail
     */
    int channel_pccreate(struct map_session_data *sd, char *chname, char *chpass){
    	struct Channel *channel;
    	char output[128];
    	int8 res;
    
    	if(!sd || !chname)
    		return 0;
    
    	res = channel_chk(chname,chpass,7);
    	if(res==0){ //success
    		channel = channel_create(chname + 1,chpass,0,CHAN_TYPE_PRIVATE,sd->status.char_id);
    		channel_join(channel,sd);
    		if( !( channel->opt & CHAN_OPT_ANNOUNCE_JOIN ) ) {
    			sprintf(output, msg_txt(sd,1403),chname); // You're now in the '%s' channel.
    			clif_displaymessage(sd->fd, output);
    		}
    	} else { //failure display cause
    		switch(res){
    		case -1: sprintf(output, msg_txt(sd,1405), CHAN_NAME_LENGTH); break;// Channel name must start with '#'.
    		case -2: sprintf(output, msg_txt(sd,1406), CHAN_NAME_LENGTH); break;// Channel length must be between 3 and %d.
    		case -3: sprintf(output, msg_txt(sd,1436), CHAN_NAME_LENGTH); break;// Channel password can't be over %d characters.
    		case -4: sprintf(output, msg_txt(sd,1407), chname);// Channel '%s' is not available.
    		}
    		clif_displaymessage(sd->fd, output);
    		return -1;
    	}
    	return 0;
    }
    
    /*
     * A user *sd is attempting to delete a channel named *chname
     * return
     *  0 : success
     *  -1 : fail
     */
    int channel_pcdelete(struct map_session_data *sd, char *chname){
    	struct Channel *channel;
    	char output[128];
    
    	if(!sd || !chname) return 0;
    
    	if( channel_chk(chname,NULL,1) ) {
    		clif_displaymessage(sd->fd, msg_txt(sd,1405));// Channel name must start with '#'.
    		return -1;
    	}
    
    	channel = channel_name2channel(chname,sd,0);
    	if(channel_pc_haschan(sd,channel)<0){
    		sprintf(output, msg_txt(sd,1425),chname);// You're not part of the '%s' channel.
    		clif_displaymessage(sd->fd, output);
    		return -2; //channel doesn't exist or player don't have it
    	}
    	channel_delete(channel);
    
    	sprintf(output, msg_txt(sd,1448),chname); // Channel '%s' deleted.
    	clif_displaymessage(sd->fd, output);
    
    	return 0;
    }
    
    /*
     * A user *sd is attempting to leave a channel named *chname
     * return
     *  0 : success
     *  -1 : fail
     */
    int channel_pcleave(struct map_session_data *sd, char *chname){
    	struct Channel *channel;
    	char output[128];
    
    	if(!sd || !chname)
    		return 0;
    
    	if( channel_chk(chname,NULL,1) ) {
    		clif_displaymessage(sd->fd, msg_txt(sd,1405));// Channel name must start with '#'.
    		return -1;
    	}
    
    	channel = channel_name2channel(chname,sd,0);
    	if(channel_pc_haschan(sd,channel)<0){
    		sprintf(output, msg_txt(sd,1425),chname);// You're not part of the '%s' channel.
    		clif_displaymessage(sd->fd, output);
    		return -2; //channel doesn't exist or player don't have it
    	}
    
    	if( !Channel_Config.closing && (channel->opt & CHAN_OPT_ANNOUNCE_JOIN) ) {
    		char message[60];
    		sprintf(message, "#%s '%s' left",channel->name,sd->status.name);
    		clif_channel_msg(channel,sd,message,channel->color);
    	}
    	switch(channel->type){
    	case CHAN_TYPE_ALLY: channel_pcquit(sd,3); break;
    	case CHAN_TYPE_MAP: channel_pcquit(sd,4); break;
    	default: //private and public atm
    		channel_clean(channel,sd,0);
    	}
    
    	sprintf(output, msg_txt(sd,1426),chname); // You've left the '%s' channel.
    	clif_displaymessage(sd->fd, output);
    	return 0;
    }
    
    /*
     * A user *sd is attempting to join a channel named *chname
     * return
     *  0 : success
     *  -1 : fail
     */
    int channel_pcjoin(struct map_session_data *sd, char *chname, char *pass){
    	struct Channel *channel;
    	char output[128];
    
    	if(!sd || !chname)
    		return 0;
    
    	if( channel_chk(chname,NULL,1) ) {
    		clif_displaymessage(sd->fd, msg_txt(sd,1405));// Channel name must start with '#'.
    		return -1;
    	}
    
    	channel = channel_name2channel(chname,sd,1);
    	if(channel){
    		if(channel_haspc(channel,sd)==1) {
    			sprintf(output, msg_txt(sd,1434),chname); // You're already in the '%s' channel.
    			clif_displaymessage(sd->fd, output);
    			return -1;
    		}
    		else if( channel->pass[0] != '\0') { //chan has a pass
    			if(strcmp(channel->pass,pass) != 0){ //wrong pass entry
    				if( pc_has_permission(sd, PC_PERM_CHANNEL_ADMIN) ) {
    					sd->stealth = true;
    				} else {
    					sprintf(output, msg_txt(sd,1401),chname,"@join"); // Channel '%s' is password-protected (usage: %s <#channel_name> <password>).
    					clif_displaymessage(sd->fd, output);
    					return -1;
    				}
    			}
    		}
    	}
    	else {
    		sprintf(output, msg_txt(sd,1400),chname,"@join"); // Unknown channel '%s' (usage: %s <#channel_name>).
    		clif_displaymessage(sd->fd, output);
    		return -1;
    	}
    
    	if( !( channel->opt & CHAN_OPT_ANNOUNCE_JOIN ) ) {
    		sprintf(output, msg_txt(sd,1403),chname); // You're now in the '%s' channel.
    		clif_displaymessage(sd->fd, output);
    	}
    
    	switch(channel->type){
    	case CHAN_TYPE_ALLY: channel_gjoin(sd,3); break;
    	case CHAN_TYPE_MAP: channel_mjoin(sd); break;
    	default: //private and public atm
    		channel_join(channel,sd);
    	}
    
    	return 0;
    }
    
    /*
     * A user *sd is attempting to change color with *color of  a channel named *chname
     * return
     *  0 : success
     *  -1 : fail
     */
    int channel_pccolor(struct map_session_data *sd, char *chname, char *color){
    	struct Channel *channel;
    	char output[128];
    	int k;
    
    	if(!sd)
    		return 0;
    
    	if( channel_chk(chname,NULL,1) ) {
    		clif_displaymessage(sd->fd, msg_txt(sd,1405));// Channel name must start with '#'.
    		return -1;
    	}
    
    
    	channel = channel_name2channel(chname,sd,0);
    	if( !channel ) {
    		sprintf(output, msg_txt(sd,1407), chname);// Channel '%s' is not available.
    		clif_displaymessage(sd->fd, output);
    		return -1;
    	}
    
    	if( channel->owner != sd->status.char_id && !pc_has_permission(sd, PC_PERM_CHANNEL_ADMIN) ) {
    		sprintf(output, msg_txt(sd,1412), chname);// You're not the owner of channel '%s'.
    		clif_displaymessage(sd->fd, output);
    		return -1;
    	}
    
    	ARR_FIND(0,Channel_Config.colors_count,k,( strcmpi(color,Channel_Config.colors_name[k]) == 0 ) );
    	if( k >= Channel_Config.colors_count ) {
    		sprintf(output, msg_txt(sd,1411), color);// Unknown color '%s'.
    		clif_displaymessage(sd->fd, output);
    		return -1;
    	}
    	channel->color = k;
    	sprintf(output, msg_txt(sd,1413),chname,Channel_Config.colors_name[k]);// '%s' channel color updated to '%s'.
    	clif_displaymessage(sd->fd, output);
    	return 0;
    }
    
    /*
     * A user *sd is attempting to bind (make default message output display chan talk)
     * from a channel named *chname
     * return
     *  0 : success
     *  -1 : fail
     */
    int channel_pcbind(struct map_session_data *sd, char *chname){
    	struct Channel *channel;
    	char output[128];
    
    	if(!sd)
    		return 0;
    
    	if( channel_chk(chname,NULL,1) ) {
    		clif_displaymessage(sd->fd, msg_txt(sd,1405));// Channel name must start with '#'.
    		return -1;
    	}
    
    	channel = channel_name2channel(chname,sd,0);
    	if(channel_pc_haschan(sd,channel)<0){
    		sprintf(output, msg_txt(sd,1425),chname);// You're not part of the '%s' channel.
    		clif_displaymessage(sd->fd, output);
    		return -2; //channel doesn't exist or player don't have it
    	}
    	sd->gcbind = channel;
    	sprintf(output, msg_txt(sd,1431),chname); // Your global chat is now binded to the '%s' channel.
    	clif_displaymessage(sd->fd, output);
    	return 0;
    }
    
    /*
     * A user *sd is attempting to unbind
     * return
     *  0 : success
     *  -1 : fail
     */
    int channel_pcunbind(struct map_session_data *sd){
    	char output[128];
    
    	if(!sd)
    		return 0;
    
    	if( sd->gcbind == NULL ) {
    		clif_displaymessage(sd->fd, msg_txt(sd,1432));// Your global chat is not binded to any channel.
    		return -1;
    	}
    	sprintf(output, msg_txt(sd,1433),sd->gcbind->name); // Your global chat is now unbinded from the '#%s' channel.
    	clif_displaymessage(sd->fd, output);
    	sd->gcbind = NULL;
    	return 0;
    }
    
    /*
     * A user *sd is attempting to do something with the banlist
     * @flag == 0 : ban
     * @flag == 1 : unban
     * @flag == 2 : unbanall
     * @flag == 3 : banlist
     *  return
     *  0 : success
     *  -1 : fail
     */
    int channel_pcban(struct map_session_data *sd, char *chname, struct map_session_data *tsd, int flag){
    	struct Channel *channel;
    	char output[128];
    
    	if( channel_chk(chname,NULL,1) ) {
    		clif_displaymessage(sd->fd, msg_txt(sd,1405));// Channel name must start with '#'.
    		return -1;
    	}
    
    	channel = channel_name2channel(chname,sd,0);
    	if( !channel ) {
    		sprintf(output, msg_txt(sd,1407), chname);// Channel '%s' is not available.
    		clif_displaymessage(sd->fd, output);
    		return -1;
    	}
    
    	if( channel->owner != sd->status.char_id && !pc_has_permission(sd, PC_PERM_CHANNEL_ADMIN) ) {
    		sprintf(output, msg_txt(sd,1412), chname);// You're not the owner of channel '%s'.
    		clif_displaymessage(sd->fd, output);
    		return -1;
    	}
    
    	if(flag != 2 && flag != 3){
    		char banned;
    		if(!tsd || pc_has_permission(tsd, PC_PERM_CHANNEL_ADMIN) ) {
    			sprintf(output, msg_txt(sd,1464), tsd->status.name);// Ban failed for player '%s'.
    			clif_displaymessage(sd->fd, output);
    			return -1;
    		}
    
    		banned = channel_haspcbanned(channel,tsd);
    		if(!flag &&  banned==1) {
    			sprintf(output, msg_txt(sd,1465), tsd->status.name);// Player '%s' is already banned from this channel.
    			clif_displaymessage(sd->fd, output);
    			return -1;
    		}
    		else if(flag==1 && banned==0) {
    			sprintf(output, msg_txt(sd,1440), tsd->status.name);// Player '%s' is not banned from this channel.
    			clif_displaymessage(sd->fd, output);
    			return -1;
    		}
    	}
    	else {
    		if( !db_size(channel->banned) ) {
    			sprintf(output, msg_txt(sd,1439), chname);// Channel '%s' contains no banned players.
    			clif_displaymessage(sd->fd, output);
    			return -1;
    		}
    	}
    
    	//let properly alter the list now
    	switch(flag){
    	case 0: {
    		struct chan_banentry *cbe;
    		CREATE(cbe, struct chan_banentry, 1);
    		cbe->char_id = tsd->status.char_id;
    		strcpy(cbe->char_name,tsd->status.name);
    		idb_put(channel->banned, tsd->status.char_id, cbe);
    		channel_clean(channel,tsd,0);
    		sprintf(output, msg_txt(sd,1437),tsd->status.name,chname); // Player '%s' is banned from the '%s' channel.
    		break;
    		}
    	case 1:
    		idb_remove(channel->banned, tsd->status.char_id);
    		sprintf(output, msg_txt(sd,1441),tsd->status.name,chname); // Player '%s' is unbanned from the '%s' channel.
    		break;
    	case 2:
    		db_clear(channel->banned);
    		sprintf(output, msg_txt(sd,1442),chname); // Cleared all bans from the '%s' channel.
    		break;
    	case 3: {
    		DBIterator *iter = db_iterator(channel->banned);
    		struct chan_banentry *cbe;
    		sprintf(output, msg_txt(sd,1443), channel->name);// ---- '#%s' Ban List:
    		clif_displaymessage(sd->fd, output);
    		for( cbe = dbi_first(iter); dbi_exists(iter); cbe = dbi_next(iter) ) { //for all users
    			sprintf(output, "%d: %s",cbe->char_id,cbe->char_name);
    			clif_displaymessage(sd->fd, output);
    		}
    		dbi_destroy(iter);
    		}
    		return 0;
    	}
    	clif_displaymessage(sd->fd, output);
    
    	return 0;
    }
    
    /*
     * A user *sd is attempting to set an option on channel named *chname
     * @chname = channel name
     * @option = available = opt_str
     * @val = value to assign to option
     * return
     *  0 : success
     *  -1 : fail
     */
    int channel_pcsetopt(struct map_session_data *sd, char *chname, const char *option, const char *val){
    	struct Channel *channel;
    	char output[128];
    	int k, s=0;
    	const char* opt_str[] = {
    		"None",
    		"JoinAnnounce",
    		"MessageDelay",
    		"ColorOverride",
    	};
    
    	if( channel_chk(chname,NULL,1) ) {
    		clif_displaymessage(sd->fd, msg_txt(sd,1405));// Channel name must start with '#'.
    		return -1;
    	}
    
    	channel = channel_name2channel(chname,sd,0);
    	if( !channel ) {
    		sprintf(output, msg_txt(sd,1407), chname);// Channel '%s' is not available.
    		clif_displaymessage(sd->fd, output);
    		return -1;
    	}
    
    	if( channel->owner != sd->status.char_id && !pc_has_permission(sd, PC_PERM_CHANNEL_ADMIN) ) {
    		sprintf(output, msg_txt(sd,1412), chname);// You're not the owner of channel '%s'.
    		clif_displaymessage(sd->fd, output);
    		return -1;
    	}
    
    	if(!option || option == '\0' ) {
    		clif_displaymessage(sd->fd, msg_txt(sd,1446));// You need to input an option.
    		return -1;
    	}
    
    	s = ARRAYLENGTH(opt_str);
    	ARR_FIND(1,s,k,( strncmpi(option,opt_str[k],3) == 0 )); //we only cmp 3 letter atm
    	if( k >= s ) {
    		sprintf(output, msg_txt(sd,1447), option);// Unknown channel option '%s'.
    		clif_displaymessage(sd->fd, output);
    		clif_displaymessage(sd->fd, msg_txt(sd,1414));// ---- Available options:
    		for( k = 1; k < s; k++ ) {
    			sprintf(output, msg_txt(sd,1445), opt_str[k]);// - '%s'
    			clif_displaymessage(sd->fd, output);
    		}
    		return -1;
    	}
    
    	if( val[0] == '\0' ) {
    		if ( k == CHAN_OPT_MSG_DELAY ) {
    			sprintf(output, msg_txt(sd,1466), opt_str[k]);// Input the number of seconds (0-10) for the '%s' option.
    			clif_displaymessage(sd->fd, output);
    			return -1;
    		} else if( channel->opt & k ) {
    			sprintf(output, msg_txt(sd,1449), opt_str[k],opt_str[k]); // Option '%s' is already enabled (use '@channel setopt %s 0' to disable).
    			clif_displaymessage(sd->fd, output);
    			return -1;
    		} else {
    			channel->opt |= k;
    			sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '#%s'.
    			clif_displaymessage(sd->fd, output);
    		}
    	} else {
    		int v = atoi(val);
    		if( k == CHAN_OPT_MSG_DELAY ) {
    			if( v < 0 || v > 10 ) {
    				sprintf(output, msg_txt(sd,1451), v, opt_str[k]);// Value '%d' for option '%s' is out of range (limit 0-10).
    				clif_displaymessage(sd->fd, output);
    				return -1;
    			}
    			if( v == 0 ) {
    				channel->opt &=~ k;
    				channel->msg_delay = 0;
    				sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name,v);// Option '%s' is disabled for channel '#%s'.
    				clif_displaymessage(sd->fd, output);
    			} else {
    				channel->opt |= k;
    				channel->msg_delay = v;
    				sprintf(output, msg_txt(sd,1452), opt_str[k],channel->name,v);// Option '%s' is enabled for channel '#%s' at %d seconds.
    				clif_displaymessage(sd->fd, output);
    			}
    		} else {
    			if( v ) {
    				if( channel->opt & k ) {
    					sprintf(output, msg_txt(sd,1449), opt_str[k],opt_str[k]); // Option '%s' is already enabled (use '@channel setopt %s 0' to disable).
    					clif_displaymessage(sd->fd, output);
    					return -1;
    				} else {
    					channel->opt |= k;
    					sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '#%s'.
    					clif_displaymessage(sd->fd, output);
    				}
    			} else {
    				if( !(channel->opt & k) ) {
    					sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name); // Option '%s' is enabled for channel '#%s'.
    					clif_displaymessage(sd->fd, output);
    					return -1;
    				} else {
    					channel->opt &=~ k;
    					sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name);// Option '%s' is disabled for channel '#%s'.
    					clif_displaymessage(sd->fd, output);
    				}
    			}
    		}
    	}
    	return 0;
    }
    
    /*
     * Read and verify configuration in confif_filename
     * Assign table value with value
     */
    void channel_read_config(void) {
    	config_t channels_conf;
    	config_setting_t *chsys = NULL;
    	const char *config_filename = "conf/channels.conf"; // FIXME hardcoded name
    
    	if (conf_read_file(&channels_conf, config_filename))
    		return;
    
    	chsys = config_lookup(&channels_conf, "chsys");
    
    	if (chsys != NULL) {
    		config_setting_t *settings = config_setting_get_elem(chsys, 0);
    		config_setting_t *channels;
    		config_setting_t *colors;
    		int i,k;
    		const char *map_chname, *ally_chname,*map_color, *ally_color;
    		int ally_enabled = 0, local_enabled = 0;
    		int local_autojoin = 0, ally_autojoin = 0;
    		int allow_user_channel_creation = 0;
    
    		if( !config_setting_lookup_string(settings, "map_local_channel_name", &map_chname) )
    			map_chname = "map";
    		safestrncpy(Channel_Config.map_chname, map_chname, CHAN_NAME_LENGTH);
    
    		if( !config_setting_lookup_string(settings, "ally_channel_name", &ally_chname) )
    			ally_chname = "ally";
    		safestrncpy(Channel_Config.ally_chname, ally_chname, CHAN_NAME_LENGTH);
    
    		config_setting_lookup_bool(settings, "map_local_channel", &local_enabled);
    		config_setting_lookup_bool(settings, "ally_channel_enabled", &ally_enabled);
    
    		if( local_enabled )
    			Channel_Config.map_enable = true;
    		if( ally_enabled )
    			Channel_Config.ally_enable = true;
    
    		config_setting_lookup_bool(settings, "map_local_channel_autojoin", &local_autojoin);
    		config_setting_lookup_bool(settings, "ally_channel_autojoin", &ally_autojoin);
    
    		if( local_autojoin )
    			Channel_Config.map_autojoin = true;
    		if( ally_autojoin )
    			Channel_Config.ally_autojoin = true;
    
    		config_setting_lookup_bool(settings, "allow_user_channel_creation", &allow_user_channel_creation);
    
    		if( allow_user_channel_creation )
    			Channel_Config.user_chenable = true;
    
    		if( (colors = config_setting_get_member(settings, "colors")) != NULL ) {
    			int color_count = config_setting_length(colors);
    			CREATE( Channel_Config.colors, unsigned long, color_count );
    			CREATE( Channel_Config.colors_name, char *, color_count );
    			for(i = 0; i < color_count; i++) {
    				config_setting_t *color = config_setting_get_elem(colors, i);
    				CREATE( Channel_Config.colors_name[i], char, CHAN_NAME_LENGTH );
    
    				safestrncpy(Channel_Config.colors_name[i], config_setting_name(color), CHAN_NAME_LENGTH);
    				Channel_Config.colors[i] = strtoul(config_setting_get_string_elem(colors,i),NULL,0);
    				Channel_Config.colors[i] = (Channel_Config.colors[i] & 0x0000FF) << 16 | (Channel_Config.colors[i] & 0x00FF00) | (Channel_Config.colors[i] & 0xFF0000) >> 16;//RGB to BGR
    			}
    			Channel_Config.colors_count = color_count;
    		}
    
    		config_setting_lookup_string(settings, "map_local_channel_color", &map_color);
    
    		for (k = 0; k < Channel_Config.colors_count; k++) {
    			if( strcmpi(Channel_Config.colors_name[k],map_color) == 0 )
    				break;
    		}
    
    		if( k < Channel_Config.colors_count ) {
    			Channel_Config.map_chcolor = k;
    		} else {
    			ShowError("channels.conf: unknown color '%s' for 'map_local_channel_color', disabling '#%s'...\n",map_color,map_chname);
    			Channel_Config.map_enable = false;
    		}
    
    		config_setting_lookup_string(settings, "ally_channel_color", &ally_color);
    
    		for (k = 0; k < Channel_Config.colors_count; k++) {
    			if( strcmpi(Channel_Config.colors_name[k],ally_color) == 0 )
    				break;
    		}
    
    		if( k < Channel_Config.colors_count ) {
    			Channel_Config.ally_chcolor = k;
    		} else {
    			ShowError("channels.conf: unknown color '%s' for 'ally_channel_color', disabling '#%s'...\n",ally_color,ally_chname);
    			Channel_Config.ally_enable = false;
    		}
    
    		if( (channels = config_setting_get_member(settings, "default_channels")) != NULL ) {
    			int channel_count = config_setting_length(channels);
    
    			for(i = 0; i < channel_count; i++) {
    				config_setting_t *channel = config_setting_get_elem(channels, i);
    				const char *color = config_setting_get_string_elem(channels,i);
    				char *name = config_setting_name(channel);
    				struct Channel *chd;
    
    				for (k = 0; k < Channel_Config.colors_count; k++) {
    					if( strcmpi(Channel_Config.colors_name[k],color) == 0 )
    						break;
    				}
    				if( k == Channel_Config.colors_count ) {
    					ShowError("channels.conf: unknown color '%s' for channel '%s', skipping channel...\n",color,name);
    					continue;
    				}
    				if( strcmpi(name,Channel_Config.map_chname) == 0 || strcmpi(name,Channel_Config.ally_chname) == 0 || strdb_exists(channel_db, name) ) {
    					ShowError("channels.conf: duplicate channel '%s', skipping channel...\n",name);
    					continue;
    				}
    				chd = channel_create(name,NULL,k,CHAN_TYPE_PUBLIC,0);
    			}
    		}
    
    		ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' channels in '"CL_WHITE"%s"CL_RESET"'.\n", db_size(channel_db), config_filename);
    		config_destroy(&channels_conf);
    	}
    }
    
    /*
     * Initialise db and read config
     * return
     *  0 : success
     */
    int do_init_channel(void) {
    	channel_db = stridb_alloc(DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA, CHAN_NAME_LENGTH);
    	Channel_Config.ally_enable = Channel_Config.map_enable = Channel_Config.ally_autojoin = Channel_Config.map_autojoin = false;
    	channel_read_config();
    	return 0;
    }
    
    /*
     * Close all and cleanup
     * NB map and guild need to cleanup their chan as well
     */
    void do_final_channel(void) {
    	DBIterator *iter;
    	struct Channel *channel;
    	int i=0;
    
    	//delete all in remaining chan db
    	iter = db_iterator(channel_db);
    	for( channel = dbi_first(iter); dbi_exists(iter); channel = dbi_next(iter) ) {
    		channel_delete(channel);
    	}
    	dbi_destroy(iter);
    	//at this point all user should have left their channel (private and public should be gone)
    	db_destroy(channel_db);
    
    	//delete all color thing
    	if( Channel_Config.colors_count ) {
    		for(i = 0; i < Channel_Config.colors_count; i++) {
    			aFree(Channel_Config.colors_name[i]);
    		}
    		aFree(Channel_Config.colors_name);
    		aFree(Channel_Config.colors);
    	}
    }
     

     

    channel.h

    // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
    // For more information, see LICENCE in the main folder
    
    #ifndef CHANNEL_H
    #define	CHANNEL_H
    
    #include "pc.h"
    
    #ifdef	__cplusplus
    extern "C" {
    #endif
    
    #define CHAN_NAME_LENGTH 20
    #define CHAN_MSG_LENGTH 150
    
    enum Channel_Opt {
    	CHAN_OPT_BASE		= 0,
    	CHAN_OPT_ANNOUNCE_JOIN	= 1,	//display message when join or leave
    	CHAN_OPT_MSG_DELAY	= 2,
    	CHAN_OPT_COLOR_OVERRIDE = 3,
    };
    
    enum Channel_Type {
    	CHAN_TYPE_PUBLIC	= 0,	//config file made
    	CHAN_TYPE_PRIVATE	= 1,	//user made
    	CHAN_TYPE_MAP		= 2,	//made by map
    	CHAN_TYPE_ALLY		= 3,	//guild
    };
    
    struct {
    	unsigned long *colors;		//color avail int list
    	char **colors_name;		//colors avail name list
    	unsigned char colors_count;	//color avail count
    	unsigned char map_chcolor, ally_chcolor; //msg color for map, ally
    	bool map_enable, ally_enable, user_chenable; //map, ally, users channels enable ?
    	bool map_autojoin, ally_autojoin;	//do user auto join in mapchange, guildjoin ?
    	char map_chname[CHAN_NAME_LENGTH], ally_chname[CHAN_NAME_LENGTH]; //channel name for map and ally
    	bool closing;			//server is closing
    } Channel_Config;
    
    struct Channel {
    	char name[CHAN_NAME_LENGTH];	//channel name
    	char pass[CHAN_NAME_LENGTH];	//channel password
    	unsigned char color;		//msg color
    	DBMap *users;			//users in channel charid list
    	DBMap *banned;			//users banned from channel charid list
    	enum Channel_Opt opt;		//flag for some treatement
    	enum Channel_Type type;		//type of channel
    	unsigned int owner;		//if chan_type private charid of creator
    	uint16 m;			//if chan_type map guild_id
    	int gid;			//if chan_type guild type guild_id
    	unsigned char msg_delay;	//delay in second if opt_msg_delay
    };
    
    DBMap* channel_get_db(void);
    
    struct Channel* channel_create(char *name, char *pass, unsigned char color, enum Channel_Type chantype, int val);
    int channel_delete(struct Channel *channel);
    
    int channel_join(struct Channel *channel, struct map_session_data *sd);
    int channel_mjoin(struct map_session_data *sd);
    int channel_gjoin(struct map_session_data *sd, int flag);
    int channel_ajoin(struct guild *g);
    int channel_clean(struct Channel *channel, struct map_session_data *sd, int flag);
    int channel_pcquit(struct map_session_data *sd, int type);
    
    int channel_send(struct Channel *channel, struct map_session_data *sd, const char *msg);
    void channel_read_config(void);
    
    int channel_chk(char *name, char *pass, int type);
    struct Channel* channel_name2channel(char *chname, struct map_session_data *sd, int flag);
    int channel_haspc(struct Channel *channel,struct map_session_data *sd);
    int channel_haspcbanned(struct Channel *channel,struct map_session_data *sd);
    int channel_pc_haschan(struct map_session_data *sd, struct Channel *channel);
    int channel_display_list(struct map_session_data *sd, char *option);
    
    int channel_pccreate(struct map_session_data *sd, char *chname, char *pass);
    int channel_pcdelete(struct map_session_data *sd, char *chname);
    int channel_pcjoin(struct map_session_data *sd, char *chname, char *pass);
    int channel_pcleave(struct map_session_data *sd, char *chname);
    int channel_pccolor(struct map_session_data *sd, char *chname, char *color);
    int channel_pcbind(struct map_session_data *sd, char *chname);
    int channel_pcunbind(struct map_session_data *sd);
    int channel_pcban(struct map_session_data *sd, char *chname, struct map_session_data *tsd, int flag);
    int channel_pcsetopt(struct map_session_data *sd, char *chname, const char *option, const char *val);
    
    int do_init_channel(void);
    void do_final_channel(void);
    
    #ifdef	__cplusplus
    }
    #endif
    
    #endif	/* CHANNEL_H */
    
    

    these files were not touched ever since the clean trunk has been downloaded

     

    don't have a clue on how to fix this since i generally edit skill.c battle.c atcommand.c and status.c only, please help

  7. Problem resolved. What happens now is:

     

    pally->devo->partymember(both pk on)=success

    pally->devo->partymember(both pk off)=success

    pally->devo->partymember(different pk state)=fail

     

     

    I have to do some reworking on battle_check_target in battle.c, as well as some slight modifications in skill_castend_nodamage_id in skill.c

     

    Did test runs in my test server and everything works. However, by editing battle_check_target which is used by almost ALL functions, I fear there are bugs that might be present. Please check my code below.

     

    ===========================================================================
    battle.c/battle_check_target(block list *src, block list *target, int flag)
    line no. 5351-5371
    ===========================================================================
    switch( t_bl->type )
    	{	//Checks on target master
    		case BL_PC:
    		{
    			struct map_session_data *ssd=BL_CAST(BL_PC,s_bl);//custom; added ssd for enabling use of support skills on party members in pvp maps, stores map_session_data for source of attack/skill
    			struct map_session_data *sd;
    			if( t_bl == s_bl ) break;
    			sd = BL_CAST(BL_PC, t_bl);
    
    			if( sd->state.monster_ignore && flag&BCT_ENEMY )
    				return 0; // Global inminuty only to Attacks
    			/*custom;added for pk mode, modified implementation of anti-pk protection and allows use of support skills on party members with identical pk status:
    Original code provided was:[for reference]	
    			if( map[m].flag.pvp && sd->state.pk_mode&& flag&BCT_ENEMY && s_bl->type != BL_MOB )
    				return 0;
    			*/
    			if( map[m].flag.pvp && sd->state.pk_mode==1 && flag&BCT_ENEMY && s_bl->type != BL_MOB ){
    				if(sd->status.party_id==ssd->status.party_id)
    					state|=BCT_PARTY;
    				else
    					return 0;}//end custom
    ===========================================================================
    battle.c/battle_check_target(block list *src, block list *target, int flag)
    line no. 5418-5449
    ===========================================================================
    switch( s_bl->type )
    	{	//Checks on source master
    		case BL_PC:
    		{
    			struct map_session_data *sd = BL_CAST(BL_PC, s_bl);
    			struct map_session_data *tsd = BL_CAST(BL_PC,t_bl);//custom; added tsd to allow use of support skills on party members in pvp maps, stores the target of attack/skill
    			if( s_bl != t_bl )
    			{
    				if( sd->state.killer )
    				{
    					state |= BCT_ENEMY; // Can kill anything
    					strip_enemy = 0;
    				}
    				else if( sd->duel_group && !((!battle_config.duel_allow_pvp && map[m].flag.pvp) || (!battle_config.duel_allow_gvg && map_flag_gvg(m))) )
    		  		{
    					if( t_bl->type == BL_PC && (sd->duel_group == ((TBL_PC*)t_bl)->duel_group) )
    						return (BCT_ENEMY&flag)?1:-1; // Duel targets can ONLY be your enemy, nothing else.
    					else
    						return 0; // You can't target anything out of your duel
    				}
    			/*custom;added for pk mode, modified implementation of anti-pk protection and allows use of support skills on party members with identical pk status:
    Original code provided was:[for reference]	
    			    else if( map[m].flag.pvp && sd->state.pk_mode&& flag&BCT_ENEMY && s_bl->type != BL_MOB )
    					return 0;
    			*/			
    				else if( map[m].flag.pvp && sd->state.pk_mode==1 && t_bl->type != BL_MOB){
    					if(sd->status.party_id==tsd->status.party_id)
    						state|=BCT_PARTY;
    					else
    						return 0;
    				}
    			}//end custom
    

    here is the code from the modified skill.c

    =================================================================================================================
    skill.c/skill_castend_nodamage_id(block_list* src, block_list* bl, uint16 skill_id, uint16 skill_lv, unsigned int tick, int flag)
    line no. 5617- 5686
    =================================================================================================================
    case ML_DEVOTION:
    case CR_DEVOTION:
    		{
    			int count, lv;
    			if( !dstsd || (!sd && !mer) )
    			{ // Only players can be devoted
    				if( sd )
    					clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
    				break;
    			}
    
    			if( (lv = status_get_lv(src) - dstsd->status.base_level) < 0 )
    				lv = -lv;
    			if( lv > battle_config.devotion_level_difference || // Level difference requeriments
    				(dstsd->sc.data[type] && dstsd->sc.data[type]->val1 != src->id) || // Cannot Devote a player devoted from another source
    				(skill_id == ML_DEVOTION && (!mer || mer != dstsd->md)) || // Mercenary only can devote owner
    				(dstsd->class_&MAPID_UPPERMASK) == MAPID_CRUSADER || // Crusader Cannot be devoted
    				(dstsd->sc.data[SC_HELLPOWER])) // Players affected by SC_HELLPOWERR cannot be devoted.
    			{
    				if( sd )
    					clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
    				map_freeblock_unlock();
    				return 1;
    			}
    
    			i = 0;
    			count = (sd)? min(skill_lv,5) : 1; // Mercenary only can Devote owner
    			if( sd )
    			{ // Player Devoting Player
    				int devo=battle_check_target(src,bl,BCT_PARTY);//custom; added devo for allowing devotion on party members with identical pk states, stores the result of battle_check_target to see if the target with relation to the caster are party members
    				struct map_session_data *devsd=BL_CAST(BL_PC,bl);//custom; added devsd for allowing devotion on party members with identical pk states, stores map_session_data of target
    				ARR_FIND(0, count, i, sd->devotion[i] == bl->id );	
    				if( i == count )
    				{		
    					ARR_FIND(0, count, i, sd->devotion[i] == 0 );
    					if( i == count )
    					{ // No free slots, skill Fail
    						clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
    						map_freeblock_unlock();
    						return 1;
    					}
    					//custom; allows use of Devotion (CR_DEVOTION) on party members with identical pk states
    					if(devo == -1){//Not in party of the caster
    						clif_displaymessage(sd->fd,"Can't cast devotion on non-party members");
    						clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
    						map_freeblock_unlock();
    						return 1;
    					}			
    				}
    				if(devo == 1 && sd->state.pk_mode==devsd->state.pk_mode){//is a party member and has the same pk state
    					sd->devotion[i] = bl->id;
    				}
    				else if(devo == 1 && sd->state.pk_mode!=devsd->state.pk_mode){//is a party member but has a different pk state
    					clif_displaymessage(sd->fd,"Can't use Devotion on party members with a different pk mode; ensure ALL of your party members have the same pk mode");
    					clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
    					map_freeblock_unlock();
    					return 1;
    				}
    				else//added just in case of unknown errors
    				clif_displaymessage(sd->fd,"Unknown logic error; please report the error to a GM");
    					//end custom
    
    • Upvote 1
  8. Is there anyway we can include our num2itemdescnametable.txt in items folder and it would be read when viewing item in item db, that way we can hide our scripts for possible theft :D

    and people who dont have any idea on reading itemscripts would just read the item desc, and not wonder what exactly the item does.

  9. Hello, we've recently made a custom flux theme on Xantara's flux cp

    only problem we have now is the admin menu, though the "You are currently logged in as User on RO server" shows normally

    here are some snippets:

    on custom theme:

    Capture1.png

    this is how its suppsed to show

    Capture3.png

     

    User's group ID is 99

    in header.php

    the main/loginbox.php

    is included before submenu.php and pagemenu.php



    bump :D

    I fixed it :)

  10. How to remove the Scripts line displayed when viewing an item in the database?

    Capture-1.png

     

    i wish to hide the item/equipment scripts,, im using Xantara's flux CP


    im sorry but i need to sleep be back tomorrow,

×
×
  • Create New...