cehua_lyf
2019-03-06 3c8ee0a8a524a6251d7d5aae2372e76fd8a99b9c
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
>ìx\c@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlmZddlZejZddddddgZed    ƒ\ZZZd
„Z d „Z!e"d „Z#d „Z$e%d„Z&e'd„Z(e'd„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5dS(iÿÿÿÿN(tIntTypetweekdaytyeartmonthtdaythourtminuteicCsrtƒ\}}|t}|r#dStj|kr\|tjd}|r\t||ƒq\ntj|kr˜|tjd}|r˜tj||ƒq˜ntj|krÔ|tjd}|rÔt    j
||ƒqÔntj |kr |tj d}|r t ||ƒq ntj |krI|tj d}|rItj||ƒqIntj|krntj|tjƒndS(Ni(t__GetOperationActionInfotOperationAction_TodayInfot ShareDefinetOperationActionName_ExpRatetSync_OperationAction_ExpRatet!OperationActionName_FairyCeremonytPlayerFairyCeremonyt"Sync_OperationAction_FairyCeremonyt$OperationActionName_NewFairyCeremonytPlayerNewFairyCeremonyt%Sync_OperationAction_NewFairyCeremonytOperationActionName_RealmPointtSync_OperationAction_RealmPointt"OperationActionName_FeastRedPackettPlayerFamilyRedPackettSync_FeastRedPackett!OperationActionName_LuckyTreasuretPlayerUniversalGameRectSendUniversalGameRecInfot&Def_UniversalGameRecType_LuckyTreasure(t    curPlayertisReloadtOperationActionInfotoperationActionDicttipyData((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyt OnPlayerLogin:s6
cCs™tƒ\}}|t}|r#dStjƒ}xctjD]X}tj|}|j|ƒ}|j    |iƒ}||tj
<tj tj ||ƒq9WdS(N( RtOperationAction_MapServerInfot    GameWorldt GetGameWorldR    tOperationActionNameListtChConfigt!Def_WorldKey_OperationActionStatet GetDictByKeytgett ActKey_StatetSendMapServerMsgExt'Def_Notify_WorldKey_OperationActionInfo(RRtmapServerInfoDictt    gameWorldtactNametdictNametstatetsendMapServerMsgDict((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyt!SendMapServerOperationActionStateas
   cOCs¸d}tjtjƒd}tjtjƒ}tjtjƒd}tj|ƒ}tjƒ}|j    }|dkrzdnd}||||g}    |r²|t
