hwj35
2025-06-16 12bfd1cd414e0fa14310a800df8288a844d6489f
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
Œ­dc@sÈddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZejZejZdZddd„ƒYZddd„ƒYZd„Zd„Zd    „Zd
„Zed d „Zd „Zd„Zdd„Zdd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)dd„Z+dd„Z,dS(iÿÿÿÿNi2tLuckyCloudBuyNumcBs)eZdZd„Zd„Zd„ZRS(s ÐÒÔËÔÆ¹º¹ºÂòºÅÂë¼Ç¼
    cCsLd|_d|_d|_d|_d|_d|_d|_d|_dS(Nit(tidTimetzoneIDtroundNumtplayerIDtbuyNumtbuyTimet
playerNametaccID(tself((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyt__init__Hs                                cCsTi|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd6S(    NRRRRRRRR    (RRRRRRRR    (R
((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyt    GetStringTs+cCs1x*|jƒD]\}}t|||ƒq WdS(N(titemstsetattr(R
tattrDicttktv((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyt SetAttrByDictXs(t__name__t
__module__t__doc__R R R(((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyREs         tLuckyCloudBuyLotterycBs)eZdZd„Zd„Zd„ZRS(s ÐÒÔËÔÆ¹º¿ª½±¼Ç¼
    cCspd|_d|_d|_d|_d|_d|_d|_d|_g|_g|_    d|_
d|_ dS(NiR( RtcfgIDRRt luckyPlayerIDt
lotteryNumt lotteryTimetluckyPlayerNametserverIDRangeListt superItemInfotluckyPlayerAccIDt
templateID(R
((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyR `s                                                cCs|i |jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd6|jd    6|j    d
6|j
d 6|j d 6S( NRRRRRRRRRRRR( RRRRRRRRRRRR(R
((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyR ps5(cCs1x*|jƒD]\}}t|||ƒq WdS(N(R R(R
RRR((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyRus(RRRR R R(((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyR]s        cCsîtjƒsdSit_it_tjƒ}|jtƒ}tjd|j    ƒƒxït
|j    ƒƒD]Û}|j |ƒ}|j ƒ}t ƒ}t|jƒƒ|_||_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|tjkr(gtj|<ntj|}|j|ƒqgWxStjjƒD]B\}}|j dt!j"dƒƒtjd|t#|ƒfƒqVW|jt$ƒ}tjd|j    ƒƒxÏt
|j    ƒƒD]»}|j |ƒ}|j ƒ}|d|d}}t%ƒ}    t|jƒƒ|    _||    _&||    _|jƒ|    _|jƒ|    _'|jƒ|    _(|jƒ|    _)|jƒ|    _*tj+|j,ƒƒ|    _-|jƒ}
ggd|    _.|    _/|    _0|
rW|
j1dƒ\} } } | j2d    ƒr| j3d
ƒrt4| ƒng|    _.| j2d    ƒrB| j3d
ƒrBt4| ƒng|    _/| |    _0n|tjkrvgtj|<ntj|}|j|    ƒqÕWxStjjƒD]B\}}|j dt!j"dƒƒtjd |t#|ƒfƒq¤WdS( Ns¼ÓÔØÐÒÔËÔÆ¹º¹ºÂò¼Ç¼! %stkeyRs-    ÐÒÔËÔÆ¹º·ÖÇø¹ºÂò¼Ç¼! zoneID=%s, count=%ss¼ÓÔØÐÒÔËÔÆ¹º¿ª½±¼Ç¼! %sidRs|s[s]s-    ÐÒÔËÔÆ¹º·ÖÇø¿ª½±¼Ç¼! zoneID=%s, count=%s(5t    GameWorldt IsCrossServert
PyGameDatatg_luckyCloudBuyNumDicttg_luckyCloudBuyLotteryDicttGetUniversalRecMgrt GetTypeListtDef_RecType_LuckyCloudBuyNumtLogtCounttxrangetAtt    GetValue1RtinttGetTimeRRt    GetValue2Rt    GetValue3Rt    GetValue4Rt    GetValue5Rt GetStrValue1Rt GetStrValue3R    tappendR tsorttoperatort
attrgettertlent Def_RecType_LuckyCloudBuyLotteryRRRRRRtToIntDeft GetStrValue2RRRRtsplitt
startswithtendswithteval(tuniversalRecMgrt recDataListtindextrecDataRtbuyRect
buyRecListtvalue1Rt
lotteryRect    strValue3t serverIDStrt superItemStrR    tlotteryRecList((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyt OnServerStartzsr                    !              33  !cCs|tjƒsdStjƒ}tjdƒ|jtƒ|jtƒ}x×tjj    ƒD]Æ\}}tjd|t
|ƒfƒxš|D]’}|j ƒ}|j |j ƒ|j|jƒ|j|jƒ|j|jƒ|j|jƒ|j|jƒ|j|jƒ|j|jƒq…WqUWtjdƒ|jtƒ|jtƒ}x-tjj    ƒD]\}}tjd|t
|ƒfƒxð|D]è}|j ƒ}|j |j ƒ|j|jd|jƒ|j|jƒ|j|jƒ|j|j ƒ|j|j!ƒ|j|j"ƒ|j#d|j$ƒ|jdt%|j&ƒj'dd    ƒt%|j(ƒj'dd    ƒ|j)fƒqˆWqXWdS(
Ns±£´æÐÒÔËÔÆ¹º¹ºÂò¼Ç¼!s-    ±£´æÐÒÔËÔÆ¹º¹ºÂò¼Ç¼! zoneID=%s, count=%ss±£´æÐÒÔËÔÆ¹º¿ª½±¼Ç¼!s-    ±£´æÐÒÔËÔÆ¹º¿ª½±¼Ç¼! zoneID=%s, count=%sids%ss%s|%s|%ss R(*R!R"R&R)tDeleteR(R'R#R$R R:tAddRectSetTimeRt    SetValue1Rt    SetValue2Rt    SetValue3Rt    SetValue4Rt    SetValue5Rt SetStrValue1Rt SetStrValue3R    R;R%RRRRRt SetStrValue2RtstrRtreplaceRR(RBRCRRGRFRERMRI((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyt OnServerCloseÃsJ          !cCs2tjƒrdSt|ƒt|ƒt|ƒdS(N(R!R"tSync_LuckyCloudBuyRoundInfotSync_LuckyCloudBuyNumRecInfot__LoginNotifyMapCloudBuyNumInfo(t    curPlayer((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyt OnPlayerLoginòs  
 
 
c CsQtjtjƒƒ}d
}x/tjjƒD]\}}t|ƒ}tjd||fƒxì|rH|dkrH|d8}|d}||j}|j     s°|j s°||krõtjd|j    |tj
|ƒ|jtj
|jƒ||fƒPn|j dƒ}tjd|j    |tj
|ƒ|jtj
|jƒ||fƒq]Wq+WdS( Niiis6¼ì²éÐÒÔËÔÆ¹º·ÖÇø¿ª½±¼Ç¼ÊÇ·ñ³¬Ê±! zoneID=%s,doCount=%siisb    Î´¿ª½±»òÔÚ±£Áôʱ¼äÄÚ! lotteryNum=%s,crossServerTime=%s(%s),lotteryTime=%s(%s),passTime=%s < %sse    Ôƹº¿ª½±¼Ç¼³¬Ê±£¬É¾³ý! lotteryNum=%s,crossServerTime=%s(%s),lotteryTime=%s(%s),passTime=%s >= %siHi€ô( R!tChangeTimeStrToNumtGetCrossServerTimeStrR#R%R R:tDebugLogRRtChangeTimeNumToStrtpop(tcrossServerTimetMaxTimeRRMtdoCountRItpassTime((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pytDoOnDayûs& 
 
      #    +Rc    Cs|j}|j}|j}|j}tj|tjƒ}tjd|||||||fƒi}t    j
j |gƒ}    x?|    | D]2}
|
j r†|j |
j dƒd||
j <q†q†Wtjd|ƒi} d} g} d}t jddƒ\}}t    jj |gƒ}xá|D]Ù}|j|krQtjd||jƒfƒqn|j}|j |dƒ}||krœtdt| d|d    ƒƒ}n| }||7}| j||gƒ|| krØg| |<n| |}|j|jƒqWtjd
t|ƒt| ƒ|fƒtj| ƒ}|r„tjd |j|jƒfƒ|j|_ |j|_|j|_|j|_nRtjd ||fƒt jdd ƒ}tj d|ƒ|_tjd|jƒtt!j!ƒƒ|_"x°| j#ƒD]¢\}}||j krft|j$ƒdkr8|j$d gng}t%j&d|g||jgdt'ƒqøt(|ƒ}t%j&d|gg|j|gdt'ƒqøWidd6}|j)|jƒƒt*j+d|ƒi|jƒg|6}idd6|d6}t,j-t.j/|ƒt0|||ƒS(NsPÐÒÔËÔÆ¹º¿ª½±: idTime=%s(%s),cfgID=%s,zoneID=%s,roundNum=%s,resetRound=%s,sign=%siis    µ±ÈÕÒÑÖн±Íæ¼Ò´ÎÊýÐÅÏ¢: %sidtLuckyCloudBuySetis/    ·Ç±¾ÂÖ¹ºÂòµÄºÅÂ룡 idTime=%s, buyRecInfo=%sgY@s?    ±¾ÂÖ¿ª½±±ýͼÁбíÐÅÏ¢: buyCount=%s,randListLen=%s,maxRate=%ss'    ÐÒÔËÖн±ºÅÂë¼Ç¼: lotteryNum=%s, %ss.    ÔƹºÎÞÈ˹ºÂò»ò¿ª½±Òì³£! cfgID=%s,zoneID=%sis    Ëæ»úÖн±ºÅÂë! lotteryNum=%sitLuckyCloudBuyWint    crossMailtLuckyCloudBuyFailtLotterytTypeRtUpdatetsyncTypetzoneLotteryInfo(1RRRRR!RetChConfigtTYPE_Time_YmdFormatR)R#R%tgetRt IpyGameDataPYtGetFuncEvalCfgR$tErrLogR RtmaxR.R6RR:tGetResultByRandomListRRR    RRt
GetFuncCfgtrandomtrandintttimeRR RtPlayerCompensationt SendMailByKeytTruetGetMailBuyNumstupdatetDataRecordPackt SendEventPackt CrossRealmMsgtSendMsgToClientServert ShareDefinet#CrossServerMsg_LuckyCloudBuyLotterytDoStartNewRoundLuckyCloudBuy(RIt
resetRoundtsignRRRRtlotteryDateStrttodayLuckyPlayerCountInfoRMtlotRectplayerNumListDictt
baseWeighttrandListtmaxRatetluckyCountLimittluckyWeightReducePerRGRFRt
luckyCounttweightt playerNumListt luckyBuyRect maxBuyCountt
buyNumListt addItemListtbuyNumstdataDictRttdataMsg((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pytDoLuckyCloudBuyLotterysx                        '      $
 
&    +( , cCs |jƒd}d\}}djtjƒjtjƒƒ}xÉt|ƒD]»\}}|d|kr·|}|j    dƒsˆ|d7}n|t
|ƒdkrJ|t |ƒ7}qJqJn||krÖ|t |ƒ7}n|ré||7}n|t |ƒ7}|}|}qJW|S(NRs¡¢is-(NN( R7tNonetdecodeRŠtDef_Game_Character_EncodingtencodeR!tGetCharacterEncodingt    enumerateR@R:RZ(RRŸtstartNumtlastNumRŽtitnum((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyR„is(
 !   
c
Cs3|jƒ}|jƒ}t}tjj|gƒ}|s?dn|d}|rø|j røtjj|gƒ}|r£t    j
d|j |fƒt |t dƒ}qøt    j
d|j ||jƒfƒ|jdƒ}    |    røt    j
d|    jƒƒqøn|r/| r/t    j
d|||fƒt|t ƒndS(Niÿÿÿÿs:ÐÒÔËÔÆ¹ºÖØÖ㬵±Ç°ÂÖ´Î먦½±£¬Ö±½Ó¿ª½±! cfgID=%s,zoneID=%stResets?ÐÒÔËÔÆ¹ºÖØÖ㬵±Ç°ÂÖ´ÎÎÞ¹ºÂò¼Ç¼£¬²»¿ª½±! cfgID=%s,zoneID=%s,%ssÒÆ³ýÎÞЧÂÖ´ÎÐÅÏ¢ %ssOÐÒÔËÔÆ¹ºÖØÖ㬵±Ç°Ã»ÓÐ먦½±µÄÂִΣ¬Ö±½Ó¿ªÆôÐÂÒ»ÂÖ! cfgID=%s,zoneID=%s,state=%s(tGetCfgIDt    GetZoneIDtFalseR#R%RwR£RR$R!R)RR¢RƒR RfRŒ(
tipyDatat actIDChangetstateRRtstartNewLotteryRMtlastLotteryRecRGt popLotteryRec((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pytOnLuckyCloudBuyStateChange…s$  # ic Cs9tjtj|ƒ}| s*|tj rEtjd||fƒdS|tj}tjd|ƒ}|sndS|j    ƒ}|j
ƒ}|j ƒ}|j ƒ}    | s¬|     r°dS|d}
t |ƒ|
krÖ||
n|d} | r| r|| krtjd|||fƒdSt |    ƒ|
kr3|    |
n|    d} tjd| ƒ} | sYdS|rhd}n
|d}| jƒ}tj|ƒ}| s¦t |ƒdkrÇtjd||||fƒdStƒ}ttjƒƒ|_||_||_||_| |_||_||_|tjkr:gtj|<ntj|}|j|ƒgtj|<id    d
6}|j|j ƒƒt!j"d |ƒtjd |||||fƒi|j ƒg|6}id d6|d6}t#j$tj%|ƒtj&ddƒ}idd6|d6gd6|d6}t#j$tj'|ƒt(S(Ns7ÐÒÔËÔÆ¹º·Ç»î¶¯ÖУ¬ÎÞ·¨¿ªÆôÐÂÂÖ´Î! cfgID=%s, roundNum=%stCrossActLuckyCloudBuyiiÿÿÿÿs?    ÒÑ´ïÔÆ¹ºÂÖÊýÉÏÏÞ£¬²»¿ªÏÂÒ»ÂÖ! cfgID=%s,state=%s,roundNum=%stCrossActLuckyCloudBuyTemplateisIÐÒÔËÔÆ¹ºÉú³É´ó½±Ê§°Ü! cfgID=%s,zoneID=%s,nextRoundNum=%s,superItemInfo=%stNewRoundRqRsPÐÒÔËÔÆ¹º¿ªÆôÐÂÂÖ´Î! cfgID=%s,zoneID=%s,state=%s,nextRoundNum=%s,superItemInfo=%stNewRsRtRlitAllRtzoneBuyNumListt remainCount()tCrossActionControltGetCrossActInfoByCfgIDRŠtCrossActName_LuckyCloudBuyt ActKey_StateR!RzRxtGetIpyGameDataR¯tGetServerIDRangeListtGetRoundMaxListtGetTemplateIDListR:R)tGetSuperItemWeightInfotGetResultByWeightListRR.R€RRRRRRRR#R%R6R$R…R R†R‡RˆR‰R‹R}tCrossServerMsg_LuckyCloudBuyNumRƒ(RRRt actInfoDictR³t
actIpyDataRRt roundMaxListttemplateIDListtsIndextroundMaxRttemplateIpyDatat nextRoundNumtsuperItemWeightInfoRRIRMR RtR¡Rœ((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyRŒ¡sn     
&&    
                                  "c CsTtjd|ƒi}xQtjjƒD]@\}}g}x!|D]}|j|jƒƒq@W|||<q'Widd6|d6}tjt    j
|ƒx»tjj ƒD]ª}g}tj j |gƒ}    x&|    t D]}
|j|
jƒƒqÏWtjddƒ} td| t|    ƒƒ} idd6|d6|d    6| d
6}tjt    j|ƒq¢WdS( Ns2ͬ²½¸ø×Ó·þ¶ÔÓ¦µÄÐÒÔËÔÆ¹ºÐÅÏ¢: syncServerGroupID=%sR¼RsRtRliiRR½R¾(R!R)R#R%R R6R RˆR‰RŠR‹tkeysR$RwtDef_SyncBuyRec_CountRxR}R{R:RÉ( ttickt serverGroupIDRtRRMtzoneLotteryListRIR¡R½RGRFRœR¾((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyt$Sync_LuckyCloudBuyDataToClientServerês& "c Csì|d}|d}tjƒ}tjtj|ƒ}d}tjd||t|ƒfƒ|dkrsit    _
nxF|j ƒD]8\}}|t    j
kr«gt    j
|<nt    j
|}tjd|||fƒxã|D]Û}    |dkr®t ƒ}
|
j |    ƒ|j|
ƒ||kr#|
}n|dkr´||kr´tjd|
jƒgt    j|<t|
jƒdkr«|
jd    |
jd
} } tjd    d | | gƒq«q´qÙ|d krÙx÷|ddd …D]ß}
|
j|    dkrÎ|
j|    dkrÎ|
j |    ƒtjd|
jƒ||kr+Pn|
}|
jr©tjd|
jƒt|
jƒdkr©|
jd    |
jd
} } tjd    d|
j|
j| | gƒq©nPqÎqÎWqÙqÙWq€W|rètdƒtjtj|jƒƒndS(NRsRtsFÊÕµ½·ÖÇøÔÆ¹º¿ª½±¼Ç¼ͬ²½ÐÅÏ¢: syncType=%s,serverZoneID=%s,zoneCount=%sR¼s<    ·ÖÇøÔÆ¹º¿ª½±¼Ç¼ͬ²½ÐÅÏ¢: syncType=%s,zoneID=%s,count=%sR»s/        ±¾·þ·ÖÇøÐÂÔöÔÆ¹º¿ª½±¼Ç¼ÐÅÏ¢: idTime=%siiitLuckyCloudBuyOpenRriÿÿÿÿRRs#    ¸üÐÂÔÆ¹º¿ª½±¼Ç¼ÐÅÏ¢: idTime=%ss/        ±¾·þ·ÖÇø¸üÐÂÔÆ¹º¿ª½±¼Ç¼ÐÅÏ¢: idTime=%stLuckyCloudBuyClose(sAllsNew(R!tGetServerGroupIDR¿tGetCrossActZoneIDRŠRÁR£R)R:R#R%R RRR6RR$Rt PlayerControlt WorldNotifyRRRR]tSendMapServerMsgExt%Def_Notify_WorldKey_LuckyCloudBuyInfoR ( tmsgDataRsRtRÖt serverZoneIDtsyncMapLotteryRecRR×RMRRIt superItemIDtsuperItemCount((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyR‹sX
 
                   " &      +
cCs•tjƒrdStjƒ}tjtj|ƒ}|s;dStjj    |gƒ}|s\dn|d}|srin    |j ƒ}tj tj |ƒdS(Niÿÿÿÿ(R!R"RÛR¿RÜRŠRÁR#R%RwR£R RßRà(RÖRRMRµtsendMsg((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pytOnMapServerInitOKDs  cCsXtjtj|ƒ}|sdS|d}|d}|d}|d}|d}tjj|gƒ}|spdS|d}    ||    jks˜||    jkrÒt    j
d|||    j|    jfƒt j ||dƒdS|    j rt    j
d    |||    j fƒt j ||dƒdStjj|gƒ}
tjd
d ƒ} td | t|
ƒƒ} | |kr‰t    j
d | |fƒt j ||dƒdS|
s•dn|
d} | s«dn
| jd}t|||ƒ}g}xº|D]²}tƒ}||_||_|    j|_||_||_ttjƒƒ|_||_||_|tjkr]gtj|<ntj|}
|
j|ƒ|j|jƒƒqØWi|d6|d6|d6|d6|    jd6|d6|d6| |d6}t j!d|ƒ| |8} idd6|d6|d6||||gd6| d6}t"j#tj$|ƒ| d krTt%|    t&dƒndS(NR    RRtbuyCounttroundIDiÿÿÿÿs[ÐÒÔËÔÆ¹º¹ºÂòÒì³££¡½±³ØÂÖ´ÎÐÅÏ¢²»Ò»Ö£¡ roundID=%s,zoneID=%s, lotteryRec idTime=%s,zoneID=%stLuckyCloudBuyErrorsJÐÒÔËÔÆ¹º¹ºÂòÒì³££¡ÒÑ¿ª½±£¬ÎÞ·¨ÔÙ¹ºÂò£¡ roundID=%s,zoneID=%s, lotteryNum=%sRliisEÐÒÔËÔÆ¹º¹ºÂòÒì³££¡Ê£Óà¿É¹ºÂòµÄ·ÝÊý²»×㣡 remainCount=%s < buyCount=%sitPlayerIDtAccIDRRRR¾RR»RsR½t    buyPlayertSoldOut('R¿RÜRŠRÁR#R%RwRRR!RzRÝtCrossNotifyCodeRR$RxR}R{R:R£RtrangeRRRR.R€RRR    R6R R†R‡RˆR‰RÉR¢R°(RÖRáRR    RRRèRéRMRIRGRœR¾t    preBuyRecR©RR½RRFR R¡((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pytClientServerMsg_LuckyCloudBuyVsr
 
 
 
 
 
                                             )
5 cCsktjd||fƒtjtj|ƒ}|s6dStjj|gƒ}|sUdS|d}tj    j|gƒ}t
j ddƒ}t d|t |ƒƒ}t||ƒ}|dkrÕtjd||fƒdS|sádn|d}|s÷dn
|jd}    t|    |    |ƒ}
tjdd    d
gƒ} g} xÑ|
D]É} tƒ}|j|_||_|j|_| |_| |_ttjƒƒ|_d || f|_d | |f|_|tj    krØgtj    |<ntj    |}|j|ƒ| j|j ƒƒq<W||8}id d6|d6| d6|d6}t!j"tj#|ƒ|dkrgt$|t%dƒndS(Ns,GMÌí¼ÓÔÆ¹º¼Ç¼! serverGroupID=%s,buyCount=%siÿÿÿÿRliis?GMÐÒÔËÔÆ¹º¹ºÂòÒì³££¡Ê£Óà¿É¹ºÂòµÄ·ÝÊý²»×㣡zoneID=%s,buyCount=%siiéiêiës[s%s]playerName_%ssaccID_%s@test@s%sR»RsRR½R¾Rî(&R!R)R¿RÜRŠRÁR#R%RwR$RxR}R{R:tminRzR£RRðR~tchoiceRRRRRR.R€RRR    R6R RˆR‰RÉR¢R°(RÖRèRRMRIRGRœR¾RñR©Rt buyPlayerIDR½RRFR¡((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pytDoGMLuckyCloudBuy¤sR
                      
" c$CsÌ|d}|d}|d}|d}tjƒ}tjtj|ƒ}|sSdS|jtjƒ}|jtjƒ}| s…| r‰dS|jdƒ}    ||    krÂtj    d||    |fƒdS|t
j |<|dkrçit
_ n|t
j krgt
j |<nt
j |}
g} xM|D]E} t ƒ} | j| ƒ|
j| ƒ|dkr | j| ƒq q W| rtd| ƒn|jd    ƒ}|s˜dS|\}}}}||krºdSt
jj|gƒ}|sÛdn|d
}|sïdS|j}tjd |ƒ}|sdS|jƒ}|jƒ}i}xžt|ƒD]}g}||7}tj|ƒ}|rz||g7}nxR|D]J\}}}||kr¯||g||<q||d ||g||<qWq?Wg} x:|jƒD],}||\}}| j|||gƒqæWtjƒj|ƒ}!|!shtjd ||| f|ƒ||| gt
j|<dS|!jƒ}"t d||| gƒ}#|!j!d d d|#t"|#ƒƒtjd|||"f|ƒdS(NRsRR½R¾tZoneIDsT²»ÊDZ¾·þÎñÆ÷·ÖÇøµÄÔÆ¹º¼Ç¼²»´¦Àí! curServerGroupID=%s,serverZoneID(%s) != zoneID(%s)R¼R»RíiÿÿÿÿR¹isOÍæ¼Ò²»ÔÚÏßÏÈ»º´æ£¬Íæ¼ÒÉÏÏߺóÔÙͬ²½Ôƹº! roundID=%s,buyCount=%s,awardItemList=%sRt LuckyCloudBuys9֪ͨµØÍ¼¿ç·þÔÆ¹º¹ºÂò½áËã: roundID=%s,buyCount=%s,mapID=%s(#R!RÛR¿tGetCrossActInfoByServerGroupIDRŠRÁRwRÂtActKey_IpyDataInfoRdR#tg_luckyCloudBuyRemainCountDictR$RRR6R^R£R%RRxRÃtGetBaseAwardInfotGetRandAwardWeightInfoR+RÈRÓtGetPlayerManagertFindPlayerByIDR)tg_unNotifyCloudBuyNumDictt GetRealMapIDRZtMapServer_QueryPlayerResultR:($RáRsRR½R¾tcurServerGroupIDtactInfoR³t ipyDataInfoRâRGt syncRecListRRFRíRÖRRéRèRMRIRRÐt baseAwardInfotrandAwardWeightInfot awardItemDictt_t awardItemInfot randItemInfotitemIDt    itemCounttisBindt awardItemListtplayertmapIDtsysMsg((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyRÉÛs”
 
 
 
                         
 $     cCsž|jƒ}|tjkrdStjj|ƒ\}}}|jƒ}td|||gƒ}|jddd|t|ƒƒtj    d|||f|ƒdS(NRiRøs?ÉÏÏß²¹Í¨ÖªµØÍ¼¿ç·þÔÆ¹º¹ºÂò½áËã: roundID=%s,buyCount=%s,mapID=%s(
t GetPlayerIDR#RRfRRZRR:R!R)(R`RRéRèRRR((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyR_7s  cCs3tjƒj|ƒ}tjƒr%dSt|ƒdS(N(R!RþtGetPlayerByIndexR"R^(RDt
clientDataRÕR`((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pytOnQueryLuckyCloudBuyNumRecIs
 
cCs?tjƒj|ƒ}tjƒr%dS|j}t||ƒdS(N(R!RþRR"R÷t Sync_LuckyCloudBuyLotteryRecInfo(RDRRÕR`R((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pytOnQueryLuckyCloudBuyLotteryRecWs       cCsètjƒ}tjtj|ƒ}|s+dS|jtjƒ}|sGdS|jdƒ}|s`dStj    j|gƒ}|sdn|d}|s•dS|j }t j d|ƒ}|sºdS|jƒ}    |jƒ}
g} |jdƒ} |jdƒ} |jdƒ}x†t| ƒD]x\}}tjƒ}||_t| ƒ|krO| |nd|_t|ƒ|krt||nd|_| j|ƒqW|jdddddg}|d     \}}}}}tjƒ}||_|jd
dƒ|_|jd dƒ|_|jd dƒ|_| |_t|jƒ|_|j |_!|j"|_#||_$||_%||_&||_'g|_(xN|    D]F\}}}tj)ƒ}||_*||_+||_,|j(j|ƒq~Wt|j(ƒ|_-g|_.xQ|
D]I\}}}}tj)ƒ}||_*||_+||_,|j.j|ƒqêWt|j.ƒ|_/|sÁtj0ƒ}x†t1|j2ƒƒD]L}|j3|ƒ}|dkr•qnnt4j5|ƒrªqnnt6j7||ƒqnWn#t4j5|ƒrÔdSt6j7||ƒdS( NR÷iÿÿÿÿR¹t StartTimeListt EndTimeListt RoundMaxListRiit    StartDatetEndDatetLVLimit(8R!RÛR¿RùRŠRÁRwRúR#R%R£RRxRÃRüRýR¨tChPyNetSendPackttagGCLuckyCloudBuyRoundTimet    StartTimeR:tEndtTimetRoundMaxR6RttagGCLuckyCloudBuyRoundInfoR÷RtEndtDateRt RoundTimeListtRoundTimeCountRtRoundIDRtRoundNumt SuperItemIDtSuperItemCounttSuperItemMoneyTypetSuperItemMoneyValuet BaseItemListttagGCLuckyCloudBuyRoundItemtItemIDt    ItemCounttIsBindt BaseItemCountt RandItemListt RandItemCountRþR+tGetActivePlayerCounttGetActivePlayerAtRÝtGetIsTJGt NetPackCommont SendFakePack(R`RÖRRRRMRIRRÐRRt roundTimeListRRRR«t    startTimet    roundTimeRRäRåR
t    moneyTypet
moneyValuet
clientPackR RRtitemt playerManager((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyR]_s”            %%                                                               c Csºtjƒ}tjtj|ƒ}tjj|gƒ}|dkr…tj
j|gƒ}|scdn|d}|swdS|t }nt j ƒ}tjj|dƒ|_g|_xT|D]L}t jƒ}    |j|    _t|    jƒ|    _|j|    _|jj|    ƒq¹Wt|jƒ|_|s“tjƒ}
x†t|
jƒƒD]L} |
j| ƒ}|dkrgq@ntj|ƒr|q@nt j!||ƒq@Wn#tj|ƒr¦dSt j!||ƒdS(Niÿÿÿÿi("R!RÛR¿RÜRŠRÁR#R$RwR£R%RÔR ttagGCLuckyCloudBuyNumRecInfoRût RemainCountt BuyNumRecListttagGCLuckyCloudBuyNumRecRt
PlayerNameR:tNameLenRtBuyNumR6R*RþR+R7R8RÝR9R:R;( R`RRÖRRGRMRIRARFt
buyNumInfoRCR«((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyR^µs@             cCs]|dkr$tjj|gƒ}n    |g}tjƒ}tjjƒ|_t|jƒ|_    ||_
g|_ xÅ|D]½}|j s‹qvntj ƒ}t|jƒdkr¹|jdnd|_t|jƒdkrä|jdnd|_|j|_t|jƒ|_|j |_|j|_|j j|ƒqvWt|j ƒ|_tj||ƒdS(Nii(R£R#R%RwR t tagGCLuckyCloudBuyLotteryRecInfoRÓt
ZoneIDListR:t    ZoneCountR÷tLotteryRecListRttagGCLuckyCloudBuyLotteryRecRR+R,RRHRIt
LotteryNumRt LotteryTimeR6R*R:R;(R`RtsyncRecRMRARIt lotteryInfo((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyRÞs,                    ++   (((-R!RŠRˆRÝR†RR¿R RxR:R#RuR8R~tmathR€t)Def_UniversalGameRecType_LuckyCloudBuyNumR(t-Def_UniversalGameRecType_LuckyCloudBuyLotteryR;RÔRRRNR\RaRkR°R¢R„R·RŒRØR‹RçRòRöRÉR_RRR]R£R^R(((siE:\Git\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossLuckyCloudBuy.pyt<module>sP                            I    /            V         I     >        N    7    \                V )