#!/usr/bin/python # -*- coding: GBK -*- ##@package SummonNPC # ÔÚÉí±ßË¢NPC [ÊýÁ¿] ĬÈÏÊýÁ¿:1 # # @author Mark # @date 2010-4-23 # @version 1.0 # # ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ # VER = "2010-05-12 18:30" zhengyang Ìí¼Ó×¢ÊÍ # # Ä£¿éÏêϸ˵Ã÷ import GameMap import ChConfig import GameWorld import NPCCommon # #Âß¼­ÊµÏÖ ## ÔÚÉí±ßË¢ÕÙ»½NPC [ÊýÁ¿] ĬÈÏÊýÁ¿:1 # @param curPlayer µ±Ç°Íæ¼Ò # @param list ²ÎÊýÁбí [tagID, NPCCount] # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec(curPlayer, list): #=============================================================================== # #¼ì²âµ±Ç°Íæ¼ÒÊÇ·ñÓÐȨÏÞ # #if # #µÚÒ»½×¶Î²»´¦Àí #=============================================================================== #ÊäÈëÃüÁî¸ñʽ´íÎó if len(list)<1 or len(list)>2: return #NPC¶ÔÏóID tagID=list[0] if not GameWorld.GetGameData().FindNPCDataByID(tagID): return #NPCË¢ÐÂÊýÁ¿ if len(list)==1: #ĬÈÏÊýÁ¿1 NPCCount=1 else: #GMÊäÈëµÄÊýÁ¿ NPCCount=list[1] for i in range(0,NPCCount): #ÔÚÍæ¼ÒÖÜΧѡÔñÒ»¸öÎÞÍæ¼ÒµÄµã resultPos=GameMap.GetEmptyPlaceInArea(curPlayer.GetPosX(),curPlayer.GetPosY(),6) #Éú³ÉNPC summonNPC = curPlayer.SummonNewNPC() summonNPC.SetNPCTypeID(tagID) summonNPC.SetAIType(200) summonNPC.GetNPCAngry().Init(ChConfig.Def_SummonNPC_Angry_Count) #³õʼ»¯ NPCCommon.InitNPC(summonNPC) summonNPC.SetOwner(curPlayer) #Íæ¼ÒÕÙ»½ÊÞÁбíÌí¼ÓÕÙ»½ÊÞ,ÕÙ»½ÊÞÌí¼ÓÖ÷ÈË summonNPC.Reborn(resultPos.GetPosX(), resultPos.GetPosY())