|    kr²t |fSd|j |j |j|j    |jf}
tjj|
tjƒ} tjddƒ} tjddƒ} i}i}tjƒ}tjƒ}tjd| ||| ||| |    fƒxÔ tjD]É }tjd    |ƒt|||ƒ}tjd
t|ƒƒg}g}i}d}x= |D]5 }t|d ƒsçgn    |jƒ}t|d ƒsgn    |jƒ}|j ƒ}|j!ƒ}|j"ƒ}tjd ||||||||| | f
ƒ|j#ƒrQ|j#ƒrQt$|ƒt$|ƒ}}||dkrËtjd||||fƒqÌn| tj%d||ƒ} | tj%d||ƒ}!d| j | j | jf}d|!j |!j |!jf}tjd||fƒn²|j&dƒro|j&dƒro|s•tjd|||fƒqÌnt$|dƒt$|dƒ}"}#||#dkrétjd||||fƒqÌn| tj%d|"|ƒ} | tj%d|#|ƒ}!d| j | j | jf}d|!j |!j |!jf}tjd||fƒn”|tj'kr|| kr­tjd||||fƒqÌn| tj%d| |ƒ}$tjjd||$j    |$j|$j(ftjƒ}%|%|$kr$tjd||%|$fƒqÌn|r|| krYtjd||||fƒqÌn| tj%dd|ƒ}&| tj%d| |ƒ}$tjjd||$j    |$j|$j(ftjƒ}%|&|%koÕ|$knrtjd||&|%|$fƒqÌqqnt|dƒr<t|dƒr<|j)ƒ}'|j*ƒ}(n g}'g}(t|dƒrc|j+ƒni})t|dƒr„|j,ƒni}*t|d ƒr¥|j-ƒni}+t|'ƒt|(ƒkrætj.d!|||'|(fƒqÌnt|d"ƒsûdn    |j/ƒ},|,dkrNtjjd#|tjƒ}-tjjd#|tjƒ}.nŸ|,d$kr¥tjjd#|tjƒ}-tjjd%|tjƒtj%ddƒ}.nHtjjd%|tjƒ}-tjjd%|tjƒtj%ddƒ}.t|d&ƒsdn    |j0ƒ}/tjd'|,|-|.|'|(|/fƒg}0g}1i}2i}3i}4t }5t }6t }7t }8|' su|( ré|-}9|.}:|0j1|9ƒ|1j1|:ƒ|-| ko²|.knrã    |j1|9ƒ|j1|:ƒt2}5| |.k}8qã    nú|-| ko    |.knrã    | |.k}8xÏt3|'ƒD]¾\};}<|(|;}=d(| j | j | j|<f}>d(| j | j | j|=f}?tjj|>tjƒ}9tjj|?tjƒ}:|0j1|9ƒ|1j1|:ƒ|j1|9ƒ|j1|:ƒt2}5q    Wn|/r_
|-r_
|-tj%d)|/ ƒ}@|@j | j krE
|@j | j krE
|@j| jkrE
t2}7ntjd*|@|7fƒntjd+|0ƒtjd,|1ƒtjd-|ƒtjd.|ƒxt3|0ƒD]\}A}9|1|A}:xy|)j4ƒD]k\}B}C|9tj%d)|Bƒ}D|Dj | j krÓ
|Dj | j krÓ
|Dj| jkrÓ
|C|2|D<t2}6qÓ
Wxy|*j4ƒD]k\}B}C|:tj%d)|Bƒ}D|Dj | j krO |Dj | j krO |Dj| jkrO |C|3|D<t2}6qO qO W|+r°
t|+ƒd$kr°
|+d$ \}E}Ft|+ƒd$kr |+d$ng}G|F|Gg}Cd;\}H}Ixœ|Er» |Fr» |H|Ikr» |Hd7}H|9tj%d)|E|Hƒ}D|D|:kro Pn|Dj | j kr# |Dj | j kr# |Dj| jkr# |C|4|D<t2}6q# q# Wq°
W|2sÕ |3sÕ |4rV tjd0|)j5ƒ|2fƒtjd1|*j5ƒ|3fƒtjd2|+|4j5ƒfƒ|j6|2ƒ|j6|3ƒ|j6|4ƒn|5 rq |6 rq |7 rq qÌntjd3||7|5|8|6fƒ|5s |7rÌ| s± |5r|8 r|}i|tj76}J|tj8krù t9j:|-|.|-j;ƒ|Jtj<<n|-| ko|.knrÌd}K|-}Lt|d4ƒs6dn    |j=ƒ}M|MsT|'rz|(rz| |-j;}K|Ltj%d|Kƒ7}Lnt$t>j?|Lj@ƒƒƒ}N|K|JtjA<|N|JtjB<tjd5|M|L|Nfƒn|jCƒ|jCƒ|J||<tjd6|JƒqqÌqÌW|s|s|s|rm||||g||<qmqmWtjD||    ||gƒ}tjd7|    |fƒtjd8|ƒtjd9|ƒtjd:ƒ|r®tEt2ƒnt2|fS(<NRiiis%d-%d-%d %02d:%02d:00tOperationActiont    MixServers£===== ¼ÓÔØ±¾ÈÕÔËÓª»î¶¯ÐÅÏ¢: %s, serverGroupID=%s,openServerDay=%s,customMaxServerDay=%s,isMixServer=%s,mixServerDay=%s,maxCustomServerDayMix=%s,reloadSign=%s =====s¼ÓÔØÔËÓª»î¶¯: actName=%ss    ¿É´¦ÀíÌõÊý=%stServerGroupIDListtServerGroupIDListExcepts¡    cfgID=%s,serverGroupIDList=%s,Except=%s,startDateStr=%s,endDateStr=%s,openServerDay=%s,isMixServer=%s,mixServerDay=%s,maxCustomServerDayMix=%s,curDateTime=%ssR        µ±Ç°¿ª·þÌ쳬¹ý»î¶¯½áÊø¿ª·þÌ죬²»´¦Àí! cfgID=%s,%s ~ %s < openServerDay(%s)tdayss%d-%d-%ds!        ¿ª·þÌìת»¯ÎªÈÕÆÚ: %s ~ %stMixs.        ·ÇºÏ·þ·þÎñÆ÷£¬²»´¦Àí! cfgID=%s,%s ~ %sisQ        µ±Ç°ºÏ·þÌ쳬¹ý»î¶¯½áÊøºÏ·þÌ죬²»´¦Àí! cfgID=%s,%s ~ %s < mixServerDay(%s)s!        ºÏ·þÌìת»¯ÎªÈÕÆÚ: %s ~ %ssO        °´ÈÕÆÚ¿ªµÄÔÚ¿ª·þ¶¨ÖÆÏÞÖÆÌìÄÚ£¬²»´¦Àí! cfgID=%s,%s ~ %s,openServerDay=%ss%s %02d:%02d:%02dsm        °´ÈÕÆÚ¿ªµÄ¿ªÊ¼ÈÕÆÚÔÚ¿ª·þ¶¨ÖÆÏÞÖÆÌìÄÚ£¬²»´¦Àí! cfgID=%s,curStartDateTime=%s,customMaxServerDateTime=%ssN        °´ÈÕÆÚ¿ªµÄÔںϷþ¶¨ÖÆÏÞÖÆÌìÄÚ£¬²»´¦Àí! cfgID=%s,%s ~ %s,mixServerDay=%ss‡        °´ÈÕÆÚ¿ªµÄ¿ªÊ¼ÈÕÆÚÔںϷþ¶¨ÖÆÏÞÖÆÌìÄÚ£¬²»´¦Àí! cfgID=%s,mixStartServerDateTime=%s,curStartDateTime=%s,customMaxServerDateTime=%stGetStartTimeListtGetEndTimeListtGetNotifyInfoStarttGetNotifyInfoEndtGetNotifyInfoLoops_        »î¶¯ÅäÖÿªÊ¼¼°½áÊøÊ±¼ä¸öÊý²»Æ¥Åä! actName=%s,cfgID=%s,startHMStrList=%s,endHMStrList=%st GetResetTypes %s 05:00:00is %s 00:00:00tGetAdvanceMinutessf        resetType=%s,startDayDate=%s,endDayDate=%s,startHMStrList=%s,endHMStrList=%s,advanceMinutes=%ss%d-%d-%d %s:00tminutess3        advanceNoticeDateTime=%s,isAdvanceNotice=%ss        startList=%ss        end  List=%ss        needStartList=%ss        need  EndList=%sids'        startNotifyDict: minutes=%s, %ss'        end  NotifyDict: minutes=%s, %ss'        loop NotifyDict: lopInfo=%s, %ss^        ÐèÒª´¦ÀíµÄÔËÓª»î¶¯ÐÅÏ¢: cfgID=%s,isAdvanceNotice=%s,isActivity=%s,isEnd=%s,isNotify=%st GetIsDayResets.        isDayRest=%s,actIDDateTime=%s,actID=%ss        activityInfoDict=%ss8±¾ÈÕÔËÓª»î¶¯ÐÅÏ¢¼ÓÔØÍê±Ï!reloadSign=%s,isRefreshState=%ss    operationActionDict=%ss#    mapServerOperationActionDict=%ss==============================================================(iid(FtPlayerDBGSEventtGetDBGSTrig_ByKeyt Def_ServerDaytDef_IsMixServertDef_MixServerDayt IpyGameDataPYt GetConfigExR"t GetServerTimeRtOperationAction_ReloadSigntFalseRRRRtdatetimetstrptimeR%tTYPE_Time_Formatt
GetFuncCfgtGetServerGroupIDtIPY_DatatLogR    R$t%__GetOperationActionServerIpyDataListtlentNonethasattrtGetServerGroupIDListtGetServerGroupIDListExcepttGetCfgIDt GetStartDatet
GetEndDatetisdigittintt    timedeltat
startswithtFeastOperationActionNameListtsecondR9R:R;R<R=tErrLogR>R?tappendtTruet    enumeratetitemstkeystupdatet ActKey_CfgIDtOperationActionName_LoginAwardtGameWorldAverageLvtGetWorldLVListByTimeR7tActKey_WorldLVListRAttimetmktimet    timetupletActKey_DayIndext    ActKey_IDtsortt SetConfigExtDispose_OperationActionState(OtisRefreshStatetkeyt openServerDayt isMixServert mixServerDayRt
serverTimetcurHourtreloadSignHourt
reloadSigntcurDateTimeStrt curDateTimetcustomMaxServerDaytmaxCustomServerDayMixRtmapServerOperationActionDictt serverGroupIDt
ipyDataMgrR.tcurServerActIpyDataListt needStartListt needEndListtneedNotifyDicttactivityIpyDataRtserverGroupIDListtserverGroupIDListExcepttcfgIDt startDateStrt
endDateStrtstartServerDayt endServerDaytopenServerDateTimetendServerDateTimetstartMixServerDaytendMixServerDaytcustomMaxServerDateTimetcurStartDateTimetmixStartServerDateTimetstartHMStrListt endHMStrListtnotifyInfoDictStarttnotifyInfoDictEndtnotifyInfoLoopInfot    resetTypet startDayDatet
endDayDatetadvanceMinutest    startListtendListtstartNotifyDictt endNotifyDicttloopNotifyDictt
isActivitytisNotifytisAdvanceNoticetisEndt startDateTimet endDateTimethmIndext
startHMStrtendHMStrt startTimeStrt
endTimeStrtadvanceNoticeDateTimetdtIndext notifyMinutet
notifyInfotnotifyDateTimet loopMinutest loopNotifyKeytloopNotifyParamListt    loopCountt loopMaxCounttactivityInfoDicttdayIndext actIDDateTimet    isDayResttactID((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyRvs¨     
(        !!       &!     !!!    !  /,!         
      6    
6
 6
 "  
 6
    #!   
 
 
  c Cst|d|ƒs(tjd|ƒgSg}t|d|ƒƒ}x»t|ƒD]­}t|d|ƒ|ƒ}t|dƒs…gn    |jƒ}t|dƒs¦gn    |jƒ}|rWt}    x‡|D]}
