hzr
2025-04-21 2d9d117228fd281aeeb0f3c173f538744f8dffd7
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/usr/bin/python
# -*- coding: GBK -*-
# ----------------------------------------------------------------------------------------------------
#
# ----------------------------------------------------------------------------------------------------
##@package GMCommon
# @todo: GMÃüÁîͨÓú¯Êý
#
# @author adaws
# @date 2010-07-21 15:20
# @version 1.5
#
# @note: ÕâÀïµÄ·½·¨Ö»Ìṩ¸øGMÃüÁîÓàÖ÷ÒªµÄÓв»ÉÙÌṩ¸ø»úÆ÷ÈËÓÃ
# @change: "2013-04-24 10:00" wdb Ôö¼Ó×°±¸¸½¼ÓÄÚÈÝ
# @change: "2013-05-10 17:00" wdb ×°±¸Ôö¼ÓÊôÐÔ·â×°
# @change: "2013-05-20 15:00" wdb ×°±¸¸½¼ÓÊôÐÔ½Ó¿ÚÐÞ¸Ä
# @change: "2013-06-03 14:00" wdb ÐÞ¸Ä׿ԽÊôÐÔ±íÃûÎªÌØÊâÊôÐÔ
# @change: "2013-10-21 15:10" Alee ÎïÆ·¼¼ÄÜÔöǿЧ¹û,ͳһº¯ÊýEquipAddAdditionEx
#---------------------------------------------------------------------
#"""Version = 2013-10-21 15:10"""
#---------------------------------------------------------------------
 
import IPY_GameWorld
import GameWorld
#------------------------------------------------------------------------------ 
 
#gm¹¤¾ß·µ»Ø½á¹ûÀàÐÍ
(
Def_Success,   #0 ÃüÁîÖ´ÐÐ
Def_ParamErr,   # 1²ÎÊý´íÎó
Def_GMCmdNone,  # 2ÎÞ¸ÃGMÃüÁî
Def_NoTag,  # 3ÎÞ·¨ÕÒµ½Ä¿±ê
Def_PlayerOfLine, # 4Íæ¼Ò²»ÔÚÏß 
Def_Unknow,   # 5δ֪´íÎó
Def_NoNeed,   # 6ÒÑ´¦ÓÚ¸Ã״̬
Def_InsertFail, # 7²åÈëÊý¾Ýʧ°Ü
Def_MaxLimit,  # 8ÊýÁ¿¹ý´ó
Def_TimeConflict,  # 9ʱ¼ä³åÍ»
Def_InvalidTime,  # 10ʱ¼ä²»ÕýÈ·
Def_MakeNewCardFail, # 11Éú³ÉÐÂÊÖ¿¨³ö´í
Def_EncodeFail, # 12±àÂëʱ³ö´í
Def_GMDBEntranceFail,   # 13GMÃüÁîDBÈë¿Ú½âÎöÖ´Ðгö´í
Def_GMGSEntranceFail,  # 14GMÃüÁîGameServerÈë¿Ú½âÎöÖ´Ðгö´í
Def_DeleteIPFail,  # 15ɾ³ý½ûÑÔIPʧ°Ü
Def_MoneyTypeErr,  # 16½ðÇ®ÀàÐÍ´íÎó
Def_MsgMaxLenLimit,  # 17³¤¶È¹ý´ó
Def_InvalidEvent,  # 18ÈÎÎñid²»¿ÉÓÃ
Def_ChoseNothing,  # 19ûÓÐÑ¡Ôñ¿ªÆôµÄ»î¶¯
Def_AddNumError,  # 20¼Ó³ÉÖ»ÄÜΪ´óÓÚ0µÄÕûÊý
Def_PriceIsNull,  #21½±ÀøÐÅϢΪ¿Õ
Def_TypeNumErr,   #22ÀàÐÍ´íÎó
Def_NotOpenAction, #23 »î¶¯Î´¿ªÆô
Def_ActionOpening, #24 »î¶¯¿ªÆôÖÐ
Def_TimeIsNone, #25ûÓÐÉèÖÃʱ¼ä 
Def_TimeStarGreaterEnd, #26¿ªÊ¼Ê±¼ä´óÓÚ½áÊøÊ±¼ä
Def_CurTimeGreaterStarTime,  #27µ±Ç°Ê±¼ä´óÓÚµÈÓÚ¿ªÊ¼Ê±¼ä
Def_CurTimeGreaterEndTime, # 28µ±Ç°Ê±¼ä´óÓÚ½áÊøÊ±¼ä
Def_ActionAllreadyOpen, #29 »î¶¯ÒѾ­ÉèÖùýÁË
Def_GMForbidMergeWar, #30 gmÉèÖÃÕâ¸ö·þ²»²Î¼Ó¿ç·þÈû
Def_IsNotCrossServer, #31 ¸Ã·þ²»ÊÇ¿ç·þ·þÎñÆ÷
Def_ServerAlreadyOpen, #32 ÒѾ­Õýʽ¿ª·þ¹ý
Def_ServerClose, #33 ·þÎñÆ÷ά»¤ÖÐ
Def_ServerOpen, #34 ·þÎñÆ÷Õý³£
Def_ResultTypeMax, 
) = range(36)
 
#BUFF¶ÔÓ¦ÖÐÎÄÃû
BuffNameList = ["ÎÞÀàÐÍ", "ÔöÒæ¼¼ÄÜ:", "¼õÒæ¼¼ÄÜ:", "¹â»·¼¼ÄÜ:", "ÔöÖµ¼¼ÄÜ:", "±»¶¯¼¼ÄÜ",
                "×°±¸¼¼ÄÜ:", "µØÍ¼¼¼ÄÜ:", "¿ØÖƼ¼ÄÜ:", "³ÖÐøÔöÒæ:", "³ÖÐø¼õÒæ:"]
 
#NPCËù³ÖÓеÄBUFF¹ÜÀíÆ÷
BuffTypeList_NPC = [
                    IPY_GameWorld.bfBuff,                # ÔöÒæ
                    IPY_GameWorld.bfDeBuff,              # ¼õÒæ
                    IPY_GameWorld.bfAura,                # ¹â»·
                    IPY_GameWorld.bfActionBuff,          # ¿ØÖÆ
                    IPY_GameWorld.bfProcessBuff,         # ³ÖÐøÔöÒæ
                    IPY_GameWorld.bfProcessDeBuff,       # ³ÖÐø¼õÒæ
                    ]
 
## »ñµÃNPCµÄBUFFÀàÐÍÁбí
#  @param curNPC Íæ¼ÒʵÀý
#  @return BUFFÀàÐÍÁбí
#  @remarks »ñµÃNPCµÄBUFFÀàÐÍÁбí
def GetNPCBuffTypeList(curNPC):
    buffTypeList = BuffTypeList_NPC[:]
    
    if curNPC.GetGameNPCObjType() == IPY_GameWorld.gnotPet:
        buffTypeList.append(IPY_GameWorld.btPassiveBuf)          # ³èÎï¼Ó±»¶¯
    
    return buffTypeList
 
def SendGMTResult(orderId, pack_type, result=Def_Success, retMsg=None):
    resultMsg = str([orderId, retMsg, pack_type, result])
    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'GMToolResult', resultMsg, len(resultMsg))
    return