hxp
2019-04-18 c562008bec642a25245295eeec567081bc4e4c42
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
#!/usr/bin/python
# -*- coding: GBK -*-
 
##@package PlayerDBGSEvent
# Íæ¼Òʼþ´¥·¢¹ÜÀíÆ÷
#
# @author Mark
# @date 2010-5-11
# @version 4.3
#
# ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
# @change: "2010-05-12 18:30" zhengyang Ìí¼Ó×¢ÊÍ
# @change: "2011-11-30 10:18" whx Ìí¼Ó¼Ò×åÕ½¿ªÆô×ÖµäÿÌìË¢ÐÂ
# @change: "2011-12-20 12:54" whx ÒƳý¼Ò×åÕù°Ôս֪ͨ×Öµä
# @change: "2012-03-23 13:30" jiang Ôö¼Óһö¾ÙDef_InitOpenServerTime
# @change: "2012-05-06 19:30" jiang Ôö¼Óһö¾ÙDef_ServerDay
# @change: "2012-07-18 11:00" wdb Ôö¼Ó³äÖµ»î¶¯ÉèÖÃ
# @change: "2012-08-07 14:00" wdb Ôö¼ÓÅжϿª·þµÚÒ»ÖÜÊÇ·ñ¿ª°ï»áÕ½
# @change: "2012-08-24 13:59" whx ¼Ç¼»î¶¯¿ªÆôʱ¼ä
# @change: "2012-09-17 10:30" whx ¼Ç¼¸£Àû»î¶¯¿ªÆôÐÅÏ¢
# @change: "2012-10-16 17:30" jiang Ôö¼Óһö¾ÙDef_ResetPlayerBillboard
# @change: "2012-11-01 15:30" wdb ÐÂÔö¿ç·þÈüÌÔÌ­Èü(¿ç·þ·þÎñÆ÷)µ÷ÓÃ
# @change: "2012-11-08 14:30" whx ÐÂÔö¿ç·þµ÷ÓÃ
# @change: "2012-11-21 11:00" wdb ¿ç·þÈü±¨Ãû(ÉÏ´«Êý¾Ý)µ÷Õû
# @change: "2012-11-29 11:30" jiang OnDay֪ͨ¹úÍõ·þÎñÆ÷¿ªÆôÌìÊý
# @change: "2012-11-29 13:00" hyx ÐÂÔö¿ç·þÈüʼþö¾Ù
# @change: "2012-11-29 19:00" wdb Ìí¼ÓÈ«·þ½±Àø
# @change: "2012-12-05 17:00" wdb Ôö¼ÓgmÃüÁî£¬ÖØÉè»î¶¯ÌìÊý
# @change: "2012-12-10 15:50" hyx É¾³ý¶àÓàµÄö¾Ù
# @change: "2013-01-11 11:00" wdb Ôö¼Ó ²Î¼ÓÈÙÒ«Ö®Õ½(¿ç·þ»ìÕ½)ÉÏ´«Êý¾Ý
# @change: "2013-01-14 15:00" wdb Ôø¼Ó¼Ç¼»î¶¯ÉèÖÃʱµÄʱ¼äÓÃÓÚ±êʶ»î¶¯Î¨Ò»
# @change: "2014-04-26 19:30" hxp Ôö¼ÓÁìµØÕ½»î¶¯Ìì¼Ç¼
# @change: "2014-05-17 11:30" xmnathan Ôö¼Ó½»Ò×Ëù¿ª¹Ø£»GetDBGSTrig_ByKey½Ó¿ÚÔö¼Ó Ä¬ÈÏÖµ²ÎÊý
# @change: "2014-12-01 12:30" hxp Ôö¼ÓºÏ·þ״̬¼°ÌìÊý¼Ç¼
# @change: "2014-12-03 18:00" hxp Ôö¼ÓºÏ·þÊ×´ÎÆô¶¯Êý¾Ý¼ÓÔØ´¦Àí¼Ç¼
# @change: "2014-12-08 11:00" hxp Ôö¼ÓºÏ·þʱµÄ¿ª·þÌìÊý¼Ç¼
# @change: "2015-01-10 16:00" hxp Ôö¼Ó½Ç¶·³¡boss»÷ɱ´ÎÊý
# @change: "2015-05-07 15:00" ljd Ôö¼ÓÈ«·þºì°ü²ú³ökey
# @change: "2015-06-05 17:00" hxp Ôö¼ÓPKÖÜÈüÌì
# @change: "2016-08-29 23:30" hxp ºé»ÄÖ®Á¦
# @change: "2017-03-24 15:00" hxp Ìػݻ¶¯Ì¬Ñ­»·
#---------------------------------------------------------------------
"""Version = 2017-03-24 15:00"""
#---------------------------------------------------------------------
# Ä£¿éÏêϸ˵Ã÷
 
#Writer £ºMark
#Íæ¼Òʼþ´¥·¢¹ÜÀíÆ÷
#µ¼Èë
import GameWorld
#---------------------------------------------------------------------
#È«¾Ö±äÁ¿
#---------------------------------------------------------------------
 
