hxp
2025-06-12 edc3910a9d090e5df4deb2dbc37709a740375938
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/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