hwj35
5 天以前 a3bc02ee11aca9d8695454e30e2bbbc54c21cfcc
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
RžXjc@s:ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZedd$ƒZ\ZZZdd%d„ƒYZd„Zd„Zd„Zd    „Zd
„Zed „Z d d d „Z!d„Z"d„Z#d„Z$d„Z%ed„Z&d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d dd„Z4d „Z5d!„Z6d"„Z7d#„Z8dS(&iÿÿÿÿNiit LunhuidianMgrcBseZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„ZRS(cCsCd|_d|_d|_g|_d|_d|_g|_dS(Nit(t_LunhuidianMgr__actIDt_LunhuidianMgr__startDatet_LunhuidianMgr__endDatet_LunhuidianMgr__roundTypeListt"_LunhuidianMgr__allotCrossServerIDt_LunhuidianMgr__curZoneIDt#_LunhuidianMgr__curZoneServerIDList(tself((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt__init__0s                            cCs|jS(N(R(R    ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytGetActID=scCs ||_dS(N(R(R    tactID((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytSetActID>scCs|jS(N(R(R    ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt GetStartDate?scCs ||_dS(N(R(R    t    startDate((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt SetStartDate@scCs|jS(N(R(R    ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt
GetEndDateAscCs ||_dS(N(R(R    tendDate((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt
SetEndDateBscCs|jS(N(R(R    ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytGetRoundTypeListCscCs ||_dS(N(R(R    t roundTypeList((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytSetRoundTypeListDscCs|jS(N(R(R    ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytGetAllotCrossServerIDGscCs ||_dS(N(R(R    tallotCrossServerID((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytSetAllotCrossServerIDHscCstƒr dS|jS(Ni(tGetMainServerLunhuidianStateR(R    ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt GetCurZoneIDIscCs ||_dS(N(R(R    t    curZoneID((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt SetCurZoneIDKscCs|jS(N(R(R    ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytGetCurZoneServerIDListLscCs ||_dS(N(R(R    tcurZoneServerIDList((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytSetCurZoneServerIDListMs(t__name__t
__module__R
R R RRRRRRRRRRRR (((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyR.s                                                         cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatatg_lunhuidianMgrR(tmgr((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytGetLunhuidianMgrOs
         cCsÍtjƒ}|jƒsiStj|jƒƒ}i}d}tjƒ}tj    ƒ}x÷t
|j ƒƒD]ã}|j |ƒ}|jƒ|kr•qhn|j ƒ}|jƒ}    |jƒ}
|jƒ} |    sÑqhntj|    tjƒ} || krøqhn| s | |kr| }i}n|
|kr3i||
<n||
} g| | |<qhWtji|ƒ\}}|s£tjdƒsŸtjd|ƒtjddƒniStjƒjƒ}||krÅiS||S(NtLunhuidianCrossZoneCfgErrori(tCrossMgrtGetSSServerMgrtGetCrossCenterIDt    GameWorldtChangeTimeNumToDatetimet GetCrossTimetNonetGetAppIDt IpyGameDataPYtIPY_DatatrangetGetLunhuidianCrossCounttGetLunhuidianCrossByIndext    GetZoneIDRtGetCrossServerIDtGetServerIDListtChangeStrToDatetimetChConfigtTYPE_Time_Format_Ymdt CheckServerIDtCheckCrossZoneCfgt GetConfigExtSendGameErrorExt SetConfigExt GetGameWorldt GetServerID(tssMgrt crossDateTimet crossZoneDictt verDateTimetappIDt
ipyDataMgrtindextipyDatatzoneIDt ipyStartDatet crossServerIDt serverIDListt ipyDataTimetzoneDcittisOKterrInfot curServerID((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytGetCrossZoneCfgDictVsL               
 cCsttƒdS(N(t__checkLunhuidianCrossResettTrue(((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytOnCrossServer_Conn_CrossCenter‰s
cCstjƒrttƒndS(N(R+t IsCrossServerRTRU(((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytOnReloadConfigŽs  cCstjƒrtƒndS(N(R+RWRT(((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt
OnDayCross”s 
c( Cshtjddƒ}tjddƒ}d}d\}}g}d\}}|rÄ|rÄtjƒ}    tj|    jƒƒ}
d|
j|
j|
j    f} tj
| t j ƒ}
tj
|t j ƒ} |
| krå|
| j } | |d}nd}| tj|d|ƒ}tj|ƒ}tj|ƒ}|tjd|dƒ}tj|t j ƒ}tj|t j ƒ}tjdd    ƒ}|dt|ƒ}||}tjd
||||||||fƒntƒ}|j|ƒ|j|ƒ|j|ƒ|j|ƒtjƒ}|jtjƒ}|jtjƒ}||krz||krztjd ||||fƒ|rvt ƒndSd }tj!}tj"ƒ}|j#|ƒ}xˆ|D]€\}}}|}|}tj$d |ƒ}|säq«n|j%ƒ}|süq«nd|} t&j'tj!||| ||dt(ƒq«Wtjd||||fƒ|j)tj|ƒ|j)tj|ƒt*ƒ}!|!s…dSi}"tj+t j,ƒ}#x™|#j-ƒD]‹}$x‚|$D]z}%xq|!j.ƒD]c\}}&tj/|%|&ƒsîqÊn||"krg|"|<n|"|}'|%|'krÊ|'j0|%ƒqÊqÊWq·WqªWtjd|"ƒtj1t j,|"ƒt ƒdS(NtLunhuidianCrossiiRis%d-%d-%ditdaysisz¿ç·þÂֻصǰѭ»·: %s ~ %s, loopIndex=%s,roundTypeList=%s,startLoopDateStr=%s,loopDays=%s,loopNum=%s,loopRoundTypeList=%ss3¿ç·þÂֻص±ä! actID=%s(%s),loopNum=%s,isReload=%stLunhuidianBillAwardtActLunhuidianTypeSetsLunhuidianBillAward%st isClearDatas;¿ç·þÂֻصî±ä¸ü! actID=%s,dbActID=%s,loopNum=%s,dbLoopNum=%ss0ÂֻصîÀúÊ·ÒѾ­¿ç·þµÄÓÎÏ··þĬÈϼÓÈëÐÂÈü¼¾·ÖÇø! %s(ii(ss(2R0t
GetFuncCfgR(R)R+R,R-tyeartmonthtdayR8R9tTYPE_Time_Format_DayR[tdatetimet    timedeltatChangeDatetimeToNumtChangeDatetimeToStrtGetFuncEvalCfgtlentLogR&R RRRt    DBDataMgrtGetEventTrigMgrtGetValuet ShareDefinetDef_LunhuidianActIDtDef_LunhuidianLoopNumtSync_C2S_LunhuidianCrossInfotDef_CBT_LunhuidiantGetBillboardMgrtGetBillboardGroupListtGetIpyGameDatat GetBillTempIDtPlayerBillboardtDoGiveBillboardAwardByActTempIDRUtSetValueRStGetFuncCrossZoneRectDef_FBMapID_LunhuidiantvaluestitemstCheckServerIDInListtappendtSetFuncCrossZoneRec((tisReloadtstartLoopDateStrtloopDaystloopStartDateStrR tloopNumRt loopStartYmdt
loopEndYmdRBRCtcrossYmdtstartLoopDateTimetpassDayst startDateTimet endDateTimetloopRoundTypeListt    loopIndext lunhuidianMgrt
dbEventMgrtdbActIDt    dbLoopNumtfuncNamet billboardTypet billboardMgrt billGroupListt groupValue1t groupValue2RJt    roundTypet
setIpyDatat
billTempIDtmailKeyt zoneCfgDicttcrossZoneRecDictt zoneRecDictRMtserverIDtcfgServerIDListtrecServerIDList((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRT™sš      
    #         
      
)       
 icCsEtjd|ƒtƒ}|s$dStƒ}|jƒ}|jƒ}|jƒ}|jƒ}tj    t
j ƒ}tjd|ƒx¾|j ƒD]°\}    }
|r±|    |kr±qn|rÛtj ||
ƒsÏqn|g} n
g|
} |j|    gƒ} i|    d6| d6|d6|d6|d6|d6} tjtj| | ƒqWdS(    Ns*Sync_C2S_LunhuidianCrossInfo toServerID=%ss    zoneCfgDict=%sRJR¢R RRR(R+tDebugLogRSR&R RRRR(RzR9R{R}R~tgettCrossMsgtSendToClientServerRntC2S_LunhuidianCrossInfo(t
toServerIDttoZoneIDRRR RRRRŸRJR¡ttoServerIDListR¢tdataMsg((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRqüs.             
0c    Cs¾|d}|d}|d}|d}|d}|d}tƒ}|j|ƒ|j|ƒ|j|ƒ|j|ƒ|j|ƒ|j|ƒ|j|ƒtƒs­dSt    t
j ƒdS(NRJR¢RRRR ( R&RRR R RRRt__checkLunhuidianCrossStatetRefreshActLunhuidianActionInfoRnt ActNum_Cross(    R«t fromServerIDRJR¢RRRR R((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyR§!s$
 
 
 
 
 
                cCs¹tjƒjtjƒs)tjdƒdSttƒr9dSt    ƒj
ƒ}|s_tjdƒdSt    ƒ}|j ƒ}tj ƒj ƒ}||krµi}tjtj||gƒdStS(Ns!Âֻصî¸Ã·þÎñÆ÷ÔÝʱ먦·Å¼ÓÈë¿ç·þ!s%±¾·þÂֻصîÔÝʱδ·ÖÅ䏸ij¸ö¿ç·þ·þÎñÆ÷!(RkRlRmRnt Def_CanCrossR+RjRRUR&RRR@RAR¥tSendToCrossServertS2C_LunhuidianReg(RLRR¢R R«((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyR¬As"         c Csetjƒ}tj|jƒƒ}|jƒd}|j}|dkrc|dkrctjdƒdStƒ}|svdSd}x6|j    ƒD](\}}    tj
||    ƒr‰|}Pq‰q‰W|sÙtj d|||fƒdStj t jƒ}
||
krg|
|<n|
|} || kr*| j|ƒntjt j|
ƒtjd||fƒtd|ƒdS(    Niiis+¿ç·þʱ¼äÖÜÌì23µãºó²»ÔÊÐí¼ÓÈë¿ç·þÂֻصî·ÖÇø!isHÓÎÏ··þδ·ÖÅ䏸±¾¿ç·þÂֻصî! fromServerID=%s,joinZoneID=%s,zoneCfgDict=%ss;¿ç·þÂֻصî·þÎñÆ÷¼ÓÈë¿ç·þ³É¹¦! fromServerID=%s,joinZoneID=%sR©(R(R)R+R,R-tweekdaythourRjRSR}R~tErrLogRzR9R{RR€Rq( R«R¯RBt
serverTimet
curWeekdaytcurHourRt
joinZoneIDRJR¡RŸR¢((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyR²Xs:                
  cCs7tƒr dStƒjƒ}|s3tjdƒdS|S(sm»ñÈ¡±¾·þ¿ç·þ·ÖÅ䏸µÄ¿ç·þ·þÎñÆ÷ID
    @return: >0-ÒÑ¿ç·þÇÒÓÐÄ¿±ê¿ç·þ·þÎñÆ÷ID; 0-δ¿ç·þ£»-1-ÕÒ²»µ½ËùÊô¿ç·þ
    is ¸Ã·þÎñÆ÷ÂֻصîÎÞËùÊô¿ç·þ·þÎñÆ÷IDiÿÿÿÿ(RR&RR+Rµ(RL((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytGetLunhuidianCrossServerID€s     cCsÖtjddƒ}tjƒjtjƒd}||kr^|rZtjd||fƒndSxqt    j
j tj iƒj ƒD]Q}|j tjdƒ}|j tjƒr}|r}|rÊtjd|ƒndSq}WdS(NRZis3Âֻصîδ´ï¿ª·Å¿ç·þ¿ª·þÌìÓÅÏȱ¾·þ! serverDay=%s < %sisÂÖ»Øµî´æÔÚ±¾·þ»î¶¯! actNum=%si(R0R_RkRlRmRnt Def_ServerDayR+RjR#tg_operationActionDictR¤tOperationActionName_LunhuidianR|t ActKey_ActNumt ActKey_State(tisLogtcrossServerDayt    serverDaytactInfotactNum((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRŒs %cCsétƒ}|jƒ}|jƒ}|jƒ}tjƒjƒ}tj}|j    t
j |ƒrotj dƒdS|j ƒ}|s’tjdƒdSxP|D]H}d}    |j    t
j |    ƒ}
|
|krÍq™n|j    t
j|    |fƒ} |j    t
j|    |fƒ} |j    t
j|    |fƒ} tj|t
j |    dƒx4tdƒD]&}tj|t
j|    |fdƒqHWtj|t
j|    |fdƒtj|t
j|    |fdƒtj|t
j|    |fdƒtj|t
j ||ƒt|||ƒtj|t
j||f| ƒtj|t
j||f| ƒtj|t
j||f| ƒtjd||| | | f|jƒƒ||kr™| }tj|ƒ}|jdgƒ}|j|||gƒ|jd|ƒq™q™WdS(Ns ¿ç·þÂÖ»ØÒѾ­ÓÐÊý¾ÝÁ˲»ÔÙ¿½±´±¾·þs¿ç·þÂÖ»ØÃ»Óпç·þIDÔݲ»¿½±´±¾·þi
iis^¿½±´±¾·þÂֻصîÊý¾Ýµ½¿ç·þ»î¶¯: crossActID=%s,roundType=%s,curRound=%s,curValue=%s,awardState=%stupdLunhuidianBillList(R&RRRR+R@RARnR®tNomalDictGetPropertyR9tDef_PDict_ActLunhuidianIDR£R RjtDef_PDict_ActLunhuidianRoundtDef_PDict_ActLunhuidianValuetDef_PDict_ActLunhuidianAwardt PlayerControltNomalDictSetPropertyR2tDef_PDict_ActLunhuidianSettSaveActRoundSett GetPlayerIDt PlayerOnlinetGetOnlinePlayert GetKeyValueRt SetKeyValue(t    curPlayerRRR¢RLR t actNumCrosst
crossActIDR™RÄt playerActIDtcurRoundtcurValuet
awardStatetnumtupdValuetolPlayerRÅ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt%__checkLunhuidianRoundTypeDataToCrossŸsR                $            cCsRtj|ƒ}|jdgƒ}x*|D]"\}}}t||||ƒq(WdS(NRÅ(RÐRÑRÒtSendUpdLunhuidianBill(RÔRÝRÅRLR™RÜ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytOnPlayerLoginAfterCrossØs
c Cs¤tƒrætjdƒx‡tjjtjiƒjƒD]ª}|jtj    dƒ}t
||ƒ}| r5|jtj ƒr5t ||ƒ|jtj dƒ}tjd|ƒ}|rßx'|jƒD]}t|||ƒq¿Wqßq5q5Wnºt|ƒtƒ}|jƒstjdƒdS|jƒ}|jƒ}    |r:dnd}
tj}t||ƒ}| r |
r t ||ƒt|ƒx!|    D]}t|||ƒqƒWndS(Ns(»¹ÊôÓÚ±¾·þÂÖ»ØÖв»´¦Àí×ªÒÆÊý¾Ýµ½¿ç·þÂÖ»Øit ActLunhuidians±¾·þ»¹Î´·ÖÅäËùÊô¿ç·þÂֻصîi(RR+R£R#R¼R¤RnR½R|R¾t __CheckPlayerActLunhuidianActionR¿tSync_ActLunhuidianActionInfot ActKey_CfgIDR0RuRtSync_ActLunhuidianPlayerInfoRÞR&RRµR R®t"__CheckPlayerCrossLunhuidianActiontSync_LunhuidianCrossInfo( RÔRÃRÄtisResettcfgIDRIR™RR Rtstate((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt OnPlayerLoginßs8     % !
              
 cCs–tjƒ}xjt|jƒƒD]V}|j|ƒ}tj|ƒsIqn|tjkrht||ƒqt    ||ƒqW|tjkr’t
