#!/usr/bin/python # -*- coding: GBK -*- ##@package SetSkillLV # ÉèÖü¼Äܵȼ¶ # # @author Mark # @date 2010-4-23 # @version 1.0 # # ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ # VER = "2010-05-12 18:30" zhengyang Ìí¼Ó×¢ÊÍ # # Ä£¿éÏêϸ˵Ã÷ #ÉèÖü¼Äܵȼ¶ #--------------------------------------------------------------------- #µ¼Èë import Lang import GameWorld #--------------------------------------------------------------------- #È«¾Ö±äÁ¿ #--------------------------------------------------------------------- #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## ÉèÖü¼Äܵȼ¶ # @param curPlayer µ±Ç°Íæ¼Ò # @param playerList ²ÎÊýÁбí [skillID skillLV] # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec(curPlayer,playerList): if len(playerList) != 2: GameWorld.DebugAnswer(curPlayer, Lang.GBText("ÃüÁî²ÎÊý²»ÕýÈ· ²ÎÊý:¼¼ÄÜÀàÐÍID,¼¼Äܵȼ¶")) return skillID = playerList[0] skillLV = playerList[1] curSkillData = GameWorld.GetGameData().FindSkillByType( skillID , skillLV ) if not curSkillData: GameWorld.DebugAnswer(curPlayer, "ÎÞЧ¼¼ÄÜÀàÐÍID = %s"%( skillID ) ) return skillManger = curPlayer.GetSkillManager() skillDataTypeID = curSkillData.GetSkillTypeID() skillDataID = curSkillData.GetSkillID() learnSkill = skillManger.FindSkillBySkillTypeID( skillDataTypeID ) #ûѧ¹ýÖ±½Óѧ if not learnSkill: skillManger.LVUPSkillByID( skillDataID ) return skillDataLV = curSkillData.GetSkillLV() learnSkillLV = learnSkill.GetSkillLV() #Éý¼¶ if learnSkillLV < skillDataLV: for i in range( skillDataLV - learnSkillLV ): skillManger.LVUpSkillBySkillTypeID( skillDataTypeID ) return learnSkillList = [] #½µ¼¶ for i in range( skillManger.GetSkillCount() ): hasSkill = skillManger.GetSkillByIndex(i) hasSkillID = hasSkill.GetSkillID() #Õâ¸öÊÇҪѧµÄ£¬Ìæ»» if hasSkill.GetSkillTypeID() == skillDataTypeID: hasSkillID = skillID if hasSkillID in learnSkillList: continue learnSkillList.append( hasSkillID ) #ÖØÖü¼ÄÜ skillManger.ResetSkill() #Éý¼¶ for skillID in learnSkillList: skillManger.LVUPSkillByID( skillID )