hwj35
2025-06-23 aa0f971ae9a59f0fd98d57b6c1d1663a270be92c
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
´~ƒac@sœddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z dZdZiad„Zd„Zd„Zddd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(dS(iÿÿÿÿNt FBDict_IsOversIsPlayerOver_%scCs"tj|||ƒ}|tjkS(N(tPlayerFairyDomaintGetFairyDomainFBEventStatetFDEventState_Visiting(t    curPlayertmapIDtlineIDtcurState((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytOnNeedCheckCanEnterFBComm'scCs+tj|||ƒ}|tjtjgkS(N(RRtFDEventState_CanVisitR(RRRttickR((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytOnEnterFBEvent,scCsTtj|||ƒ}|tjkr=tj|||tjƒS|tjkrPtStS(N(RRR    tSetFairyDomainFBEventStateRtTruetFalse(RRRR((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytOnRegEnterCrossFB2s cCs›|dkr-tjƒr!tjntj}n|dkrEtƒ}n|dks]|dkradStjdi|d6|d6ƒ}|s‹dS|jƒ}|S(Niÿÿÿÿit FairyDomaintMapIDtLineID(    t    GameWorldt IsCrossServertChConfigtDef_FBMapID_CrossDemonKingtDef_FBMapID_DemonKingtGetCurFBFuncLineIDt IpyGameDataPYtGetIpyGameDataByConditiont    GetBossID(RRtipyDatatbossID((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytGetCurFBLineBOSSID<s !    cCs*tjƒrtjƒStjƒjƒdS(Ni(RRtFBCommont GetCrossDynamicLineMapFuncLineIDt GetGameWorldt GetPropertyID(((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyRJs 
cCstjƒrtjƒSdS(Ni(RRRtGetCrossDynamicLineMapZoneID(((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytGetCurFBLineZoneIDPs 
cCsË|jƒ}tƒ}tƒ}td|ƒ}tjd|||f|ƒtjj|dƒtj    ƒsˆt
j |t j |t
jƒntjƒ}|jtƒrÇ|jt|ƒ rÇt|dƒndS(NRs+DoEnterFB zoneID=%s,funcLineID=%s,bossID=%si(t GetPlayerIDR$RRRtLogt
PyGameDatatg_fbPickUpItemDicttpopRRR RRRt    GetGameFBtGetGameFBDictByKeyRtFBDict_IsPlayerOvert__NotifyFBOver(RR
tplayerIDtzoneIDt
funcLineIDRtgameFB((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyt    DoEnterFBWs           #cCs]tjƒ}|jtƒ}|rY||tjkrYtjd||fƒtjƒdSdS(Ns)Ç¿ÖÆÌß³öÍæ¼Ò¹Ø±Õ¸±±¾: overTick=%s,tick=%s(    RR*R+RRtDef_FBPickupItemTimeR&RtDoLogic_FBKickAllPlayer(R
R1toverTick((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyt    OnProcesshs 
cCs0tƒ}tj|dƒtjƒjdƒdS(Ni(Rt g_ownerInfoR)tNoneRR!t SetPropertyID(R
R0((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyt    OnCloseFBss    cCsYtjƒ}|jtƒ}tjƒ}|rU|jƒjƒdkrUtj|ƒndS(Ni(    RR*R+RR!tGetMapCopyPlayerManagertGetPlayerCounttGameWorldProcesstCloseFB(RR
R1R5t    gameWorld((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytDoExitFB{s   cCs8tjƒ}|jƒjƒdkr4tj|ƒndS(Ni(RR!R;R<R=R>(RR
R?((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytDoPlayerLeaveFB†s cCstS(N(R (((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytOnPlayerRebornscCsdS(N((RR
((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytDoFBHelp”scCst||ƒdS(N(t__FBNPCOnKilled(tattackertcurNPCR
((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytDoFB_Npc_KillNPC—s cCst||ƒdS(N(RD(RRFR
((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytDoFB_Player_KillNPCšs c Csš|jƒ}tƒ}|td|ƒkr.dStƒ}tjƒ}|jt|ƒ|jt    j
ƒ}|t    j kr†|jt    j ƒnd}tj ƒ}|r§t    jnt    j}    tjd||    |||fƒtjdi|    d6|d6ƒ}
|
súdS|
jƒ} d} |jƒ|jƒ} }g}i}tjƒ}x't|jƒƒD]}|j|ƒ}|sqqPn|jƒ}|jt|dƒ||k}|r²|jƒ} nt||    || |ƒ}tjd    ||ƒtj|||| |d
t d t ƒ|s%t!j"||    |t!j#ƒqPt$j%|ƒ}||krP|j&|ƒn||    |g||<qPW|| gt'|<|r–tj(t)j*||ƒndS( NRis?»÷ɱÑýÍõ: zoneID=%s,mapID=%s,funcLineID=%s,ownerID=%s,bossID=%sRRRtis Íæ¼Ò½±Àø: %st isOnlySelfSeetisDropDisperse(+tGetNPCIDRRR$RR*t SetGameFBDictRt GetDictByKeyRtDef_NPC_Dict_LastDropOwnerTypetDef_NPCHurtTypePlayertDef_NPC_Dict_LastDropOwnerIDRRRR&RRtGetIDtGetPosXtGetPosYR;txrangeR<tGetPlayerByIndexR%R,t GetPlayerNamet__GetDemonKingPrizeItemListtChItemt DoMapDropItemR RR tFDEventState_Visitedt PlayerControltGetPlayerServerGroupIDtappendR7tSendMsgToClientServert ShareDefinetCrossServerMsg_FBEnd(RFR
RR0R/R1t    ownerTypetownerIDt isCrossServerRRteventIDt    ownerNametdropPosXtdropPosYtserverGroupIDListtmsgInfot playerManagertindexRR.tisOwnert giveItemListt serverGroupID((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyRDŸsV          '       % cCstj|||tjƒdS(N(RR R[(RRRtexData((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyt OnEndCrossFBØscCs×|jƒ}|tjkrdS|jƒ}tj|ƒ}tj|ƒ}|tjkr$|sm|j    dƒr„tj|j
|ƒq4t }xwtj|D]h}|d|dkr˜|j    dƒ|j    dƒkr˜|j    ddƒ|j    ddƒ|d<t }Pq˜q˜W|s4tj|j
|ƒq4n|gtj|<d}    t jƒ}
xgt|
jƒƒD]S} |
j| ƒ} | sY| jƒr‡qYn| jƒ|jƒkrY|    d7}    qYqYW|    dk} | sÆdSt|dƒdS(Nt IsAuctionItemtItemIDtCountii(tGetTypeRtDef_ItemType_MoneyRRt
ItemCommontCheckItemIsEquipt GetJsonItemR'R(tgetR^RR RtGetMapItemManagerRUtGetMapItemCounttGetMapItemByIndextIsEmptyt
GetOwnerIDR%R-(RtcurItemR
t mapItemTypeR.tisEquiptjsonItemtisIntitemInfotplayerItemCounttmapItemManagerRltmapItemtisItemAllPickUp((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyt OnPickUpItemÜs>  2&   c
CsÖ|jƒ}tjƒr!tjntj}tƒ}tj||ƒd}t    j
|ddgƒ\}}t j j |gƒ}i|tj6|tj6|tj6}    tj|||||    ƒ|jtjd|tƒdS(NièiRI(R%RRRRRRRtGetFBLineStepTimeR7RzR'R(R)t Over_ownerIDtOver_ownerNamet Over_itemInfot NotifyFBOvert Sync_TimeTickt IPY_GameWorldt tttLeaveMapR (
RtisPassR.RR0t    leaveTickRcRft jsonItemListtoverDict((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyR-s     $cCstj|||tjƒdS(N(RR R(RRR((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytOnEnterCustomScenescCs­|jƒ}|}td|ƒ}tj|||ƒ}tjd|||||fƒ||krfdS|jƒ}tjdi|d6|d6ƒ}    |    sœdS|    j    ƒ}
|    j
ƒ} | tj kr×tjd|ƒdS|tj krútjd|ƒdStj |||tjƒtj|ddƒt} t||||
| ƒ} tj|| |ƒd    }i|tj6|jƒtj6tj| ƒtj6}tj|||||ƒdS(
NRsJ×Ô¶¨Ò峡¾°»÷ɱNPC: mapID=%s,lineID=%s,bossID=%s,curBossID=%s,eventState=%sRRRs    ·Çǰ¶Ë±¾£¬²»ÄܵôÂ䣡s    ·ÇѰ·ÃÖУ¬²»ÄܵôÂ䣡ii(RLRRRRtDebugLogR%RRRRtGetEventFBTypetFDEventFBType_ClientRR R[R\t SetCustomMapR RXt    NPCCommontDoGiveItemByVirtualDropRRŒRWRtGetJsonItemListRŽR(RRFRRRR0t    curBossIDRR.RRet eventFBTypeRmRnR“R–((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytDoCustomScene_Player_KillNPCs<          cCsýtj||ƒ}|r|Sg}tj||ƒ}xÂ|D]º}|\}}    }
|rk|sbq;n|} n|    swq;n|    } tj||
dƒ} | sžq;nxTt| ƒD]F} tj| ƒ}|\}}}|sÛq«n|j    |||gƒq«Wq;W|S(Ni(
RtGetFairyAppointAwardRtGetFBLineRewardRwt GetWeightItemListByAlchemyDiffLVRURtGetResultByWeightListR^(RRRReRmRnt    awardListt    awardInfot
ownerCountt
otherCounttitemWeightListt    randCounttrealWeightListt_R…titemIDt    itemCountt isAuctionItem((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyRX;s0     cCsOtj|||ƒ}|tjtjgkrKtjd|||fƒtStS(NsEçÎç¿ÎÞ·¨É¨µ´! ²»´æÔÚ¸Ãʼþ»òÎÞ·¨½øÈ룡 mapID=%s,lineID=%s,curState=%s(RRR    RRR˜RR (RRRtsweepCnttisFinishtdataExR((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytOnPlayerFBSweepAsk]s
c Csé|jƒ}tjdi|d6|d6ƒ}|s6dS|jƒ}tj|||tjƒt}    t|||||    ƒ}
t    j
||
ƒd} i|t j 6|j ƒt j6t j|
ƒt j6dt j6} t j|||| | ƒdS(NRRRi(R%RRRRRR R[R RXt ItemControlertGivePlayerItemOrMailRRŒRWRRžRŽt Over_isSweepR( RRRR±R²R³R.RReRmRnR“R–((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pytOnPlayerFBSweepResultes    ()RRRwR‘RRR=R\R`R'RœRRYRµRR,R7RR RRRR$R2R6R:R@RARBRCRGRHRDRqRŠR-R—R¡RXR´R¸(((sŠE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_CrossDemonKing.pyt<module>sP                          
                              
                    9        (            $    "