t|
t    ƒræ|
|ks:t|
t
ƒst|
t ƒrÅt |
ƒdkrÅ|
d|ko5|
dknrÅt }    PqÅqÅW|    rWqQqWn|sm|j|ƒqQxŽ|D]†}
t|
t    ƒr•|
|ksét|
t
ƒs³t|
t ƒrtt |
ƒdkrt|
d|koä|
dknrt|j|ƒPqtqtWqQW|S(    Ns
Get%sCounts,ûÓиÃÔËÓª»î¶¯ÀàÐͶÔÓ¦»î¶¯Ê±¼ä±í! actName=%ss Get%sByIndexR5R6iii(RVR"RbtgetattrtxrangeRWRXRKt
isinstanceR]tlistttupleRTRdRc( R…R„R.R†t actCfgCounttcfgIndexRR‹RŒtisExcepttserverGroupIDInfo((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyRS‚s8!! 6     6  c Cs ttƒ\}}|p|}|t}|t}tjƒ}tjƒ}tjjd|j    |j
|j |j |j ftjƒ}x€tjD]u}d}d}    ||kr||\}    }
} } ||
krä|
j|ƒd}nf|| krùd}nQxNt|
ƒD]@\} }| | }||ko3|knr| d}PqqW|| kr| |\}}tjd||ƒqntj|}|j|ƒ}| r´||kr´qŽn|j||ƒ|j|iƒ}tj|}|jtjƒ}|jtjdƒ}|rtj|ƒ|krtj ||ƒ|tj!krptjtj"ƒ}tj tj#||ƒn|tj$krŒt%j&ƒq|tj'kr¨t(j)ƒq|tj*krÄt+j,ƒq|tj-krï|    rt.j/|    |ƒqq|tj0krt1j2|    ƒqn|tj!krFtjtj#|ƒ}||tj3<n|tj4krq|r¿|    r¿t5|    ƒq¿nN|tj6kr’|r¿|    r¿q¿n-|tj$krÀ|r¿|    r¿t%j7t8ƒq¿nÿ|tj'kr|rë|    rët(j9|    ƒn||kr¿|dkr¿t(j:ƒq¿n¬|tj*krf|r>|    r>t+j;|    ƒn||kr¿|dkr¿t+j<ƒq¿nY|tj=kr‘|r¿|    r¿t>|    ƒq¿n.|tj-kr¿|r¿|    r¿t.j?|    ƒq¿n||tj@<tjAtjB||ƒtjCd|||||fƒqŽWdS(Ns%d-%d-%d %d:%d:00iis=ÔËÓª»î¶¯±ä¸ü: actName=%s,preState=%s,state=%s,dictName=%s, %s(DRRKRR!R"R#RIRLRMRRRRRR%RNR    R$RUtindexRet PlayerControlt WorldNotifyR&R'tSetDictR(RBtDef_OperationActIDRrRqRCtSetDBGSTrig_ByKeytNeedWorldLVOperationActNameListt"Def_Notify_WorldKey_WorldAverageLvtDef_OActWorldLVtOperationActionName_BossRebornt GameWorldBosstResetBossRebornPointR R tResetFairyCeremonyRRtResetNewFairyCeremonyRRtOnResetFeastRedPackettOperationActionName_FlashSalet PlayerStoretResetFlashSaleBuyCnttActKey_WorldLVR
R tOperationActionName_CostRebatetSetBossRebornNeedPointRdRtOnFairyCeremonyEndRtOnNewFairyCeremonyEndRRRR)R*R+RR(t reloadRefreshRRRR,R-R€R.R0RR¢R£t
notifyDicttdIndexR«R¬t    notifyKeyt    paramListR/tpreStateR1tdbOperationActIDKeytcurActIDR½tworldLVt
actWorldLV((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyRu¨s¤ 
 
         
 
              $c    Cs²|s
dSt|jƒƒt|jƒƒkr2dStjtjƒd}tjƒ}|jƒt    j
|j ƒ|ƒ|_ t    j
|j ƒ|ƒ|_g|_x^t|jƒƒD]J\}}|jƒ|}tjƒ}||_||_|jj|ƒq°Wt|jƒ|_|jƒ|_|jƒ|_|sžt    jƒ}xkt|jƒƒD]D}|j|ƒ}|dksS|jƒ r‡qSnt j!||ƒqSWnt j!||ƒdS(Ni("RTR9R:RBRCRDtChPyNetSendPackttagGCMultiExpRateInfotClearR"tGetOperationActionDateStrRZt    StartDateR[tEndtDatet ActivityTimeRettagGCMultiExpRateTimet    StartTimetEndtTimeRctActivityTimeCountt
GetLVLimittLimitLVt GetAddExpRatet
AddExpRatetGetPlayerManagerRÂtGetPlayerCounttGetPlayerByIndexRUt    GetInitOKt NetPackCommont SendFakePack(    RRRxtmultiExpRateInfotit    startTimetendTimettimeInfot playerManager((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyR &s8$ 
              cCs|s
dStjtjƒd}tjƒ}|jƒtj|jƒ|ƒ|_    tj|j
ƒ|ƒ|_ |j ƒ|_ |jƒ|_|jƒ|_|s    tjƒ}xkt|jƒƒD]D}|j|ƒ}|dks¾|jƒ ròq¾ntj||ƒq¾Wntj||ƒdS(Ni(RBRCRDRëttagGCMultiRealmPointInfoRíR"RîRZRïR[Rðt GetMultipletMultipleRöR÷t GetPointLimitt
LimitPointRúRÂRûRüRURýRþRÿ(RRRxtmultiRealmPointInfoRR((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyRHs& 
 c- Cs¾d}tjtjƒd}tjtjƒ}tjtjƒd}|||g}tj|ƒ}|r€|d|kr€|dSg}tjƒ}t    |j
