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
_ºc\c@sÁddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
dZ dZ ej ejgZiejej6Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Ze ddd„Z!d„Z"d„Z#e$ddd„Z%ddd„Z&ddd„Z'd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.dS( iÿÿÿÿNsBillboardSortTick_%ssBillboardNeedSort_%scCs"xtD]}tj|ƒqWdS(N(tDef_NoteOssBillboardTypeListtDataRecordPacktDR_BillboardDataByDay(t billboardType((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytNoteOssBillboardInfoByDay.s cCs–tjƒ}xYtjD]N}|jt|ƒs5qn|jt|dƒtjd|ƒt|ƒqWx't    j
ƒD]\}}t ||ƒquWdS(NisOnDay SortBillboardByIndex %s( t    GameWorldt GetGameWorldt ShareDefinetBillboardTypeListt GetDictByKeytDef_Key_BillboardNeedSorttSetDicttLogtSortBillboardByIndextDef_NeedCopyYesterday_Dicttitemst CopyBillboard(t    gameWorldRtbillboardTypeYesterday((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytCopyBillboardOnDay4s cCsttjƒ}xattjƒD]P}|j|ƒ}|jtjj    |dƒƒ|j
tj j    |tj ƒƒqWdS(Ni
( Rt GetBillboardtxrangeRt
Def_BT_Maxt AddBillboardt SetMaxCounttChConfigt
Def_BT_Cnttgett SetSaveToDBtDef_BT_SaveTypetDef_BT_SaveType_SaveDB(t billboardMgrtindext    billBoard((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytInitServerBillboardCs  #cCsItjƒ}x6td|jƒƒD]}|j|ƒ}|jƒq"WdS(Ni(RRtrangetGetCountt FindBillboardtSort(RR R!((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytSortServerBillboardPs
 cCs¼tjƒj|ƒ}|stSt|ƒxutd|jƒƒD]^}|j|ƒ}|s`q?n|jƒ}|j    ƒ}|j
ƒ}|j ƒ}|j ƒ}    |j ƒ}
|jƒ} |jƒ} |jƒ} |jƒ}t||| ƒ\}}|dks?|dkrq?n|j|ƒ|j|ƒ|j|ƒ|j|ƒ|j|ƒ|j|    ƒ|j|
ƒ|j| ƒ|j| ƒ|j| ƒ|j|ƒq?Wtjd||fƒt S(Nis<    CopyBillboard newBillboardIndex=%s, oldBillboardIndex=%s(!RRR%tFalsetClearBillboardByIndexR#R$tAttGetIDtGetID2tGetName1tGetName2tGetType2t    GetValue1t    GetValue2t GetCmpValuet GetCmpValue2t GetCmpValue3tGetBillBoardDatatNonetSetTypetSetIDtSetID2tSetName1tSetName2tSetType2t    SetValue1t    SetValue2t SetCmpValuet SetCmpValue2t SetCmpValue3R tTrue(tnewBillboardIndextoldBillboardIndext oldBillBoardR toldBillBoardDatatidtid2tname1tname2ttype2tvalue1tvalue2tcmpValuet    cmpValue2t    cmpValue3R!t billBoardData((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR[sD
                    cCsOtjƒj|ƒ}|s0tjd|ƒdS|jƒtjd|ƒdS(Ns<ClearBillboardByIndex FindBillboardErr, ÅÅÐаñ = %s ÎÞ·¨²éÕÒsbillboardIndex %s clear.(RRR%tErrLogtClearR (tbillboardIndexR!((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR)s
cCs8tjƒj|ƒ}tjƒ}|j|jƒƒdS(N(RtGetPlayerManagertGetPlayerByIndextIPY_GameServertIPY_GSetWatchBillboardStatetSetPlayerWatchBillboardStatetGetState(R ttickt    curPlayertpack((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt&MapServer_PlayerSetWatchBillboardStateªs cCs8tjƒj|ƒ}tjƒ}|j|jƒƒdS(N(RRURVRWtIPY_GWatchBillboardtSync_BillboardtGetType(R R[R\R]((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytMapServer_PlayerWatchBillboard»s cCsÆtjƒj|ƒ}tjƒ}|jƒ}|dksH|tjkrLdS|tj    kr_dSt
|||ƒsudStj ƒj t |ƒrµtj ƒjt |dƒt|ƒn|j|ƒdS(Ni(RRURVRWtIPY_CWatchBillboardRaRRRtDef_InterdictLook_BT_Typet__CheckWatchCDRR    R
R R R`(R R[R\R]tpackType((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytWatchPlayerBillboardÐs    cCs^d|}|j|ƒ}|s3|j||ƒtS||tjkrJtS|j||ƒtS(NsWatchRankTick_%s(R    R RBRtDef_PlayerBillboard_TickR((R\RR[tdictKeytlastTick((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyReçs
cCsdS(N((R R[((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytWatchBillboardPrize
scCs>tjƒj|ƒ}|s0tjd|ƒdS|jƒdS(Ns*SortBillboardByIndex, ÅÅÐаñ = %s ÎÞ·¨²éÕÒ(RRR%RRR&(RTR!((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR #s 
cCsstjƒj|ƒ}|sdS|j}|j}|j}|j}t|||ƒsYdSt|||||ƒdS(N(    RRURVtTypet
StartIndextWatchCntt IsWatchSelfRetSync_BillboardEx(R t
clientDataR[R\Rft
startIndextwatchCntt isWatchSelf((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytClient_PYWatchBillboard7s                iicCsˆ|dks|tjkrdStjƒj|ƒ}|sOtjd|ƒdS|jƒ}|jƒ}d}|rÛ|j|ƒ}    |    dkrÒt    |    d|ƒ}t
d|dƒ}t    |d|||ƒ}q'd}nLt
|dƒ}t    ||ƒ}|sdn t    |dƒ}t    |||ƒ}t j ƒ}
|
j ƒ||
_||
_g|
_xt||ƒD]ö} |dks†| |krŠPn|j| ƒ} t jƒ} | j ƒ| | _| jƒ| _| jƒ| _| jƒ| _| jƒ| _| jƒ| _| jƒ| _ | j!ƒ| _"| j#ƒ| _$| j%ƒ| _&| j'ƒ| _(|
jj)| ƒqhWt*|
jƒ|
_+t,j-||
ƒdS(NisÕÒ²»µ½ÅÅÐаñÊý¾Ý£¡bbType=%siÿÿÿÿii
iid(.RRRRR%RRt GetPlayerIDR$t IndexOfByIDtmintmaxtChPyNetSendPackttagPYBillboardDataRSRoRlt    BillboardRR*ttagPYBillboardInfot
OrderIndexR+tIDR,tID2R-tName1R.tName2R/tType2R0tValue1R1tValue2R2tCmpValueR3t    CmpValue2R4t    CmpValue3tappendtlentBillboardCountt NetPackCommont SendFakePack(R\tbbTypeRtRrRsR!tplayerIDtcounttendIndext playerIndexRQR tbbDatatbbInfo((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyRpGs\        
             
    c CsM|d}|d}|d}|d}|d}|d}|d}|d}    |d    }
