hwj35
2025-06-23 aa0f971ae9a59f0fd98d57b6c1d1663a270be92c
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
¤9gc@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z e ddƒ\Z ZZd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zdd„Zd„ZdS(iÿÿÿÿNiicCs–xtjjtjiƒjƒD]o}|jtjdƒ}t||ƒ}|s|jtjƒrŽt    ||ƒt
||ƒt ||ƒqŽqqWdS(Ni( t
PyGameDatatg_operationActionDicttgett ShareDefinetOperationActionName_Turntabletvaluest ActKey_ActNumt__CheckPlayerTurntableActiont ActKey_StatetAddTurntableUseCountByLogintSync_TurntableActionInfotSync_TurntablePlayerInfo(t    curPlayertactInfotactNumtisReset((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pyt OnPlayerLogin(s%  cCstxmtjjtjiƒjƒD]M}|jtjdƒ}|jtjƒsRqnt||ƒt    ||ƒqWdS(Ni(
RRRRRRRRR    R (R R R((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pyt PlayerOnDay6s% cCs^tjƒ}xKt|jƒƒD]7}|j|ƒ}tj|ƒsIqnt||ƒqWdS(N(t    GameWorldtGetPlayerManagertxrangetGetPlayerCounttGetPlayerByIndextIsNormalPlayerR(Rt playerManagertindexR ((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pytRefreshTurntableActionInfoCs cCs<|jƒ}tjtj|ƒ}|jtjdƒ}|jtjdƒ}|jt    j
|ƒ}||kr‹tj d||f|ƒdS|jtj dƒ}|jtj dƒ}tj d|||||f|ƒtj|t    j
||ƒtj|t    j||ƒtj|t    j|dƒtj|t    j|dƒtj|t    j|dƒtj|t    j|dƒtj|t    j|dƒ|sšdntjd|ƒ}    |    r|    jƒ}
tg|
D] } | ^qȃ} x[td| dƒD]F} tj|t    j|| fdƒtj|t    j|| fdƒqñW|r|
d}tj|    jƒ|gƒ}t j!|ƒ|| }tj d||fƒxtt"|dƒD]c\} }|\}}}tj|t    j|| f|dt#ƒtj|t    j|| f|ƒq¤Wt$||ƒqnt%||ƒt&||ƒt'S(Nis*תÅ̻ID²»±ä£¬²»´¦Àí£¡actNum=%s,actID=%ssAתÅÌ»î¶¯ÖØÖÃ! cfgID=%s,actNum=%s,actID=%s,playerActID=%s,state=%st ActTurntableis    Ëæ»úÉú³É³£¹æÎïÆ·: %s, %si
((t GetPlayerIDRt
GetActInfoRRRt    ActKey_IDRtNomalDictGetPropertytChConfigtDef_PDict_TurntableIDtDebugLogt ActKey_CfgIDtActKey_WorldLVt PlayerControltNomalDictSetPropertytDef_PDict_TurntableWorldLVtDef_PDict_TurntableLoginStatetDef_PDict_TurntableCTGValuetDef_PDict_TurntableUseGoldtDef_PDict_TurntableCanUseCounttDef_PDict_TurntableItemStatetNonet IpyGameDataPYtGetIpyGameDatatGetLibChooseCountListtsumRtDef_PDict_TurntableItemIDtDef_PDict_TurntableItemCounttGetDictValueByRangeKeytGetCommItemLibtrandomtshufflet    enumeratetItemLibType_CommR    R
R tTrue(R RtplayerIDR tactIDtstatet playerActIDtcfgIDt
actWorldLVtipyDatat numCountListtnumCountt numCountTotaltnumt commItemCountt commItemLibt commItemListtitemInfotitemIDt    itemCountt_((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pyRMsN  #  $
 
($  cCsŽtjƒ}|jtj|ƒ}||krItjd||fƒdStjd||fƒtj|tj||ƒt||dƒdS(Ns4µÇ¼Ôö¼ÓתÅÌ´ÎÊý£¬ÒѾ­Ôö¼Ó¹ý: actNum=%s,todayTime=%ss(µÇ¼Ôö¼ÓתÅÌ´ÎÊý: actNum=%s,todayTime=%si(    Rt GetTodayTimeRR R(R"R%R&tAddTurntableUseCount(R Rt    todayTimet
loginState((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pyR    „s  cCsR|jtj|ƒ|}tj|tj||ƒtjd|||fƒdS(Ns:    Ôö¼ÓתÅ̻´ÎÊý: actNum=%s,addCount=%s,canUseCount=%s(RR R+R%R&RR"(R RtaddCountt canUseCount((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pyRNscCsH|dkrdSx1tjjtjiƒjƒD]}|jtjdƒ}|jtjƒsstj    d|ƒq/n|jtj
dƒ}|s”q/nt j d|ƒ}|s²q/n|j ƒ}|td|ƒ@sútj    d|||f|jƒƒq/ng|jƒD]}tj|ƒ^q}    |jtj|ƒ}
|
t|    ƒkrptj    d||
t|    ƒfƒq/n|
|} tj|tj|| ƒtj    d||
| |fƒd} xZ|    D]R} | | krÔPn|
| kr¾| | kr¾| d7} tj    d    | | fƒq¾q¾W| dkr3t||| ƒnt||ƒq/WdS(
NisתÅ̵±Ç°Î´¿ªÆô! actNum=%sRisFתÅ̻³äÖµÀàÐͶԸûÎÞЧ! actNum=%s,coinType=%s,ctgTypeEffValue=%ssAתÅ̻³äÖµÒÑ´ï×î´ó¼Ç¼£¬actNum=%s,nowCTGValue=%s,maxCTGValue=%ssIתÅ̻³äÖµ£¬actNum=%s,nowCTGValue=%s,updCTGValue=%s,curRechargeValue=%sis$    ctgValue=%s,addTurntableCount=%s(RRRRRRRRRR"R#R.R/tGetCTGTypeEffValuetpowRtGetCTGPrizeListtCommFunct    RMBToCoinRR R)tmaxR%R&RNR (R tcurRechargeValuetcoinTypeR RR?RAtctgTypeEffValuetfloatRMBt ctgPrizeListt nowCTGValuet updCTGValuetaddTurntableCounttctgValue((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pytOnPlayerRecharge—sN %     (    
      
 c Cs|dkrdSxëtjjtjiƒjƒD]Ë}|jtjdƒ}|jtjƒsstj    d|ƒq/n|jtj