ƒdƒ}t t j ƒƒ}    tj |    tjƒ}
tjƒ} tjddƒ| d} tjddƒ} tjdƒtjd| ||fƒtjd| ƒtjd    ||| fƒg}g}|| kr›tjd
| ƒ}|s’g}ntjd t|ƒƒg}g}x­|D]¥}|jƒ}|jƒ}||krö|j|ƒn|j|ƒ|jƒ|kr¼|j|ƒd}|j||jƒ|gƒtjd |||fƒq¼q¼Wtjd |ƒtjd|ƒtjd|ƒn|r¢|| kr¢g}tjƒ}x»t|jƒƒD]§}|j|ƒ}|jƒ}|jƒ}||kr|j|ƒn|jƒ|krÒ|j|ƒd}|j||jƒ|gƒtjd|||fƒqÒqÒWtjd|ƒtjd|ƒn tjdƒtjdƒtjƒ}|j ƒ}xt|ƒD]ô}|j!|ƒ}|jƒ}||kr%tjd|ƒqán|j"ƒ}|s^|j|gƒtjd|ƒqánd|kr™||kr™tjd||j#ƒfƒqánd|kr¯|dn||}d}|j|||gƒqáWtjdƒx—|D]\}}}|jƒ}|j$ƒ}g}g} i}!i}"d}#x|D]\}$}%d|
|$|%df}&t%j%j&|&tj'ƒ}'|j|'j(|'j)fƒ|'t%j*d|j+ƒƒ}(| j|(j(|(j)fƒ|!j,|#gƒ})|)j|'|(fƒ|)|!|#<xF|j-ƒD]8\}*}+|'t%j*d|*ƒ},|+|"|,j(|,j)f<qýWq9W|j||| |!|"gƒtjd|||| |!|"fƒqíWtj.|||gƒ}tjd|ƒtjdƒ|dS( NtTodayDailyActionInfoiiR3R4s ===== ¼ÓÔØ½ñÌìÈÕ³£»î¶¯ÐÅÏ¢ =====s$¿ª·þÊÇÐÇÆÚ%s, ¿ª·þµÚ%sÌì, µ±Ç°ÐÇÆÚ%ss×î´óÓÐЧ¶¨ÖÆ¿ª·þÌì: %ss,ÊÇ·ñºÏ·þ: %s, ºÏ·þÌì: %s, ×î´ó¶¨ÖƺϷþÌì: %stDailyActionCustoms"    ±¾Öܶ¨ÖƵĿª·þÈÕ³£»î¶¯ÌõÊý: %ss@    Ôö¼Ó±¾ÈÕ¿ª·þÈÕ³£»î¶¯ÐÅÏ¢: customType=%s,dailyID=%s,dataID=%ss&    ±¾Öܶ¨ÖƵĿª·þÈÕ³£ÅäÖñíIDÁбí: %ss$    ±¾Öܶ¨ÖƵĿª·þÈÕ³£»î¶¯IDÁбí: %ss!    ½ñÌì¶¨ÖÆµÄ¿ª·þÈÕ³£±íIDÁбí=%sis@    Ôö¼Ó±¾ÈպϷþÈÕ³£»î¶¯ÐÅÏ¢: customType=%s,dailyID=%s,dataID=%ss     ¶¨ÖƵĺϷþÈÕ³£»î¶¯IDÁбí: %ss!    ½ñÌì¶¨ÖÆµÄºÏ·þÈÕ³£±íIDÁбí=%ss0    ³¬¹ý×î´ó¶¨ÖÆ¿ª·þÌ죬²»¶¨ÖÆ£¬×ß³£¹æÈÕ³£ÅäÖã¡s    ´¦Àí³£¹æÈÕ³£»î¶¯ÅäÖÃs:    ³£¹æ»î¶¯IDÅäÖÃÊǽñÌìµÄ¶¨ÖƻID£¬²»´¦Àí£¡: dailyID=%ss(    Ôö¼Ó±¾ÈÕ³£¿ªÈÕ³£»î¶¯ÐÅÏ¢: dailyID=%st0s5    ²»ÊÇÈÕ³£»î¶¯¿ªÆôÐÇÆÚ: dailyID=%s,openWeekLimit=%ss    -----------------------s%s %02d:%02d:%02dR@sm    Ôö¼Ó±¾ÈÕÏÞʱÈÕ³£»î¶¯ÐÅÏ¢: customType=%s,dailyID=%s,openList=%s,overList=%s,goonStateDict=%s,notifyDict=%ss%±¾ÈÕÈÕ³£»î¶¯ÐÅÏ¢¼ÓÔØÍê±Ï! loadSign=%ss==============================================================(/RBRCRDRERFRGRHR"RItstrRR]RntChangeTimeNumToStrR%tTYPE_Time_YmdFormattGameWorldProcesstGetOpenServerWeekdayRORRtGetIpyGameDataListNotLogRTtGetIDt
GetDailyIDRctGetOpenServerDaytGetOpenTimeListRQRÂtGetDailyActionCustomMixCounttGetDailyActionCustomMixByIndextGetMixServerDaytGetDailyActionCounttGetDailyActionByIndextGetOpenTimeDictRgt GetNotifyInfoRLRMRNRRR^t GetDurationR(RfRt(-RwRxRyRztloadSignR ttodayActionInfotdayTimetweekDaytcurTimet
curDateStrtopenServerWeekdaytcurMaxCustomServerDayR‚tcustomDailyIDListtdailyTimeInfoListtcustomIpyDataListt customIDListttodayCustomIDListt customIpyDatatdataIDtdailyIDt
customTypeR…RtdailyActionCountt dailyIpyDatat openTimeDictt openTimeListRtnotifyInfoDicttopenListtoverListt goonStateDictRât    OpenStateRRt openTimeStrt openDateTimet overDateTimetopenStateTimeListR´RµR¶((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyt__GetTodayDailyActionInfocsØ              !     !           
     cCsßtƒ}|sdStjƒ}tjƒ}|j|jf}x›|D]“}|d}d}t|ƒdkrud}nÎ|d\}}}    }
