#!/usr/bin/python # -*- coding: GBK -*- ##@package PlayerMissionDir # »ñµÃÍæ¼ÒÈÎÎñÁÐ±í£¨Ö§³ÖÍæ¼ÒID£© # # @author xdh # @date 2010-4-23 # @version 1.0 # # ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ # # Ä£¿éÏêϸ˵Ã÷ import GameWorld import Lang import LogUI ## GMÃüÁîÖ´ÐÐÈë¿Ú # @param curPlayer µ±Ç°Íæ¼Ò # @param playerList ²ÎÊýÁбí [Íæ¼ÒID, missionID] # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec(curPlayer, playerList): if len(playerList) == 0: GameWorld.DebugAnswer(curPlayer, Lang.GBText("PlayerMissionDir Íæ¼ÒID, [ÈÎÎñID]")) return playerID = playerList[0] playerManager = GameWorld.GetMapCopyPlayerManager() findPlayer = playerManager.FindPlayerByID(playerID) if not findPlayer: GameWorld.DebugAnswer(curPlayer, Lang.GBText("µ±Ç°µØÍ¼Î´ÕÒµ½Íæ¼ÒID:%s"%playerID)) return if len(playerList) == 1: GameWorld.DebugAnswer(curPlayer, Lang.GBText("Íæ¼ÒID£º%d ÈÎÎñ״̬ÈçÏÂ"%(playerID))) for i in range(0, findPlayer.GetMissionCount()): #±éÀúÈÎÎñÁбí, ÕÒµ½Õâ¸öÈËÎï¿ÉÒÔÖ´ÐеÄÈÎÎñ curMission = findPlayer.GetMissionByIndex(i) #»ñµÃÈÎÎñID MissionID = curMission.GetMissionID() #»ñµÃÈÎÎñ״̬ MissionState =curMission.GetState() GameWorld.DebugAnswer(curPlayer, Lang.GBText("ÈÎÎñID£º%d ÈÎÎñ״̬£º%d"%(MissionID,MissionState))) return missionID = playerList[1] curMission = findPlayer.FindMission(missionID) if curMission == None: GameWorld.DebugAnswer(curPlayer, Lang.GBText("Íæ¼Òid:%s ÎÞ´ËÈÎÎñ£º%d"%(playerID, missionID))) return MissionState =curMission.GetState() GameWorld.DebugAnswer(curPlayer, Lang.GBText("Íæ¼ÒID£º%s ÈÎÎñID£º%d ÈÎÎñ״̬£º%d"%(playerID, missionID,MissionState))) for i in range(curMission.GetPropertyCount()): GameWorld.DebugAnswer(curPlayer, Lang.GBText("Íæ¼ÒÈÎÎñID£º%d state = %d key = %s value = %d"%(missionID,curMission.GetState(), curMission.GetPropertyNameByIndex(i), curMission.GetPropertyValueByIndex(i) )))