|d
} |tjkrwd S|    d krìtjƒ} | j|ƒ} | s¨d S| j|ƒrè| j|ƒ| jƒtjd ||fƒnd Stj    ƒ}|j
t |ƒ}||dk}|r8|j t ||ƒnt ||||||||    ||
| ƒ |j t|dƒ|d}|tjkrI|}|    }|d}|}tjƒj|ƒ}|rÔ|j|ƒntj|||ƒ|d}|tjkrItj|}t ||||||||    |ƒ    |j t|dƒqInd S(sëµØÍ¼¸üÐÂÅÅÐаñ, Í¨ÓÃ
    {"Type":bType, "Type2":bType2, "ID":bID, "ID2":bID2, "Name1":bName, "Name2":bName2, "ExInfo":exInfo,
    "Value1":value1, "Value2":value2, "CmpValue":cmpValue, "CmpValue2":cmpValue2, "CmpValue3":cmpValue3}
    RlRƒRRR‚R„R…R†R‡RˆNiÿÿÿÿs#ɾ³ýÅÅÐаñijÌõÊý¾Ý: bType=%s,bID=%si`êitExInfoii
(RRRRR%tFindByIDt
DeleteByIDR&tDebugLogRR    tDef_Key_BillboardSortTickR tUpdatePlayerBillboardR
tDef_BT_FightPowerRUtFindPlayerByIDt SetFightPowert PlayerFamilytUpdFamilyMemberFightPowertJobFightPowerBillboardDict(t billInfoDictR[tbTypetbType2tbIDtbNametbName2RLRMRNRORPRtplayerBillBoardRt lastSortTicktautoSorttexInfoRtfightPowerTotaltfamilyIDt    playerJobR\tjobtjobBType((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytMapServer_UpdateBillboard†sZ
 
 
 
 
 
 
 
 
 
 
 (
 
 
 "cCsct|}|j|ƒ}| r@|r@| r@|j|dƒn|r_|r_|j|dƒndS(Nii(R
R    R (RR¢R©tisUpdtkeytneedSort((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt__UpdateBillboardSortStateÌs
 c Csbt||||    |
ƒ\} } | dks6| dkr:tS| jƒdk} | r| jƒ|kr| jƒ|kr| jƒ|kr| jƒ|    krtj    d||||||    |
f|ƒ| j
ƒ}|t |ƒkr | j t |ƒƒtj    d||ƒntS|
dkrz| sF| jƒ|ksF| jƒ|    krztj dƒ}td|ttjƒƒƒ}
qzn| j|ƒ| j|ƒ| j|ƒ| j|ƒ| j|ƒ| j t |ƒƒ| j|ƒ| j|ƒ| j|ƒ| j|    ƒ|
dkr| j|
ƒntj    d||||||    |
| f|ƒ|sTtS| jƒtS(Nise¸üÐÂÅÅÐаñÖµÏàͬ²»¸üÐÂ! index=%s,type2=%s,value1=%s,value2=%s,cmpValue=%s,cmpValue2==%s,cmpValue3==%ss    ¸üÐÂoperatInfo=%ss2080-01-01 00:00:00sg¸üÐÂÅÅÐаñÖµ index=%s,type2=%s,value1=%s,value2=%s,cmpValue=%s,cmpValue2==%s,cmpValue3==%s,isNewData=%s(R5R6R(R,R0R1R2R3RR˜R.tstrR;tChangeTimeStrToNumRytintttimeR7R<R8R9R:R=R>R?R@RARBR&(t curPlayerIDt curPlayerNametcurPlayerOpInfoRTRRLRMRNR©RORPR§tplayerBillBoardDatat    isNewDatatopInfotcalcTime((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyRš÷sF+$       *%              #
cCsí|jƒdkrdS|jƒd}|j|ƒ}||jƒkrKdS||jƒkr¡||jƒkrsdS||jƒkr¡||jƒkrždSq¡n|j|ƒ|j|ƒ}|sétjd|jƒ|j    ƒfƒn|S(Niis(ÅÅÐаñ²åÈëʧ°Ü  curCnt = %s, maxCnt = %s(
R$R*R2R3R4t DeleteByIndextAddToBillboardRRRt GetMaxCount(R§tbillboardDataIDRNRORPtlastBillBoardIndextlastBillBoardDataR¼((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt__GetAddBillBoardData6s$
     cCs¨tjƒ}|j|ƒ}|s<tjd|ƒ|dgS|j|ƒ}|dkra||gS|jƒrt|||||ƒ}||gS|j|ƒ}||gS(Ns&FindBillboardErr, ÅÅÐаñ = %s ÎÞ·¨²éÕÒ(    RRR%RRR6R–tIsFullRÆRÁ(RTRÃRNRORPRR§R¼((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR5\s 
 
 
c    Cs>|\}}}}}}t|||tj||||ƒdS(N(RšRtDef_BT_TotalRecharge(tcmdListRt
playerNamet playerOpInfoR­tplayerLVttotalChangeCoinPoint((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt&MapServer_UpdateTotalRechargeBillboardvscCsdS(N((R RqR[((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytViewBillboardRangeByObjIDŒsc Csb|\    }}}}}}}}}    tjdƒ}
tjƒ} tj} | j| ƒ} | jtj| ƒ}tjdƒtjd|||    || f|ƒ||
ks¾|| ks¾||krÒtjd|ƒdS|
|}t    |ƒdkròdS|d}|    |kr tjd||ƒdS|    }t
|||tj |||    |ƒ}tjd||ƒdS(NtTeHuiAction_RechargeRanks(MapServer_UpdateRechargeRankBillboard...sJ    actionID=%s,actionNum=%s,updateGold=%s,curActionID=%s,curActionNum=%s,s'    ·Çµ±Ç°³äÖµÌØ»ÝÅÅÐаñ»î¶¯£¬²»¸üÐÂ...is&    Î´´ïµ½×îµÍÉϰñ³äÖµÊý=%s£¬²»¸üÐÂ...s    ¸üгäÖµÌØ»ÝÅÅÐаñ isOk=%s( t ReadChConfigtGetEvalChConfigRRRt*Def_Notify_WorldKey_DayAction_RechargeRankR    t Def_Notify_WorldKey_DayAction_IDR˜RŠRštDef_BT_RechargeTeHui(RÉRRÊRËR­RÌt
familyNametactionIDt    actionNumt
updateGoldtRechargeRankInfoDictRt actionNumKeyt curActionNumt curActionIDtrechargeRankInfoListt    limitGoldRNtisOk((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt%MapServer_UpdateRechargeRankBillboard’s0!          $
 
 c Csb|\    }}}}}}}}}    tjdƒ}