||kr d}nq||krµd}n\xY|    jƒD]K\} } x<| D]4} | d|koú| dknrÕ| }PqÕqÕWqÂW||
krC|
|\}}tj    d||ƒnt
j |}|j |ƒ|krkqDn|r|t
j krtjƒqntj||ƒ|j||ƒtjd|||fƒt||ƒqDWdS(Niis7ÈÕ³£»î¶¯×´Ì¬±ä¸ü: dailyActionID=%s,state=%s,dictName=%s(R?R"R#RIRRRTRfRËRÌR    t$Def_Notify_WorldKey_DailyActionStateR'tDailyActionID_FamilyRobBossRÔt(SyncMapServer_HorsePetRobBossPlayerCountR*RÍRRt __DoLogic_GameServer_ActionState(ttodayDailyActionInfoR-R#t curHourMinutet
actionInfot dailyActionIDR0R7R8R9Rât    goonStateR>t dateTimeInfoRäRåR/((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pytDispose_DailyActionStateðsF       
               $   cCsstƒ}|sdStjƒ}xM|D]E}|d}tj|}|j|ƒ}|r&tj||ƒq&q&WdS(Ni(R?R"R#R    R@R'R*(RDR-RFRGR/R0((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pytSendMapServerDailyActionState/s      
 cCsd}tj|ƒ}|dkr™i}tjƒ}xÞt|jƒƒD]Ê}|j|ƒ}|jƒ}|jƒ}|j    ƒ|j
