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
úÈyhc@s“ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
d„Z d„Z d„Z d„Zd„Zed„Zeed„Zeedd    „Zeed
„Zeed „Zed „Zd „Zd„Zd„Zdddded„Zdddded„Zd„Zdddddd„Zd„Z dddd„Z!dS(iÿÿÿÿNcCsÀg}tjƒrtj}ntjddƒ}tjƒ}x}|D]u}|tjtj    tj
gkrmqCn|j |ƒ}x9|D]1\}}}|j |||ƒ}|j dƒqƒWqCWdS(Nt BillboardSetitOnDay(t    GameWorldt IsCrossServert ShareDefinetCrossBillboardTypeListt IpyGameDataPYtGetFuncEvalCfgt    DBDataMgrtGetBillboardMgrtDef_CBT_BossTrialSubmitBakt Def_CBT_BossTrialSubmitFamilyBaktDef_CBT_CrossRealmPKtGetBillboardGroupListt GetBillboardt
SaveDRData(tdrBillboardTypeListt billboardMgrt billboardTypet    groupListt groupValue1t groupValue2t billboardObj((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyRs    cCsdS(N((t    curPlayer((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pytDoBillboardOpen2scCst|ƒdS(N(t"UpdatePlayerBillboardOnLeaveServer(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pytBillboardOnLogin8s
cCs|jƒ}|S(N(tGetAccID(Rtplatform((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pytGetBillboardOperateInfo=s cCs
|jƒS(N(tGetJob(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pytGetBillboardJobBscCshtjƒrdSt|ƒt|tƒt|ttƒt|ttƒt|ƒ|rdt    |ƒndS(N(
RRtUpdatePlayerLVBillboardtUpdatePlayerFPTotalBillboardtTruetUpdateHorseBillboardtFalsetUpdatePyPetBillboardtUpdateRealmBillboardtUpdateRuneTowerBillboard(RtisAll((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyRDs 
 
 cCsºtj|ƒ}t|tj|||tjƒs4dS|tj}|tj}tj|tj|tjƒtj|tj|tjƒt    j
d||j ƒƒt |t j||ƒdS(Ns!¸üÐÂ×ÜÕ½¶·Á¦£ºplayerFightPower=%s(t PlayerControlt GetFightPowert__CheckFightPowerCanUpdatetChConfigtDef_PDict_FightPower_TotaltDef_PDict_FightPower_TotalExtDef_PerPointValuetNomalDictSetPropertytDef_PDictType_FightPowerRtDebugLogt GetPlayerIDtUpdatePlayerBillboardRtDef_BT_FightPower(Rt isForceUpdatet isCheckRuletplayerFightPowert
fightPowert fightPowerEx((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR!Us  
 
cCsÎ|dkrtS|j|dtjƒ}|dkrZ||j|dtjƒtj7}nt|ƒsjtS|r—tjd|||f|j    ƒƒt
S||krÊtjd|||f|j    ƒƒtSt
S(s' ¼ì²éÍæ¼Ò¿É·ñ¸üÐÂÕ½¶·Á¦
    @param curPlayer Íæ¼ÒʵÀý
    @param key Õ½¶·Á¦ÀàÐͶÔÓ¦key
    @param fightPower µ±Ç°Õ½¶·Á¦
    @param isForceUpdate ÊÇ·ñÇ¿ÖÆ¸üУ¨ÈôÉèÖÃÇ¿ÖÆ¸üУ¬ÔÚijЩDZ¹æÔòÏÂÒ²²»Ò»¶¨ÄÜÇ¿ÖÆ¸üУ¬ÈçGMµÈ£©
    @param isCheckRule ÊÇ·ñ¼ì²éÕ½Á¦·¶Î§¸üвîÖµ
    @return True-¿É¸üР
    is8Õ½¶·Á¦¸üмì²é£ºÇ¿ÖƸüРkey=%s,fightPower=%s,history=%ssFÕ½¶·Á¦¸üмì²é£ºÓëÉÏ´ÎÏàͬ£¬Ä¬Èϲ»¸üРkey=%s,fightPower=%s,history=%sN( R$tNomalDictGetPropertyR,R1tNoneR/t__CanPlayerBillboardCommRR2R3R"(RtkeyR9R6R7tkey2thistoryFightPower((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR+|s       &          cCsitj|tjƒ}|sdS|tj}|tj}t|tj||ƒ|ret||ƒndS(N(    R)tGetMFPFightPowerRtDef_MFPType_HorseR,R/R4tDef_BT_FightPower_HorseR!(RR6t isUpdateTotaltHorseFightPowerR9R:((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR#›s  cCsdS(N((RR6RD((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR%«scCst|tj|jƒƒdS(N(R4Rt    Def_BT_LVtGetLV(RR6((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR ·scCs3|jtjƒ}|sdSt|tj|ƒdS(N(R;R,t!Def_Player_Dict_TrialTower_PassLVR4RtDef_BT_TrialTower(RtpassLV((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR'¼s
cCs-|jƒsdSt|tj|jƒƒdS(N(tGetOfficialRankR4Rt Def_BT_Realm(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR&Äs cCstj|ƒstStS(N(RtIsNormalPlayerR$R"(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR=ËsicKs¹t|ƒsdSt|ƒ}    |jƒ}
|jƒ} t|ƒ} |jƒ|d<|jƒ|d<|tjkr~|j    ƒ}nd} t
|| |
| | |    |||||d|| dS(Ntvalue3tvalue4itautoSort( R=RtGetIDtGetNameRtGetFacet
GetFacePicRtBTValue1_OfficialRankListRKtUpdateBillboard(RtbTypetcmpValuet    cmpValue2t    cmpValue3tvalue1tvalue2RPtkwargst    playerJobtplayerIDt
playerNamet playerOpInfoR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR4Õs     cKs?tjƒr"|tjkr5dSn|tjkr5dS|s?dStjƒ}|j||| ƒ}|j|ƒ}t    }|sèt
}|j ƒrÌt ||    |
|ƒ}|s¹tj dƒdS|}|jƒqè|j|ƒ}|sèdSn|p'|jƒ|kp'|jƒ|    kp'|
o'|jƒ|
k}|
dkr||rmtjdƒ}td|ttjƒƒƒ}
q||jƒ}
n|j|ƒ|j|ƒ|j| ƒ|j|ƒ|j| ƒ|j|ƒ|j|ƒ|j|ƒ|j|ƒ|j |ƒ|j!|j"ddƒƒ|j#|j"ddƒƒ|j$|j"ddƒƒ|j%|j"ddƒƒ|j&|j"d    dƒƒ|j'|j"d
dƒƒ|j(|j"d d ƒƒ|j)|ƒ|j*|    ƒ|j+|
ƒtj d ||| ||||||||    |
|f |ƒ| s1|s!|r;|j,ƒq;n
|j-ƒt
S(sš ¸üÐÂÅÅÐаñ
    @param billboardType: ÅÅÐаñË÷ÒýÀàÐÍ£¬Í¬¸ö°ñµ¥ÀàÐÍ¿ÉÒÔÓжà¸ö·Ö×é°ñµ¥Êý¾Ý£¬¶ÀÁ¢ÅÅÐò
    @param groupValue1: °ñµ¥·Ö×é1
    @param dataID: °ñµ¥Î¨Ò»Êý¾ÝID£¬ÈçÍæ¼ÒIDµÈ
    @param name1: ÏÔʾÃû³Æ1£¬²»Ó°ÏìÅÅÐò
    @param name2: ÏÔʾÃû³Æ2£¬²»Ó°ÏìÅÅÐò
    @param type2: °ñµ¥Êý¾ÝÀàÐÍ2£¬×Ô¶¨Ò壬һ°ãΪְҵµÈ¶þ¼¶·ÖÀ࣬²»Ó°ÏìÅÅÐò
    @param value1: ÏÔʾֵ1£¬²»Ó°ÏìÅÅÐò
    @param value2: ÏÔʾֵ2£¬²»Ó°ÏìÅÅÐò
    @param cmpValue: ±È½ÏÖµ1
    @param cmpValue2: ±È½ÏÖµ2
    @param cmpValue3: ±È½ÏÖµ3£¬Ã»É趨µÄ»°Ä¬ÈÏΪʱ¼ä´Á±È½ÏÖµ
    @param groupValue1: °ñµ¥·Ö×é2
    @param id2: À©Õ¹Êý¾ÝID2
    @param autoSort: ÊÇ·ñÅÅÐò£¬Ä¬ÈÏTrue
    @return: ÊÇ·ñÉϰñ¸üаñµ¥
    Ns"    °ñµ¥Öµ²»³¬¹ý×îºóÒ»Ãû£¬²»Éϰñ! is2090-01-01 00:00:00RNROtvalue5tvalue6tvalue7tvalue8tuserDatats«¸üÐÂÅÅÐаñÖµ: billboardType=%s,groupValue1=%s,groupValue2=%s,dataID=%s,isNewData=%s,cmpValueChange=%s,type2=%s,value1=%s,value2=%s,cmpValue=%s,cmpValue2=%s,cmpValue3=%s,%s(.RRRRtBillboardTypeListRR    RtFindByIDR$R"tIsFullt__CmpLastBillboardDataR2tCleartAddNewBillboardDatat GetCmpValuet GetCmpValue2t GetCmpValue3tChangeTimeStrToNumtmaxtintttimetSetTypetSetGroupValue1tSetGroupValue2tSetIDtSetID2tSetName1tSetName2tSetType2t    SetValue1t    SetValue2t    SetValue3tgett    SetValue4t    SetValue5t    SetValue6t    SetValue7t    SetValue8t SetUserDatat SetCmpValuet SetCmpValue2t SetCmpValue3t SetSortDelaytSortData(RRtdataIDtname1tname2ttype2R[R\RXRYRZRtid2RPR]RRt billboardDatat    isNewDatatlastBillBoardDatatcmpValueChangetcalcTime((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyRVìst     * "                   
cCs™|jƒsdS|j|jƒdƒ}||jƒkr?dS||jƒkr•||jƒkrgdS||jƒkr•||jƒkr’dSq•n|S(Ni(tGetCounttAtRnRoRp(RXRYRZRR“((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyRkIs 
c    
KsdS(N((
RRWRRXRYRZR[R\RR]((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pytUpdatePlayerCrossBillboardZsc Cstjƒj|ƒ}|j|j|j}}}|j}|j}|j}    |t    j
kr`dSt ||||||    ƒ}
t j ||
ƒdS(N(RtGetPlayerManagertGetPlayerByIndextTypet GroupValue1t GroupValue2t
StartIndextViewCnttViewIDRRtGetPack_ViewBillboardRett NetPackCommont SendFakePack( tindext
clientDatattickRRRRt
startIndextviewCnttviewIDt
clientPack((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pytOnViewBillboardks            icCstjƒ}|j|||ƒ}|jƒ|jƒ}|jƒ}    |    d}
tt||
ƒdƒ}|sqdn t|dƒ}t||d|
ƒ} |    s£gnt|| dƒ} g} |r*d}|j    |ƒ}|dkr*td||dƒ}t||d|
ƒ}t||dƒ} q*nt
j ƒ}||_ ||_ ||_|    |_g|_xn| D]f}|j|ƒ}t
jƒ}||_|j|jƒdƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|j ƒ|_!|j"ƒ|_#|j$ƒ|_%|j&ƒ|_'|j(ƒ|_)|j*ƒ|_+|j,ƒ|_-|j.ƒ|_/|j0ƒ|_1|j2ƒ|_3|j4ƒ|_5|j6ƒ|_7t8|j7ƒ|_9|jj:|ƒqjWt8|jƒ|_;||_<g|_=xn| D]f}|j|ƒ}t
jƒ}||_|j|jƒdƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|j ƒ|_!|j"ƒ|_#|j$ƒ|_%|j&ƒ|_'|j(ƒ|_)|j*ƒ|_+|j,ƒ|_-|j.ƒ|_/|j0ƒ|_1|j2ƒ|_3|j4ƒ|_5|j6ƒ|_7t8|j7ƒ|_9|j=j:|ƒqÿWt8|j=ƒ|_>|S(Niiiidiiÿÿÿÿi(?RR    Rt SortDelayDotGetIDOrderDictR–Rrtmintranget IndexOfByIDtChPyNetSendPackttagMCViewBillboardRetR›RœRt    DataTotalt PageDataListR—ttagMCViewBillboardDatatIndexR€RQtRanktIDtGetID2tID2tGetName1tName1tGetName2tName2tGetType2tType2t    GetValue1tValue1t    GetValue2tValue2t    GetValue3tValue3t    GetValue4tValue4t    GetValue5tValue5t    GetValue6tValue6t    GetValue7tValue7t    GetValue8tValue8RntCmpValueRot    CmpValue2Rpt    CmpValue3t GetUserDatatUserDatatlentDataLentappendt PageDataCntR tViewIDDataListt ViewIDDataCnt(tbbTypeRRR§R¨R©RRt idOrderDicttcounttmaxIndextendIndext    viewRanget viewIDRanget    viewBFCntt viewIDIndextviewIDStartIndextviewIDEndIndexRªR¤R‘tviewData((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR¡zsš 
 
                                          ("R,RRR)tOpenServerCampaignR±R¢Rt GameFuncCommRRtRRRRRR$RR"R!R<R+R#R%R R'R&R=R4RVRkR˜R«R¡(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyt<module>s>                                '             
\