Vanilla

Developer
  • Content count

    307
  • Joined

  • Last visited

Vanilla last won the day on March 21

Vanilla had the most liked content!

Community Reputation

823 Unstoppable

About Vanilla

  • Rank
    Noble
  • Birthday

Profile Information

  • Gender
    Female
  • Location
    Germany

Recent Profile Visitors

6,182 profile views
  1. But he is absolutely right. The Client normally doesn't handle damage values if there's a critical hit. Though there's still something implemented which you can use for your needs. The client is able to display different styles depending on the damage types. For example poison could possibly be showed in a different style - and critical hits too. He even showed you the line which does that. Normally it's commented so the client doesn't use it. If you remove the comment, the client will use the critical.mse to determine the way it shows critical hits. And in effect\affect\damagevalue you can find everything you need, even the critical.mse with which you can display different colors. In your case that is violet. I think both of you need to calm down a bit... There's no need for insulting each other. We don't need prejudices against romanian people and we also do need to insult others as idiots.. especially when they present you the solution to your problem.
  2. Are there any relevant logs? Check syslog at the time you're opening the cube and place some items. This way we can determine if there's any error or strange behaviour from the server. Not being able to place items could also be related to the clientside part but I wouldn't count on that.
  3. most of the stuff is in the client source as the colors are defined by the damage type. For example if the damage you're dealing is marked as a critical strike, the client chooses different files for displaying the damage. You need to change that in the source, it's not too difficult once you've found it.
  4. you can simply replace the g++ with c++ but if the source isn't adapted you may run into some problems when compiling with clang. You'll have to make some changes to the source.
  5. check your Makefile and change your g++ to a compiler that's actually present in the system. g++ is from older systems where gnu cc was the standard compiler. Now we have clang and there you'd use c++ or install a compiler manually. This way you can also install and use gcc but you shouldn't use "g++" as your compiler in your Makefile.
  6. Regarding "Questions and answers". Wouldn't it be best if you can create a coloured tag [SOLVED] and a red tag [OPEN] so everyone can see if the question is already done or not? Of course this may require some cleanup from mods since users won't always set a thread to solved... But I think this way you have a better overview and if you search the board you can see similar topics which may have been answered.
  7. That's actually a quite good idea. Next vanilla release will have a offline message system based on c++ and txt. Also mail system incoming. With open source you can just get it from the vanilla sources then. No need to pay
  8. if you're force closing your server you'll get serious trouble. You'd check that you're doing a so called grace shutdown. Give your server time to sync the dbcache with your database. Otherwise you'll loose items. That's why companies have a larger span of time for their maintenances.
  9. Thank you everyone for the kind feedback. next build is coming soon. If everything goes as planned we'll hit stable soon. And no, I don't plan on releasing a bin like I do it with the core. Maybe some day in the future but currently there are no plans. I'm also onto the problem with compiling under release mode and I think I found it. Next build should work without any problems in release mode
  10.  

    please source for vs 2013 or 2015 for windows server files vanilla anymore pleaseeeeeeeeeeeeeeeeee :(

     
  11. I fixed the download link, now you can download the compiled version
  12. @Hik: Please post a backtrace. Otherwise we're unable to help you.
  13. Run config.exe and have a look at "frequency". This is the setting where you can change the fps cap. Note that in the default config it's only possible to switch between 30 and 60. You may change that if you're building your own config. The setting is saved in metin2.cfg where you can change it too
  14. hay can you tell me
    how i can add effect from the client side (with code)
    i do this step 
    I go to  playersettingmodule.py   and i add this 
        BuffStr = "d:/ymir work/effect/etc/buff/"  under EmoticonStr = "d:/ymir work/effect/etc/emoticon/"  
    after this I add 
    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+12, "", BuffStr+"redfenix.mse")
        net.RegisterEmoticonString("(b8)") 
    under this
    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+11, "", EmoticonStr+"fish.mse")
    net.RegisterEmoticonString("(fish)")
     after this i go to game.py I add this
    "buff8"                    : self.__buff8,
    under 
    "mall"                    : self.__InGameShop_Show  
    in the final I add this  
    # Buff
    def __buff8(self):
    net.SendChatPacket("(b8)") 
    # End Buff  
    under this 
    def AskSafeboxPassword(self):
    but when i run the game i gut this error 
    p_397rjsde1.png
    pls i want fix for this problem i need to be able to add effect like this
    if any body make this error or say to me what should i do 
    iwont forrget this favor
     

    1. Show previous comments  3 more
    2. Aliremawi

      Aliremawi

      just moment please i will upload it now

      http://www.mediafire.com/file/ibzz6hbonb9dr6z/playersettingmodule.rar

      or

      	import chr
      import chrmgr
      import skill
      import net
      import item
      import player
      import effect
      import constInfo
      import localeInfo
      import emotion
      	import app
      	JOB_WARRIOR        = 0
      JOB_ASSASSIN    = 1
      JOB_SURA        = 2
      JOB_SHAMAN        = 3
      JOB_WOLFMAN        = 4
      	RACE_WARRIOR_M    = 0
      RACE_ASSASSIN_W    = 1
      RACE_SURA_M        = 2
      RACE_SHAMAN_W    = 3
      RACE_WARRIOR_W    = 4
      RACE_ASSASSIN_M    = 5
      RACE_SURA_W        = 6
      RACE_SHAMAN_M    = 7
      RACE_WOLFMAN_M    = 8
      	COMBO_TYPE_1 = 0
      COMBO_TYPE_2 = 1
      COMBO_TYPE_3 = 2
      	COMBO_INDEX_1 = 0
      COMBO_INDEX_2 = 1
      COMBO_INDEX_3 = 2
      COMBO_INDEX_4 = 3
      COMBO_INDEX_5 = 4
      COMBO_INDEX_6 = 5
      	HORSE_SKILL_WILDATTACK = chr.MOTION_SKILL+121
      HORSE_SKILL_CHARGE = chr.MOTION_SKILL+122
      HORSE_SKILL_SPLASH = chr.MOTION_SKILL+123
      	GUILD_SKILL_DRAGONBLOOD = chr.MOTION_SKILL+101
      GUILD_SKILL_DRAGONBLESS = chr.MOTION_SKILL+102
      GUILD_SKILL_BLESSARMOR = chr.MOTION_SKILL+103
      GUILD_SKILL_SPPEDUP = chr.MOTION_SKILL+104
      GUILD_SKILL_DRAGONWRATH = chr.MOTION_SKILL+105
      GUILD_SKILL_MAGICUP = chr.MOTION_SKILL+106
      	PASSIVE_GUILD_SKILL_INDEX_LIST = ( 151, )
      ACTIVE_GUILD_SKILL_INDEX_LIST = ( 152, 153, 154, 155, 156, 157, )
      	NEW_678TH_SKILL_ENABLE = 0
      SKILL_INDEX_DICT = []
      	def DefineSkillIndexDict():
          global NEW_678TH_SKILL_ENABLE
          global SKILL_INDEX_DICT
          
          NEW_678TH_SKILL_ENABLE = localeInfo.IsYMIR()
          if NEW_678TH_SKILL_ENABLE:
              SKILL_INDEX_DICT = {
                  JOB_WARRIOR : { 
                      1 : (1, 2, 3, 4, 5, 6, 0, 0, 137, 0, 138, 0, 139, 0,), 
                      2 : (16, 17, 18, 19, 20, 21, 0, 0, 137, 0, 138, 0, 139, 0,), 
                      "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 141, 142,),
                  },
                  JOB_ASSASSIN : { 
                      1 : (31, 32, 33, 34, 35, 36, 0, 0, 137, 0, 138, 0, 139, 0, 140,), 
                      2 : (46, 47, 48, 49, 50, 51, 0, 0, 137, 0, 138, 0, 139, 0, 140,), 
                      "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 141, 142,),
                  },
                  JOB_SURA : { 
                      1 : (61, 62, 63, 64, 65, 66, 0, 0, 137, 0, 138, 0, 139, 0,),
                      2 : (76, 77, 78, 79, 80, 81, 0, 0, 137, 0, 138, 0, 139, 0,),
                      "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 141, 142,),
                  },
                  JOB_SHAMAN : { 
                      1 : (91, 92, 93, 94, 95, 96, 0, 0, 137, 0, 138, 0, 139, 0,),
                      2 : (106, 107, 108, 109, 110, 111, 0, 0, 137, 0, 138, 0, 139, 0,),
                      "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 141, 142,),
                  },
              }
          else:
              SKILL_INDEX_DICT = {
                  JOB_WARRIOR : { 
                      1 : (1, 2, 3, 4, 5, 6, 0, 0, 137, 0, 138, 0, 139, 0,), 
                      2 : (16, 17, 18, 19, 20, 21, 0, 0, 137, 0, 138, 0, 139, 0,), 
                      "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),
                  },
                  JOB_ASSASSIN : { 
                      1 : (31, 32, 33, 34, 35, 36, 0, 0, 137, 0, 138, 0, 139, 0, 140,), 
                      2 : (46, 47, 48, 49, 50, 51, 0, 0, 137, 0, 138, 0, 139, 0, 140,), 
                      "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),
                  },
                  JOB_SURA : { 
                      1 : (61, 62, 63, 64, 65, 66, 0, 0, 137, 0, 138, 0, 139, 0,),
                      2 : (76, 77, 78, 79, 80, 81, 0, 0, 137, 0, 138, 0, 139, 0,),
                      "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),
                  },
                  JOB_SHAMAN : { 
                      1 : (91, 92, 93, 94, 95, 96, 0, 0, 137, 0, 138, 0, 139, 0,),
                      2 : (106, 107, 108, 109, 110, 111, 0, 0, 137, 0, 138, 0, 139, 0,),
                      "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),
                  },
                  JOB_WOLFMAN : {
                      1 : (170, 171, 172, 173, 174, 175, 0, 0, 137, 0, 138, 0, 139, 0,),
                      "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),
                  }
              }
      	def RegisterSkill(race, group, empire=0):
      	    DefineSkillIndexDict()
          
          job = chr.RaceToJob(race)
      	    ## Character Skill
          if SKILL_INDEX_DICT.has_key(job):
      	        if SKILL_INDEX_DICT[job].has_key(group):
              
                  activeSkillList = SKILL_INDEX_DICT[job][group]
      	            for i in xrange(len(activeSkillList)):
                      skillIndex = activeSkillList[i]
                      
                      ## 7번 8번 스킬은 여기서 설정하면 안됨
                      if i != 6 and i != 7:
                          player.SetSkill(i+1, skillIndex)
      	            supportSkillList = SKILL_INDEX_DICT[job]["SUPPORT"]
      	            for i in xrange(len(supportSkillList)):
                      player.SetSkill(i+100+1, supportSkillList[i])
      	    ## Language Skill
          if 0 != empire:
              languageSkillList = []
              for i in xrange(3):
                  if (i+1) != empire:
                      languageSkillList.append(player.SKILL_INDEX_LANGUAGE1+i)
              for i in xrange(len(languageSkillList)):
                  player.SetSkill(107+i, languageSkillList[i])
      	    ## Guild Skill
          for i in xrange(len(PASSIVE_GUILD_SKILL_INDEX_LIST)):
              player.SetSkill(200+i, PASSIVE_GUILD_SKILL_INDEX_LIST[i])
      	    for i in xrange(len(ACTIVE_GUILD_SKILL_INDEX_LIST)):
              player.SetSkill(210+i, ACTIVE_GUILD_SKILL_INDEX_LIST[i])
      	def RegisterSkillAt(race, group, pos, num):
          
          DefineSkillIndexDict()
          
          job = chr.RaceToJob(race)
          tmp = list(SKILL_INDEX_DICT[job][group])
          tmp[pos] = num
          SKILL_INDEX_DICT[job][group] = tuple(tmp)
          player.SetSkill(pos+1, num)
      	FACE_IMAGE_DICT = {
          RACE_WARRIOR_M    : "d:/ymir work/ui/game/windows/face_warrior.sub",
          RACE_ASSASSIN_W    : "d:/ymir work/ui/game/windows/face_assassin.sub",
          RACE_SURA_M    : "d:/ymir work/ui/game/windows/face_sura.sub",
          RACE_SHAMAN_W    : "d:/ymir work/ui/game/windows/face_shaman.sub",
      }
      	isInitData=0
      	def SetGeneralMotions(mode, folder):
          chrmgr.SetPathName(folder)
          chrmgr.RegisterMotionMode(mode)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_WAIT,                "wait.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_WALK,                "walk.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_RUN,                    "run.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE,                "damage.msa", 50)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE,                "damage_1.msa", 50)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE_BACK,            "damage_2.msa", 50)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE_BACK,            "damage_3.msa", 50)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE_FLYING,        "damage_flying.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_STAND_UP,            "falling_stand.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE_FLYING_BACK,    "back_damage_flying.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_STAND_UP_BACK,        "back_falling_stand.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DEAD,                "dead.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DIG,                    "dig.msa")
      	def SetGeneralMotionsForWolfman(mode, folder):
          chrmgr.SetPathName(folder)
          chrmgr.RegisterMotionMode(mode)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_WAIT,                "wait.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_WALK,                "walk.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_RUN,                    "run.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE,                "back_damage.msa", 50)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE,                "back_damage.msa", 50)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE_BACK,            "back_damage.msa", 50)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE_BACK,            "back_damage1.msa", 50)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE_FLYING,        "back_damage_flying.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_STAND_UP,            "front_falling_standup.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DAMAGE_FLYING_BACK,    "back_damage_flying.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_STAND_UP_BACK,        "back_falling_standup.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DEAD,                "dead.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_DIG,                    "dig.msa")
      	def SetIntroMotions(mode, folder):
          chrmgr.SetPathName(folder)
          chrmgr.RegisterMotionMode(mode)
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_INTRO_WAIT,            "wait.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_INTRO_SELECTED,        "selected.msa")
          chrmgr.RegisterCacheMotionData(mode,        chr.MOTION_INTRO_NOT_SELECTED,    "not_selected.msa")
      	def __InitData():
          global isInitData
      	    if isInitData:
              return            
      	    isInitData = 1
      	    chrmgr.SetDustGap(250)
          chrmgr.SetHorseDustGap(500)
      	    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUST, "", "d:/ymir work/effect/etc/dust/dust.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HORSE_DUST, "", "d:/ymir work/effect/etc/dust/running_dust.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HIT, "", "d:/ymir work/effect/hit/blow_1/blow_1_low.mse")
      	    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HPUP_RED, "", "d:/ymir work/effect/etc/recuperation/drugup_red.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPUP_BLUE, "", "d:/ymir work/effect/etc/recuperation/drugup_blue.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPEEDUP_GREEN, "", "d:/ymir work/effect/etc/recuperation/drugup_green.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DXUP_PURPLE, "", "d:/ymir work/effect/etc/recuperation/drugup_purple.mse")
      	    #자동물약 HP, SP
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_AUTO_HPUP, "", "d:/ymir work/effect/etc/recuperation/autodrugup_red.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_AUTO_SPUP, "", "d:/ymir work/effect/etc/recuperation/autodrugup_blue.mse")
          
          #라마단 초승달의 반지(71135) 착용순간 발동 이펙트
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_RAMADAN_RING_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item1.mse")
          
          #할로윈 사탕 착용순간 발동 이펙트
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HALLOWEEN_CANDY_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item2.mse")
          
          #행복의 반지 착용순간 발동 이펙트
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HAPPINESS_RING_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item3.mse")
      	    #사랑의 팬던트 착용순간 발동 이펙트
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_LOVE_PENDANT_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item4.mse")
          
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_VICTIM, "", "d:/ymir work/effect/Jin_Han/work/JinHanDuelEffectVictim.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_KILLER, "", "d:/ymir work/effect/Jin_Han/work/JinHanDuelEffectKiller.mse")
          
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_SENDER, "", "d:/ymir work/effect/Jin_Han/work/EFECT_DUEL_Jin_Han_Sender.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_RECEIVER, "", "d:/ymir work/effect/Jin_Han/work/EFECT_DUEL_Jin_Han_Receiver.mse")
          
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_5, "", "d:/ymir work/effect/Jin_Han/work/Jin_Han_Duel_5.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_4, "", "d:/ymir work/effect/Jin_Han/work/Jin_Han_Duel_4.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_3, "", "d:/ymir work/effect/Jin_Han/work/Jin_Han_Duel_3.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_2, "", "d:/ymir work/effect/Jin_Han/work/Jin_Han_Duel_2.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_1, "", "d:/ymir work/effect/Jin_Han/work/Jin_Han_Duel_1.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUEL_0, "", "d:/ymir work/effect/Jin_Han/work/Jin_Han_Duel_0.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_ACCE_SUCCEDED_1, "", "d:/ymir work/effect/etc/buff/esarfa_succes.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_EQUIP_ACCE_1, "", "d:/ymir work/effect/etc/buff/buff_wing7.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_EQUIP_ACCE_2, "", "d:/ymir work/effect/etc/buff/buff_wing7.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_EQUIP_ACCE_3, "", "d:/ymir work/effect/etc/buff/buff_wing7.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_EQUIP_ACCE_4, "", "d:/ymir work/effect/etc/buff/buff_wing7.mse")    
          if app.ENABLE_MOUNT_SYSTEM:
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_1, "", "d:/ymir work/effect/etc/buff/mount_1.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_2, "", "d:/ymir work/effect/etc/buff/mount_2.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_3, "", "d:/ymir work/effect/etc/buff/mount_3.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_4, "", "d:/ymir work/effect/etc/buff/mount_4.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_5, "", "d:/ymir work/effect/etc/buff/mount_5.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_6, "", "d:/ymir work/effect/etc/buff/mount_6.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_7, "", "d:/ymir work/effect/etc/buff/mount_7.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_8, "", "d:/ymir work/effect/etc/buff/mount_8.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_9, "", "d:/ymir work/effect/etc/buff/mount_9.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_10, "", "d:/ymir work/effect/etc/buff/mount_10.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_11, "", "d:/ymir work/effect/etc/buff/mount_11.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_12, "", "d:/ymir work/effect/etc/buff/mount_12.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_13, "", "d:/ymir work/effect/etc/buff/mount_13.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_14, "", "d:/ymir work/effect/etc/buff/mount_14.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_15, "", "d:/ymir work/effect/etc/buff/mount_15.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_16, "", "d:/ymir work/effect/etc/buff/mount_16.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_17, "", "d:/ymir work/effect/etc/buff/mount_17.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_18, "", "d:/ymir work/effect/etc/buff/mount_18.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_19, "", "d:/ymir work/effect/etc/buff/mount_19.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_20, "", "d:/ymir work/effect/etc/buff/mount_20.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_21, "", "d:/ymir work/effect/etc/buff/mount_21.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_22, "", "d:/ymir work/effect/etc/buff/mount_22.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_23, "", "d:/ymir work/effect/etc/buff/buff_item11.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_24, "", "d:/ymir work/effect/etc/buff/mount_24.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_25, "", "d:/ymir work/effect/etc/buff/mount_25.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_26, "", "d:/ymir work/effect/etc/buff/mount_26.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_27, "", "d:/ymir work/effect/etc/buff/mount_27.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_28, "", "d:/ymir work/effect/etc/buff/mount_28.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_29, "", "d:/ymir work/effect/etc/buff/mount_29.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_30, "", "d:/ymir work/effect/etc/buff/mount_30.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_31, "", "d:/ymir work/effect/etc/buff/mount_31.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_32, "", "d:/ymir work/effect/etc/buff/mount_32.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_33, "", "d:/ymir work/effect/etc/buff/mount_33.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_34, "", "d:/ymir work/effect/etc/buff/mount_34.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_35, "", "d:/ymir work/effect/etc/buff/mount_35.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_36, "", "d:/ymir work/effect/etc/buff/mount_36.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_37, "", "d:/ymir work/effect/etc/buff/mount_37.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_38, "", "d:/ymir work/effect/etc/buff/mount_38.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_39, "", "d:/ymir work/effect/etc/buff/mount_39.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_40, "", "d:/ymir work/effect/etc/buff/mount_40.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_41, "", "d:/ymir work/effect/etc/buff/mount_41.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_42, "", "d:/ymir work/effect/etc/buff/mount_42.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_43, "", "d:/ymir work/effect/etc/buff/mount_43.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_44, "", "d:/ymir work/effect/etc/buff/mount_44.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_45, "", "d:/ymir work/effect/etc/buff/mount_45.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_46, "", "d:/ymir work/effect/etc/buff/mount_46.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_47, "", "d:/ymir work/effect/etc/buff/mount_47.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_48, "", "d:/ymir work/effect/etc/buff/mount_48.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_49, "", "d:/ymir work/effect/etc/buff/mount_49.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_50, "", "d:/ymir work/effect/etc/buff/mount_50.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_51, "", "d:/ymir work/effect/etc/buff/mount_51.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_52, "", "d:/ymir work/effect/etc/buff/mount_52.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_53, "", "d:/ymir work/effect/etc/buff/mount_53.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_54, "", "d:/ymir work/effect/etc/buff/mount_54.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_55, "", "d:/ymir work/effect/etc/buff/mount_55.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_56, "", "d:/ymir work/effect/etc/buff/mount_56.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_57, "", "d:/ymir work/effect/etc/buff/mount_57.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_58, "", "d:/ymir work/effect/etc/buff/mount_58.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_59, "", "d:/ymir work/effect/etc/buff/mount_59.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_60, "", "d:/ymir work/effect/etc/buff/mount_60.mse")
              chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MOUNT_61, "", "d:/ymir work/effect/etc/buff/mount_61.mse")                        
      	    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PENETRATE, "Bip01", "d:/ymir work/effect/hit/gwantong.mse")
          #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_BLOCK, "", "d:/ymir work/effect/etc/")
          #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DODGE, "", "d:/ymir work/effect/etc/")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_FIRECRACKER, "", "d:/ymir work/effect/etc/firecracker/newyear_firecracker.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPIN_TOP, "", "d:/ymir work/effect/etc/firecracker/paing_i.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SELECT, "", "d:/ymir work/effect/etc/click/click_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET, "", "d:/ymir work/effect/etc/click/click_glow_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_STUN, "Bip01 Head", "d:/ymir work/effect/etc/stun/stun.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SHINSOO, "", "d:/ymir work/effect/world/shinsoo_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_SHINSOO, "", "d:/ymir work/effect/world/shinsoo_glow_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_CHUNJO, "", "d:/ymir work/effect/world/chunjo_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_CHUNJO, "", "d:/ymir work/effect/world/chunjo_glow_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_JINNOS, "", "d:/ymir work/effect/world/jinnos_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_JINNOS, "", "d:/ymir work/effect/world/jinnos_glow_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MONSTER, "", "d:/ymir work/effect/world/mob_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_MONSTER, "", "d:/ymir work/effect/world/mob_glow_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_STONE, "", "d:/ymir work/effect/world/stone_select.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_STONE, "", "d:/ymir work/effect/world/stone_glow_select.mse")    
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_CRITICAL, "Bip01 R Hand", "d:/ymir work/effect/hit/critical.mse")
          player.RegisterCacheEffect(player.EFFECT_PICK, "d:/ymir work/effect/etc/click/click.mse")
          
          
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_TARGET, "", "d:/ymir work/effect/affect/damagevalue/target.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_NOT_TARGET, "", "d:/ymir work/effect/affect/damagevalue/nontarget.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_SELFDAMAGE, "", "d:/ymir work/effect/affect/damagevalue/damage.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_SELFDAMAGE2, "", "d:/ymir work/effect/affect/damagevalue/damage_1.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_POISON, "", "d:/ymir work/effect/affect/damagevalue/poison.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_MISS, "", "d:/ymir work/effect/affect/damagevalue/miss.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_TARGETMISS, "", "d:/ymir work/effect/affect/damagevalue/target_miss.mse")
          #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_CRITICAL, "", "d:/ymir work/effect/affect/damagevalue/critical.mse")
      	    #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SUCCESS, "",            "season1/effect/success.mse")
          #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_FAIL, "",    "season1/effect/fail.mse")
          
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_LEVELUP_ON_14_FOR_GERMANY, "","season1/effect/paymessage_warning.mse")    #레벨업 14일때 ( 독일전용 )
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_LEVELUP_UNDER_15_FOR_GERMANY, "", "season1/effect/paymessage_decide.mse" )#레벨업 15일때 ( 독일전용 )
      	    chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PERCENT_DAMAGE1, "", "d:/ymir work/effect/hit/percent_damage1.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PERCENT_DAMAGE2, "", "d:/ymir work/effect/hit/percent_damage2.mse")
          chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PERCENT_DAMAGE3, "", "d:/ymir work/effect/hit/percent_damage3.mse")
      	    
      	    ##############
          # WARRIOR
          ##############
          chrmgr.CreateRace(RACE_WARRIOR_M)
          chrmgr.SelectRace(RACE_WARRIOR_M)    
          chrmgr.LoadLocalRaceData("warrior_m.msm")
          SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/warrior/intro/")
      	    chrmgr.CreateRace(RACE_WARRIOR_W)
          chrmgr.SelectRace(RACE_WARRIOR_W)    
          chrmgr.LoadLocalRaceData("warrior_w.msm")
          SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/warrior/intro/")
      	
          ##############
          # ASSASSIN
          ##############
          chrmgr.CreateRace(RACE_ASSASSIN_W)
          chrmgr.SelectRace(RACE_ASSASSIN_W)
          chrmgr.LoadLocalRaceData("assassin_w.msm")
          SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/assassin/intro/")
      	    chrmgr.CreateRace(RACE_ASSASSIN_M)
          chrmgr.SelectRace(RACE_ASSASSIN_M)
          chrmgr.LoadLocalRaceData("assassin_m.msm")
          SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/assassin/intro/")
      	
          ##############
          # SURA
          ##############
          chrmgr.CreateRace(RACE_SURA_M)
          chrmgr.SelectRace(RACE_SURA_M)    
          chrmgr.LoadLocalRaceData("sura_m.msm")
          SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/sura/intro/")
      	    chrmgr.CreateRace(RACE_SURA_W)
          chrmgr.SelectRace(RACE_SURA_W)    
          chrmgr.LoadLocalRaceData("sura_w.msm")
          SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/sura/intro/")
      	
          ##############
          # SHAMAN
          ##############
          chrmgr.CreateRace(RACE_SHAMAN_W)
          chrmgr.SelectRace(RACE_SHAMAN_W)
          chrmgr.LoadLocalRaceData("shaman_w.msm")
          SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/shaman/intro/")
      	    chrmgr.CreateRace(RACE_SHAMAN_M)
          chrmgr.SelectRace(RACE_SHAMAN_M)
          chrmgr.LoadLocalRaceData("shaman_m.msm")
          SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/shaman/intro/")
      	    ##############
          # WOLFMAN
          ##############
          chrmgr.CreateRace(RACE_WOLFMAN_M)
          chrmgr.SelectRace(RACE_WOLFMAN_M)    
          chrmgr.LoadLocalRaceData("wolfman_m.msm")
          SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc3/wolfman/intro/")
      	def __LoadGameSound():
          item.SetUseSoundFileName(item.USESOUND_DEFAULT, "sound/ui/drop.wav")
          item.SetUseSoundFileName(item.USESOUND_ACCESSORY, "sound/ui/equip_ring_amulet.wav")
          item.SetUseSoundFileName(item.USESOUND_ARMOR, "sound/ui/equip_metal_armor.wav")
          item.SetUseSoundFileName(item.USESOUND_BOW, "sound/ui/equip_bow.wav")
          item.SetUseSoundFileName(item.USESOUND_WEAPON, "sound/ui/equip_metal_weapon.wav")
          item.SetUseSoundFileName(item.USESOUND_POTION, "sound/ui/eat_potion.wav")
          item.SetUseSoundFileName(item.USESOUND_PORTAL, "sound/ui/potal_scroll.wav")
      	    item.SetDropSoundFileName(item.DROPSOUND_DEFAULT, "sound/ui/drop.wav")
          item.SetDropSoundFileName(item.DROPSOUND_ACCESSORY, "sound/ui/equip_ring_amulet.wav")
          item.SetDropSoundFileName(item.DROPSOUND_ARMOR, "sound/ui/equip_metal_armor.wav")
          item.SetDropSoundFileName(item.DROPSOUND_BOW, "sound/ui/equip_bow.wav")
          item.SetDropSoundFileName(item.DROPSOUND_WEAPON, "sound/ui/equip_metal_weapon.wav")
      	def __LoadGameEffect():
          chrmgr.RegisterEffect(chrmgr.EFFECT_SPAWN_APPEAR, "Bip01", "d:/ymir work/effect/etc/appear_die/monster_appear.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_SPAWN_DISAPPEAR, "Bip01", "d:/ymir work/effect/etc/appear_die/monster_die.mse")        
          chrmgr.RegisterEffect(chrmgr.EFFECT_FLAME_ATTACK, "equip_right_hand", "d:/ymir work/effect/hit/blow_flame/flame_3_weapon.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_FLAME_HIT, "", "d:/ymir work/effect/hit/blow_flame/flame_3_blow.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_FLAME_ATTACH, "", "d:/ymir work/effect/hit/blow_flame/flame_3_body.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_ELECTRIC_ATTACK, "equip_right", "d:/ymir work/effect/hit/blow_electric/light_1_weapon.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_ELECTRIC_HIT, "", "d:/ymir work/effect/hit/blow_electric/light_1_blow.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_ELECTRIC_ATTACH, "", "d:/ymir work/effect/hit/blow_electric/light_1_body.mse")
          
          chrmgr.RegisterEffect(chrmgr.EFFECT_LEVELUP, "", "d:/ymir work/effect/etc/levelup_1/level_up.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_SKILLUP, "", "d:/ymir work/effect/etc/skillup/skillup_1.mse")
      	    if localeInfo.IsNEWCIBN():
              chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+1, "Bip01", "locale/newcibn/effect/empire/empire_A.mse")
              chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+2, "Bip01", "locale/newcibn/effect/empire/empire_B.mse")
              chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+3, "Bip01", "locale/newcibn/effect/empire/empire_C.mse")
          else :
              chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+1, "Bip01", "d:/ymir work/effect/etc/empire/empire_A.mse")
              chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+2, "Bip01", "d:/ymir work/effect/etc/empire/empire_B.mse")
              chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+3, "Bip01", "d:/ymir work/effect/etc/empire/empire_C.mse")
       
          chrmgr.RegisterEffect(chrmgr.EFFECT_WEAPON+1, "equip_right_hand", "d:/ymir work/pc/warrior/effect/geom_sword_loop.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_WEAPON+2, "equip_right_hand", "d:/ymir work/pc/warrior/effect/geom_spear_loop.mse")
      	    # LOCALE
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+0, "Bip01", localeInfo.FN_GM_MARK)
          # END_OF_LOCALE
          
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+3, "Bip01", "d:/ymir work/effect/hit/blow_poison/poison_loop.mse") ## 중독
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+4, "", "d:/ymir work/effect/affect/slow.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+5, "Bip01 Head", "d:/ymir work/effect/etc/stun/stun_loop.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+6, "", "d:/ymir work/effect/etc/ready/ready.mse")
          #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+8, "", "d:/ymir work/guild/effect/10_construction.mse")
          #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+9, "", "d:/ymir work/guild/effect/20_construction.mse")
          #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+10, "", "d:/ymir work/guild/effect/20_upgrade.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+16, "", "d:/ymir work/pc/warrior/effect/gyeokgongjang_loop.mse") ## 천근추 (밑에도 있따-_-)
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+17, "", "d:/ymir work/pc/assassin/effect/gyeonggong_loop.mse") ## 자객 - 경공
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+19, "Bip01 R Finger2", "d:/ymir work/pc/sura/effect/gwigeom_loop.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+20, "", "d:/ymir work/pc/sura/effect/fear_loop.mse") ## 수라 - 공포
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+21, "", "d:/ymir work/pc/sura/effect/jumagap_loop.mse") ## 수라 - 주마갑
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+22, "", "d:/ymir work/pc/shaman/effect/3hosin_loop.mse") ## 무당 - 호신
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+23, "", "d:/ymir work/pc/shaman/effect/boho_loop.mse") ## 무당 - 보호
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+24, "", "d:/ymir work/pc/shaman/effect/10kwaesok_loop.mse") ## 무당 - 쾌속
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+25, "", "d:/ymir work/pc/sura/effect/heuksin_loop.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+26, "", "d:/ymir work/pc/sura/effect/muyeong_loop.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+28, "Bip01", "d:/ymir work/effect/hit/blow_flame/flame_loop.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+29, "Bip01 R Hand", "d:/ymir work/pc/shaman/effect/6gicheon_hand.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+30, "Bip01 L Hand", "d:/ymir work/pc/shaman/effect/jeungryeok_hand.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+32, "Bip01 Head", "d:/ymir work/pc/sura/effect/pabeop_loop.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+33, "", "d:/ymir work/pc/warrior/effect/gyeokgongjang_loop.mse") ## 천근추 (Fallen)
          ## 34 Polymoph
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+35, "", "d:/ymir work/effect/etc/guild_war_flag/flag_red.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+36, "", "d:/ymir work/effect/etc/guild_war_flag/flag_blue.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+37, "", "d:/ymir work/effect/etc/guild_war_flag/flag_yellow.mse")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+42, "Bip01", "d:/ymir work/effect/hit/blow_poison/bleeding_loop.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+43, "Bip01", "d:/ymir work/effect/hit/blow_flame/flame_loop_w.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+44, "", "d:/ymir work/pc3/common/effect/gyeokgongjang_loop_w.mse")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+1, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+2, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+3, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9.mse")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+4, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_b.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+5, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_b.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+6, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_b.mse")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+7, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_f.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+8, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_f.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+9, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_f.mse")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+10, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_s.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+11, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_s.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+12, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_s.mse")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+13, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_s.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+14, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_s.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+15, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_s.mse")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+16, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_7.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+17, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_8.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+18, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_9.mse")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+19, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-1.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+20, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+21, "PART_ACCE", "D:/ymir work/pc/common/effect/sword/sword_9_b.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+22, "Bip01", "d:/ymir work/effect/Jin_Han/work/demonica.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+23, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_assassin4.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+24, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_assassin5.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+25, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_assassin6.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+26, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_assassin7.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+27, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_assassin8.mse")
          chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+28, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-5-1.mse")
      	    ## FlyData
          effect.RegisterIndexedFlyData(effect.FLY_EXP, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_yellow_small2.msf")                ## 노란색 (EXP)
          effect.RegisterIndexedFlyData(effect.FLY_HP_MEDIUM, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_red_small.msf")            ## 빨간색 (HP) 작은거
          effect.RegisterIndexedFlyData(effect.FLY_HP_BIG, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_red_big.msf")                ## 빨간색 (HP) 큰거
          effect.RegisterIndexedFlyData(effect.FLY_SP_SMALL, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_blue_warrior_small.msf")    ## 파란색 꼬리만 있는거
          effect.RegisterIndexedFlyData(effect.FLY_SP_MEDIUM, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_blue_small.msf")            ## 파란색 작은거
          effect.RegisterIndexedFlyData(effect.FLY_SP_BIG, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_blue_big.msf")                ## 파란색 큰거
          effect.RegisterIndexedFlyData(effect.FLY_FIREWORK1, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_1.msf")        ## 폭죽 1
          effect.RegisterIndexedFlyData(effect.FLY_FIREWORK2, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_2.msf")        ## 폭죽 2
          effect.RegisterIndexedFlyData(effect.FLY_FIREWORK3, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_3.msf")        ## 폭죽 3
          effect.RegisterIndexedFlyData(effect.FLY_FIREWORK4, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_4.msf")        ## 폭죽 4
          effect.RegisterIndexedFlyData(effect.FLY_FIREWORK5, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_5.msf")        ## 폭죽 5
          effect.RegisterIndexedFlyData(effect.FLY_FIREWORK6, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_6.msf")        ## 폭죽 6
          effect.RegisterIndexedFlyData(effect.FLY_FIREWORK_XMAS, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_xmas.msf")    ## 폭죽 X-Mas
          effect.RegisterIndexedFlyData(effect.FLY_CHAIN_LIGHTNING, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/pc/shaman/effect/pokroe.msf")                        ## 폭뢰격
          effect.RegisterIndexedFlyData(effect.FLY_HP_SMALL, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_red_smallest.msf")            ## 빨간색 매우 작은거
          effect.RegisterIndexedFlyData(effect.FLY_SKILL_MUYEONG, effect.INDEX_FLY_TYPE_AUTO_FIRE, "d:/ymir work/pc/sura/effect/muyeong_fly.msf")                    ## 무영진
      	    #########################################################################################
          ## Emoticon
          EmoticonStr = "d:/ymir work/effect/etc/emoticon/"
          BuffStr = "d:/ymir work/effect/etc/buff/"  
          BuffStr2 = "d:/ymir work/effect/etc/"
          BuffStr3 = "d:/ymir work/effect/etc/buff/"
          BuffStr4 = "locale/tr/effect/"
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+0, "", EmoticonStr+"sweat.mse")
          net.RegisterEmoticonString("(황당)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+1, "", EmoticonStr+"money.mse")
          net.RegisterEmoticonString("(돈)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+2, "", EmoticonStr+"happy.mse")
          net.RegisterEmoticonString("(기쁨)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+3, "", EmoticonStr+"love_s.mse")
          net.RegisterEmoticonString("(좋아)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+4, "", EmoticonStr+"love_l.mse")
          net.RegisterEmoticonString("(사랑)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+5, "", EmoticonStr+"angry.mse")
          net.RegisterEmoticonString("(분노)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+6, "", EmoticonStr+"aha.mse")
          net.RegisterEmoticonString("(아하)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+7, "", EmoticonStr+"gloom.mse")
          net.RegisterEmoticonString("(우울)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+8, "", EmoticonStr+"sorry.mse")
          net.RegisterEmoticonString("(죄송)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+9, "", EmoticonStr+"!_mix_back.mse")
          net.RegisterEmoticonString("(!)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+10, "", EmoticonStr+"question.mse")
          net.RegisterEmoticonString("(?)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+11, "", EmoticonStr+"fish.mse")
          net.RegisterEmoticonString("(fish)")
          
          chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+12, "", BuffStr+"azrael.mse")
          net.RegisterEmoticonString("(b11)")
      	    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+13, "", BuffStr2+"ox/success.mse")
          net.RegisterEmoticonString("(spirit2)")
      	
          ## Emoticon
          #########################################################################################
      	
      def __LoadGameWarrior():
          __LoadGameWarriorEx(RACE_WARRIOR_M, "d:/ymir work/pc/warrior/")
          __LoadGameWarriorEx(RACE_WARRIOR_W, "d:/ymir work/pc2/warrior/")
      	def __LoadGameAssassin():
          __LoadGameAssassinEx(RACE_ASSASSIN_W, "d:/ymir work/pc/assassin/")
          __LoadGameAssassinEx(RACE_ASSASSIN_M, "d:/ymir work/pc2/assassin/")
      	def __LoadGameSura():
          __LoadGameSuraEx(RACE_SURA_M, "d:/ymir work/pc/sura/")
          __LoadGameSuraEx(RACE_SURA_W, "d:/ymir work/pc2/sura/")
      	def __LoadGameShaman():
          __LoadGameShamanEx(RACE_SHAMAN_W, "d:/ymir work/pc/shaman/")
          __LoadGameShamanEx(RACE_SHAMAN_M, "d:/ymir work/pc2/shaman/")
          
      def __LoadGameWolfman():
          __LoadGameWolfmanEx(RACE_WOLFMAN_M, "d:/ymir work/pc3/wolfman/")
      	def __LoadGameWarriorEx(race, path):
      	    ## Warrior
          #########################################################################################
          chrmgr.SelectRace(race)
      	    ## GENERAL MODE
          SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
          chrmgr.SetMotionRandomWeight(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, 0, 70)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait_1.msa", 30)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
      	    ## SKILL
          chrmgr.SetPathName(path + "skill/")
          for i in xrange(skill.SKILL_EFFECT_COUNT):
              END_STRING = ""
              if i != 0: END_STRING = "_%d" % (i+1)
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "samyeon" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "palbang" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "jeongwi" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "geomgyeong" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "tanhwan" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gihyeol" + END_STRING + ".msa")
              if NEW_678TH_SKILL_ENABLE:
                  chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gihyeol" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "gigongcham" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gyeoksan" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "daejin" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "cheongeun" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "geompung" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "noegeom" + END_STRING + ".msa")
              if NEW_678TH_SKILL_ENABLE:
                  chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "noegeom" + END_STRING + ".msa")
      	    chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
      	    chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
      	    ## EMOTION
          emotion.RegisterEmotionAnis(path)
      	    ## ONEHAND_SWORD BATTLE
          chrmgr.SetPathName(path + "onehand_sword/")
          chrmgr.RegisterMotionMode(chr.MOTION_MODE_ONEHAND_SWORD)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT,                "wait.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT,                "wait_1.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WALK,                "walk.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_RUN,                "run.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE,            "damage.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE,            "damage_1.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK,        "damage_2.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK,        "damage_3.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1,    "combo_01.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2,    "combo_02.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3,    "combo_03.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_4,    "combo_04.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_5,    "combo_05.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_6,    "combo_06.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_7,    "combo_07.msa")
      	    ## Combo Type 1
          chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, 4)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
          ## Combo Type 2
          chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, 5)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
          ## Combo Type 3
          chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, 6)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
      	    ## TWOHAND_SWORD BATTLE
          chrmgr.SetPathName(path + "twohand_sword/")
          chrmgr.RegisterMotionMode(chr.MOTION_MODE_TWOHAND_SWORD)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_WAIT,                "wait.msa", 70)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_WAIT,                "wait_1.msa", 30)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_WALK,                "walk.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_RUN,                "run.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE,            "damage.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE,            "damage_1.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE_BACK,        "damage_2.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE_BACK,        "damage_3.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_1,    "combo_01.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_2,    "combo_02.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_3,    "combo_03.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_4,    "combo_04.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_5,    "combo_05.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_6,    "combo_06.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_7,    "combo_07.msa")
      	    ## Combo Type 1
          chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, 4)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
          ## Combo Type 2
          chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, 5)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
          ## Combo Type 3
          chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, 6)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
      	    ## FISHING
          chrmgr.SetPathName(path + "fishing/")
          chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT,            "wait.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK,            "walk.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN,                "run.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW,    "throw.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT,    "fishing_wait.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP,    "fishing_cancel.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT,    "fishing_react.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH,    "fishing_catch.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL,    "fishing_fail.msa")
      	    ## HORSE
          chrmgr.SetPathName(path + "horse/")
          chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT,                "wait.msa", 90)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT,                "wait_1.msa", 9)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT,                "wait_2.msa", 1)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK,                "walk.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN,                "run.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE,            "damage.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK,        "damage.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD,                "dead.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE,            "skill_charge.msa")
      	    ## HORSE_ONEHAND_SWORD
          chrmgr.SetPathName(path + "horse_onehand_sword/")
          chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_ONEHAND_SWORD)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
          chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, 3)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
      	    ## HORSE_TWOHAND_SWORD
          chrmgr.SetPathName(path + "horse_twohand_sword/")
          chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_TWOHAND_SWORD)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
          chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, 3)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
      	    ## Bone
          chrmgr.RegisterAttachingBoneName(chr.PART_ACCE, "Bip01 Spine2")
          chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON_RIGHT, "equip_right_hand")
          chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right_hand")        
      	def __LoadGameAssassinEx(race, path):
          ## Assassin
          #########################################################################################
          chrmgr.SelectRace(race)
      	    ## GENERAL MOTION MODE
          SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
          chrmgr.SetMotionRandomWeight(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, 0, 70)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait_1.msa", 30)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
      	    chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
          chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
      	    ## SKILL
          chrmgr.SetPathName(path + "skill/")
          for i in xrange(skill.SKILL_EFFECT_COUNT):
              END_STRING = ""
              if i != 0: END_STRING = "_%d" % (i+1)
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "amseup" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "gungsin" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "charyun" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "eunhyeong" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "sangong" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "seomjeon" + END_STRING + ".msa")
              if NEW_678TH_SKILL_ENABLE:
                  chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "seomjeon" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "yeonsa" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gwangyeok" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "hwajo" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "gyeonggong" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "dokgigung" + END_STRING + ".msa")
              chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "seomgwang" + END_STRING + ".msa")
              if NEW_678TH_SKILL_ENABLE:
                  chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "seomgwang" + END_STRING + ".msa")
      	    chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
          chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
      	    ## EMOTION
          emotion.RegisterEmotionAnis(
      	
    3. Vanilla

      Vanilla

      https://mega.nz/#!Hl90RZQI!Tz1_n8yVFh9FtUuo1bVenkfkP7ZYfsiwqqqUCypIFLg

       

      Download this and the error should be fixed. Have a look at line 616. You'll notice that your indentation isn't correct. You need to use TAB for indentation, but in your code it's just some whitespaces (     ) instead of a tab. This is not a valid indentation and causes this error. If you have the same error again after using the playersettingmodule, then just simply check the line and correct your indentation.

    4. Aliremawi

      Aliremawi

      Thank yoy very mush i will test it and tell you what happened

      Thanks for all

      thanks its work yes now I know my wrong 

      in future i will use tab 

      thanks for all

  15. Yep, the exact points you mentioned are the reasons I'd consider building them myself instead of using pkg. Though I don't blame people for using pkg, I write my guides like I'd do it and that's the way it worked. If that's too long for you, feel free to use pkg. But in Freebsd < 9.4 you might not have much fun with it. You need clang to be the compiler except you wish to change the compiler for your m2 source to gcc. Older FreeBSD versions don't have packages prebuilt with clang. The project is ongoing and yes, code modernization is a part of the plan. Thanks for your feedback, I'll take that into account when preparing the next versions