ƒndS(N( R+tGetPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextIsNormalPlayerRnR®RæRâR¬(RÄt playerManagerRHRÔ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyR­s 
cCs tjtj|ƒ}|jtjdƒ}|jtjdƒ}|jtjƒ}g}|r‡tj    d|ƒ}|r‡|j
ƒ}q‡nt ||||||ƒS(NiRá( R+t
GetActInfoRnR½R¤t    ActKey_IDR¿RäR0RuRt__CheckPlayerLunhuidianAction(RÔRÄRÃR RêRéRRI((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRâscCsRtƒ}|jƒ}|jƒ}d}|r3dnd}t||||||ƒS(Nii(R&R RRô(RÔRÄRR RRéRê((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRæ#s       c Csì|jƒ}|jtj|ƒ}||krOtjd|||f|ƒdStjd|||||f|ƒt||ƒtj|tj||ƒ|rèt    ||ƒ|t
j krÈt |ƒngg}}    xê|D]â}
t jd|
ƒ} | sqÜnt|||
ƒtj|tj||
fdƒtj|tj||
fdƒtj|tj||
fdƒt|||
ƒ|| jƒ7}| jƒ} | rÜ| |    krÜ|    j| ƒqÜqÜWtj|d|ƒtj||    ƒntS(Ns6Âֻصî»î¶¯ID²»±ä£¬²»´¦Àí£¡ actNum=%s,cfgID=%s,actID=%ssCÂֻصî»î¶¯ÖØÖÃ! actNum=%s,cfgID=%s,actID=%s,playerActID=%s,state=%sR]iiRá(RÏRÆR9RÇR+R£tOnGiveUngetAwardRËRÌRãRnR®RçR0RuRÎRÉRÈRÊRåt GetCTGIDListtGetActShopTypeRt
PlayerCointDoResetCTGCountByIDListtFunctionNPCCommontResetShopItemBuyCountByShopTypeRU( RÔRÄR RéRêRtplayerIDR×tresetCTGIDListtresetShopTypeListR™RštshopType((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRô+s<               cCsÔxÍtdƒD]¿}|jtj||fƒ}|r{|d}||kr tjd||||f|jƒƒPq q n|d}tj|tj||f|ƒtjd||||f|jƒƒPq WdS(NiidsB    ±£´æÂֻصî²ÎÓëÖµÒÑ´æÔÚ! actNum=%s,roundType=%s,num=%s,value=%ss?    ±£´æÂֻصî²ÎÓëÖµ! actNum=%s,roundType=%s,setValue=%s,num=%s(    R2RÆR9RÍR+R£RÏRËRÌ(RÔRÄR™RÛtvaluetroundTtsetValue((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRÎQs
     
 &cCssxltdƒD]^}|jtj||fƒ}|s;q nt|||ƒtj|tj||fdƒq WdS(Nii(R2RÆR9RÍt__DoGiveUngetAwardByMailRËRÌ(RÔRÄRÛR((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRõcs$c
CsB|jƒ}|d}tjd|ƒ}|s2dS|jƒ}|jtj||fƒ}|jtj||fƒ}|jtj||fƒ}    tj    d|ƒ}
|
s®dSg} |} |} |    }x/| dkr÷| |kr÷t
j d| | |f|ƒd}xÓ|
D]Ë}|j ƒ}|j ƒ}|jƒ}t||ƒ}|td|ƒ@rzt
j d| ||f|ƒq n| |kr¬t
j d| ||| f|ƒq n| |7} t
j d    | |||f|ƒq W| d
7} | |8} d}qÉW| sdSt
jd ||||||    | f|ƒtjd || ƒdS( NidR]tActLunhuidianAwardis7´¦Àí²¹·¢Âֻؽ±Àø: doRound=%s,doValue=%s,doAwardState=%sis/    ÒÑÁìÈ¡¸Ã½±Àø: doRound=%s,aIndex=%s,needV=%ss4    ËùÐèÖµ²»´ï±ê: doRound=%s,aIndex=%s,needV=%s > %ss2    Î´ÁìÈ¡²¹·¢½±: doRound=%s,aIndex=%s,needV=%s,%sisn´¦Àí²¹·¢Âֻؽ±ÀøÍê±Ï: actNum=%s,roundType=%s,roundMax=%s,curRound=%s,curValue=%s,awardState=%s,mailItemList=%stLunhuidianUnget(RÏR0Rut GetRoundMaxRÆR9RÈRÉRÊtGetIpyGameDataListR+R£t GetNeedValuet GetAwardIndextGetAwardItemListtmaxtpowRjt
PlayerMailt SendMailByKey(RÔRÄRRüR™RštroundMaxRØRÙRÚtawardIpyDataListt mailItemListtdoRoundtdoValuet doAwardStatet roundValueMaxt awardIpyDatatneedVtaIndext awardItemList((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRmsR 
       
$
 
 
     c Cs‡|jƒ}g}d}tƒrÌx,tjjtjiƒjƒD]…}|jtjƒs^q@n|jtj    ƒ}|jtj
