cehua_wcy
2019-01-24 703b5101d2df9dc363d2d456f90b8d1836b603f7
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
x{[c@sˆddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z e dƒ\ZZZZiaiadad„Zd„Zd„Zd„Zedd    „Zd
„Zd „ZeZes'eƒeZnd „Zd „Z d„Z!d„Z"d„Z#d„Z$d„Z%gd„Z&d„Z'd„Z(dS(iÿÿÿÿNiicCst|ƒdS(N(tNotifyRedPacketInfo(t    curPlayer((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyt OnPlayerLoginBs
cCs tƒdS(N(t__CheckGrabRecData(((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pytDoOnDayJsc Csß|\}}}}}}}}tjƒj|ƒ}    |    s=dS|tjdƒkrad}
d} n@|    jƒ}
tjƒj|
ƒ} | sŒdSt    || j
ƒƒ}||krÈtj d||fƒdS|    j ƒ} t j|    ƒ} |    jƒ}t|
||| | ||||||ƒ }|rÛt| |gƒ|
sÛtjtjƒsyt jdd|||gƒtjtjdƒn4|tjdƒkr­t jdd|||gƒn|tjdƒkrØt jdd    ƒqØqÛndS(
NtOpenServerRedPacketTypeisC    Éú³ÉÐÂÏÉÃ˺ì°ü ºì°ü¶î¶È²»ÄܵÍÓÚºì°ü¸öÊý£¡outputNum=%s,redCnt=%st OpenRedBag2it
OSRSuccesst OpenRedBag3tOpenServerRedPacketRaint OSRedpackSfx(t    GameWorldtGetPlayerManagertFindPlayerByIDt IpyGameDataPYt
GetFuncCfgtNonet GetFamilyIDtGetFamilyManagert
FindFamilytmintGetCounttDebugLogtGetJobt PlayerControlt
GetJobRanktGetNamet__SaveNewRedRecordt__NotifyFamilyRedPacketInfotPlayerDBGSEventtGetDBGSTrig_ByKeytDef_OSRedPackett WorldNotifytSetDBGSTrig_ByKeytGetFuncEvalCfg(tmsgListtplayerIDtgetTypet    packetCntt    moneyTypet    outputNumtwishStrtstatetdataRtfamilyIDtfamilytjobtjobRankt
playerNametredPacketRecData((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pytCreatFamilyRedPacketQs<        *c Csî| s| s| rdStjd|ƒ}|s5dS|jƒ}|jƒ}|jƒ}|jƒ}|j|ƒ}|s˜tjd|||fƒdS|j    ƒ}    d}
|j
ƒ} t ||| |    |
|||dƒ    } t || gƒdS(sÍⲿ½Ó¿Ú£¬Éú³ÉÏÉÃËкì°üNt FamilyRedPacksEÏÉÃËûÓиóÉÔ±, ÎÞ·¨·¢·ÅÏÉÃ˺ì°ü!familyID=%s,playerID=%s,redPackID=%si( RtGetIpyGameDatat
GetGetTypet GetMoneyTypet GetMoneyNumtGetIDt
FindMemberR tErrLogRRRR( R-R$t    redPackIDtipyDataR%R'R(R,tmemberR.R/R0R1((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pytCreatNewFamilyRedPacketxs&      $tc 
Cs–||d}tj} tjƒ} | j| ƒ} |tjdƒkrmt| ƒsWdStrmtd7aqmn| j    ƒ}d}t
j |ƒd}|t j krªd}nt
j||ƒttjƒƒ}|j|ƒ|j|ƒ|j|ƒ|j||dƒ|j|    ƒ|j|ƒ|jd||||fƒ|jt|ƒƒ|j|
ƒ|t|<tjd||||||||fƒ|S(Ni
RitFamilyRedPacketIDs %s|%s|%s|%ssx    Éú³Éеĺì°üfamilyID=%s, redPacketID =%s£¡ownerid=%s, ownername=%s,getType=%s,moneyType=%s,outputNum=%s,packetCnt=%s(t ShareDefinet1Def_UniversalGameRecType_FamilyRedPacketAllRecordR tGetUniversalRecMgrt GetTypeListRRt__CheckOSRedPacketCntt
g_osRedCnttAddRecRRtChConfigtDef_UpperLimit_DWordR!tintttimetSetTimet    SetValue1t    SetValue2t    SetValue3t    SetValue4t    SetValue5t SetStrValue1t SetStrValue2tstrt SetStrValue3tg_allRecordDicttLog(R,towneridR0R.R/R%R'R(R&R*R)t
recordTypetuniversalRecMgrt
recordListtrecDatatDB_RedPacketIDt redPacketIDt
curTimeNum((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyR“s8                 
)cCsTtjdƒ}tr)t|dkr)tStjdƒ}|jƒ}d}g}x¢t|ƒD]”}|j|ƒ}|jƒ}|jdƒ}    t    |    dƒ}
|
|kr¯q]n|j
ƒ} |d7}t |ƒdkrç|j | ƒq]tr]Pq]q]W|sÿtSts|ant|dkr"tSd} x…t|jƒƒD]q}|| } |j| ƒ}|j
ƒ}||kr;|j | ƒ| d7} tj|dƒtj|dƒq;q;Wt| 8atj}tjƒ}|j|ƒ}d} x_t|jƒƒD]K}|| } |j| ƒ}|j
ƒ|kr÷|j | ƒ| d7} q÷q÷Wt|ƒtS(NtOpenServerRedPacketCnti
Ris|ii(RRRFtTruetCounttxrangetAtt GetStrValue1tsplitRJt    GetValue1tlentappendtDeletetg_grabDataDicttpopRVRAt2Def_UniversalGameRecType_FamilyRedPacketGrabRecordR RCRDtNotifyDelRedPacketInfo(R[topenServerRedPacketCntRtallCnttcurCnttdelRedPacketIDListtindextuniversalRecDatat    strValue1t strValue1ListtgetWayR^tdelCntt    dataIndextdelRedPacketIDRYRZ((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyREºsb    
    
 
 
     
 
c Cstjƒ}|jtjƒ}|jƒ}g}x<t|ƒD].}|j|ƒ}|jƒ}|j    |ƒq=Wtj
}|j|ƒ}d}    x_t|jƒƒD]K}||    }
|j|
ƒ}|jƒ|kr |j |
ƒ|    d7}    q q Wtj d|    ƒdS(Niis     É¾³ý¶àÓàÇÀºì°üÐÅÏ¢ delCnt=%s( R RCRDRARBRbRcRdRgRiRmRjRW( RZt allRecordListRptredPacketIDListRsRtR^RYR[RxRy((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyt__DelGrabRecordøs&       
 cCsÏ|\}}}tjƒj|ƒ}|s.dSttj|ƒ}|sJdS|d}|jƒ}|jdƒ}t|dƒ}    t|dƒ}
