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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/python
# -*- coding: GBK -*-
#---------------------------------------------------------------------
#
#---------------------------------------------------------------------
##@package PrintNPCAngry
# @todo: ²é¿´µãÑ¡µÄNPC³ðºÞÁбí
#
# @author: panwei
# @date 2010-06-09
# @version 1.0
#
# @note: ²é¿´µãÑ¡NPCµÄ³ðºÞÁбí
#---------------------------------------------------------------------
import IPY_GameWorld
import GameWorld
import GameObj
#---------------------------------------------------------------------
##²é¿´µãÑ¡µÄNPC³ðºÞÁбí
# @param curPlayer Íæ¼ÒʵÀý
# @param cmdList GMÃüÁî²ÎÊýÁбí
# @return ·µ»ØÖµÎÞÒâÒå
# @remarks GMÃüÁî
def OnExec(curPlayer, cmdList):
    #---»ñµÃµãÑ¡µÄNPC---
    
    if cmdList:
        objID = cmdList[0]
        curNPC = GameWorld.GetObj(objID, IPY_GameWorld.gotNPC)
        if not curNPC:
            GameWorld.DebugAnswer(curPlayer, "objID(%s) ´íÎó ÕÒ²»µ½¶ÔÓ¦NPC" % objID)
            return
    else:
        curObj = curPlayer.GetActionObj()
        
        if curObj == None or curObj.GetID() == 0:
            GameWorld.DebugAnswer(curPlayer, "ÐèÑ¡ÖÐNPC")
            return
        
        if curObj.GetGameObjType() != IPY_GameWorld.gotNPC:
            GameWorld.DebugAnswer(curPlayer, "ÐèÑ¡ÖÐNPC")
            return
    
        #---Êä³öNPCµÄ³ðºÞÐÅÏ¢---
        curNPC = GameWorld.GetObj(curObj.GetID(), IPY_GameWorld.gotNPC)
        
        if curNPC == None:
            GameWorld.DebugAnswer(curPlayer, "ÐèÑ¡ÖÐNPC")
            return
        
    npcAngry = curNPC.GetNPCAngry()
    GameWorld.DebugAnswer(curPlayer, "---NPCID=%s, µ±Ç°³ðºÞÊý=%s" % (curNPC.GetNPCID(), npcAngry.GetAngryCount()))
    for i in range(0, npcAngry.GetAngryCount()):
        curAngry = npcAngry.GetAngryValueTag(i)
        angryObjID = curAngry.GetObjID()
        
        if angryObjID == 0:
            continue
        
        angryObjType = curAngry.GetObjType()
        angryObjValue = GameObj.GetAngryValue(curAngry)
        
        angryDetel = GameWorld.GetObj(angryObjID, angryObjType)
        
        if angryDetel == None:
            continue
        
        #GameWorld.DebugAnswer(curPlayer, 'id = %s, name = %s, angryValue = %s'%(angryObjID, angryDetel.GetName(), angryObjValue))
        GameWorld.DebugAnswer(curPlayer, '%s type=%s,id=%s,v=%s' % (i, angryObjType, angryObjID, angryObjValue))
    
    return