tjƒ} tj} | j| ƒ} | jtj| ƒ}tjdƒtjd|||    || f|ƒ||
ks¾|| ks¾||krÒtjd|ƒdS|
|}t    |ƒdkròdS|d}|    |kr tjd||ƒdS|    }t
|||tj ||d|ƒ}tjd||ƒdS(NtTeHuiAction_CostRanks$MapServer_UpdateCostRankBillboard...sJ    actionID=%s,actionNum=%s,updateGold=%s,curActionID=%s,curActionNum=%s,s'    ·Çµ±Ç°Ïû·ÑÌØ»ÝÅÅÐаñ»î¶¯£¬²»¸üÐÂ...is&    Î´´ïµ½×îµÍÉϰñÏû·ÑÊý=%s£¬²»¸üÐÂ...s    ¸üÐÂÏû·ÑÌØ»ÝÅÅÐаñ isOk=%s( RÑRÒRRRt&Def_Notify_WorldKey_DayAction_CostRankR    RÔR˜RŠRštDef_BT_CostTeHui(RÉRRÊRËR­RÌRÖR×RØRÙtcostRankInfoDictRRÛRÜRÝtcostRankInfoListRßRNRà((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt!MapServer_UpdateCostRankBillboard¶s0!          $
 
 cCstS(N(RB(RÌR((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytIsBillboardLVLimitØscCstjg}|jƒ}|jƒ}tjƒ}xftjD][}||krRq:n|j|ƒ}|smq:n|j|ƒ}|sˆq:n|j    |ƒq:WdS(N(
RRR+tGetNameRRRR%R–R:(R\tnotRedressBillboardListR¹RºRRTR!R¼((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytRedressBillboardãs     cCs”|jƒ}|jƒ}tjƒ}xitjD]^}|tjkrIq.n|j|ƒ}|sdq.n|j|ƒ}|sq.n|j    |ƒq.WdS(N(
R+tGetOfficialRankRRRtBTValue1_OfficialRankListRR%R–R=(R\R¹tcurOfficialRankRRTR!R¼((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytUpdateBillboardRealms   (/RWRRRRÑRzRŒtPlayerDBGSEventRRžR¸R™R
t    Def_BT_LVR›RtDef_BT_HighLaddertDef_BT_HighLadder_YesterRRRR"R'RR)R^RbRgReRkR RuR(RpR°R´RBRšRÆR5RÎRÏRáRçRèRëRï(((sZE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt<module>sT                                  5                    #            ?    F    ,?&            $    "