t    j
di|
d6ƒ} | s²dS| j ƒr%t j |tjƒsçtjd|ƒdS||    krEt|ƒ|d<dj|ƒ} |j| ƒqEn ||    krEtjd|ƒdS|jtƒ|jt|ƒƒttjƒƒ} |j| ƒ|jƒdkrŸd}n|jƒ}|dkr»dSt||gƒdS(    s·¢ÏµÍ³ÔùË͵ĺì°üNis|iR3tGetTypes    ·¢ÏµÍ³ÔùË͵ĺì°ü È¨ÏÞ²»×㣡s    ·¢ÏµÍ³ÔùË͵ĺì°ü ²»ÊDZ¾ÈË£¡(R R R t__FindGrabRecDataRARBReRfRJRtGetIpyGameDataByConditiont GetLeaderOwnt PlayerFamilytGetPlayerHasFamilyPowRHt#Def_PurviewDictKey_CanSendRedPacketRRTtjoinRRRPt State_NoGotRSRKRQt    GetValue2Rt    GetFamilyR(R#R$R^R&Rt recDataListR\RuRvtownIDRwR<t    StrValue1R_R-((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pytSendFamilyRedPacketsJ
            c!    Cs§|\}}|jƒ}|jƒ}tj|ƒ}|d|}|jƒ}ttj|ƒ}|sztj    d|ƒdS|d}    |    j