#---------------------------------------------------------------------
#Âß¼­ÊµÏÖ
 
#Íæ¼Òʼþ´¥·¢±í
#ÖØÃû¼Ò×åÃû×Ö
Def_Key_RenameFamily = 'RenameFamily'
 
#·þÎñÆ÷ÔËÐÐÁ˼¸ÖÜ
Def_ServerWeek = 'ServerWeek'
 
#·þÎñÆ÷ÔËÐÐÁ˼¸Ìì
Def_ServerDay = 'ServerDay'
 
#¿ª·þÊÇÖܼ¸, 1´ú±íÖÜÒ»
Def_OpenServerWeekday = 'OpenServerWeekday'
 
#·þÎñÆ÷ÊÇ·ñÊǺϷþ·þÎñÆ÷
Def_IsMixServer = 'IsMixServer'
 
#·þÎñÆ÷ÒѾ­ºÏ·þ¶àÉÙÌì
Def_MixServerDay = 'MixServerDay'
 
#·þÎñÆ÷ºÏ·þÊ×´ÎÆô¶¯OK
Def_IsMixServerInitOK = 'IsMixServerInitOK'
 
#ÉϴκϷþʱµÄ¿ª·þÌìÊý
Def_LastMixServerDay = 'LastMixServerDay'
 
#ÉϴκϷþʱµÄÊÀ½çµÈ¼¶
Def_LastMixServerWorldLV = 'LastMixServerWorldLV'
 
#Ê״οª·þʱ¼ä£¬×¢Òâ²»ÒªÓøÃÈÕÆÚ×ö¿ª·þÌìÏà¹ØµÄ¹¦ÄÜÂß¼­£¬Èç¹ûÒªÓÿª·þÌ죬ÇëÓàDef_ServerDay
''' Ô­Òò£º 
ÒòΪĿǰ¿ª·þÌìµÄÂß¼­´ó²¿·ÖÊÇÓàDef_ServerDay£¬µ±³öÏÖ·þÎñÆ÷å´»ú³¬¹ý24Сʱʱ£¬¾Í»áµ¼Ö Def_ServerDay Óë Def_InitOpenServerTime ²»¶ÔÓ¦
ËùÒÔΪÁ˹¦ÄÜÂß¼­ºÍÊý¾ÝµÄͳһÐÔ£¬¿ª·þÌìÏà¹ØµÄ¹¦ÄÜÂß¼­±ØÐëÓàDef_ServerDay
Def_InitOpenServerTime Ä¿Ç°½öÓÃÓÚÔ¤ÏÈÉèÖÿª·þÈÕÆÚÓÃ
'''
Def_InitOpenServerTime = 'InitOpenServerTime'
Def_SetOpenServerTime = 'SetOpenServerTime' # GM¹¤¾ßÔ¤¶¨µÄ¿ª·þʱ¼ä
 
#ÏÉÃËÁªÈüµ±Ç°Õ½¶·ÂÖ´Î
Def_FamilyWar_Round = 'FamilyWar_Round'
#ÏÉÃËÁªÈüÊÇ·ñÒѾ­´¦Àí¹ý×ܽáËã
Def_FamilyWar_AllOver = 'FamilyWar_AllOver'
 
#·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼­´¦Àí Äê
Def_Server_Year = 'Def_Server_Year'
#·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼­´¦Àí ÔÂ
Def_Server_Month = 'Def_Server_Month'
#·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼­´¦Àí ÔÂ
Def_Server_MonthEx = 'Def_Server_MonthEx'
#·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼­´¦Àí ÖÜ
Def_Server_Week = 'Def_Server_Week'
#·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼­´¦Àí ÖÜ
Def_Server_WeekEx = 'Def_Server_WeekEx'
#·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼­´¦Àí ÈÕ
Def_Server_Day = 'Def_Server_Day'
#·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼­´¦Àí ÈÕ
Def_Server_DayEx = 'Def_Server_DayEx'
#·þÎñÆ÷¿ª·þ×Ô¶¯Âß¼­´¦Àí Ð¡Ê±
Def_Server_Hour = 'Def_Server_Hour'
 
# ½»Ò×Ëù¿ª¹Ø
Def_BourseState = "BourseState"
 
# ±¾·þºì°ü²ú³öÊý
Def_RedPacketOutput = "RedPacketOutput"
 
Def_BossRefreshTime = 'BossRefreshTime_%s'  # bossË¢ÐÂʱ¼ä, ²ÎÊýΪNPCID
 
#ÊÀ½çµÈ¼¶¼ÆËã¶îÍâʱ¼ä²ÎÊý
Def_WorldLVExtraTime = 'WorldLVExtraTime'
 
# ÏÉħ֮ÕùÊÇ·ñÈ«²¿½áËã
Def_XMZZIsOver = "XMZZIsOver"
 
# ÊÇ·ñµÚÒ»¸ö¿ª·þºì°ü
Def_OSRedPacket = "OSRedPacket"
 
# ¼ÙÏÉÃËËæ»ú±àºÅ
Def_FakeFamilyIndex = 'FakeFamilyIndex_%s'  # ²ÎÊýΪµÚ¼¸¸ö¼ÙÏÉÃË
 
