hzr
2018-08-09 3346f8aae7f8abbd4b27c4564cbb802e7e717cc9
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
+f`[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((sY.\ProjectSServer\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((sY.\ProjectSServer\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((sY.\ProjectSServer\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((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytClearBillboardOnServerInitPs:       
                    cCsItjƒ}x6td|jƒƒD]}|j|ƒ}|jƒq"WdS(Ni(RRtrangetGetCountt FindBillboardtSort(RR R!((sY.\ProjectSServer\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((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR‡sD
                    cCsOtjƒj|ƒ}|s0tjd|ƒdS|jƒtjd|ƒdS(Ns<ClearBillboardByIndex FindBillboardErr, ÅÅÐаñ = %s ÎÞ·¨²éÕÒsbillboardIndex %s clear.(RRRBtErrLogtClearR (R6R!((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR1¼s
cCs8tjƒj|ƒ}tjƒ}|j|jƒƒdS(N(RtGetPlayerManagertGetPlayerByIndextIPY_GameServertIPY_GSetWatchBillboardStatetSetPlayerWatchBillboardStatetGetState(R ttickt    curPlayertpack((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt&MapServer_PlayerSetWatchBillboardStateÖs cCs8tjƒj|ƒ}tjƒ}|j|jƒƒdS(N(RRpRqRrtIPY_GWatchBillboardtSync_BillboardtGetType(R RvRwRx((sY.\ProjectSServer\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((sY.\ProjectSServer\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((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR€s
cCsdS(N((R Rv((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytWatchBillboardPrize6scCs>tjƒj|ƒ}|s0tjd|ƒdS|jƒdS(Ns*SortBillboardByIndex, ÅÅÐаñ = %s ÎÞ·¨²éÕÒ(RRRBRnRC(R6R!((sY.\ProjectSServer\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((sY.\ProjectSServer\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((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR‹ss\        
             
    c CsO|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 ||||||||    ||
| ƒ }t||||ƒ|d}|tjkrK|}|    }|d}|}tjƒj|ƒ}|rÕ|j|ƒntj|||ƒ|d}|tjkrKtj|}t ||||||||    |ƒ    }t||||ƒqKnd 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`êtExInfoii
(RRRRRBtFindByIDt
DeleteByIDRCtDebugLogRR    tDef_Key_BillboardSortTickR tUpdatePlayerBillboardt__UpdateBillboardSortStatetDef_BT_FightPowerRptFindPlayerByIDt SetFightPowert PlayerFamilytUpdFamilyMemberFightPowertJobFightPowerBillboardDict(t billInfoDictRvtbTypetbType2tbIDtbNametbName2RhRiRjRkRlRtplayerBillBoardRt lastSortTicktautoSorttisUpdtexInfoRªtfightPowerTotaltfamilyIDt    playerJobRwtjobtjobBType((sY.\ProjectSServer\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ÅRÆtkeytneedSort((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyR¶ö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((sY.\ProjectSServer\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Ö((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt__GetAddBillBoardData`s$
     cCs¨tjƒ}|j|ƒ}|s<tjd|ƒ|dgS|j|ƒ}|dkra||gS|jƒrt|||||ƒ}||gS|j|ƒ}||gS(Ns&FindBillboardErr, ÅÅÐаñ = %s ÎÞ·¨²éÕÒ(    RRRBRnRRR±tIsFullRàRÛ(R6RÝRjRkRlRRÃRÖ((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyRQ†s 
 
 
c    CsA|\}}}}}}}t|||tj||||ƒdS(N(RµRR*(tcmdListRªt
playerNamet playerOpInfoRÊt
fightPowert
familyNamettotalChangeCoinPoint((sY.\ProjectSServer\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ç((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt&MapServer_UpdateTotalRechargeBillboard§scCsdS(N((R RŒRv((sY.\ProjectSServer\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((sY.\ProjectSServer\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ö((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt!MapServer_UpdateCostRankBillboardçs0!          $
 
 cCstS(N(R^(RêR((sY.\ProjectSServer\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Ö((sY.\ProjectSServer\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Ö((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pytUpdateBillboardRealm3s   (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(((sY.\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerBillboard.pyt<module>sX                             ,         5                    #            ?    D    ,?&                $    "