#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
  
 | 
##@package SetMissionDict  
 | 
# Ä£¿éµÄ¼òҪ˵Ã÷:ÉèÖÃÈÎÎñ×ÖµäÃüÁî  
 | 
# @author:Alee  
 | 
# @date 2010-5-31 ÏÂÎç08:14:51  
 | 
# @version 1.1  
 | 
#  
 | 
# ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ  
 | 
# @change: "2010-06-07 16:21" alee ÐÞ¸ÄËõ½ø¡£¡£¡£  
 | 
#  
 | 
# Ä£¿éÏêϸ˵Ã÷:É÷Óà  
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
#µ¼Èë  
 | 
import GameWorld  
 | 
#---------------------------------------------------------------------  
 | 
#È«¾Ö±äÁ¿  
 | 
## ÈÎÎñ×ÖµäÖµÉèÖà  
 | 
#  @param curPlayer GM  
 | 
#  @return playerList ÃüÁî²ÎÊý(npciid ¸öÊý)  
 | 
#  @remarks ÈÎÎñ×ÖµäÖµÉèÖà  
 | 
def OnExec(curPlayer, msgList):  
 | 
    if len(msgList) < 3:  
 | 
        GameWorld.DebugAnswer(curPlayer, "SetMissionDict ÈÎÎñID key Öµ Íæ¼ÒID(¿ÉÑ¡)")  
 | 
        GameWorld.DebugAnswer(curPlayer, "Íæ¼ÒIDδÉèÖÃʱĬÈÏ×Ô¼º")  
 | 
        return  
 | 
      
 | 
    missionID = msgList[0]  
 | 
    keyName = msgList[1]  
 | 
    value = msgList[2]  
 | 
      
 | 
    tagPlayerID = msgList[3] if len(msgList) > 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  
 | 
      
 | 
    curMission = findPlayer.FindMission(missionID)  
 | 
    if not curMission:  
 | 
        GameWorld.DebugAnswer(curPlayer, "Íæ¼ÒûÓиÃÈÎÎñ,missionID=%s" % missionID)  
 | 
        return  
 | 
    curMission.SetProperty(keyName, value)  
 | 
    GameWorld.DebugAnswer(curPlayer, "ÈÎÎñ(%s),%s=%s" % (missionID, keyName, curMission.GetProperty(keyName)))  
 | 
    return  
 | 
  
 | 
  
 |