hzr
2 天以前 c999bc50d37b5371f92ba71b3ab70f6eeb0e5076
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
244
245
246
247
248
249
250
251
252
253
254
255
256
257
MÓøgc@sAddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl!Z!ddl"Z"ddl#Z#ddl$Z$ddl%Z%ddl&Z&ddl'Z'ddl(Z(ddl)Z)ddl*Z*ddl+Z+ddl,Z,ddl-Z-ddl.Z.ddl/Z/ddl0Z0ddl1Z1ddl2Z2ddl3Z3ddl4Z4ddl5Z5d„Z6d„Z7d„Z8d„Z9d„Z:d„Z;d„Z<d    „Z=d
„Z>d „Z?d „Z@eAd „ZBd„ZCd„ZDd„ZEd„ZFd„ZGd„ZHd„ZId„ZJd„ZKd„ZLd„ZMd„ZNd„ZOd„ZPd„ZQd„ZRejSd„ZTdd „ZUd!„ZVd"„ZWd#dd$„ZXd%„ZYd&„ZZd'„Z[d(„Z\d)„Z]d*„Z^d+„Z_d,„Z`d-„Zad.„Zbd/„Zcd0„Zdd1„Zed2„Zfd3„Zgd4„Zhd5„Zid6„Zjd7„Zkd8„Zld9„Zmd:„Znd;„Zod<„Zpd=„Zqd>„Zrd?„Zsd@„ZtdA„ZudB„ZvdC„ZwdD„ZxdE„ZydF„ZzdG„Z{dH„Z|dI„Z}dJ„Z~dK„ZdL„Z€dM„ZdN„Z‚dS(OiÿÿÿÿNcCsYtjdƒtj|ƒtjƒj|ƒt|ƒtjƒt    j
ƒt j ƒdS(NsGameServer -> OnHour!( t    GameWorldtLogtPlayerEventCountertDoLogic_GameServer_OnHourt GetGameWorldtOnHourt__SetWorldKey_SavePlayert GameLogInfotSet_Server_Hourt PlayerFamilyt FamilyOnHourtChPlayert#CheckOnedayJobPlayerLoginoffTimeout(t
curTimeStrttick((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRƒs  
 
 
 
cCs8tjdƒtjƒtjƒtj|ƒtjtj    ƒ}tj
t j |ƒtjtj ƒ}tjtjƒ}tj
t j|ƒtj
t j|ƒtjƒj|ƒtjƒtjƒtjƒtjƒtjƒtjƒtjƒddl}|jƒt jƒt!jƒt"jƒt#jƒdS(NsGameServer -> OnDay!iÿÿÿÿ($RRtPlayerBillboardtCopyBillboardOnDaytCrossBillboardRtDoLogic_GameServer_OnDaytPlayerDBGSEventtGetDBGSTrig_ByKeyt Def_ServerDaytSendMapServerMsgExt ShareDefinetDef_Notify_WorldKey_ServerDaytDef_IsMixServertDef_MixServerDaytDef_Notify_WorldKey_IsMixServert Def_Notify_WorldKey_MixServerDayRtOnDayRtSet_Server_DaytNoteOssBillboardInfoByDaytPlayerFamilyRedPackettDoOnDayR tUpdataPlayerLVInfotGameWorldOpenServerCampaigntPlayerCompensationtClearUpTimeOutCompensationt PlayerControlt PlayerBoursetOverTimeItemsDealtGameWorldFamilyWart
PlayerLovetCrossLuckyCloudBuyt GameWorship(R Rt openServerDayt isMixServert mixServerDayR'((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR—s2 
 
 
 
 
 
 
 
 
 
 
 
 
 
cCs9tjdƒtj|ƒtƒtjƒtjƒdS(NsGameServer -> OnDayEx!(    RRRtDoLogic_GameServer_OnDayExt__Set_Server_DayExt
PlayerXMZZt XMZZOndayExt GameWorldBosstBossRebornOnDayEx(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytOnDayExÆs   
 
cCs;tjdƒtjƒtj|ƒtjƒj|ƒdS(NsGameServer -> OnWeek!(RRRtSet_Server_WeekRtDoLogic_GameServer_OnWeekRtOnWeek(R R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR9×s
 
 cCs%tjdƒtj|ƒtƒdS(NsGameServer -> OnWeekEx!(RRRtDoLogic_GameServer_OnWeekExt__Set_Server_WeekEx(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytOnWeekExàs  cCs;tjdƒtj|ƒtjƒj|ƒtjƒdS(NsGameServer -> OnMonth!(RRRtDoLogic_GameServer_OnMonthRtOnMonthRtSet_Server_Month(R R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR>ìs
 
cCs%tjdƒtj|ƒtƒdS(NsGameServer -> OnMonthEx!(RRRtDoLogic_GameServer_OnMonthExt__Set_Server_MonthEx(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyt    OnMonthExôs  cCs;tjdƒtj|ƒtjƒj|ƒtjƒdS(NsGameServer -> OnYear!(RRRtDoLogic_GameServer_OnYearRtOnYearRtSet_Server_Year(R R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRDs
 
cCsÄy't|jƒdjdƒdƒ}Wn+tk
rT}tjd||fƒdSXtjƒ}|dkr˜|jtjƒsÀ|j    tjdƒqÀn(|jtjƒrÀ|j    tjdƒndS(Nis:is!###»ñÈ¡Íæ¼Ò´¢´æ×ÖµäÒì³£ = %s , %si(
tinttsplitt BaseExceptionRRRt GetDictByKeytChConfigtDef_WorldKey_SavePlayertSetDict(R ttimeStrtet    gameWorld((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRs'  cCstjtƒ|ƒdS(N(Rt GetPsycoFunct__Func_HighPrecisionProcess(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytHighPrecisionProcess+scCsBtjƒjtjƒsdSttjƒƒ}tj|ƒt    j
|ƒt j |ƒt j|ƒtj|ƒtj|ƒtj||ƒtj||ƒtj||ƒtjjƒ}|j}|j}|d}tjƒjtjƒ}||kr$tjƒjtj|ƒt||ƒn|ddkr>t ƒndS(Nii
i(!RRRIRJtDef_WorldKey_IsGameWorldInitRFttimetPlayerFamilyPartytFamilyParty_ProcessR    tOnLeaderImpeachTicktCrossRealmPlayertOnCrossProcessR4tDoCheckWorldBossRebornt
PlayerTeamt DoTeamProcesst PlayerDBOpert PyDBProccesst AuctionHousetOnAuctionItemTimeProcessR*t OnTimeProcesstGameWorldMineAreatOnMineItemTimeProcesstdatetimettodaytminutetsecondtDef_WorldKey_ProcessMinuteRLtGameWorldProcessOnMinutetSendMapCommMapLinePlayerCount(RtcurTimet curDateTimet    curMinutet    curSecondt processMinutetlastProcessMinute((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRQ4s.              
 
cCsR| rtj rdStjd|tjfƒtjtjtjƒtt_dS(NsO֪ͨ³£¹æµØÍ¼Íæ¼ÒÈËÊýÐÅÏ¢: isForce=%s,PyGameData.g_commMapLinePlayerCountDict=%s(    t
PyGameDatat g_needSyncCommMapLinePlayerCountRtDebugLogtg_commMapLinePlayerCountDicttSendCommMapServerMsgRt*Def_Notify_WorldKey_CommMapLinePlayerCounttFalse(tisForce((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRjds        cCsÄtƒt|ƒt|ƒt|ƒtjƒtjƒtjƒtj    ƒt
jƒt j|ƒt jƒt j|ƒtjƒtj|ƒtjƒtj|ƒtjƒtj|ƒdS(N(t$CheckServerHasPlayerLoginAfterInitOKtDoCheckNewServerOpentDisposeGameActivePlayertDisposeGameWorldEvenByTimeRtOnMinuteProcesstGameWorldActionControltDispose_OperationActionStatetDispose_DailyActionStatetDispose_FBStateTimet CrossRealmPKtCrossChampionshiptCrossBattlefieldtCrossFamilyGCZtGameWorldAverageLvtOpenWorldAverageLvR[tDoCountdownLeaveTeamLogicR tOnRedPacketMinuteProcessR_tOnAuctionItemMinuteProcessRbtOnProcessOnMinuteR    (RmR((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRiqs&
 
 
 
 
 
 
 
 
 
 
 
 cCs…tjƒjtjƒ}|s"dStjr/dSttjƒƒ}t    j
ddƒd}|||krkdStj dƒdt_dS(Nt ServerEventii<t NoPlayerLogin( RRRIRJRSRqtg_noPlayerLoginWarningMailStateRFRTt IpyGameDataPYt
GetFuncCfgt SendGameError(tinitGameWorldTimeRktnoPlayerLoginWarningTimes((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRy–s         cCs9tjƒr5tjƒjƒ}tj|ddƒdSdS(Nt serverGroupIDi(Rt IsCrossServerRtGetTickt CrossRealmMsgt&Sync_CrossServerInitDataToClientServer(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytOnReloadConfig¨s
 cCstjtƒ|ƒdS(N(RRPt__Func_OnGameWorldProcess(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytOnGameWorldProcess·scCskt|ƒt|ƒt|ƒt|ƒt|ƒt|ƒt|ƒt|ƒtj    ƒt
j |ƒdS(N( tDisposeGameWorldEvenByTrucktDisposeGameWorldBroadcasttDisposeGameWorldGametDispose_MapServer_TimetDispose_MapServer_PlayerSavetDisposeMapServerRunningStatetDispose_DataBase_GMShelltDispose_SendMsg_RouteServert EventReporttOnTimeCloseScribeTxtR4tCalcGameWorldBossOnlineCnt(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRš¿s
 
 
 
 
 
 
 
 
 cCsstjƒ}|jtjƒ}|dkr.dS||tjtjkrLdS|jtj|ƒtjƒjƒdS(Niÿÿÿÿ(RRt GetTickByTypeRJtTYPE_SendMsg_RouteServertTYPE_Tick_Timet SetTickByTypet SendHeartBeat(RROtlastTick((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR£ãs  cCs¹tjƒ}||jtjƒtjtjkr6dS|jtj|ƒ|jƒ}|jƒ|j    ƒ}|sudSx3t
d|ƒD]"}|j |ƒ}t j |ƒq…W|jƒdS(Ni(RRR§RJtTYPE_ReadDateBaseGMR©RªtGetDBGMCommandListManagertDataServer_GMCommandReqtGetCounttrangetGetAttGMShelltDoLogic_DBGMCommontClear(RROtdBGMCommandListManagertdBGMCommandListCounttitgmCommon((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR¢ûs & 
 
cCs`tjƒ}||jtjƒtjtjkr6dS|jtj|ƒ|jtjƒƒdS(N(    RRR§RJtTYPE_SendTimeToMapServerR©Rªt
OnTimeSynctGetCurrentDataTimeStr(RRO((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRŸs  &cCsWtjƒ}||jtjƒtjtjkr6dS|jtj|ƒ|jƒdS(N(RRR§RJtTYPE_SendServerStateR©RªtDataServer_ServerStateReport(RRO((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytDisposeServerState+s  &
cCsútjƒjtjƒdkr"dStjjƒjdkr>dStjƒ}g}x6t    |j
ƒƒD]"}|j |ƒ}|j |ƒqcW|j dtƒxAt    dt|ƒƒD]*}|dkrÅPn||}|jƒq¯WtjƒjtjdƒdS(Nii2tkeyii(RRRIRJRKRdReRftGetPlayerManagerR±tGetActivePlayerCounttGetActivePlayerAttappendtsorttGetKeytlentMapServer_PlayerSaveRL(Rt playerManagert curPlayerListR¸t    curPlayer((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR <s"  
cCs
|jƒS(N(tGetLV(RË((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRÆ_scCs­tjƒ}tjjƒj}|ddkr2dS|jdƒ}||krQdS|jd|ƒi}d}tjƒ}|jƒ}xŠt    |ƒD]|}|j
|ƒ}    |    dks’|    j ƒ rÆq’nt j|    ƒrå|d7}q’ntj|    ƒ}
|j|
dƒd||
<q’Wt} | rwx@|jƒD]2\}
} tj| |
|ƒtj| d|
ƒq+Wtj|i|ƒn2tjƒ} tj|i|ƒtj||| ƒdS(Niit
OnlineCntMi(RRRdReRfRIRLRÁRÂtxrangeRÃtNonet    GetInitOKR&tGetIsTJGtGetPlayerPlatformtgetRwtitemstDataRecordPacktDR_OnLinePlayerCountR¤tWriteEvent_concurrencyt GetPlatform(RRORmtnoteDatatplatformOLDictt tjgOnlineCntRÉtactivePlayerCounttindextplayertplatformt    isMixturet    playerCnttserverPlatform((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR{gs>    
 c Csµtjƒ}g}tjjƒ}x7t|jƒƒD]#}|j|ƒ}|jƒ}tj|j    ƒƒ}tj|j
ƒƒ}| s| rº|j |ƒtj d|||fƒq4n|j ƒs;||kr;||kr;|jtƒ|jƒ}    t|||    ƒtj|ƒ}
|
dkr8tjd|
ƒq8q;n||kr4|j |ƒq4q4WxS|D]K} t| ƒ|j| ƒtj| ƒ}
|
dkrbtjd|
ƒqbqbWdS(Ns%###---»î¶¯ÉèÖÃʱ¼äÒì³£ , %s , %s , %sti(RtGetGameWorldEventManagerRdReR±tGetActiveEventCounttGetActiveEventByIndext
GetEventIDtGetDateTimeByStrt
GetEndTimet GetStartTimeRÄRtGetIsProcessingtSetIsProcessingtTruetGetPart__NotifyMapServerProcesstGMCommontGetGameServer_GM_GameOpen_MsgR&t WorldNotifytDoLogic_ProcessEvent_ClosetDelActiveEventtGetGameServer_GM_GameClose_Msg( Rt eventManagertdelListt todayDateTimeRÝteventteventIDt eventEndTimeteventStartTimeteventPartsysMsgt
delEventID((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRžÀs:         
  cCsŒ|tjkr%ttt|ƒƒnc|tjkrJttt|ƒƒn>|tjkr~t|ƒ\}}t    t||ƒn
|j
ƒdS(N( RJtDef_GY_GM_Game_DoubleExpt__DisposeWorldExpEventRíRFtDef_GY_GM_Game_DropRatet__DisposeWorldDropRateEventtDef_GY_GM_Game_Broadcastt__GetBroseCastStrt__DisposeBroadcastEventtNotify_AllMapServerProcess(RùRúRýtintervaltmsg((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRïös
cCsX|tjkrttƒn8|tjkr8ttƒn|tjkrTttƒndS(N(RJRRRwRRRR(Rú((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRó s   cCs7|jdƒ}t|| ƒ}||d}||fS(Ns:i(tfindRF(RýRÝRR    ((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRscCs3tjƒ}|r"|j|ƒn |j|ƒdS(N(RRt
SetExpRate(tisOpentexpRateRO((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR)s
  icCs3|rtd|tjƒ}nd}t|ƒdS(Ni(tmaxRJtDef_MaxRateValuetSetWorldDropRateAdd(R R tworldDropRateAdd((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR7s
 
cCsdS(N((R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRBscCsat|ƒ}|s |jƒdStjƒ}x!|D]}|jt|ƒƒq3W|j|ƒdS(N(tevalRtIPY_GameServert    IntVectort    push_backRFtNotify_SelectMapServerProcess(Rùt    mapIDListtvectortmapID((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyt__DisposeMapGiveExpSs 
   RãcCsZtjƒ}|r/|j|ƒ|j|ƒn'|j|ƒ|jdƒ|jdƒdS(Ni(RRtSetBroadcastMsgtSetBroadcastIntervaltSetBroadcastTick(R t broadcastMsgt broadcastTickRO((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRjs     cCs¬tjƒ}|jtjƒ}|s(dS|jƒs8dStjƒ}|jƒ}|dkr`dS||jƒ|j    ƒddkrˆdStj
ƒj |ƒ|j |ƒdS(NRãi<iè( RRätFindActiveEventRJRRëRtGetBroadcastMsgtGetBroadcastTicktGetBroadcastIntervalRÁt BroadcastInfoR(RRöt
broadEventROR((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR‚s     $ c    Csòg}tjƒ}x6t|jƒƒD]"}|j|ƒ}|j|ƒq%W|sUdStjdƒd}tt    j    ƒƒ}|t
j d}x`|D]X}||j ƒ|kr´q’ntj d|jƒ|j ƒ||fƒtj|ƒq’WdS(Nt    TruckTimei<iès@ÔËïÚʱ¼ä³¬Ê±: %d disappear! startTime=%d,curTime=%s,truckTime=%s(RtGetTruckManangerR±t GetTruckCounttGetTruckByIndexRÄt ReadChConfigtGetEvalChConfigRFRTRJtDef_PlayerTruckLogoffTickt GetLogoffTickRt
GetOwnerIDt PlayerTrucktDelTruck(    RtworldTruck_Listt truckManangerRÝttruckt    truckTimeRkt disappearTimetcurTruck((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRœ´s"       cCst|ƒdS(N(tDoLogic_GameWorldEvenByTime(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR|ís
c    Cs²tjƒjtjƒ}|dkr(dStjƒ}tjjƒ}|j}|j    }tjj
|ƒd}|j }|j }t jƒ\}    }
} } } |    |ksÈ|
|ksÈ| |ksÈ| |krØt||ƒn|
|ksü| |ksü| |kr t||ƒntƒr"t|ƒn| |kr>t||ƒntƒrTt|ƒn| |ksl| |kr|t||ƒntƒr’t|ƒn| |kr®t||ƒndS(Niÿÿÿÿi(RRR§RJtTYPE_EvenByTimeR¼RdRethourtdayt isocalendartmonthtyearRtInitServerTimeRRt__Get_Can_OnDayExR6R9t__Get_Can_OnWeekExR<R>t__Get_Can_OnMonthExRBRD(RR¬R Rkt curTimeHourt
curTimeDayt curTimeWeekt curTimeMontht curTimeYeart
serverHourt    serverDayt
serverWeekt serverMontht
serverYear((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR7÷s8                  0$                 c    Csºtjƒ}tjtjƒ}|r¶|d}|dd}|d}tj|||dddƒ}||}|j}|j}|dkrdS|dkr¶|tj    dkr¶dSndS(s5ÅжϿɷñÁ賿Xµã¹ýÌì
    @return: 0-²»¿É£» 1-¿ÉÒÔ
    i'idiii(
Rt GetServerTimeRRtDef_Server_DayExRdtdaystsecondsRtDef_OnEventHour(    Rlt lastOndayExtlastOndayEx_YeartlastOndayEx_MonthtlastOndayEx_Dayt lastDatetimetpassTimetpassDayst passSeconds((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR?0s 
 
 
         cCs‘tjƒ}|jtjkr7|tjddƒ}n|jd|jd|j    }t
j t
j |ƒtj tj|ƒtjd|ƒdS(NRNii'ids!Set_Server_DayEx, OnDayExValue=%s(RRLR9RRPRdt    timedeltaR=R<R:RtSetDBGSTrig_ByKeyRMRtDef_Notify_WorldKey_OnDayExR(t onDayDateTimet ondayExValue((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR1Ws c Csítjƒ}tjj|ƒ}|\}}}tjtjƒ}|ré|d}|d}||kru||krudS|dkré|tjddƒ}tjj|ƒ\}    }
} |    |kræ|
|kræ|jt    j
krãdSqæqéndS(s5ÅжϿɷñÁ賿Xµã¹ýÖÜ
    @return: 0-²»¿É£» 1-¿ÉÒÔ
    idiiRNi( RRLRdR;RRtDef_Server_WeekExRYR9RRP( RlR;t dateTime_yeart dateTime_weekt dateTime_dayt lastOnWeekExtlastOnWeekEx_YeartlastOnWeekEx_WeektpreWeekDateTimet preWeek_yeart preWeek_weekt preWeek_day((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR@ds$ 
 
 cCsÈtjƒ}tjj|ƒ}|\}}}|dkr|jtjkr|tjddƒ}tjj|ƒ\}}}n|d|}tj    tj
|ƒtj tj |ƒtj d|ƒdS(NiRNiids#Set_Server_WeekEx, OnWeekExValue=%s(RRLRdR;R9RRPRYRRZR^RtDef_Notify_WorldKey_OnWeekExR(tonWeekDateTimeR;R_R`Rat onWeekExValue((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR;s c    Csîtjƒ}|j}|j}|j}tjtjƒ}|rê|d}|d}||kro||krodS|dkrê|dkrdn|d}|dkr©|n|d}||krç||krç|jt    j
krädSqçqêndS(s5ÅжϿɷñÁ賿Xµã¹ýÔÂ
    @return: 0-²»¿É£» 1-¿ÉÒÔ
    idiii ( RRLR:R<R=RRtDef_Server_MonthExR9RRP(    RlRatdateTime_monthR_t lastOnMonthExtlastOnMonthEx_YeartlastOnMonthEx_MonthtpreMonth_montht preMonth_year((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRA s&             
 
 cCsÖtjƒ}|j}|j}|j}|dkr|jtjkr|dkrWdn|d}|dkrs|n|d}tjdƒn|d|}t    j
t    j |ƒtj tj |ƒtjd|ƒdS(Nii sWSetMonthEx ÔÂ1ºÅÌØÊâXµã֮ǰ¹ýÌìµÄ£¬´ú±íÔ²î´óÓÚ1µÄÔÂ1ºÅ¹ýÔ£¬ÕâʱºòµÄ¹ýÔÂÖµÐèÉèÖÃΪÉÏÔÂids%Set_Server_MonthEx, onMonthExValue=%s(RRLR:R<R=R9RRPRRRZRlRtDef_Notify_WorldKey_OnMonthEx(tonMonthDateTimeRaRmR_tonMonthExValue((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRAÎs             cCs7tjƒtjƒjtjƒtjƒjt    ƒdS(N(
RtInitServerBillboardRtGetTeamManagertSetMaxTeamMemberCountRJtDef_Team_MaxPlayerCountRt SetPreInitOKRí(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytPreInitGameWorldäs
cCsŠtjƒjtjttjƒƒƒtƒtjƒjtj    ƒt
j t
j ƒ}t
j t
j ƒ}|dks~|dkr¦t
j|r|nttjƒƒƒntjƒjtjƒtjƒjƒjƒtjƒtjƒtjƒtjƒtjƒtjƒtjƒtƒt jƒt!j"ƒt#j$ƒt%j$ƒt&jƒt'j$ƒt(j$ƒt)j$ƒt*j$ƒt+j$ƒt,|ƒtj-dƒtj.ƒ}|r    t
j t
j/ƒ}|rÊdnd}tjƒjt0j1|ƒtj-d|tj2ƒfƒntj3ƒ}tj-d|ƒtjƒjtj4dƒt5jƒt6jƒt7j8r†tj-dƒtj9ddƒt:|ƒndS(    NisR=============================== ·þÎñÆ÷Æô¶¯³É¹¦ ===================================is4¿ç·þ·þÎñÆ÷Æô¶¯³É¹¦: isServerOpen=%s,crossZoneName=%ss ·þÎñÆ÷Æô¶¯³É¹¦: ServerGroupID=%ss4InitGameWorldʱAllMapServerInitOKÒÑ´¥·¢Ôò²¹´¥·¢Ò»´Î!t GameWarnings+InitGameWorld later than AllMapServerInitOK(;RRRLRJRSRFRTt LoadDBPlayertSetTickTypeCounttTYPE_Tick_CountRRtDef_InitOpenServerTimetDef_OpenServerWeekdaytSetInitOpenServerTimetGetFamilyManagertSetFamilyUpperLimitCounttDef_Family_MaxCnttGetDBGoldOrderFormMgrtSortRtFixBillboardBigCmpValuetSortServerBillboardtPlayerFuncTeamtOnGameServerInitOKR    R~RR)R¤t InitDllAppIDt__DoMixServerInitR2R tLoadPlayerLVDatatPlayerFBHelpBattlet OnServerStarttGameWorldArenaR‚RƒR„R,R R+RQRR•tDef_CrossServerCloseRt#Def_Notify_WorldKey_CrossServerOpentGetCrossZoneNametGetServerGroupIDtDef_WorldKey_GameWorldInitOKR_R—Rqtg_allMapServerInitOKR‘tAllMapServerInitOK(RtinitOpenServerTimetopenServerWeekdayt isCrossServert isServerCloset isServerOpenR”((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyt InitGameWorldösZ%(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    
 
      cCsBtjƒrdStjtjiidd6dd6dd6tƒdS(NitPlayerIDtAccIDit_id(RR•R]t
FindDBOpertTable_DBPlayertLoadDBPlayerRet(((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR}Gs .cCsWx#|D]}|dtj|d<qWtjdttjƒtjfƒtjƒdS(NR RŸs0Æô¶¯·þÎñÆ÷¼ÓÔØDBPlayerÍæ¼ÒÕ˺ÅID¶ÔÓ¦¹ØÏµ! %s, %s(Rqtg_dbPlayerIDMapRRRÇR    tOnLoadDBPlayerOK(t resultSetListtextendValueListt
resultDict((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR¤Ms
 #
cCsntjtjƒ}|sdStjtjƒ}||kr>dSttjƒƒ}||kr`dSt|ƒdS(N(RRtDef_SetOpenServerTimeR€RFRTtOnNewServerOpen(RtsetOpenServerTimetcurOpenServerTimeRk((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRzUs  
cCsÉtjdƒtjtjƒ}|s)dSi}tjƒjƒ}xpt|jƒƒD]\}|j    |ƒ}|j
ƒ}|j ƒ}| sT|tj tjgkr¦qTn|||<qTWx>|j ƒD]0\}}|j|ƒtjd||fƒqÁWxktjD]`}tjƒj|ƒ}    |    s&dn    |    jƒ}
|
rÿtj|ƒtjd||
fƒqÿqÿWtjƒ} xetjD]Z} | j| ƒ} | sšdn    | jƒ}| j| ƒ|rytjd| |fƒqyqyWit_g}tjƒ}x0t|jƒƒD]}|j|j    |ƒƒqWx8|D]0}tjd|jƒƒtj d||ƒq,Wt"j#ƒgt$_%t&j'ƒt(j'ƒtj)|ƒt*j+ƒt,|ƒtjƒj-ƒtj.dƒdS(    sзþ¿ªÆôÐèÒª´¦ÀíµÄÂß¼­sÖ´ÐÐÕýʽ¿ª·þÖØÖÃÂß¼­...NsDeleteGameServerEventTrig %s=%sisClearBillboard %s, count=%ss"DeleteRecData recType=%s, count=%ssDeleteFamily familyID=%stClearOpenServerOK(/RRRRRªRtGetDBGameServerEventTrigManagerRÎR°R²Rçt
GetIsEventR€RÔt DeleteByKeyRtBillboardTypeListt GetBillboardt FindBillboardRtClearBillboardByIndextGetUniversalRecMgrtDef_UniversalGameRecTypeListt GetTypeListtCounttDeletet    CrossBosstg_bossRecDataDictRƒRÄtGetIDR    tDoLogic_DeleteFamilyRÏR)tDoFamilyWarResetRqtg_sortBOSSRefreshListR‘RR„R‚R*t ReloadConfigR˜tSaveGameServerDataR‘(RR¬tdbgsTrigKeyDicttgsEventTrigManagerR¸tgsEventRÀtvaluetbillboardIndext    billBoardtcounttuniversalRecMgrtrecTypet
recordListt recordCountt
familyListt    familyMgrtfamily((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR«es^             
    
 
 
 
 cCstjtjƒS(N(RRR(((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytGetOpenServerWeekdayªsc Cstt_tjƒjtjƒs2tjdƒdSt    ƒtjƒj
tj ƒƒt ƒt ƒtƒtjƒtjƒtjƒtƒtjtjƒ}tjtj|ƒtjtjƒ}tjtj|ƒtjtjƒ}tjtj|ƒtjtjƒ}tjtj|ƒtjtjƒ}tjtj |ƒtjtj!ƒ}tjtj"|ƒtjtj#ƒ}tjtj$|ƒt%j&ƒtjtj'ƒ}tjtj'|ƒtjƒjtjƒ}    tjtj(|    ƒt)j&ƒt*j&ƒtjtj+tj,ƒtjƒjtj-ƒ}
tjtj-|
ƒtjtj.tj/ƒt0j&ƒt1j&ƒt2j&ƒt3j4ƒt5j&ƒt6ƒt7tƒt8j9ƒt:j&ƒt;j&ƒt<j=ƒj>ƒt?j@ddƒdtjƒjAƒjBƒ} tjƒjCddddd| ƒdS(Ns)AllMapServerInitOKʱGameServer»¹Î´Æô¶¯ºÃ!R¤t OpenStateUrls?Type=MapInit&MapCount=%sRãi(DRíRqR—RRRIRJRSRt__CheckAllMapInitOKtNotify_AllMapServerInitOKR¼t__SetWorldExpRatet__SetWorldDropRateAddt__NotifyMapServerEventR~t!SendMapServerOperationActionStatetSendMapServerDailyActionStatetSendMapServerFBFuncStatet__NotifyMissionPubEventRRRt"Def_Notify_WorldKey_WorldAverageLvRRRRt%Def_Notify_WorldKey_OpenServerWeekdayRRRRtDef_LastMixServerDayt$Def_Notify_WorldKey_LastMixServerDaytDef_LastMixServerWorldLVt(Def_Notify_WorldKey_LastMixServerWorldLVRŠtOnMapServerInitOKt*Def_Notify_WorldKey_FamilyActivityDayStatet%Def_Notify_WorldKey_InitGameWorldTimeR4R)t#Def_Notify_WorldKey_CrossServerTimetg_crossServerTimeInfoR“t!Def_Notify_WorldKey_CrossZoneNametg_crossZoneNameR‚RƒR„R‘tSendMapServerArenaInfoR+tSendAllMapGlobalDropInfoRjR    tRandomFakeFamilytPlayerFamilyZhenfatPlayerFairyDomaint PyDataManagertGetDBPyCoupleManagertSendMapServerCoupleInfoR*tGetPyMongoConfigtGetGameMapManagerR°tEventReport_EventReport( RtworldLvR-RšR.R/tlastMixServerDaytlastMixServerWorldLVtfadStateR’tisCrossServerOpentgetUrl((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR˜°sh     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
,"cCstjƒ}tjj|dƒ}tjj|ƒsHtjd|ƒdSt|dƒ}|j    ƒ}|j
ƒi}|j dƒ}xP|D]H}|j dƒ}t |ƒdkr¶q‰n|d|tj |dƒ<q‰Wtjƒjƒ}xotd    |jƒƒD]X}    |j|    ƒ}
|
jƒ} |
jƒ} | |krý| tjkrý|j| ƒqýqýW|scdS|jƒ} tjd
d t| ƒƒdS( Ns=ZoneServerGroup\map1_8G\MapServer\MapServerData\Map\MapID.txtsMapID.txt²»´æÔÚ: %strbs
s    iiiitAllMapInitErrorsδÆô¶¯³É¹¦µØÍ¼:%s(RJtGetServerRootPathtostpathtjointisfileRtErrLogtopentreadtcloseRGRÇtToIntDefRRòR±R°R²R½tGetStateRt
mssRunningtpoptkeysR‘tstr(trootPatht mapIDTxtPathtfileObjtcontentt mapInfoDictt mapInfoListtinfotmapInfotgameMapManagerR¸tcurMapRtstateterrorMapIDList((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRÓs6  
    cCs2tjtjƒ}|s)tjdƒdStjtjƒ}|rRtjdƒdStjdƒtjƒ}g}tjdt|ƒƒx|D]}|j    |ƒqWt
|ƒt j ƒtj tjdƒtjtjƒ}tj tj|ƒtjtjƒ}tj tj|ƒtjd||fƒdS(Ns$·ÇºÏ·þ£¬²»´¦ÀíºÏ·þÊ×´ÎÆô¶¯Êý¾Ý¼ÓÔØ£¡sºÏ·þÊ×´ÎÆô¶¯¼ÓÔØÒѾ­´¦Àí¹ý£¡sºÏ·þÊ×´ÎÆô¶¯¼ÓÔØ´¦Àí...s"Çå³ýÖ¸¶¨Í¨ÓÃÊý¾Ý delRecTypeList=%sis1    ºÏ·þÊ×´ÎÆô¶¯¼ÓÔØ³É¹¦! serverDay=%s,worldLV=%s(RRRRRstDef_IsMixServerInitOKRR¶R
Rºt__DelOutofdayRecDataR    tOnMixServerInitRZRRÞRRÜRà(R.tisMixServerInitOKRÊtdelRecTypeListt
delRecTypeRHtworldLV((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR>s.     
 
c Cs÷ttjƒƒ}i}tjd||fƒxÁ|jƒD]³\}}|j|ƒ}|scq<nd}|jƒ}x]t|ƒD]O}||}    |j|    ƒ}
||
j    ƒ|kr‚|j
|    ƒ|d7}q‚q‚Wtjd|||fƒq<WdS(Ns<Ö´ÐÐɾ³ý¹ýÆÚµÄͨÓÃÊý¾Ý, curTime=%s,delOutofdayRecDataDict=%siis2    É¾³ý¹ýÆÚÌõÊý: recType=%s,totalCnt=%s,delCnt=%s( RFRTRRRÔR¸R¹RÎtAttGetTimeRº( RÊRktdelOutofdayRecDataDictt otDayRecTypetotTimet otRecDataListtdelCntttotalCntRÝtdelIndext    otRecData((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRcs" 
 cCsqtjƒ}|jtjƒ}|s0tj}n*|jƒsHtj}nt|jƒƒ}tj    ƒj
|ƒdS(N( RRäR RJRRRëRFRîRR (Röt expRateEventR ((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRÕ|s    cCsgtjƒ}|jtjƒ}|s1ttƒn2|jƒsJttƒnttt    |j
ƒƒƒdS(N( RRäR RJRRRwRëRíRFRî(RöRù((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRÖ‘s    cCsjtjƒ}xWt|jƒƒD]C}|j|ƒ}|jƒsFqnt||jƒ|jƒƒqWdS(N(    RRäR±RåRæRëRïRçRî(RöRÝRù((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR×£s   c    CsØtjƒ}|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}tjƒj    ƒj
|||||ƒ|t j ||f<t j j|iƒ}||ks±|||krÔ|||<|t j |<tt _ndS(N(RtIPY_GMapServerStatetGetRouteServerIndextGetMapIDt    GetLineIDtGetCurPlayerCounttGetMaxPlayerCountRRtGetMapServerStateManagertSetZoneServerStateRqtg_commMapLineRouteDictRtRÓRíRr(    RÝRtpacktrouteServerIndexRtlineIDtcurPlayerCounttmaxPlayerCounttlinePlayerCountDict((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_RefreshState·s      %
  cCsgtjƒ}tjƒjƒ}|j|jƒƒ}|j|jƒƒ|j    |j
ƒƒ|j ƒdS(N( RtIPY_GMissionPubRRtGetDBMissionPubManagertAddDBMissionPubt GetMissionIDtSetMissinoPubTypetGetMissinoPubTypetSetPubIDtGetPubIDR(RÝRR2tmissionPubManagert curMissionPub((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_MissionPubâs 
cCs tjƒjƒ}|jƒdS(N(RRR:t#NotifyAllMapServerMissionPubProcess(RA((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRÛïs
cCsitjƒ}|jƒ}|jƒ}|jƒ}t|||ƒ|tjkrettj||ƒndS(N(RtIPY_GTreasureDropt    GetItemIDt GetItemCounttGetDropFunctionTypet__ProcessFunctionTypeDroptdfdAll(RÝRR2titemIDt    itemCounttdropFunctionType((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_TreasureDrops    cCswtjƒjƒ}|j||ƒ}|dkr4dS|jƒ|}|j|ƒ||jƒkrs|jdƒndS(Ni(    RRtGetDBGameWorldDropManagertFindGameWorldDropRÏtGetCurrentCounttSetCurrentCountt GetDropCounttNotify_AllMapServerDropState(RMRKRLt dropManagertcurDropt
finalCount((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRIs  cCsYtjƒjƒ}x6t|jƒƒD]"}|j|ƒ}|jdƒq%W|jƒdS(Ni(RRROR±R°R²RRt%Notify_AllMapServerClearForbiddenDrop(RUR¸RV((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyt__ClearTreasureDropCount-s 
cCstjddƒ}tjddƒ}tjdƒ}x@|jƒD]2}tj|}tj|ƒ}tj||ƒq@Wx@|jƒD]2}tj    |}tj|ƒ}tj||ƒqƒWx@|jƒD]2}tj
|}tj|ƒ}tj||ƒqÆWdS(Nt GlobalDropCDiitNPCGlobalDropRate( RtGetFuncEvalCfgR    Rt Def_Notify_WorldKey_LastDropTimeRRRRt$Def_Notify_WorldKey_DropNPCKilledCntt"Def_Notify_WorldKey_NPCKilledCount(tglobalDropCDDicttglobalKilledCountDropDicttglobalDropRateDictRKRÀtdropTimet    killedCnttnpcID((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRê7s    cCs=|\}}tj|}tj||ƒtj||ƒdS(N(RR]RRZRR(tmsgListRKRcRÀ((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytUpdGlobalDropCDMs
  cCs=|\}}tj|}tj||ƒtj||ƒdS(N(RR^RRZRR(RfRKt updKilledCntRÀ((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytUpdGlobalDropRateUs
  cCs=|\}}tj|}tj||ƒtj||ƒdS(N(RR_RRZRR(RfReRhRÀ((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytUpdGlobalKillCount]s
  cCsŽtjƒjƒ}tjƒ}|j|jƒ|jƒƒ}|j|j    ƒƒ}|j
|j    ƒƒ|j |j ƒƒ|j |jƒƒdS(N(RRtGetGameFbEventListRtIPY_GRegisterFBInfotGetGameFbEventR,t GetDataMapIDtGetGameFbDetailtGetClientLineIDtSetClientLineIDtSetMaxPlayerCountR.t    SetFbInfot    GetFbInfo(RÝRt
fbEventMgrtmPackt gameFBEventtfbDetail((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_RegisterFBInfos cCsxtjƒ}tjƒjƒ}|j|jƒ|jƒƒ}|dkrLdS|j    |j
ƒƒ}|j |j ƒƒdS(N( RtIPY_GFbInfoRefreshRRRktFindGameFbEventR,RnRÏRoRptSetPlayerCounttGetPlayerCount(RÝRR2tfbEventRwRx((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_FbInfoRefreshŸs  cCsßtjƒ}tjƒjƒ}|j|jƒ|jƒƒ}|dkrLdS|j    ƒdkr»|j    ƒ|j    ƒkr»tj
d|j    ƒ|j    ƒ|jƒ|j ƒgƒtj dƒn|j |j    ƒƒ|j|ƒdS(Niiiis"MapServer_RunningStateRefresh--_%stMapError(iiii(RtIPY_GMapServerRunningStateRRRòtFindR*R+RÏRRsR½R‘tSetStatetSetRefreshTick(RÝRt mapServerPackRR((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_RunningStateRefreshÄs  *5 cCsÊtjtj|ƒsdStjƒjƒ}t}x’td|jƒƒD]{}|j    |ƒ}|j
ƒt j krwqGn||j ƒtjkr–qGn|jt j ƒ|sGtjdƒt}qGqGWdS(Nit MapDisconnect(RtSetWorldDictKeyRJtTYPE_MapServerRunningStateRRòRwR±R°R²RRtmssNonetGetRefreshTicktDef_Tick_MapServer_MssNoneRƒR‘Rí(RRtisSendMapCloseR¸R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR¡Ús  cCs&tjƒ}|jƒ}t|ƒdS(N(RtIPY_GMapServerMsgtGetMsgt RunEventFunc(RÝRR2R    ((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_MapServerMsgs  
cCs?d|}tƒj|ƒr*tƒ|ƒStjd|ƒdS(Nt RunEventFunc_s"Error : RunEventFunc funcName = %s(tglobalsthas_keyRR(tfuncName((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRs
 
cCsˆtj|ƒtjƒtjƒtjƒtjƒtjƒtjƒt    jƒt
jƒt jƒt j dƒt jƒjƒdS(Ns ֪ͨC++¹Ø·þ£¡(R[t OnServerCloseR tSavePlayerLVDataRtCrossActionControlRƒR„R R+R‘R*RRR(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyt BeforeCloses 
 
 
 
 
 
 
 
 
 cCs"tjd|ƒtjdƒdS(NsChangeGameServerState:%stGameServerError(RRsR‘(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytChangeGameServerState-s(ƒRRdRJR/RR&R³RR    RR~RRRðRTRÕRR†R]t PlayerGeTuiR4R$R*R¤R‚R—R…RXR„R˜RR RíRRURìR)R‘R+R_R2R*R[RqR»R RîR#RRƒRbRŠR,RýRRR6R9R<R>RBRDRRRRQRwRjRiRyR™R›RšR£R¢RŸR¿R RÆR{RžRïRóRRRRRRRRRœR|R7R?R1R@R;RARAR{RžR}R¤RzR«RÑR˜RÓRRRÕRÖR×R8RCRÛRNRIRYRêRgRiRjRyRR†R¡R‘RR™R›(((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyt<module>@s                                                              /                                              0     %                $                    #        Y    6                          2    9    
    9    '         ,        .            Q                E        h    &    %                    +                     
                "         %        *