ƒ|j ƒ}}    }
||j ƒ|j ƒ} } } |j|gigƒ\}}|j||    |
gƒ| | | g||<||g||<qFWg}x_|jƒD]Q\}}|\}}x6|jƒD](\}}||krL|j|ƒqLqLWq'W|jƒi}xét|jƒƒD]Õ}|j|ƒ}|jƒ}|jƒ}|jƒ|jƒ}}|j
ƒ|j ƒ}    }
|j ƒ|j ƒ} } |j|gigƒ\}}|j|||    |
gƒ||| | g||<||g||<qŸWg}x_|jƒD]Q\}}|\}}x6|jƒD](\}}||kr°|j|ƒq°q°Wq‹W|jƒi}xÖt|jƒƒD]Â}|j|ƒ}|jƒ}|jƒ}|jƒ}|j
ƒ|j ƒ}    }
|j ƒ|j ƒ} } |j|gigƒ\}}|j||    |
gƒ|| | g||<||g||<qWg}x_|jƒD]Q\}}|\}}x6|jƒD](\}}||kr|j|ƒqqWqÜW|jƒtj||||gƒ}tjdƒtjd|ƒtjd|ƒtjd|ƒn|S(NtFBStateEndTimeNotResets1¼ÓÔØ¸±±¾×´Ì¬½áÊøÊ±¼ä²»ÐèÒªÖØÖÃ״ֵ̬µÄÊý¾ÝIDÁбí:s    ²»ÐèÒªÖØÖõij£¹æ³£¹æID: %ss    ²»ÐèÒªÖØÖõĿª·þ¶¨ÖÆID: %ss    ²»ÐèÒªÖØÖõĺϷþ¶¨ÖÆID: %s(RGRHRURQRÂtGetFBStateTimeCounttGetFBStateTimeByIndexRt GetDataMapIDtGetStartWeekdayt GetStartHourtGetStartMinutet
GetEndHourt GetEndMinuteR(RcRfRstGetFBStateTimeCustomCounttGetFBStateTimeCustomByIndextGetOpenServerWeekRtGetFBStateTimeCustomMixCounttGetFBStateTimeCustomMixByIndexRRtR"RR(RwtnotResetIDListtmapStateTimeDictR…RtfbStateTimeIpyDataR/t    dataMapIDt startWeekDayt    startHourt startMinutet
endWeekDaytendHourt    endMinutet startTimeListt endTimeDicttFBStateEndTimeNotResetIDListRRtcustomStateTimeDictR.topenWeektopenDayt"FBStateEndTimeNotResetCustomIDListtcustomMixStateTimeDictt
openMixDayt%FBStateEndTimeNotResetCustomMixIDList((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyt!__GetFBStateEndTimeNotResetIDList@s„    &   
 
 
 c    Cs d}tjtjƒd}tjtjƒ}tjtjƒd}|||g}tj|ƒ}|r€|d|kr€|dStjtjƒd}tjƒ}|j    ƒd|j