dƒ}|s”q/nt j d|ƒ}|s²q/n||j ƒkrÊq/n|jƒ}|jtj|ƒ}|t|ƒkr'tj    d|||t|ƒfƒq/n||}    tj|tj||    ƒtj    d||||    |fƒd}
xZ|D]R} |    | krŽPn|| krx|    | krx|
d7}
tj    d| |
fƒqxqxW|
dkrít|||
ƒnt||ƒq/WdS(NisתÅ̵±Ç°Î´¿ªÆô! actNum=%sRsVתÅ̻ÏûºÄ»õ±ÒÒÑ´ï×î´ó¼Ç¼£¬actNum=%s,moneyType=%s,nowUseGold=%s,maxUseMoneyValue=%ssRתÅ̻ÏûºÄ»õ±Ò£¬actNum=%s,moneyType=%s,nowUseGold=%s,updUseGold=%s,addUseGold=%sis#    useGold=%s,addTurntableCount=%s(RRRRRRRRRR"R#R.R/tGetUseMoneyTypetGetUseMoneyPrizeListRR R*RXR%R&RNR ( R t    moneyTypet
addUseGoldR RR?RAtuseMoneyPrizeListt
nowUseGoldt
updUseGoldR`tuseGold((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pytOnPlayerUseGoldËsH %     
      
 c Csätjƒj|ƒ}|j}tjtj|ƒ}|jtjƒsIdS|jtj    ƒ}|sedSt
j d|ƒ}|sdS|j ƒ}t g|D] }    |    ^q—ƒ}
t|ƒdkrÂdS|\} } } t}xutd|
dƒD]`}|jtj||fƒ}|d|d}}|rë|tkrët}tjdƒPqëqëW|sYdS|jtj|ƒ}tj|jƒ|gƒ}|j}| sÖt|ƒ| ksÖt|ƒdksÖt|ƒt|ƒkrýtjd||| t|ƒfƒdStj|jƒ|gƒ}|j}| sdt|ƒ| ksdt|ƒdksdt|ƒt|ƒkr‹tjd||| t|ƒfƒdS| }tjd    |||fƒx‘|D]‰}|d7}||d\}}}t j!|tj||f|dt"ƒt j!|tj#||f|ƒtjd
|||fƒq²Wx‘|D]‰}|d7}||d\}}}t j!|tj||f|dt$ƒt j!|tj#||f|ƒtjd |||fƒqFWt%||ƒdS( NRiii
s)    ÒѾ­Ñ¡Ôñ¹ýÁËתÅÌÎïÆ·ÁË£¬ÎÞ·¨Öظ´Ñ¡Ôñ!is^    ×ªÅ̻¼«Æ·ÎïÆ·Ñ¡Ôñ´íÎó!actNum=%s,chooseGoodItemNumList=%s,goodCount=%s,goodItemLibLen=%ssa    ×ªÅ̻ÖÕ¼«ÎïÆ·Ñ¡Ôñ´íÎó!actNum=%s,chooseSuperItemNumList=%s,superCount=%s,superItemLibLen=%ssNתÅ̻ѡÔñÎïÆ·: actNum=%s,chooseGoodItemNumList=%s,chooseSuperItemNumList=%ss6    ´æ´¢Ñ¡Ôñ¼«Æ·ÎïÆ·: useNum=%s,itemID=%s,itemCount=%ss6    ´æ´¢Ñ¡ÔñÖÕ¼«ÎïÆ·: useNum=%s,itemID=%s,itemCount=%s(&RRRtActNumRRRRRR#R.R/R0R1tlenR:RRR R2R9tFalseR"R'R4tGetGoodItemLibtGoodItemNumListtminRXtErrLogtGetSuperItemLibtSuperItemNumListR%R&tItemLibType_GoodR3tItemLibType_SuperR
(Rt
clientDatattickR RR R?RARBRCRDt    commCountt    goodCountt
superCountt    canChooseREt
itemIDInfoRJt itemLibTypeR@t goodItemLibtchooseGoodItemNumListt superItemLibtchooseSuperItemNumListtuseNumt chooseGoodNumRKRLtchooseSuperNum((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pytOnTurntableChooseItemsn          C        C     
(  
(  c CsÞtjƒj|ƒ}|j}tjtj|ƒ}|jtjƒsIdS|jtj    ƒ}|sedSt
j d|ƒ}|sdS|j t j|ƒ}|dkr¸tjd|ƒdS|j t j|ƒ}    |jƒ}
tg|
D] } | ^qäƒ} t} d}d}i}xätd| dƒD]Ï}|j t j||fƒ}|j t j||fƒ}|d|d}}| s%| rŒq%n|tkr¡t} n|    td|ƒ@rÄ|d7}q%n||krÝi||<n|||g|||<q%W| stjdƒdStj|dtƒs(dS|jƒ\}}tjd    ||    |||fƒtjd
|ƒ|sudSd}d }g}|jtiƒjƒ}|jtiƒjƒ}||}tjd |ƒ||krat|kratjd |ƒ| stj |ƒrat!j"|tjƒƒ}|t|}tjd||fƒ|j#ƒ}qan| rå|råt!j"|ƒ}||kr½|t|}tjd||fƒ|j#ƒ}qå|t|}tjd||fƒn| só| r÷dS|    td|ƒB}t$j%|t j||ƒ|d}t$j%|t j||ƒtjd|||fƒ|\}}}tj&||||t'j(gddtigƒ|rÊt$j)d||j*ƒ||gƒnt+|||ƒdS(NRisûÓÐתÅ̻´ÎÊý!actNum=%sii
is*δѡÔñתÅ̻¼«Æ·ÖÕ¼«ÎïÆ·£¬ÎÞ·¨Æô¶¯×ªÅÌ£¡tisNotifysXÆô¶¯×ªÅ̻! actNum=%s,itemState=%s,hadGetCount=%s, superLimitTurnCount=%s,superRate=%ss    canGetItemInfoDict=%sts    ²»º¬ÖÕ¼«ÎïÆ·µÄ±àºÅ: %ss$    Óлú»á»ñµÃÖÕ¼«ÎïÆ·: superRate=%ss,    »ñµÃÖÕ¼«ÎïÆ·! randNum=%s,giveItemInfo=%ss,    »ñµÃ¼«Æ·ÎïÆ·! randNum=%s,giveItemInfo=%ss,    »ñµÃ³£¹æÎïÆ·! randNum=%s,giveItemInfo=%ss0    randNum=%s,updItemState=%s,updCanUseCount=%stevent(,RRRRlRRRRRR#R.R/RR R+R"R,R0R1RnRR2R3R9R:RTt ItemControlertCheckPackHasSpacetGetSuperItemLimitRuletkeysRuRvt    CanHappenR6tchoicetGetWorldNotifyKeyR%R&tGivePlayerItemt IPY_GameWorldtrptItemt WorldNotifyt GetPlayerNameR ( RRwRxR RR R?RARRt    itemStateRBRCRDtcanStartt hadGetCountt isAuctionItemtcanGetItemInfoDictRER}RKRJR~t    superRatetsuperLimitTurnCounttrandNumtworldNotifyKeyt giveItemInfotcanGetCommNumListtcanGetGoodNumListtrandNumWithoutSuperListt updItemStatetupdCanUseCount((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pytOnTurntableStartSs¤           
       
 
.%icCsùtjtj|ƒ}|jtjƒs+dS|jtjƒ}|sGdStjd|ƒ}|scdSt    j
ƒ}||_ |j t j|ƒ|_|j t j|ƒ|_|j t j|ƒ|_|j t j|ƒ|_||_tj||ƒdS(NR(RRRRRRR#R.R/tChPyNetSendPackttagMCActTurntablePlayerInfoRlRR R+t CanUseCountR)tCTGTotalR*t UseMoneyTotalR,t TurnItemStatet
GetItemNumt NetPackCommont SendFakePack(R Rt
getItemNumR R?RAt playerActInfo((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pyR Ás$         cCsÑtjtj|ƒ}|jtjƒs+dS|jtjƒ}|sGdStjd|ƒ}|scdS|j    t
j |ƒ}tj |ƒ\}}t jƒ}||_||_||_|jƒ|_|jƒ|_g|jƒD]}    tj|    ƒ^qà|_t|jƒ|_|jƒ|_|jƒ|_t|jƒ|_ |j!ƒ}
t"g|
D] } | ^qVƒ} g|_#x²t$d| dƒD]} |j    t
j%|| fƒ}|j    t
j&|| fƒ}|d|d}}|såPnt j'ƒ}| |_(||_)||_*||_+|j#j,|ƒqˆWt|j#ƒ|_-t|
ƒdkrW|
dnd|_.tj/|j0ƒ|gƒ}xlt1|dƒD][\} }|\}}}t j'ƒ}| |_(t2|_)||_*||_+|j3j,|ƒq‹Wt|j3ƒ|_4t|
ƒdkr|
dnd|_5tj/|j6ƒ|gƒ}xlt1|dƒD][\} }|\}}}t j'ƒ}| |_(t7|_)||_*||_+|j8j,|ƒqLWt|j8ƒ|_9t:j;||ƒdS(NRii
ii(<RRRRRRR#R.R/RR R'tGetOperationActionDateStrR¦ttagMCActTurntableInfoRlt    StartDatetEndtDatet GetIsDayResett
IsDayResett
GetLVLimittLimitLVRURVRWt CTGPrizeListRmt CTGPrizeCountRct UseMoneyTypeRdtUseMoneyPrizeListtUseMoneyPrizeCountR0R1t TurnItemListRR2R3ttagMCActTurntableItemtItemNumt ItemLibTypetItemIDt    ItemCounttappendt TurnItemCounttGoodItemCanChooseCountR4RoR8Rut GoodItemListt GoodItemCounttSuperItemCanChooseCountRsRvt SuperItemListtSuperItemCountR­R®(R RR R?RAR@t startDateStrt
endDateStrt
clientPackR\RBRCRDRER}RKRJR~tpackItemRRIRLR((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pyR
Ûs|             +                      %                 %                 i(RRR%R.RŠR¦R’R­RR RVR6trangeR9RuRvRRRRR    RNRbRkR†R¥R R
(((srE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerActTurntable.pyt<module>s0                         
    7             4    =    K    n