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
ï;gc@sBddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNcCs\|s
dS|jƒ}|s1tjd|ƒdStjtj|dƒtjtj    ƒdS(Ns5¹Å±¦Ñø³É»î¶¯Ã»Óаñµ¥½±Àø£¬²»´¦ÀíOnActStart! actNum=%si(
tGetPersonalTemplateIDt    GameWorldtDebugLogtPlayerDBGSEventtSetDBGSTrig_ByKeytDef_ActGubaoAwardtPlayerBillboardtClearBillboardByIndext ShareDefinetDef_BT_GubaoScore(tactNumtipyDatatpersonalTemplateID((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyt
OnActStart!s cCsS|r|jƒnd}tjd|||fƒt|||ƒtjdƒdS(Nis9=== ¹Å±¦Ñø³É»î¶¯½áÊø£¡ === actNum=%s,cfgID=%s,dayIndex=%ssQ=================================================================================(tGetCfgIDRtLogt __OnEndAward(R
R tdayIndextcfgID((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pytOnActEnd-s
 cCs[|s
dS|jƒ}|s dSt|ƒ}tjƒ}|jtjƒ}|j|ƒdS(N(RtGetOrderRuleListRtGetBillboardMgrtGetBillboardObjRR    tSetOrderRuleList(R
R R t orderRuleListt billboardMgrt billboardObj((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pytOnActInStateRefresh7s    cCst|||ƒdS(N(R(R
R R((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyt OnActJoinEndEscCsú|s
dS|jƒ}|jƒ}|s=tjd|ƒdStjtj|ƒ}|rwtjd|||fƒdStjtj|dƒtjd|||fƒt    |jƒt
j ƒt j t
j di|d6|d6|d6ƒtjd    ƒdS(
Ns3¹Å±¦Ñø³É»î¶¯Ã»Óаñµ¥½±Àø£¬²»½áËã°ñµ¥½±Àø! actNum=%ss<¹Å±¦Ñø³É»î¶¯ÒѾ­½áËã¹ý½±ÀøÁË! actNum=%s,cfgID=%s,dayIndex=%sisE=== ±¾·þ¹Å±¦Ñø³É»î¶¯·¢·Å°ñµ¥½±Àø£¡ === actNum=%s,cfgID=%s,dayIndex=%stActGubaoR
RRsQ=================================================================================(RRRRRtGetDBGSTrig_ByKeyRRRt__OnEndAward_PersonalRR    tDataRecordPacktDR_BillboardData(R
R RRR t
awardState((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyRJs"  + c Cs+tjƒj|ƒ}|sdS|s6tjdƒdS|jƒ}|jƒtjd|||fƒtjd|ƒ}|s‚dSd}d}x–|D]Ž}|jƒ}|j    ƒ}    |j
ƒ}
|
j ƒ} | j ƒ|j ƒ} ||} |}x/t||ƒD]}| dkrPn|j|ƒ}|jƒ}|jƒ}|jƒ}||    krztjd|||||    fƒPng}x(| D] }||krPn|
|}q‡W| |}|| d}tjd|||||| |
||f    ƒtjd|g||gƒ| d8} |d7}qWq•WdS(    Ns±¾´Î»î¶¯Ã»ÓиöÈ˰ñ½±Àø!sF½áËã¸öÈ˰ñµ¥½±Àø: billboardType=%s,templateID=%s,billboardDataCount=%stActGubaoBillTempisU    »ý·Ö²»×ã¸Ã°ñµ¥ËùÐè»ý·Ö£¬Ìø¹ý¸ÃÃû´Î: index=%s,rank=%s,playerID=%s,cmpValue=%s < %sis    ·¢·Å¹Å±¦Ñø³É¸öÈ˰ñµ¥½±Àø: index=%s,rank=%s,playerRank=%s,playerID=%s,cmpValue=%s,awardItemList=%s,scoreAwardEx=%s,finalAwardItemList=%s, %stActGubaoPlayer(Rt GetBillboardt FindBillboardRtGetCounttSortt IpyGameDataPYtGetIpyGameDataListtGetRankt GetNeedScoretGetScoreAwardExtkeystsorttGetAwardItemListtxrangetAttGetIDtGetName2t GetCmpValuetPlayerCompensationt SendMailByKey(t
templateIDt billboardTypet    billBoardtbillboardDataCounttorderIpyDataListtrankPretbillboardIndexR trankt    needScoret scoreAwardExtscoreAwardExListt awardItemListtorderCountTotaltindext billBoardDatatplayerIDtname2tcmpValuetawardItemExListtscoreExtfinalAwardItemListt
playerRank((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyRbs\  
 
 
        
    #
cCsœ|jƒ}|jƒ}tjd||f|ƒ|s<dS|\}}d}|dkrlt||ƒ}n|dkr|dS|t|tƒr”|n|gS(Ns#MapServer_Gubao mapID=%s,msgList=%st AddGubaoScore(t GetRealMapIDt GetPlayerIDRRtNonet__OnAddGubaoScoret
isinstancetlist(t    curPlayertmsgListtmapIDRGtmsgTypetdataMsgtret((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pytMapServer_Gubaoœs     c Cs»|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}|jƒ}|\}    }
} | r·i|d6|d6|d6|d6|d6|
d6|d6|d6} t|| ƒndS(    NRGt
playerNametaccIDtjobtrealmLVt playerScoretfacetfacePic(RPtGetAccIDtGetNametGetJobtGetFacet
GetFacePictGetOfficialRanktSyncGubaoToCrossServer( RURYRGR]R\R^RaRbR_t_tupdScoretisRelationCrossActt
playerInfo((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyRR­s       &cCs¯tj|tjƒ}|jtjƒs+dS|jtjƒ}|jtjiƒ}|s\dS|jdƒ}| sy| r}dSi|d6|d6|d6}tj    tj
|ƒdS(NtZoneIDRtzoneIDRm( tCrossActionControltGetPlayerCrossActInfoRtCrossActName_Gubaotgett ActKey_Statet ActKey_CfgIDtActKey_IpyDataInfot CrossRealmMsgtSendMsgToCrossServertClientServerMsg_GubaoScore(RURmtactInfoRt ipyDataDictRoRY((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyRiÁscCsÂ|d}|d}|d}tjtj||ƒ}| sK|tj rftjd||fƒdS|tjtjkr—tjd||fƒdSt    j
d|ƒ}|s³dS|j ƒ}t    j d|ƒ}|sÛdS|d}    |    j ƒ}
|d    } |d
} |d } |d }|d }|d}|jddƒ}|jddƒ}|}||
kr¾|| |df\}}}}tjtj|| | |||||dtd|d|ƒ    ndS(NRRoRms3¿ç·þ¹Å±¦Ñø³É·Ç»î¶¯ÖУ¬ÎÞ·¨¸üÐÂ! cfgID=%s, zoneID=%ss7¿ç·þ¹Å±¦Ñø³É·Ç¿É²ÎÓë״̬£¬ÎÞ·¨¸üÐÂ! cfgID=%s, zoneID=%st CrossActGubaoR#iÿÿÿÿRGR\R^R]R_R`RaiRbtautoSorttvalue3tvalue4(RptGetCrossActInfoByCfgIDRRrRtRtErrLogtActKey_StateJointActStateJoin_StartR)tGetIpyGameDataRR*R,RstCrossBillboardtUpdCrossBillboardtDef_CBT_GubaoScoretFalse(t serverGroupIDtmsgDataRRoRmRzR tPersonalTemplateIDtrankIpyDataListtlastRankIpyDatat personlLimitRGR\R^R]R_R`RaRbt groupValue1RHttype2tvalue1tvalue2((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyRyÓsB
 
 
 
 
 
 
 
 
 
 (cCs-|rt|||ƒnt|||ƒdS(N(tOnCrossActStartt OnCrossActEnd(RRoR tstate((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pytOnCrossActIDChangeüscCsLtjtj|dƒ|}tjƒ}|jtj|ƒ}|jƒdS(Ni(    RRtDef_ActGubaoAwardCt PyDataManagertGetCrossBillboardManagertGetCrossBillboardRR‡t    ClearData(RRoR RRR((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyR“s  
cCsi|}tjd||fƒt|||ƒtjƒ}|jtj|ƒ}|jƒtjdƒdS(Ns1=== ¿ç·þ¹Å±¦Ñø³É»î¶¯½áÊø£¡ === cfgID=%s,zoneID=%ssQ=================================================================================(    RRt__OnCrossEndAwardR˜R™RšRR‡R›(RRoR RRR((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyR”s 
 cCsZ|s
dS|jƒ}t|ƒ}|}tjƒ}|jtj|ƒ}|j|ƒdS(N(RRR˜R™RšRR‡R(RRoR R‹RRRR((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pytOnCrossActInStateRefreshs    cCsVtjd|ƒ}|sdSg}x-|D]%}|j|jƒ|jƒgƒq)W|S(NR#(R)R*tappendR+R,(R8R<RR ((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyR+s #cCst|||ƒdS(N(Rœ(RRoR ((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pytOnCrossActJoinEnd4scCs§tjtj|ƒ}|r7tjd||fƒdStjtj|dƒtjd||fƒ|jƒ}|jƒ}t|||t    j
|ƒtjdƒdS(Ns4¿ç·þ¹Å±¦Ñø³É»î¶¯ÒѾ­½áËã¹ý½±ÀøÁË! cfgID=%s,zoneID=%sis9=== ¿ç·þ¹Å±¦Ñø³É»î¶¯·¢·Å°ñµ¥½±Àø£¡ === cfgID=%s,zoneID=%ssQ=================================================================================( RRR—RRRRtGetServerIDRangeListt__GiveCrossOrderAwardPersonalRR‡(RRoR R"R‹tserverIDRangeList((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyRœ9s   c  CsÑ|}tjƒ}|j||ƒ}|jƒ}|sWtjd||||fƒdS|jƒ|jdi|d6|d6ƒtjd|||||fƒtj    d|ƒ}    |    s»dSt
j }
g} i} d} d}xÔ|    D]Ì}|j ƒ}|j ƒ}|jƒ}|jƒ}|jƒ|jƒ}|jƒ}|| }|} xat||ƒD]P}|dkrqPn|j|ƒ}|j}|j}|j}||krËtjd|||||fƒPng}x(|D] }||krîPn||}qØW||}||d    }tjd
|||||||||f    ƒtjd |g||gd tƒ|d    8}|d    7}tj||||| ƒtj|
|||d | ƒq[WqãWtj| ƒtj | ƒdS(NsO¿ç·þ¹Å±¦Ñø³É¸öÈËÅÅÐÐÊý¾ÝΪ¿Õ! billboardType=%s,zoneID=%s,cfgID=%s,templateID=%stAwardRRose½áËã¿ç·þ¹Å±¦Ñø³É¸öÈËÅÅÐн±Àø: billboardType=%s,zoneID=%s,cfgID=%s,templateID=%s,billboardDataCount=%sR#isU    »ý·Ö²»×ã¸Ã°ñµ¥ËùÐè»ý·Ö£¬Ìø¹ý¸ÃÃû´Î: index=%s,rank=%s,playerID=%s,cmpValue=%s < %sis    ·¢·Å¹Å±¦Ñø³É¸öÈ˰ñµ¥½±Àø: index=%s,rank=%s,playerRank=%s,playerID=%s,cmpValue=%s,awardItemList=%s,scoreAwardEx=%s,finalAwardItemList=%s, %stActGubaoCrossPlayert    crossMailtsyncList(!R˜R™RšR'RRtSortDatat
SaveDRDataR)R*RtDef_WorshipType_CrossGubaoTrainR+R,R-R.R/R0t GetXiangongIDR1R2tIDtName2tCmpValueR6R7tTruet GameXiangongtAddXiangongPlayert GameWorshiptAddWorshipPlayertSendNewWorshipPlayert#SendNewXiangongPlayerToClientServer( RRoR8R9R¢RRRR;R<t worshipTypetsyncNewWorshipListtsyncNewXiangongDictR=R>R R?R@RARBRCt
xiangongIDRDREt billboardDataRGRHRIRJRKRLRM((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyR¡Ksp  
             
 
                 
    #"
 
$  (RR)R RRR6RpR…R˜RwR¯R±RR RRRRRR[RRRiRyR–R“R”RRRŸRœR¡(((sYE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerActGubao.pyt<module>s<                      
                :                )