xdh
2019-02-21 92eee67f85cbd29feb1287ae5a15ad0c787e95cb
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
x{[c@sÓddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
dZ dZ ej ejgZiejej6Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Z e!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/d!„Z0dS("iÿÿÿÿNsBillboardSortTick_%ssBillboardNeedSort_%scCs"xtD]}tj|ƒqWdS(N(tDef_NoteOssBillboardTypeListtDataRecordPacktDR_BillboardDataByDay(t billboardType((sJ.\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((sJ.\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((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytInitServerBillboardCs  #c     Cstjdƒ}|\}}tjtjƒ}||krNtjd|ƒdSx|D]ý}|tjkrtjtj    ƒ}tjtj
ƒ}tj }tjdƒ}|j |gƒ}    |    d}
| sÕ||
krHtjd|||t |
ƒfƒqUqHnG|tjkrHtj} tj| ƒ} | sHtjd|ƒqUqHnt|ƒqUWtjtj|ƒtjd||t |ƒfƒdS(NtBillBoardClearSettings6·þÎñÆ÷¿ªÆôÇå³ýÅÅÐаñ¼ì²é£º±ê¼ÇÏàͬ²»ÓÃÇå³ýclearSign=%stMixServerCampaignis\·ÇºÏ·þ³äÖµ»î¶¯¼Ç¼Êý¾ÝÆÚ¼ä£¬²»Çå³ýÀÛ³äÅÅÐаñ(%s)£¡ isMixServer=%s,mixServerDay=%s,dayList=%ss,µ±Ç°Ã»ÓгäÖµÌØ»ÝÅÅÐл£¬²»Çå³ýÅÅÐаñ(%s)£¡s@·þÎñÆ÷¿ªÆôÇå³ýÅÅÐаñ: lastSign=%s,clearSign=%s,clearIndexList=%s(t ReadChConfigtGetEvalChConfigtPlayerDBGSEventtGetDBGSTrig_ByKeyRt&Def_Notify_WorldKey_ClearBillboardSignRR tDef_BT_MixCampaign_RechargetDef_IsMixServertDef_MixServerDayt!Def_MixCampaign_Type_RechargeRankRtstrtDef_BT_RechargeTeHuit*Def_Notify_WorldKey_DayAction_RechargeRanktClearBillboardByIndextSetDBGSTrig_ByKey( R#t    clearSigntclearIndexListtlastSigntbillboardIndext isMixServert mixServerDaytmixTypetmixServerCampaignDicttcampaignInfoListtdayListt actionNumKeyt    actionNum((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytClearBillboardOnServerInitPs:       
                    cCsItjƒ}x6td|jƒƒD]}|j|ƒ}|jƒq"WdS(Ni(RRtrangetGetCountt FindBillboardtSort(RR R!((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytSortServerBillboard|s
 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(!RRRBtFalseR1R@RAtAttGetIDtGetID2tGetName1tGetName2tGetType2t    GetValue1t    GetValue2t GetCmpValuet GetCmpValue2t GetCmpValue3tGetBillBoardDatatNonetSetTypetSetIDtSetID2tSetName1tSetName2tSetType2t    SetValue1t    SetValue2t SetCmpValuet SetCmpValue2t SetCmpValue3R tTrue(tnewBillboardIndextoldBillboardIndext oldBillBoardR toldBillBoardDatatidtid2tname1tname2ttype2tvalue1tvalue2tcmpValuet    cmpValue2t    cmpValue3R!t billBoardData((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR‡sD
                    cCsOtjƒj|ƒ}|s0tjd|ƒdS|jƒtjd|ƒdS(Ns<ClearBillboardByIndex FindBillboardErr, ÅÅÐаñ = %s ÎÞ·¨²éÕÒsbillboardIndex %s clear.(RRRBtErrLogtClearR (R6R!((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR1¼s
cCs8tjƒj|ƒ}tjƒ}|j|jƒƒdS(N(RtGetPlayerManagertGetPlayerByIndextIPY_GameServertIPY_GSetWatchBillboardStatetSetPlayerWatchBillboardStatetGetState(R ttickt    curPlayertpack((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt&MapServer_PlayerSetWatchBillboardStateÖs cCs8tjƒj|ƒ}tjƒ}|j|jƒƒdS(N(RRpRqRrtIPY_GWatchBillboardtSync_BillboardtGetType(R RvRwRx((sJ.\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(RRpRqRrtIPY_CWatchBillboardR|RRRtDef_InterdictLook_BT_Typet__CheckWatchCDRR    R
R R R{(R RvRwRxtpackType((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytWatchPlayerBillboardüs    cCs^d|}|j|ƒ}|s3|j||ƒtS||tjkrJtS|j||ƒtS(NsWatchRankTick_%s(R    R R^RtDef_PlayerBillboard_TickRE(RwRRvtdictKeytlastTick((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR€s
cCsdS(N((R Rv((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytWatchBillboardPrize6scCs>tjƒj|ƒ}|s0tjd|ƒdS|jƒdS(Ns*SortBillboardByIndex, ÅÅÐаñ = %s ÎÞ·¨²éÕÒ(RRRBRnRC(R6R!((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR Os 
cCsstjƒj|ƒ}|sdS|j}|j}|j}|j}t|||ƒsYdSt|||||ƒdS(N(    RRpRqtTypet
StartIndextWatchCntt IsWatchSelfR€tSync_BillboardEx(R t
clientDataRvRwRt
startIndextwatchCntt isWatchSelf((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytClient_PYWatchBillboardcs                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(.RRRRRBRnt GetPlayerIDRAt IndexOfByIDtmintmaxtChPyNetSendPackttagPYBillboardDataRoRŠR‡t    BillboardRRFttagPYBillboardInfot
OrderIndexRGtIDRHtID2RItName1RJtName2RKtType2RLtValue1RMtValue2RNtCmpValueROt    CmpValue2RPt    CmpValue3tappendtlentBillboardCountt NetPackCommont SendFakePack(RwtbbTypeRRRŽR!tplayerIDtcounttendIndext playerIndexRmR tbbDatatbbInfo((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR‹ss\        
             
    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}
    R‡RžRšRœRRŸR R¡R¢R£Niÿÿÿÿs#ɾ³ýÅÅÐаñijÌõÊý¾Ý: bType=%s,bID=%si`êitExInfoii
(RRRRRBtFindByIDt
DeleteByIDRCtDebugLogRR    tDef_Key_BillboardSortTickR tUpdatePlayerBillboardR
tDef_BT_FightPowerRptFindPlayerByIDt SetFightPowert PlayerFamilytUpdFamilyMemberFightPowertJobFightPowerBillboardDict(t billInfoDictRvtbTypetbType2tbIDtbNametbName2RhRiRjRkRlRtplayerBillBoardRt lastSortTicktautoSorttexInfoRªtfightPowerTotaltfamilyIDt    playerJobRwtjobtjobBType((sJ.\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((sJ.\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(RQRRRERHRLRMRNRORR³RJR.RWtChangeTimeStrToNumR”tintttimeRSRXRTRURVRYRZR[R\R]R^RC(t curPlayerIDt curPlayerNametcurPlayerOpInfoR6RRhRiRjRÄRkRlRÂtplayerBillBoardDatat    isNewDatatopInfotcalcTime((sJ.\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(
RARFRNRORPt DeleteByIndextAddToBillboardRRnt GetMaxCount(RÂtbillboardDataIDRjRkRltlastBillBoardIndextlastBillBoardDataRÖ((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt__GetAddBillBoardDatabs$
     cCs¨tjƒ}|j|ƒ}|s<tjd|ƒ|dgS|j|ƒ}|dkra||gS|jƒrt|||||ƒ}||gS|j|ƒ}||gS(Ns&FindBillboardErr, ÅÅÐаñ = %s ÎÞ·¨²éÕÒ(    RRRBRnRRR±tIsFullRàRÛ(R6RÝRjRkRlRRÂRÖ((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyRQˆs 
 
 
c    CsA|\}}}}}}}t|||tj||||ƒdS(N(RµRR*(tcmdListRªt
playerNamet playerOpInfoRÈt
fightPowert
familyNamettotalChangeCoinPoint((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt$MapServer_UpdMSRechargeRankBillboard¢sc    Cs>|\}}}}}}t|||tj||||ƒdS(N(RµRtDef_BT_TotalRecharge(RâRªRãRäRÈtplayerLVRç((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt&MapServer_UpdateTotalRechargeBillboard©scCsdS(N((R RŒRv((sJ.\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( R%R&RRRR0R    t Def_Notify_WorldKey_DayAction_IDR³R¥RµR/(RâRªRãRäRÈRêRætactionIDR>t
updateGoldtRechargeRankInfoDictRR=t curActionNumt curActionIDtrechargeRankInfoListt    limitGoldRjtisOk((sJ.\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õRjRö((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt!MapServer_UpdateCostRankBillboardés0!          $
 
 cCstS(N(R^(RêR((sJ.\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(
RRRGtGetNameRRRRBR±RV(RwtnotRedressBillboardListRÓRÔRR6R!RÖ((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytRedressBillboards     cCs”|jƒ}|jƒ}tjƒ}xitjD]^}|tjkrIq.n|j|ƒ}|sdq.n|j|ƒ}|sq.n|j    |ƒq.WdS(N(
RGtGetOfficialRankRRRtBTValue1_OfficialRankListRRBR±RY(RwRÓtcurOfficialRankRR6R!RÖ((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytUpdateBillboardRealm5s   (1RrRRRR%R•R§R'RR¹RÒR´R
t    Def_BT_LVR¶RtDef_BT_HighLaddertDef_BT_HighLadder_YesterRRRR"R?RDRR1RyR}R‚R€R†R RRER‹RËRÏR^RµRàRQRèRëRìR÷RýRþRR(((sJ.\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt<module>sX                             ,         5                    #            ?    F    ,?&                $    "