#ÉèÖÃÔËÓª»î¶¯IDµÄ±ê¼Ç
Def_OperationActID = 'OperationActID_%s' #²ÎÊýΪÔËÓª»î¶¯Ãû
#ÔËÓª»î¶¯¿ªÆôʱÊÀ½çµÈ¼¶£¬²ÎÊýΪÔËÓª»î¶¯Ãû
Def_OActWorldLV = "OActWorldLV_%s"
#boss¸´»î»î¶¯µ±Ç°¸´»îµã
Def_BossRebornPoint = "BossRebornPoint"
#boss¸´»î»î¶¯²ÎÊý·þÎñÆ÷ÈËÊý
Def_BRServerPlayerCnt = "BRServerPlayerCnt"
#boss¸´»î»î¶¯ÒѸ´»î´ÎÊý
Def_BossRebornCnt = "BossRebornCnt"
#¶àÏÉÃËBoss»÷ɱʱ¼ä
Def_AllFamilyBossTime = "AllFamilyBossTime"
#Æï³èBoss»÷ɱʱ¼ä
Def_HorsePetBossTime = "HorsePetBossTime%s"
#¿ç·þ·þÎñÆ÷ÊÇ·ñά»¤ÖÐ
Def_CrossServerClose = "CrossServerClose"
 
def SetInitOpenServerTime(initTime):
    openDatetime = GameWorld.ChangeTimeNumToDatetime(initTime)
    openServerWeekday = openDatetime.weekday() + 1
    SetDBGSTrig_ByKey(Def_InitOpenServerTime, initTime)
    SetDBGSTrig_ByKey(Def_OpenServerWeekday, openServerWeekday)
    GameWorld.Log("ÉèÖÿª·þʱ¼ä: %s(%s), ÖÜ%s" % (openDatetime, initTime, openServerWeekday))
    # ÐèÒªÕâ¸ö²ÎÊýÖ÷ÒªÊÇGM¹¤¾ß»áÅжÏÊÇ·ñÓÐÉèÖùý£¬ËùÒÔ¸ÃÖµÒ»°ãÖ»ÓÐGMÃüÁî»ò¹¤¾ß²ÅÄÜÉèÖÃ
    setOpenServerTime = GetDBGSTrig_ByKey(Def_SetOpenServerTime)
    if setOpenServerTime and setOpenServerTime != initTime:
        SetDBGSTrig_ByKey(Def_SetOpenServerTime, initTime)
        GameWorld.Log("    Í¬²½¸üРDef_SetOpenServerTime=%s" % initTime)
    return
 
## ²éÕÒʼþ
#  @param findID ²éÕÒµÄID
#  @param key ÓëID×éºÏ³Ékey
#  @return Ê¼þ¹ÜÀíÆ÷
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def FindDBGSTrig_ByEventID( findID , key ):
    gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()
    return gsEventTrigManager.Find( '%s%s'%( key , findID ) )
 
## Ìí¼Óʼþ
#  @param eventID ÒªÌí¼ÓµÄʼþID
#  @param key ÓëID×éºÏ³Ékey
#  @return Ê¼þ¹ÜÀíÆ÷
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def AddDBGSTrig_ByEventID( eventID , key ):
    gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()
    return gsEventTrigManager.AddKey( '%s%s'%( key , eventID ) )
 
 
## É趨·þÎñÆ÷ʼþ(¸Ãʼþ¼Ç¼ΪÊýÖµ´Ó1Ò»Ö±ÀÛ¼Ó)
#  @param key:ʱ¼äkey
#  @return None
def SetDBGSTrig_ServerTime(key):
    gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()
    
    trig = gsEventTrigManager.Find(key)
    
    if not trig:
        trig = gsEventTrigManager.AddKey(key)
    
    if not trig.GetIsEvent():
        trig.SetIsEvent( 1 )
        
    else:
        trig.SetIsEvent( trig.GetIsEvent() + 1 )
    
    return
        
        
## È«·þ×ÖµäÀà
#  @param key Í¨¹ýkey
#  @param defValue Ä¬ÈÏÖµ
#  @return ·µ»Øtrig
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def GetDBGSTrig_ByKey( key, defValue=0 ):
    gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()
    trig = gsEventTrigManager.Find( key )
    
    if not trig:
        SetDBGSTrig_ByKey(key, defValue)
        return defValue
    
    return trig.GetIsEvent()
 
## È«·þ×ÖµäÀà( value ÖµÎª0,1 )
#  @param key Í¨¹ýkey
#  @param value ÉèÖÃvalue
#  @return ·µ»Øtrig
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def SetDBGSTrig_ByKey( key , value ):
    gsEventTrigManager = GameWorld.GetGameWorld().GetDBGameServerEventTrigManager()
    trig = gsEventTrigManager.Find( key )
    
    if not trig:
        trig = gsEventTrigManager.AddKey( key )
        
    trig.SetIsEvent( value )
    
    return
    
def DelDBGSTrig_ByKey(key):
    GameWorld.GetGameWorld().GetDBGameServerEventTrigManager().DeleteByKey(key)
    return