hwj35
2025-03-06 dd6e4b64952f7ec9a93bae9e1aa333021d52859e
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
258
259
260
1F¼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ƒ|ddkr×tjƒtjƒtjƒndS(Nii(t$CheckServerHasPlayerLoginAfterInitOKtDoCheckNewServerOpentDisposeGameActivePlayertDisposeGameWorldEvenByTimeRtOnMinuteProcesstGameWorldActionControltDispose_OperationActionStatetDispose_DailyActionStatetDispose_FBStateTimet CrossRealmPKtCrossChampionshiptCrossBattlefieldtGameWorldAverageLvtOpenWorldAverageLvR[tDoCountdownLeaveTeamLogicR tOnRedPacketMinuteProcessR_tOnAuctionItemMinuteProcessRbtOnProcessOnMinuteR    tUpdFamilyTotalFightPowertCheckDelRedpacketDatatPlayerFamilyEmblemtCheckExpireEmblem(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ÉascCs­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{is>    
 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ýRtintervaltmsg((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(RRàR R ((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR scCs3tjƒ}|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(RRtworldDropRateAdd((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR9s
 
cCsdS(N((R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRDscCsat|ƒ}|s |jƒdStjƒ}x!|D]}|jt|ƒƒq3W|j|ƒdS(N(tevalR
tIPY_GameServert    IntVectort    push_backRFtNotify_SelectMapServerProcess(Rüt    mapIDListtvectortmapID((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyt__DisposeMapGiveExpUs 
   RæcCsZtjƒ}|r/|j|ƒ|j|ƒn'|j|ƒ|jdƒ|jdƒdS(Ni(RRtSetBroadcastMsgtSetBroadcastIntervaltSetBroadcastTick(Rt broadcastMsgt broadcastTickRO((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR    ls     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.pyR:ù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.pyRB2s 
 
 
         cCs‘tjƒ}|jtjkr7|tjddƒ}n|jd|jd|j    }t
j t
j |ƒtj tj|ƒtjd|ƒdS(NRQii'ids!Set_Server_DayEx, OnDayExValue=%s(RROR<RRSRdt    timedeltaR@R?R=RtSetDBGSTrig_ByKeyRPRtDef_Notify_WorldKey_OnDayExR(t onDayDateTimet ondayExValue((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyR1Ys 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-¿ÉÒÔ
    idiiRQi( RRORdR>RRtDef_Server_WeekExR\R<RRS( 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.pyRCfs$ 
 
 cCsÈtjƒ}tjj|ƒ}|\}}}|dkr|jtjkr|tjddƒ}tjj|ƒ\}}}n|d|}tj    tj
|ƒtj tj |ƒtj d|ƒdS(NiRQiids#Set_Server_WeekEx, OnWeekExValue=%s(RRORdR>R<RRSR\RR]RaRtDef_Notify_WorldKey_OnWeekExR(tonWeekDateTimeR>RbRcRdt 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 ( RROR=R?R@RRtDef_Server_MonthExR<RRS(    RlRdtdateTime_monthRbt lastOnMonthExtlastOnMonthEx_YeartlastOnMonthEx_MonthtpreMonth_montht preMonth_year((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRD¢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(RROR=R?R@R<RRSRRR]RoRtDef_Notify_WorldKey_OnMonthEx(tonMonthDateTimeRdRpRbtonMonthExValue((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€Is .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§Os
 #
cCsntjtjƒ}|sdStjtjƒ}||kr>dSttjƒƒ}||kr`dSt|ƒdS(N(RRtDef_SetOpenServerTimeRƒRFRTtOnNewServerOpen(RtsetOpenServerTimetcurOpenServerTimeRk((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRzWs  
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®gs^             
    
 
 
 
 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    tOnMixServerInitR]RRáRRßRã(R.tisMixServerInitOKRÍtdelRecTypeListt
delRecTypeRKtworldLV((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.pyRes" 
 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àRR5tmissionPubManagert curMissionPub((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_MissionPubäs 
cCs tjƒjƒ}|jƒdS(N(RRR=t#NotifyAllMapServerMissionPubProcess(RD((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRÞñs
cCsitjƒ}|jƒ}|jƒ}|jƒ}t|||ƒ|tjkrettj||ƒndS(N(RtIPY_GTreasureDropt    GetItemIDt GetItemCounttGetDropFunctionTypet__ProcessFunctionTypeDroptdfdAll(RàRR5titemIDt    itemCounttdropFunctionType((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_TreasureDrop    s    cCswtjƒjƒ}|j||ƒ}|dkr4dS|jƒ|}|j|ƒ||jƒkrs|jdƒndS(Ni(    RRtGetDBGameWorldDropManagertFindGameWorldDropRÒtGetCurrentCounttSetCurrentCountt GetDropCounttNotify_AllMapServerDropState(RPRNROt dropManagertcurDropt
finalCount((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRLs  cCsYtjƒjƒ}x6t|jƒƒD]"}|j|ƒ}|jdƒq%W|jƒdS(Ni(RRRRR´R³RµRUt%Notify_AllMapServerClearForbiddenDrop(RXR»RY((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(tglobalDropCDDicttglobalKilledCountDropDicttglobalDropRateDictRNRÃtdropTimet    killedCnttnpcID((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pyRí9s    cCs=|\}}tj|}tj||ƒtj||ƒdS(N(RR`RR]RR(tmsgListRNRfRÃ((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytUpdGlobalDropCDOs
  cCs=|\}}tj|}tj||ƒtj||ƒdS(N(RRaRR]RR(RiRNt updKilledCntRÃ((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytUpdGlobalDropRateWs
  cCs=|\}}tj|}tj||ƒtj||ƒdS(N(RRbRR]RR(RiRhRkRÃ((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 GetDataMapIDtGetGameFbDetailtGetClientLineIDtSetClientLineIDtSetMaxPlayerCountR1t    SetFbInfot    GetFbInfo(RàRt
fbEventMgrtmPackt gameFBEventtfbDetail((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytMapServer_RegisterFBInfos cCsxtjƒ}tjƒjƒ}|j|jƒ|jƒƒ}|dkrLdS|j    |j
ƒƒ}|j |j ƒƒdS(N( RtIPY_GFbInfoRefreshRRRntFindGameFbEventR/RqRÒRrRstSetPlayerCounttGetPlayerCount(RàRR5tfbEventRzR{((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ÒR    RsRÀ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µR    RtmssNonetGetRefreshTicktDef_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àRR5R ((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 BeforeClose s 
 
 
 
 
 
 
 
 
 cCs"tjd|ƒtjdƒdS(NsChangeGameServerState:%stGameServerError(RRsR”(R((scE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldProcess.pytChangeGameServerState/s(ƒRRdRJR2RR&R¶RR    RR~RRRóRTRØRR…R]t PlayerGeTuiR4R$R-R§R‚RšRXR„R›R’R RðR’RURïRR)R”R+R_R2R*R[RqR¾R RñR#RRƒRbRR,RRRR6R9R<R>RBRDRRRRQRwRjRiRyRœRžRR¦R¥R¢RÂR£RÉR{R¡RòRöRRRRRRR    R RŸR|R:RBR1RCR;RDRAR~R¡R€R§RzR®RÔR›RÖRRRØRÙRÚR;RFRÞRQRLR\RíRjRlRmR|R‚R‰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    &    %                    +                     
                "         %        *