ƒ}
|
t gkr³tj d|ƒdS|    j ƒ} | rä|jƒ} | dkrêdSnd} |    jƒ} | d| d}}t|    jƒƒ}t|ƒ}||ksGt|ƒ|krktj d|ƒt|||ƒdStg|jƒD]}|d^q{ƒ}||}|t|ƒ}||krÞtj    d|||||fƒdS|    jƒ}|jdƒ}t|dƒ}t|dƒ}||k}|tjd    ƒkrp| r^|dkr^tj d
ƒdStjd ƒ}ntjd ƒ}|d kr—t|ƒn|}tj d||ƒ|||g||<tj}|||||g}|g}tj d|||ƒ|t!|<t|ƒ|krC|    j"t#ƒt$| |    |j%ƒƒnt&||    |j%ƒgƒt|||ƒt'||||gƒ} |j(ddd| t| ƒƒ|S(Ni
s&    Î´ÕÒµ½¸ÃÏÉÃ˺ì°ü¼Ç¼redPacketID=%sis    ¸ÃÏÉÃ˺ì°ü»¹Î´·¢ËÍ£¡s    ¸ÃÍæ¼ÒÒÑÇÀ¹ý´Ëºì°ü£¡s\ ¸Ãºì°üÊ£ÓàµÄÇ®²»¹»·¢ packetCnt =%s,totalMoney=%s,outNum=%s,remainMoney=%s,grabRecordDict=%ss|iRs    ÇÀ¿ª·þºì°ü£¬´ÎÊý²»×㣡£¡tOpenRedRacketOutNumtFamilyRedRacketOutNumis    ¸ÃÍæ¼ÒÇÀµ½ºì°ü=%s£¡tGrabFamilyRedPacketResult()t GetPlayerIDRRRRRRARBR RWt    GetValue4t State_NoSendRR‡RˆRt    GetValue3RJt GetStrValue2t__GetGrabRecordRht__NotifyGrabRedPacketInfotsumtvaluesReRfRRtGetFuncCompileCfgtevalRmtPlayerUniversalGameRectMapServer_UniversalGameRecRkRPtState_HasAllGotRtkeysRRTtMapServer_QueryPlayerResult(!RR#R^t OSCanGrabCntR$R.R/R0R‰R1R*R,t    curFamilytvalue3R't
totalMoneyR&tgrabRecordDicttatoutNumt    remainNumtremainPacketCntRuRvRwtowerIDtisSelft getNumformulatgetMoneytrecTypet    valueListt strValueListtresult((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pytDoGrabFamilyRedPacketGs|    
      )
             
 cCsv|tkrt|Sttj|ƒ}|s0iSi}x9|D]1}|jƒ|jƒ|jƒg||jƒ<q=W|S(N(RkRRARmt    GetValue5ReR“R‡(R^R‰R¤R\((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyR•Ÿs  /c    CsÎ|tjkr8|tkr8t|}|r5|gSq8ng}tjƒ}|j|ƒ}|jƒ}xbt|ƒD]T}|j|ƒ}|j    ƒ|krr|j
