cehua-HWJ35
2019-01-09 524b8d5987d50d452a7d993f10e20da9a4bdba71
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
¡5\c@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
d„Z d„Z d„Z d„Zd„Zd„Zd„Zd    „Zd
„Zd „Ziad „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zddd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%dgd„Z'dS(iÿÿÿÿNcCs
|jƒS(N(t    GetValue1(trecData((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt GetRecBossID(scCs |j|ƒS(N(t    SetValue1(Rtvalue((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt SetRecBossID)scCs
|jƒS(N(t    GetValue2(R((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytGetRecKilledTime*scCs |j|ƒS(N(t    SetValue2(RR((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytSetRecKilledTime+scCs
|jƒS(N(t    GetValue4(R((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytGetRecRefreshTime,scCs |j|ƒS(N(t    SetValue4(RR((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytSetRecRefreshTime-scCs
|jƒS(N(t    GetValue5(R((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt GetRecZoneID.scCs |j|ƒS(N(t    SetValue5(RR((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt SetRecZoneID/scCs
|jƒS(N(t GetStrValue3(R((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytGetRecKilledRecord0scCs |j|ƒS(N(t SetStrValue3(RR((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytSetRecKilledRecord1scCsZ|tjkrdS|tjkr7tjd|ƒdStj|}tj||||ƒS(Ns¿ç·þbossûÓзÖÇø±í!dataMapID=%s(tChConfigtDef_CrossMapIDListtDef_CrossZoneTableNamet    GameWorldtErrLogt IpyGameDataPYtGetIpyGameData(t    realMapIDt    dataMapIDt    copyMapIDt    tableName((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytGetCrossBossZoneIpyData5s cCsÛ||f}|tkr t|Stjƒjtjƒ}d}xWt|jƒƒD]C}|j    |ƒ}t
|ƒ|krQt |ƒ|krQ|}PqQqQW|dkrÍ|j ƒ}t ||ƒt||ƒn|t|<|S(N(tg_bossRecDataDictRtGetUniversalRecMgrt GetTypeListt ShareDefinet&Def_UniversalGameRecType_CrossBossInfotNonetxrangetCounttAtRRtAddRecRR(tzoneIDtbossIDtkeytrecTypeListDatatbossRectindexR((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt__GetCrossBossRecData?s   $   
cCs'tjƒjtj||f|ƒdS(N(Rt GetGameWorldtSetDictRtDef_WorldKey_CrossBossIsAlive(R,R-tisAlive((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt__SetCrossBossIsAlive\s#cCs tjƒjtj||fƒS(N(RR3t GetDictByKeyRR5(R,R-((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt__GetCrossBossIsAliveascCsg}tjƒ}xÌt|jƒƒD]¸}|j|ƒ}|jƒ}tj||ƒ}|sdq%n|jƒ}|j    ƒ}t
||ƒ}    t |    ƒ}
t |    ƒ} t |    ƒ} t||ƒ} |j|||
| | | gƒq%W|ridd6|d6}tjtj||gƒndS(NtInitOKt BossInfoTypet BossInfoList(RtIPY_DataR(tGetBOSSInfoCounttGetBOSSInfoByIndextGetMapIDtCrossRealmPlayertGetServerCrossZoneIpyDatat    GetZoneIDtGetNPCIDR2RR RR9tappendt CrossRealmMsgtSendMsgToClientServerR%tCrossServerMsg_CrossBossInfo(t serverGroupIDt bossInfoListt
ipyDataMgrtitipyDatatmapIDt zoneIpyDataR,R-t bossRecDatat
killedTimet refreshTimet killedRecordR6t bossInfoDict((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytClientServerMsg_ServerInitOKes(       #cCst|||ƒ}|sdn    |jƒ}tjd|||||fƒ|sTdSd}ttjƒƒ}t||ƒ}    t|    ||ƒt|||ƒt    ||||    ƒ}
|j
ƒ} t |    ƒ} ||||
| |gg} idd6| d6}t j tj|| ƒdS(NisH»÷ɱ¿ç·þboss: zoneID=%s,bossID=%s,realMapID=%s,dataMapID=%s,copyMapID=%stOnKilledR;R<(R!RCRtLogtintttimeR2t__SetKilledRecordR7tSetBossRefreshTimetGetServerGroupIDListRRFRGR%RH(R-tkillPlayerNameRRRROR,R6RQRPRRtserverGroupIDListRSRJRT((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytDoCrossBossOnKilleds$      c    Cs¥t|||ƒ}|sdn    |jƒ}tjd||||||fƒ|sWdSt|||ƒ|r¡|jƒ}|||g}tjtj    ||ƒndS(NisW¿ç·þboss״̬±ä¸ü: zoneID=%s,bossID=%s,isAlive=%s,realMapID=%s,dataMapID=%s,copyMapID=%s(
R!RCRRWR7R\RFRGR%tCrossServerMsg_CrossBossState(    R-R6RRRROR,R^t    stateInfo((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytDoCrossBossStateChangešs     cCs‡t|ƒ}|r!|jdƒng}|jd||fƒt|ƒdkrZ|d=ndj|ƒ}t||ƒt||ƒdS(Ns|s%s_%sii(RtsplitREtlentjoinRR    (RPRQt
playerNameRStkilledRecordList((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyRZ­s 
  cCsltjd|ƒ}|sdSt|jƒƒ}t||ƒt||||ƒtjd|||fƒ|S(sÉèÖÃbossË¢ÐÂʱ¼ätBOSSInfois8    ÉèÖÃbossË¢ÐÂʱ¼ä: zoneID=%s,bossID=%s,refreshTime=%s(RRtevaltGetRefreshTimeR t__UpdateBossRefreshListRtDebugLog(R,R-RQRPRMRR((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyR[ºs ics¤x[tjD]P}||dkr
||dkr
|rC||d<n|rV||d<nPq
q
Wttjƒƒ‰tjjd‡fd†ƒtjdtjƒdS(NiiiiR.cstd|dˆ|dƒS(Niii(tmax(tasd(tcurTime(s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt<lambda>Ðss'    PyGameData.g_sortBOSSRefreshList=%s(t
PyGameDatatg_sortBOSSRefreshListRXRYtsortRRl(R,R-RQRRtbossInfo((Ros\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyRkÇs   csttjƒƒ‰tjsTtjƒ}x t|jƒƒD]÷}|j|ƒ}|j    ƒ}|j
ƒ}|t j kr|q:nt j |}t |d|ƒs¢q:nxŒtt|d|ƒƒƒD]n}t|d|ƒ|ƒ}|jƒ}t||ƒ}    t|    ƒ}
t|    ƒ} tjj||
| |gƒq¿Wq:Wtjjd‡fd†ƒng} x¼tjD]±} | \}}
} }t||ƒ}|r—qdntd| ˆ|
ƒ}|dkr¾Pnt||dƒ| j|ƒtjtj||fdƒtjd|||
|fƒqdWdS(Ns
Get%sCounts Get%sByIndexR.cstd|dˆ|dƒS(Niii(Rm(Rn(Ro(s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyRpêsiisH    Í¨ÖªMapServerÖØÉú: zoneID=%s,bossID=%s,killedTime=%s,rebornSecond=%s(RXRYRqRrRR=R(R>R?RDR@RRthasattrtgetattrRCR2RR RERsR9RmR7RtSendMapServerMsgExR%t,Def_Notify_WorldKey_GameWorldBossRebornCrossRl(ttickRKRLRMR-RNR ROR,RPRQRRtsyncBOSSIDListRtR6t rebornSecond((Ros\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytDoCheckCrossBossRebornÔsD        #   $  !cCs tƒdS(N(t__SendMapServerAliveCrossBoss(((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pytOnCrossMapServerInitOKsc    Cstjƒ}x ttjƒjƒƒD]ò}tjƒj|ƒ}|jƒ}|jƒ}|tjkrmq%ntj|}t    |d|ƒs“q%nxtt
|d|ƒƒƒD]c}t
|d|ƒ|ƒ}|j ƒ}t ||ƒ}|söq°nt jtj||fdƒq°Wq%WdS(Ns
Get%sCounts Get%sByIndexi(RR=R(R>R?RDR@RRRuRvRCR9RRwR%Rx(    RKRLRMR-RNR ROR,R6((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyR}s$    # %cCst|ƒdS(N(tSync_CrossBossInfo(t    curPlayer((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt OnPlayerLogins
c Csï|d}|d}tjd|ƒ|dkr\tjƒjtjƒ}|jƒiang}xy|D]q}|\}}}}    }
} t||ƒ} t    | |ƒt
| |    ƒt | |
ƒt ||| ƒ|j |ƒqiWtd|ƒdS(NR;R<s+ÊÕµ½¿ç·þͬ²½µÄ¿ç·þbossÐÅÏ¢: bossInfoType=%sR:(RRlR#R$R%R&tClearR"R2R    R RR7RERR'( RTt bossInfoTypeRJR/RzRtR,R-RQRRRSR6RP((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyRH"s$
 
 
         cCsV|\}}}tjd|||fƒt|||ƒ|rRtd|gƒndS(NsBÊÕµ½¿ç·þ·þÎñÆ÷ͬ²½µÄ¿ç·þboss״̬: zoneID=%s, bossID=%s, isAlive=%s(RRlR7RR'(tmsgInfoR,R-R6((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyR`>s cCsëttjƒƒ}tjƒjtjƒ}tjƒ}g|_    xøt
|j ƒƒD]ä}|j |ƒ}t |ƒ}|sqRn|r—||kr—qRnt|ƒ}t|ƒ}    t|ƒ}
tjƒ} || _t||ƒ| _t|ƒ| _t| jƒ| _td|
||    ƒ| _|
| _|j    j| ƒqRWt|j    ƒ|_|sÄtjƒ} x†t
| jƒƒD]L} | j | ƒ}|dkr˜qqnt"j#|ƒr­qqnt$j%||ƒqqWn#t"j#|ƒr×dSt$j%||ƒdS(Ni(&RXRYRR#R$R%R&tChPyNetSendPackttagGCGameWorldBossInfoR<R(R)R*RRRR ttagBossInfoObjtBossIDR9tIsAliveRt
KillRecordRdt    RecordLenRmt RefreshSecondt    RefreshCDREtBossCnttGetPlayerManagertGetActivePlayerCounttGetActivePlayerAtR't PlayerControltGetIsTJGt NetPackCommont SendFakePack(R€RzRoR/RtR1RR-R,RQRRt bossInfoObjt playerManagerRL((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyRLsH                    ((RRRR…RAR’R”RFR%RqRYRRRR    R R RRRRR"R!R2R7R9RUR_RbRZR[RkR|R~R}RRHR`R'R(((s\E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossBoss.pyt<module>sL                                                       
                                       .