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
÷ì&hc@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    cCst|tƒtj|ƒdS(N(t"UpdatePlayerBillboardOnLeaveServertTruetOpenServerCampaigntDoBillboardOpen(t    curPlayer((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR2s  cCst|ƒdS(N(R(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(
RRtUpdatePlayerLVBillboardtUpdatePlayerFPTotalBillboardRtUpdateHorseBillboardtFalsetUpdatePyPetBillboardtUpdateRealmBillboardtUpdateRuneTowerBillboard(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-R2tNoneR0t__CanPlayerBillboardCommRR3R4R(RtkeyR:R7R8tkey2thistoryFightPower((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-R0R5tDef_BT_FightPower_HorseR#(RR7t isUpdateTotaltHorseFightPowerR:R;((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR$›s  cCsFtj|ƒ}|sdSt|tj|ƒ|rBt||ƒndS(N(R*t GetPetMaxAtkR5RtDef_BT_FightPower_PetR#(RR7REt    petMaxAtk((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR&«scCst|tj|jƒƒdS(N(R5Rt    Def_BT_LVtGetLV(RR7((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_PassLVR5RtDef_BT_TrialTower(RtpassLV((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR(»s
cCs-|jƒsdSt|tj|jƒƒdS(N(tGetOfficialRankR5Rt Def_BT_Realm(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR'Ãs cCsPtj|ƒstStj|tjƒsLtjd|jƒ|j    ƒƒtSt
S(NsÅÅÐаñ먦Æô,ÎÞ·¨Éϰñ!curLV=%s( RtIsNormalPlayerR%t GameFuncCommt GetFuncCanUseRtGameFuncID_BillboardR3RKR4R(R((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR>Ês  icKs¹t|ƒsdSt|ƒ}    |jƒ}
|jƒ} t|ƒ} |jƒ|d<|jƒ|d<|tjkr~|j    ƒ}nd} t
|| |
| | |    |||||d|| dS(Ntvalue3tvalue4itautoSort( R>R!tGetIDtGetNameRtGetFacet
GetFacePicRtBTValue1_OfficialRankListROtUpdateBillboard(RtbTypetcmpValuet    cmpValue2t    cmpValue3tvalue1tvalue2RWtkwargst    playerJobtplayerIDt
playerNamet playerOpInfoR((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR5Ô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}|
dkry|rjtjdƒ}td|ttjƒƒƒ}
qy|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 |ƒ| s.|s|r8|j,ƒq8n
|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:00RURVtvalue5tvalue6tvalue7tvalue8tuserDatats¯¸üпç·þÅÅÐаñÖµ: 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%RtIsFullt__CmpLastBillboardDataR3tCleartAddNewBillboardDatat GetCmpValuet GetCmpValue2t GetCmpValue3tChangeTimeStrToNumtmaxtintttimetSetTypetSetGroupValue1tSetGroupValue2tSetIDtSetID2tSetName1tSetName2tSetType2t    SetValue1t    SetValue2t    SetValue3tgett    SetValue4t    SetValue5t    SetValue6t    SetValue7t    SetValue8t SetUserDatat SetCmpValuet SetCmpValue2t SetCmpValue3t SetSortDelaytSortData(RRtdataIDtname1tname2ttype2RbRcR_R`RaRtid2RWRdRRt billboardDatat    isNewDatatlastBillBoardDatatcmpValueChangetcalcTime((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyR]ëst      * "                   
cCs™|jƒsdS|j|jƒdƒ}||jƒkr?dS||jƒkr•||jƒkrgdS||jƒkr•||jƒkr’dSq•n|S(Ni(tGetCounttAtRuRvRw(R_R`RaRRš((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyRrHs 
c    
KsdS(N((
RR^RR_R`RaRbRcRRd((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pytUpdatePlayerCrossBillboardYsc 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.pytOnViewBillboardjs            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Rytmintranget IndexOfByIDtChPyNetSendPackttagMCViewBillboardRetR¢R£R¤t    DataTotalt PageDataListRžttagMCViewBillboardDatatIndexR‡RXtRanktIDtGetID2tID2tGetName1tName1tGetName2tName2tGetType2tType2t    GetValue1tValue1t    GetValue2tValue2t    GetValue3tValue3t    GetValue4tValue4t    GetValue5tValue5t    GetValue6tValue6t    GetValue7tValue7t    GetValue8tValue8RutCmpValueRvt    CmpValue2Rwt    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¨ysš 
 
                                          ("R-RRR*RR¸R©RRRRR{RRRRR!R%RRR#R=R,R$R&R"R(R'R>R5R]RrRŸR²R¨(((snD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerBillboard.pyt<module>s>                                '             
\