|j }}}    t j ƒ}
|
dkrótjd|
ƒgStjddƒ|
d} tjddƒ} tjdƒtjd|
||||    fƒtjd    | ƒtjd
||| fƒtjƒ} g}g}|| krÍtjd |
ƒ}|s¼g}ntjd t|ƒƒg}g}xµ|D]­}|jƒ}|jƒ}||kr |j|ƒn|j|ƒ|jƒ|kræ|j|ƒd||}}}|j||||gƒtjd ||fƒqæqæWtjd|ƒtjd|ƒtjd|ƒn|rÜ|| krÜg}tjƒ} xÃt| jƒƒD]¯}| j|ƒ}|jƒ}|jƒ}||krM|j|ƒn|jƒ|kr|j|ƒd||}}}|j||||gƒtjd||fƒqqWtjd|ƒtjd|ƒn tjdƒtjdƒxét| jƒƒD]Õ}| j|ƒ}|jƒ}|jƒ}||kr_tjd||fƒq    nd|jƒ|jƒ}}}||kr®tjd||||fƒq    n|j||||gƒtjd||fƒq    Wtj|||gƒ}tjd|ƒtjdƒ|dS(NtTodayFBStateTimeInfoiis.»ñÈ¡¿ª·þÊÇÐÇÆÚ¼¸Êý¾Ý´íÎó£¡openServerWeekday=%sR3R4s"===== ¼ÓÔØ½ñÌ츱±¾×´Ì¬Ê±¼ä±í =====s0¿ª·þÊÇÐÇÆÚ%s, ¿ª·þµÚ%sÌì, µ±Ç°ÐÇÆÚ%s,%sµã%s·Ö £¡s×î´óÓÐЧ¶¨ÖÆ¿ª·þÌì: %ss,ÊÇ·ñºÏ·þ: %s, ºÏ·þÌì: %s, ×î´ó¶¨ÖƺϷþÌì: %stFBStateTimeCustoms"    ±¾Öܶ¨ÖƵĿª·þ¸±±¾»î¶¯ÌõÊý: %ss9    ½ñÌìÒª´¦ÀíµÄ¿ª·þ¸±±¾×´Ì¬ÅäÖÃ: customType=%s,dataID=%ss"    ±¾Öܶ¨ÖƵĿª·þ¸±±¾±íIDÁбí: %ss"    ±¾Öܶ¨ÖƵĿª·þ¸±±¾µØÍ¼Áбí: %ss!    ½ñÌì¶¨ÖÆµÄ¿ª·þ¸±±¾±íIDÁбí=%sis9    ½ñÌìÒª´¦ÀíµÄºÏ·þ¸±±¾×´Ì¬ÅäÖÃ: customType=%s,dataID=%ss    ¶¨ÖƵĺϷþ¸±±¾µØÍ¼Áбí: %ss!    ½ñÌì¶¨ÖÆµÄºÏ·þ¸±±¾±íIDÁбí=%ss4    ³¬¹ý×î´ó¶¨ÖÆ¿ª·þÌ죬²»¶¨ÖÆ£¬×ß³£¹æ¸±±¾×´Ì¬Ê±¼ä£¡s    ´¦Àí³£¹æ¸±±¾×´Ì¬Ê±¼äÅäÖÃs?    dataID=%s,dataMapID=%s, ÔÚ±¾Öܶ¨ÖƵĸ±±¾µØÍ¼ÁбíÀï,²»´¦Àí£¡sU    dataID=%s,dataMapID=%s, ²»ÊDZ¾ÌìµÄ¸±±¾»î¶¯,²»´¦Àí£¡ curWeekDay=%s,startWeekDay=%ss5    ½ñÌìÒª´¦ÀíµÄ¸±±¾×´Ì¬ÅäÖÃ: customType=%s,dataID=%ss)±¾ÈÕ¸±±¾»î¶¯×´Ì¬ÐÅÏ¢¼ÓÔØÍê±Ï! loadSign=%ss==============================================================( RBRCRDRERFRGRHR"RIRRRRRRbRORRRQRRTRRORcRRÂRXRYRRMRNRPRt(RwRxRyRzR!RoR€t
curWeekDayR|t    curMinuteR'R(R‚R…tcustomMapIDListtfbStateTimeInfoListR+R,R-R.R/R]R1R^RaRR\((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyt__GetTodayFBStateTimeInfos¢ $                                 c" Cs¹tƒ\}}}tjƒ}|jƒd|j|j}}}|d|d|}tjƒ}tƒ}    xE|    D]=\}
} } } | jƒ}| j    ƒ}| j
ƒ| j ƒ}}| j ƒ| j ƒ}}| dkrå|} n| dkrú|} n| d|d|}| d|d|}| jƒ}|rÔ|tjd| |ƒ}tj|j|j|j||dƒ}||}|jdd|jd}||krÔ||\}}tjd||ƒqÔntt}}||kröt}n¤||krQ|
dkr||ksE|
d    kr2||ksE|
rš||kršt}qšnI|r~||kr~||kpx||k}n||ko•|kn}|r¯d}d}n$|rt| jƒ}| jƒ}nqttj|} |j| ƒ|krEtj| |ƒ|j | |ƒ|r(t!|ƒntj"d
||| fƒntj#|}!|j|!ƒ|krttj|!|ƒ|j |!|ƒtj"d |||!fƒt$|!|ƒqtqtWdS( Nii'idiR7iii<is>¸±±¾ÊÇ·ñ¿É½øÈë±ä¸ü: dataMapID=%s,updCanEnter=%s,canEnterKey=%ss=¸±±¾×´Ì¬±ä¸ü: dataMapID=%s,updStateValue=%s,fbFuncStateKey=%s(%RnR"RIRRRR#RuRRORQRRRSRTtGetNotifyInfoDictRLR^RRRR7tsecondsRËRÌRKRdt GetCanEntert GetStateValueR    tDef_Notify_WorldKey_FBCanEnterR'R*RÍtSaveFBOpenRecordRRtDef_Notify_WorldKey_FBFuncStateRC("RfRjRmR€RqR|Rrt
curTimeWHMR-RtR1R^RaRR/R]R_R`RbRct startTimeWHMt
endTimeWHMR6R«t diffDateTimet
diffMinuteRäRåtisUpdatetisResett updCanEntert updStateValuet canEnterKeytfbFuncStateKey((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pytDispose_FBStateTimeîst $                      '
                 c Cs|tjƒ}d|j|jf}i}tj}tjƒ}|j|ƒ}d}x`t    |j
