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
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
82
83
n¾bc@s8ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZedƒ\ZZZZedƒ\ZZZZZZZedƒ\ZZZZZ dZ!dZ"dZ#dZ$d    Z%d
Z&d Z'd Z(dd „Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4e5d„Z6d„Z7d„Z8d„Z9d„Z:d„Z;d„Z<digd „Z=d!„Z>d"„Z?d#„Z@d$„ZAd%„ZBd&„ZCdS('iÿÿÿÿNiiitFBPlayerDict_MissionIDtFBPlayerDict_CostTimetFBPlayerDict_TotalPointsFBPlayerDict_NPCRemainCnt_%stFBPlayerDict_TotalExptFBPlayerDict_TotalExpPointtFBPlayerDict_LeveltFBPlayerDict_MaxLevelcCs=|dkrtjƒ}ntjƒjƒ}tj||ƒS(N(tNonetFBCommontGetFBPropertyMarkt    GameWorldtGetMaptGetMapIDtGetFBLineStepTime(tlineIDtmapID((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytGetClearDevilTimeCfgKs cCsqtjƒjtƒ}|rOtjdi|d6|d6ƒ}|sEgS|jƒStjƒjƒ}t    j
||ƒS(Nt MagicWeaponFBtLineIDtLevel( R
t    GetGameFBtGetGameFBDictByKeyRt IpyGameDataPYtGetIpyGameDataByConditiont GetRefreshNPCR R RtGetFBLineRefreshNPC(RtleveltipyDataR((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytGetClearDevilNPCCfgRs 
cCs"tjddƒ}|j|dƒS(sͨ¹ýNPCID»ñÈ¡¶ÔÓ¦µÄ»ý·ÖtClearDevilPointii(RtGetFuncEvalCfgtget(tnpcidt npcPointDict((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytGetPointByNPCID^scCst|ƒ}|sdS|tS(N(RtDef_IsPointType(RtFBLineStepTimeCfg((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytGetIsPointFBTypeds cCstS(N(tTrue(t    curPlayerRRttick((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytOnEnterFBEventrscCs|S(N((R'RtlineIdtipyEnterPosInfoR(((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytOnGetFBEnterPos}scCstjS(N(t IPY_GameWorldt    cmeAccept(taskR(((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytOnChangeMapAsk…scCs:|jƒ}|jƒ}tjƒjƒ}tj|ƒ}tjƒ}|jt    j
ƒ}d \}}t j di|d6t tƒ}    |    rÿ|    djƒ}
|jt    j|
ƒ}|    djƒ}||kròtjd||fƒtj|ƒdS|d7}ntjd|||f|ƒtj|ƒ} | s‡|jt|ƒ|jt|ƒtj|ƒtj|ƒtj||dt    jƒn|jt    jƒ} | rÈ|jt | ƒtj!|t    jdƒn| rt j di|d    6|d6d
tƒr||krtjd |ƒdS|j"ƒ} | t#kr@tj$t#|ƒn| t#kr»t%|ƒt&d |tjƒj'ƒ}|j(t)j*dt+|dƒt ƒ|j(t)j,dt+|dƒt ƒnj| t-krt%|ƒt.d |tjƒj'ƒ}|j(t)j/dt+|dƒt ƒntj|ƒdSt0||| ƒdS(NiRRiÿÿÿÿs9DoEnterFB ÒÑͨ¹Ø¸ÃÏß·×î´ó¹Ø¿¨£¡£¡ lineID=%s, maxLevel=%sis+DoEnterFB...lineID=%s,playerLV=%s, level=%stNPCShowtMapIDt    isLogNones3·¨±¦ÌôÕ½¸Õ½øÈëʱ²»Ö±½Ó¿ªÊ¼£¬ÐèµÈǰ¶Ë֪ͨ¿ªÊ¼²Å¿ªÊ¼!iè(ii(1t GetPlayerIDtGetLVR
R R RtGetRecordMapIDRtNomalDictGetPropertytChConfigtDef_Player_Dict_ReqFBFuncLineRRR&tFalsetGetMWIDtDef_PDict_MWFBPassLeveltGetLeveltLogt PlayerControlt PlayerLeaveFBtDebugLogtGetHadDelTickett SetGameFBDictRRtSetHadDelTickettSetFBPropertyMarkt EventReportt WriteEvent_FBt CME_Log_StarttDef_Player_Dict_ReqFBMissionIDRtNomalDictSetPropertyt    GetFBSteptFB_Step_Preparet    SetFBStepRtDef_PrepareTimet GetFBStepTickt Sync_TimeTickR-t tttAddUpTimetmaxt tttWaitStarttFB_Step_Fightingt Def_FightTimet tttTowerTaketDoFBHelp(R'R(tplayerIDtplayerLVRtgameFBRRtmaxLevelt ipyDataListtmwIDt hadDelTickett fbMissionIDtfbStept notify_tick((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyt    DoEnterFBs^         
2   ("% (% cCsôtjƒ}|jƒ}|tkr>tjd|jƒƒdStjƒ}tjd||jƒƒtj    t|ƒt
|ƒt d|tjƒj ƒ}|j tjdt|dƒtƒ|j tjdt|dƒtƒt||tƒdS(Ns5ǰ¶ËÇëÇóÕýʽ¿ªÊ¼¸±±¾, µ«¸±±¾ÒѾ­¿ªÊ¼ÁË£¬²»¿ÉÖØ¸´¿ªÊ¼!s0ǰ¶Ë³¡¾°ÐãÒѲ¥·ÅÍê±Ï£¬ÇëÇóÕýʽ¿ªÊ¼¸±±¾!lineID=%sièi(R
RRKRLtErrLogR4RR    RARMRRNRORPR-RQRRR&RSRW(R'R(RZR`RRa((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytOnClientStartFBÑs    (""cCstj|ƒdS(N(tGameWorldProcesstCloseFB(R'R(((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytDoExitFBæs cCsdS(N((R'R(((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytDoPlayerLeaveFBóscCs8tjƒ}tjƒ}t|ƒrF|jtƒ}i|tj6}n›t|ƒ}|smtj    d|ƒdSi}xR|D]J}    |    t
}
|jt |
ƒ} |r¬d} n|    t | } | ||
<qzWitj |ƒtj6}tjƒ|tj<|jtƒ} | |d<tjdt|ƒƒtj||ƒdS(NsûÓиÃÏß·ˢ¹ÖÅäÖàlineID=%sit    missionIDs DoFBHelp %s(R
RRR    R%RRt
Help_scoreRR>tDL_NPCIDtFBPlayerDict_NPCRemainCnttDL_NeedKillCnttGetJsonNPCKillListtHelp_npct Help_lineIDRRAtstrt Notify_FBHelp(R'R(tisEnterRZRt
totalPointthelpDicttnpcCfgtnpcDicttinfotnpcIDt    remainCnttkillCntR_((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyRWûs0     
    
cCsatjƒjƒ}|tkr+t|ƒn2|tkrDt|ƒn|tkr]t|ƒndS(N(    R
RRKRLt__DoLogic_FB_PrepareRTt__DoLogic_FB_Fightingt FB_Step_Overt__DoLogic_FB_Over(R(R`((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyt    OnProcess s      c
Cs¢tƒ}|tjƒjƒ|tdkr1dStjƒ}t|ƒ}|sdtjd|ƒdStjƒ}xo|D]g}|t    }|j
t ||t ƒ|t }tj|t||tfg|t|td|ƒqwWtj|ƒtjƒ}|jƒdkrs|jdƒ}    tj|    ƒdkrJtj|    tj|ƒntj|    tj|    ƒƒt |    |ƒntj!t"|ƒtj#t$j%|t&dƒdS(NièsûÓиÃÏß·ˢ¹ÖÅäÖàlineID=%st refreshTicki('RR
RRORNRR    RR>RkRCRlRmt DL_RefreshCDtNPCCustomRefresht SetNPCRefreshtDL_RefreshMarktDL_SingleNPCCntt    DL_maxCnttDL_TotalNPCCnttProcessAllNPCRefreshtGetMapCopyPlayerManagertGetPlayerCounttGetPlayerByIndextGameObjtGetHPtChPlayertPlayerRebornByTypeR8trebornType_SystemtSetHPtGetMaxHPRWRMRTtSync_Player_TimeTickR-RVRU(
R(tfbCfgRRvRZtnpcInfoRyt    refreshCDt playerManagerR'((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyR|4s2    $    
 
9  cCs?tƒ}|tjƒjƒ|tdkr1dSttƒdS(Niè(RR
RRORUt__DoClearDevilOverR:(R(R•((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyR}\s
    $
cCs5tƒ}|tjƒjƒ|tdkr1dSdS(Niè(RR
RROt Def_LeaveTime(R(R•((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyRjs    $c CsË|tjkrdS|jƒ}tjƒ}|j|tƒ}|j|tƒ}|tj    |}||}|tj    }    |tj    }
|j
|t|    ƒ|j
|t|
ƒtj d|||f|ƒdS(Ns/OnGetExp() totalExp=%s,addExp=%s,updTotalExp=%s( t ShareDefinetDef_ViewExpType_KillNPCtGetIDR
RtGetPlayerGameFBDictByKeyRRR8tDef_PerPointValuetSetPlayerGameFBDictRA( R'taddExpt expViewTypeRXRZtexptexpPointttotalExpt updTotalExptupdExpt updExpPoint((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytOnGetExp}s  
      cCsØtjƒ}|jƒ}|tkr(dS|jƒ}tjƒ}t}t|ƒrÁt    |ƒ}|shdS|j
t ƒ}    t j dƒ}
t|    ||
ƒ} |jt | ƒ| |
kr`t}q`nŸ|j
t|ƒ} |jt|td| dƒƒt|ƒ} | stjd|ƒdSt}x;| D]3}|t}|j
t|ƒ} | r)t}Pq)q)W|rÇttƒ|j
tƒ}|rœtj|d|ƒn|j
tƒ}tj|tj||ƒnt||ƒdS(NRiisûÓиÃÏß·ˢ¹ÖÅäÖàlineID=%sscleardevil_pass_%s( R
RRKRTtGetNPCIDRR    R:R%R"RRRt
GetFuncCfgtminRCR&RlRRRR>RkR™Rt
EventShelltEventRespons_FBEventRtPlayerMagicWeapontActiveMagicWeaponByFBR8tDef_FBMapID_MagicWeaponRW(R'tcurNPCR(RZR`R RtisFinishtaddPointRttmaxPointtupdPointRzRvR–RyR_R((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytDoFB_Player_KillNPC˜sN         !  
 
 ic CsÕtjƒ}|tj}|tj}|jtƒ}tjd|||||fƒ||kredS|jtƒ}    i}
d|
tj    <|    |
tj
<||
tj <||
tj <tj |ƒ|
tj<t||
ƒdS(NsfÈÎÎñרÓÃ,´¥·¢Ê¼þ£¨¸±±¾ÄÚÍê³ÉijÈÎÎñ£© curMissionID=%s, fbMissionID=%s, exp=%s,moneyDict=%s,itemList=%si(R
RR8RŸRRRARRt Over_isPasst Over_costTimetOver_expt Over_expPointtGetJsonItemListt Over_itemInfot__SendOverInfo( R't curMissionIDR¡t    moneyDicttitemListRZR£R¤R_tcostTimet    awardDict((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytDoFB_OnFinishRunAroundTaskÙs           cCstS(N(R&(((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytOnPlayerRebornôscCsttƒdS(N(R™R:(R'((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyt DoPlayerDeadýs
cCs&tjƒ}|jƒtkr"tStS(N(R
RRKRUR:R&(tattackertdefenderRZ((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pytCheckCanAttackTagObjInFBs c
Cs tjƒ}|jƒ}|tkr(dS|jtƒ}|jtƒ}|dks^|dkrbdS||krrdS|jt|dƒ|jƒ}t    j
t |ƒt    j ƒ}    |d|krût jditjd6|    d6dtƒrûtjd|ƒdSt||ƒdS(NiiR1R2RR3s= ¸±±¾ÐÐΪ ·¨±¦ÌôÕ½¸Õ½øÈëʱ²»Ö±½Ó¿ªÊ¼£¬ÐèµÈǰ¶Ë֪ͨ¿ªÊ¼²Å¿ªÊ¼!(R
RRKR~RRRRCRRRMt FB_Step_OpenR    RRR8R±R:RARd(
R't
actionTypet
actionInfoR(RZR`RR[RXR((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyt
DoFBActions&      9 cCsÞtjƒ}|jƒtkr"dStjƒjƒ}d}tjƒ}|jƒdkrj|j    dƒ}n|st
j |ƒdSt ƒ}tjƒ}|j ƒ}|j|tƒ}|j|tƒ}|tjƒjƒ}    |jt|    ƒ|jtƒ}
| s    |
rGt|it|ƒtj6|tj6|tj6|    tj6ƒntjt|ƒtjtj |t!dƒtj"ƒ} t#| ƒ} x"| D]} t$j%| t&|ƒq‘W|rÚt'j(|t)j*dt)j+ddƒndS(Niièi(,R
RRKR~t GetGameWorldtGetTickRRŠR‹RŒReRfRR4RžRRRORCRRRR¾tintRR¸RºR»R¹RMR”R-t tttLeaveMapRšR    RRƒtCloseNPCRefreshR…RFRGR8R±t CME_Log_End(tisPassRZR(R'R˜R•RXR£R¤RÂR_RRvR–((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyR™+s<         >   %
cCs…tjtjƒjƒƒ|tj<tjƒ|tj<tjƒj    t
ƒ|tj <tj dt |ƒ|jƒƒtj||ƒdS(Ns__SendOverInfo overDict=%s(RR6R
R R tOver_dataMapIDR    t Over_lineIDRRRt
Over_wheelRARqR4tNotify_FB_Over(R'toverDict((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyR¾^s " (DRR
RR-ReR­RƒR8R›t PlayerSuccessR?RFtPlayerGoldGiftR¯RRtrangeR#RNRURšR…RkR†R‡RˆRmR‚RÊRLRTR~t FB_Step_CloseRRRRlRRRRRRRR"R%R)R,R0RbRdRgRhR:RWR€R|R}RR©R·RÄRÅRÆRÉRÍR™R¾(((s‡E:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MagicWeapon.pyt<module>sf                
!                                   D              %        (                A                             3