dƒ}    t j d|ƒ}
|
s£q@n|
j ƒ} |j|    || gƒq@Wn„tƒ} | jƒsådS| jƒ} tjƒjƒ}|| krdS| jƒ}| j ƒ} d}tj}    |j|    || gƒ|sZdSx&|D]\}    }} x | D]}t j d|ƒ}|s›qwn||jƒkr³qwn||jƒkrËqwn|jtj|    |fƒ}t||tjƒ}tj|tj|    |f|ƒtj d|    |||||||f|ƒt!||    |ƒ|dkrwt"||||ƒqwqwWqaWdS(NiRáR]st¸üÐÂÂֻصîÀÛ¼ÆÖµ: actNum=%s,cfgID=%s,roundType=%s,awardType=%s,awardTypeValue=%s,addValue=%s,curValue=%s,updValue=%s(#RÏRR#R¼R¤RnR½R|R¿RäR¾R0RuRRR&R RR+R@RARR®t GetAwardTypet GetAwardvalueRÆR9RÉtmintDef_UpperLimit_DWordRËRÌR£RåRß(RÔt    awardTypetawardTypeValuetaddValueRütupdListRLRÃRéRÄRIRRR¢R R™RšRÙRÜ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytAddLunhuidianValueœs\     %                    # c
CsW|dkrdStjƒjƒ}||g}tj|d||dddd|ƒdS(Nis'PlayerActLunhuidian.__UpdLunhuidianBilltreqCDt    reqDataEx(R+R@tGetTickt CrossPlayertPyPackForwardingR.(RÔRLR™RÜttickR$((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRßÕs   %c
Csc|\}}tjtj|ƒ}|s+dS|jƒ}|}    tj|tj|    d|d|ƒdS(NR—R˜(    R(tGetCrossRecZoneIDR9R{RÏRwtUpdatePlayerBillboardByIDRnRr(
t crossPlayert
clientDataR(R¯R$R™RÜRJRütcmpValue((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt__UpdLunhuidianBillÞs  "c
Css|}|jdƒ}t|ƒdkr<tjd|ƒdStj|ddƒ}tj|ddƒ}|jƒ}|tjkr¨tƒrdSt    ƒ}|j
ƒ}    n~tj tj |ƒ}
|
s×|
j tjƒ rìtjd|ƒdS|
j tjƒ} tjd| ƒ} | sdS| j
ƒ}    ||    krPtjd|||    fƒdStjd    |ƒ} | sldS| jƒ}tjd
|ƒ}|s”dS|jtj||fƒ}|jtj||fƒ}|jtj||fƒ}d}g}dg}}xy|D]q}|jƒ}t||ƒ}|jƒ}||krV|}|jƒ}q|td|ƒ@s|j|ƒqqW|dkrªtjd |||f|ƒdS|td|ƒ@rátjd ||||f|ƒdS||krtjd |||||f|ƒdS|td|ƒB}t j!|tj||f|ƒtjd|||||||f|ƒt"j#||ddt$igƒtjd|||||f|ƒ| r_||kr_|d}td||ƒ}t j!|tj||f|ƒt j!|tj||f|ƒt j!|tj||fdƒtjd||f|ƒnt%|||ƒdS(Ns|is·¢ËÍÁìÈ¡¸ñʽ´íÎó: dataExStr=%siis¸ÃÂֻصî·Ç»î¶¯ÖÐ: actNum=%sRás<¸ÃÂֻصîÀàÐͲ»ÔÚ±¾´Î»î¶¯ÖÐ: actNum=%s,roundType=%s not in %sR]Rs5ÂֻصîûÓиý±Àø! actNum=%s,roundType=%s,needValue=%ssCÂֻصÀøÒÑÁì½±! actNum=%s,roundType=%s,needValue=%s,awardIndex=%ssOÂֻصǰֵ²»×㣬ÎÞ·¨Áì½±! actNum=%s,roundType=%s,curRound=%s,curValue=%s < %ssgÁìÈ¡ÂֻصÀø! actNum=%s,roundType=%s,needValue=%s,awardIndex=%s,awardState=%s,updState=%s,curRound=%steventt
LunhuidiansA    curRound=%s/%s,unGetIndexList=%s,curValue=%s,roundValueMax=%ssC    ±¾ÂÖ´ÎËùÓн±ÀøÒѾ­ÁìÈ¡Íê±Ï£¬½øÈëÏÂÒ»ÂÖ! updRound=%s,updValue=%s(&tsplitRiR+R£tToIntDefRÏRnR®RR&RRòR½R¤R¿RäR0RuRRRÆR9RÈRÉRÊR.RR R    R
R RRËRÌt ItemControlertGivePlayerItemOrMailtFalseRå(RÔtdataExt    dataExStrRÄtawardSplitListR™t    needValueRüRRRÃRéRIRšRRRØRÙRÚRtunGetIndexListt
awardIndexRRRRtupdStatetupdRoundRÜ((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pytGetLunhuidianAwardës”                                     
   cCstjƒ}||_||_|jtj||fƒ|_|jtj||fƒ|_    |jtj
||fƒ|_ t j ||ƒdS(N(tChPyNetSendPackttagMCActLunhuidianPlayerInfotActNumt    RoundTypeRÆR9RÈtCurRoundRÉtCurValueRÊt AwardRecordt NetPackCommont SendFakePack(RÔRÄR™t
clientPack((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRåGs         cCs|tjkr?tƒ}|jƒ}|jƒ}|jƒ}nŽtjtj|ƒ}|s^dS|j    tj
ƒstdS|j    tj ƒ}t j d|ƒ}|s¢dS|jƒ}|s¸dStj|ƒ\}}|s×dStjƒ}    |    jƒ||    _||    _||    _xÁ|D]¹}
t j d|
ƒ} | s3qntjƒ} |
| _| jƒ| _| jƒ| _| jƒ| _g| _t jd|
ƒ} | rvxÝ| D]Ò}tjƒ}|j ƒ|_!|j"ƒ|_#x}|j$ƒD]o}|d \}}t%|ƒdkr |dnd}tj&ƒ}||_'||_(||_)|j*j+|ƒqÚWt%|j*ƒ|_,| jj+|ƒqWnt%| jƒ| _-| j.ƒ| _/t%| j/ƒ| _0| j1ƒ| _2|    j3j+| ƒqWt%|    j3ƒ|    _4|r÷t5j6||    ƒn t5j7|    ƒdS(NRáR]Rii(8RnR®R&RRRR+RòR½R¤R¿RäR0RutGetOperationActionDateStrR?ttagMCActLunhuidianInfotClearRAt    StartDatetEndtDatettagMCActLunhuidianRoundRBRt    AwardTypeRtAwardTypeValueRtRoundMaxt    AwardListRttagMCActLunhuidianAwardR    t
AwardIndexRt    NeedValueR
RittagMCActLunhuidianItemtItemIDt    ItemCounttIsBindt AwardItemListRtCountt
AwardCountRöt    CTGIDListt
CTGIDCountR÷tShopTypet    RoundListt
RoundCountRFRGtSendFackPackOnline(RÔRÄRt startDateStrt
endDateStrRRÃRéRIRHR™Ršt    roundInfoRRtawardtitemInfotitemIDt    itemCountt isAuctionItemtitem((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRãQsz        
                        "              cCsMtƒ}|jƒ}|jƒ}|jƒ}tjtj||||ƒdS(N(R&RRRR(tSync_CrossZoneInfoR9R{(RÔRRLRJRM((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyRç›s        i((9R#R&RnRÐRËR0RwR?RúRFR3R;RøR R+R9R(R¥RkRdR2t AwardTypeListtAwardType_PayMoneytAwardType_TreasuretAwardType_UseItemRR&RSRVRXRYR5RTRqR§R¬R²RºRRÞRàRëR­RâRæRôRÎRõRR"RßR.R.R>RåRãRç(((srD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActLunhuidian.pyt<module>sd                    !        3             c%             (         9        &                 &        
    /    9             \    
    J