ƒƒD]L}|j |ƒ}    |    j ƒ}
|
|kr›|    }nt |    jƒƒ||
<qeW|sú|jƒ}|j|ƒ|jt|gƒƒ|g||<nkt |jƒƒ} || kra| j|ƒt| ƒdkrA| d=n|jt| ƒƒ| ||<ndStjtj|ƒdS(Ns%02d%02dii(R"RIRRR    t*Def_UniversalGameRecType_LimitFBOpenRecordtGetUniversalRecMgrt GetTypeListRUtrangetCounttAtt    GetValue1tevalt GetStrValue1tAddRect    SetValue1t SetStrValue1RRcRTR*t Def_Notify_WorldKey_FBOpenRecord( tmapIDR%t    curDayStrt fbOpenRecordtrecTypetuniversalRecMgrtrecTypeListDatat findRecDataRÊtuniversalRecDatatrecMapIDt
recordList((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyR{Ss8                
 cCs‚i}tj}tjƒ}|j|ƒ}xQt|jƒƒD]=}|j|ƒ}|jƒ}t    |j
ƒƒ}|||<q=W|S(N( R    R‰R"RŠR‹RŒRRŽRRR‘(R˜R™RšR›RÊRRžRŸ((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pytGetFBOpenRecordws      c Cs=g}g}tjƒ}tjƒ}xãt|jƒƒD]Ï}|j|ƒ}|jƒ}|jƒr€||kr€|j    |ƒn||kr7t
j |}|j |ƒ}|rÁtj ||ƒnt
j|}    |j |    ƒ}
|
rötj |    |
ƒn|j    |ƒq7q7Wtj t
j|ƒtƒ} tj t
j| ƒdS(N(R"R#RGRQRÂRMRNRORxRcR    RzR'R*R|t*Def_Notify_WorldKey_FBEnterTimeLimiitMapIDR R•( tfbEnterTimeLimitMapIDListt sendMapIDListR-R…RR\R]R†tcanEnterR‡t fbFuncStateR˜((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pytSendMapServerFBFuncState„s.          cCsÙxÏttƒD]Á\}}||dkr/q nt||ƒtkrUtjdƒdSt||ƒ}t|ƒtkr|ƒd}|||kr dSq n|||kr³q n|||krÊt    j
St    j SWt    j S(Ns-s###ϵͳʱ¼ä»ñµÃÒì³££¬ÎÞ´ËÊôÐÔi( RetATTR_CALL_TIMERVRdR"RRRÁttypeRR%tDef_Cmp_Greatert Def_Cmp_Lowert Def_Cmp_Equ(R%RRÊtcallObjt
curCallObjtwday((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pytCompareActTimeªs$  cCsH|s
tStj|dƒ|ko;tj|dƒknrDtStS(Nii(RdR"tGetDateTimeByStrRK(R%tactSect((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyt IsAtActTimeÎs &cCsî|tjtjkr&tj|ƒnÄ|tjtjkrLtj|ƒnž|tjtj    krut
j ||ƒnu|tjtj kržt j||ƒnL|tjtjkrÄtj|ƒn&|tjtjkrêtj|ƒndS(N(R    R|R%tDef_FBMapID_FamilyPartytPlayerFamilyPartytFamilyPartyStateChangetDef_FBMapID_FamilyWartGameWorldFamilyWartOnFamilyWarStateChangetDef_FBMapID_XMZZt
PlayerXMZZtOnXMZZStateChangetDef_FBMapID_FamilyInvadetPlayerFamilySWRHtOnSWRHStateChangeR@RARÔtOnHorsePetRobBossActionChangetDailyActionID_CrossReamPKt CrossRealmPKt$OnCrossRealmPKDailyActionStateChange(R/tisOpen((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyRCàs(6R%RLR"RËR    RBRÁR·R´RGRºR½RÔRR RRRkRRëRþRÚttypesRRnRtTime_YmdFormatR§RŒRJRR!R R2RdRRSRKRuRUR RR?RJRKRnRuRˆR{R R¦R¯R²RC(((siE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameWorldActionControl.pyt<module>s\                               '     ÿ     & ~ "         ?        O    _    e    $         &    $