|ƒ|tjkrÆ|t|<PqÆqrqrW|S(N( RARBRVR RCRDRbRcRdRgRi(    RYR^tfrecDataR‰RZR{RpRsR\((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyR¬s" 
 
 cCsdatjƒ}|jtjƒ}|jƒ}ttjƒƒ}d
}i}g}g}d}x”t    |ƒD]†}    |    |}
|j
|
ƒ} | j ƒ} tj d|| || | j ƒfƒ|| |krm| j ƒ} | jƒ}|jdƒ}|d}|r¤t|ƒ}t| ƒ}tg|jƒD]}|d^q.ƒ}| jƒ}|d|d}}||}|dkr¤|r¤|j|dƒ|||<q¤n|j| ƒ| jƒ}||krÙ|j|ƒn|j|
ƒ|d7}qmqmW|sdSx.|D]&}tj|dƒtj|dƒqWtj}|j|ƒ}d}x_t    |jƒƒD]K}    |    |}
|j
|
ƒ} | j ƒ|krc|j|
ƒ|d7}qcqcWt|ƒ|rþx9|jƒD](\}}tjd|ggg|ƒqÏWndS( Niii<sG    ¼ì²éºì°üÊÇ·ñ¹ýÆÚ curTime=%s,saveTime=%s,rangeTime=%s,redPacketID=%ss|i
it RedPackBacki i€Q( RFR RCRDRARBRbRJRKRcRdR²RRgReRfR•R—R˜R“tgetRiR‡RjRkRlRVRmRntitemstPlayerCompensationt SendMailByKey(RZR{RpR_t    rangeTimet backMoneyDictRrt familyIDListRxRsRyRttsaveTimeR^RuRvR$R¤R¥R¦R¢R'R£t remainMoneyR,tredIDRYR[tmoneyNum((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyRÃsl  
 '  
  ) 
          
 
#c Csmtjƒ}|jtjƒ}|jƒ}g}d}x{t|ƒD]m}||}|j|ƒ}|jƒ}    ||    kr€qCn|j    ƒ}
|j
|
ƒ|j |ƒ|d7}qCW|s¾dSx.|D]&} t j | dƒtj | dƒqÅW|jtjƒ} d}x_t| jƒƒD]K}||}| j|ƒ}|j    ƒ|kr| j |ƒ|d7}qqWdS(Nii(R RCRDRARBRbRcRdR‡RgRiRjRkRlRVRm( t delfamilyIDRZR{RpRrRxRsRyRtR,R^R¾R[((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pytDelRedPackByFamilyID
s:  
 
 c    Csí||g}|sdStjƒ}|s†x¾td|jƒƒD]A}|j|ƒ}|dks>|jƒ rrq>nt||ƒq>Wncx`td|jƒƒD]I}|j    |ƒ}|j
|j ƒƒ}|dkrØqœnt||ƒqœWdS(Ni( R R RctGetActivePlayerCounttGetActivePlayerAtRt    GetInitOKRRtGetAtR R(    R-R1tgrabHeroIDListtsyncPacketDataListt playerManagertiRt notifyMembert notifyPlayer((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyR.s"   cCs»tj|ƒrdS|sÇg}tj}tjƒ}|j|ƒ}xŠt|jƒƒD]j}|j    |ƒ}|j
ƒ}|r•|j ƒ|kr•qVnt |j ƒƒ}    |j||    jƒgƒqVWn    |g}|sÚdStj|ƒ}
tjƒ} | jƒt|gkƒ| _g| _xu|D]m\} } | j
ƒrZ|
rZ| jƒ|
krZq$ntjƒ}|jƒ| j ƒ|_| jƒ}|jdƒ}t|ƒdkr°dS|\}}}}t|ƒ|_||_| j ƒ|_!t|ƒ|_"| j#ƒ}|d|_$|d|_%t|ƒ|_&| j'ƒ}|j(ƒ| krTt)}n||_*t| j+ƒƒ|_,| j-ƒ|_.| jj|ƒq$Wt| jƒ| _t/j0|| ƒdS(Ns|ii
(1RtGetIsTJGRARBR RCRDRcRbRdR‡RR•RgRiRžR‚tGetPlayerJoinFamilyTimetChPyNetSendPackttagGCFamilyRedPacketInfotClearRJtIsAllt RedPacketInfoR²ttagFRedPacketInfot RedPacketIDReRfRhtPlayerIDtNametGetTimetTimetPlayeJobR“t    MoneyTypetMoneyNumtGetWayR‘Rt State_HasGottStateR”t    PacketCntt GetStrValue3tWisht NetPackCommont SendFakePack(RtpacketDataListRÇRYRZR[RsR\R,R¤tjoinFamilyTimetsendPackt
packetDataRÆt
packetInfoRuRvR$R0R.RwR¢R*((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyRRsf            
    $ 
                 c
Cs®tjƒ}|jƒ||_t|ƒ|_g|_x`|jƒD]R\}}|\}}}tjƒ}    ||    _    ||    _
||    _ |jj |    ƒqDWt j||ƒdS(s֪ͨÇÀºì°üÐÅÏ¢N(RÎttagGCFamilyRedPacketGrabInfoRÐRÔRhRbtGrabInfoR¶ttagFGrabRedPacketInfoRÖRÙRÛRiRâRã(
RR^R¤RæR$tinfotmoneytnameR.tgrabInfo((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyR–‘s 
                     cCsœtjƒ}|jƒ||_t|ƒ|_tjƒ}x[td|j    ƒƒD]D}|j
|ƒ}|dksP|j ƒ r„qPnt j||ƒqPWdS(Ni(RÎttagGCRedPacketDelRÐtDelRedPacketIDRhtCntR R RcRÂRÃRRÄRâRã(RrRæRÈRÉR((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyRn£s 
     ()R RÎRâRARRR›RRHR·R‚RKtrandomtrangeR’R†RÝRRVRkRFRRR2R>RRER}tFalsetisdelRaRŒR±R•RRRÁRRR–Rn(((sP.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamilyRedPacket.pyt<module>sJ                         '    '    >            1    X             G    $    $ ?