#!/usr/bin/python # -*- coding: GBK -*- #--------------------------------------------------------------------- ##@package SetMission # ÉèÖÃÓµÓÐÈÎÎñ # # @author PanWei # @date 2010-5-7ÉÏÎç11:23:33 # @version 1.0 # # VER = "2010-05-21 17:30" zhengyang Ìí¼Ó×¢ÊÍ #Ä£¿éÏêϸ˵Ã÷. #--------------------------------------------------------------------- import EventShell import QuestCommon import GameWorld #--------------------------------------------------------------------- ##Ìí¼ÓÈÎÎñ # @param curPlayer Íæ¼ÒʵÀý # @param playerList ²ÎÊýÁбí # @return ·µ»ØÖµÎÞÒâÒå # @remarks Ìí¼ÓÈÎÎñ <ÈÎÎñID> <ÈÎÎñ״̬> <״̬×Öµä(¿ÉÑ¡)> def OnExec(curPlayer, paramList): if len(paramList) < 2: GameWorld.DebugAnswer(curPlayer, "SetMission ÈÎÎñID ״̬ ¿ÉÑ¡(²½Öè Íæ¼ÒID)") return missionID = paramList[0] state = paramList[1] descriptionIndex = paramList[2] if len(paramList) > 2 else None tagPlayerID = paramList[3] if len(paramList) > 3 else 0 if tagPlayerID: playerManager = GameWorld.GetMapCopyPlayerManager() findPlayer = playerManager.FindPlayerByID(tagPlayerID) else: findPlayer = curPlayer if not findPlayer: GameWorld.DebugAnswer(curPlayer, "ÕÒ²»µ½Ä¿±êÍæ¼Ò,tagPlayerID=%s" % tagPlayerID) return #»ñµÃÁбíÖÐÈÎÎñID mission = findPlayer.FindMission(missionID) #Íæ¼ÒÎÞ´ËÈÎÎñ if mission == None : #Ìí¼Ó´ËÈÎÎñ mission = QuestCommon.AddNewMission(findPlayer, missionID) #ÉèÖÃÈÎÎñ״̬ QuestCommon.SetPlayerMissionState(findPlayer, mission, state) if descriptionIndex != None: mission.SetDescriptionIndex(descriptionIndex) EventShell.NotifyOneMission(findPlayer, mission) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÈÎÎñ³É¹¦ID=%d,״̬=%s,ÃèÊö=%d" % (mission.GetMissionID(), mission.GetState(), mission.GetDescriptionIndex())) return