cehua_hzl
2018-12-27 0d3c536746c1959e4a57dd519e348783ed73a869
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
<æ\c@sƒddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZedƒ\ZZZZedƒ\ZZZZZZdZdZdZdZ dZ!d    Z"d
Z#d „Z$d „Z%dd „Z&d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5d„Z6d„Z7d„Z8d d!„Z9d"„Z:d#„Z;d$„Z<d%„Z=d&„Z>d'„Z?d(„Z@d)„ZAeBdd*„ZDd+„ZEd,„ZFd-„ZGd.„ZHdS(/iÿÿÿÿNiitZMSL_FBNextRefreshStept ZMSL_FBNPCCnttZMSL_FBNPCNeedRefreshCnttZMSL_FBNPCRefreshCnttZMSL_FBStepStartTicktZMSL_FBStepStart ZMSL_CostTimecCsOtj|jƒƒ}|tjkrKtjd|ƒ|jtjdƒndS(Ns1ZMSLOnDay curPlayerMapID=%s,SetDict IsInFBOnDay 1i(    tFBCommontGetRecordMapIDtGetMapIDtChConfigtDef_FBMapID_MunekadoTrialt    GameWorldtDebugLogtSetDicttDef_PlayerKey_IsInFBOnDay(t    curPlayertcurPlayerMapID((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytOnFBPlayerOnDayNs
cCs"tjƒjƒ}tj||ƒS(N(R tGetMapR    RtGetFBLineRefreshNPC(tlineIDtmapID((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt__GetZMSLnpcCfgXscCs=tjƒjƒ}|dkr-tjƒ}ntj||ƒS(Niÿÿÿÿ(R RR    RtGetFBPropertyMarktGetFBLineStepTime(RR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytGetMTFBLineStepTime\s cCsdS(N((ttick((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytOnOpenFBfscCsdS(N((R((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt    OnCloseFBnscCsi|dkrtStj|tj|dt|gƒ}tjdƒ}||kretjd|ƒtStS(NiitMunekadoLockLimits&    ÉÏÒ»²ãÆÀ¼¶Î´´ïµ½%s£¬ÎÞ·¨ÌôÕ½±¾²ã£¡(    tTrueR tGetDictValueByBitR
t"Def_Player_Dict_PlayerFBStar_MapIdtFalset IpyGameDataPYt
GetFuncCfgR (RRRRt historyStartneedStar((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytOnEnterFBEventws % cCs|S(N((RRtlineIdtipyEnterPosInfoR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytOnGetFBEnterPosŠscCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytOnChangeMapAsk“scCsótjƒjƒ}tj|ƒ}tjƒ}tjƒs[|jtj    ƒ}tj
|ƒntj ƒ}tj d||j ƒƒtj|ƒsÌtj|ƒtjj|jƒdƒ|jtjdƒn|jƒtkrõtj|||ƒdStƒ}|jƒ}|tkr|td|tjƒjƒ}|jtj dt!|dƒt"ƒ|jtj#dt!|dƒt"ƒnS|t$krÒ|t%d|tjƒjƒ}|jtj&dt!|dƒt"ƒnt'|t"|ƒt(||ƒdS(NsZMSL DoEnterFB lineID=%s£¡iiè()R t GetGameWorldR    RRt    GetGameFBtGetHadSetFBPropertyMarktNomalDictGetPropertyR
tDef_Player_Dict_ReqFBFuncLinetSetFBPropertyMarkRR tGetIDtGetHadDelTickettSetHadDelTickett
PyGameDatatg_fbPickUpItemDicttpopt GetPlayerIDRRt    GetFBSteptFB_Step_CallHelpt FBHelpBattlet&SendGameServer_RefreshHelpBattlePlayerRtFB_Step_PreparetDef_PrepareTimet GetFBStepTickt Sync_TimeTickR+t tttAddUpTimetmaxRt tttWaitStartt FB_Step_Fightt Def_FightTimet tttTowerTaket__UpdZMSLFBStartDoFBHelp(RRRtgameFBRtZMSLCfgtfbStept notify_tick((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt    DoEnterFBœs6          ""% "% cCs‰tƒ}tjt|ƒ|td|tjƒjƒ}|jt    j
dt |dƒt ƒtj ƒ}tj|tj|tjƒdS(Nièi(RRt    SetFBStepR@RAR R0RBRCR+RFRERRt EventReportt WriteEvent_FBR
R t CME_Log_Start(RRRMROR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytOnCallHelpBattleOKËs    "" c Cshtjƒ}|jtƒ}|jtƒ}|dksB|dkrFdS|jtƒ}tjƒ}t|ƒ\}}|t    |ƒks—|t    |ƒkr¨tj
dƒt S||}||}    d}x|    D]}
||
d7}qÉW|j t |ƒ|j t|ƒtj||    ||ƒ|j t|dƒ|j t|ƒ|j t|jtjƒƒt|t ƒdS(NisÒÑÊÇ×îºóÒ»²¨, Í¨¹Øi(R R0tGetGameFBDictByKeyRRRRRRtlenR Rt SetGameFBDictRtNPCCustomRefresht SetNPCRefreshRRR
t Def_FB_GradeRJ( RRLtnpcCnttneedRefreshCntt refreshStepRtrefreshNPCListt    rMarkListtrMarktrNPCListtrNPCInfo((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt__RefreshZMSLNextNPCÖs0  $ 
 
  cCs[tjd|jƒƒtjƒjƒdkrWtjdƒtjƒ}|jdƒndS(NsZMSL DoExitFB...is¸±±¾ÖÐֻʣÏÂÒ»¸öÈË£¬¹Ø±Õ¸±±¾!(R R R;tGetMapCopyPlayerManagertGetPlayerCountR0tSetIsSafeClose(RRRL((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytDoExitFBþs   cCstjd|jƒƒdS(NsZMSL DoPlayerLeaveFB...(R R R;(RR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytDoPlayerLeaveFB scCstS(N(R(((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytOnPlayerRebornscCsdS(Nt((RR(((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytGetPlayerResetWorldPosFBMsgscCs„tjƒjƒ}|tkr+t|ƒnU|tkrNt|ƒt|ƒn2|tkrgt    |ƒn|t
kr€t |ƒndS(N( R R0R<R@t__DoLogic_FB_PrepareRGt__ProcessOverFightRJtFB_Step_PickItemt__DoLogic_FB_PickItemt FB_Step_Overt__ProcessCloseFB(RRN((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt    OnProcess%s   
     cCs»tƒ}|tjƒjƒ|tdkr1dSt|ƒtjƒ}xBt|jƒƒD].}|j    |ƒ}|s{qZnt
||ƒqZWt j t |ƒt jtj|tdƒdS(Niè(RR R0RBRARdRetrangeRftGetPlayerByIndexRKRRQRGtSync_Player_TimeTickR+RIRH(RtfbCfgt playerManagertiR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRm9s    $
 cCsUtƒt}tjƒjƒ}td|d||ƒdkrDdStt|ƒdS(Niiè(RRHR R/t GetOpenFBTickREt __DoZMSLOverR"(Rt    FightTimetopenTick((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRnNs  ! cCs?|tjƒjƒtƒtdkr+dStjt|ƒdS(Niè(R R0RBRtDef_PickItemTimeRRQRq(R((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRp[s'cCs\tjƒ}||jƒtƒtdkr1dStjƒtj|ƒtj    t
|ƒdS(Niè( R R0RBRt Def_ExitTimeRtDoLogic_FBKickAllPlayertGameWorldProcesstCloseFBRQt FB_Step_Close(RRL((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRres !
 cCspg}tjƒ}xWt|jƒƒD]C}|j|ƒ}|sFq%ntj|ƒr[q%n|j|ƒq%W|S(N(R RetxrangeRfRuRtGetIsHelpFighttappend(tdropPlayerListRxtindexR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytGetCanDropPlayerListps ic    Cs†|tjƒjƒ}tjƒ}|jt|ƒtjd||fƒtjt|ƒt    ƒt
d}tj ƒj ƒ}tj |ƒ}tjƒ}tjƒjtjƒ}i|tj6|tj6t|ƒtj6|tj6}    tjƒ}
|
jƒ} x„t| ƒD]v} |
j| ƒ} | s)qn| jtjd|tƒ|s^tj| |    ƒqn|d| j tj!|ƒkrŸt"j#| tj!||dƒnt$}tj%| tj&|t$|gƒ}||krýtj'| tj&||t$|gƒt}n| j(tj)ƒ}|dkr=t*j+| ||tj,ddƒnt-j.| d||fƒt/j0| t1j2d| ||dgƒt-j.| dƒ|sÝtj3| |dƒt4j5| ||ƒ\}}||g|    tj6<t$}n| j7tj)dƒt/j0| t1j8dƒt9j:| tj;id|6ƒ\}}}||    tj<<|rTtj=| |ƒntjd|    | j>ƒƒtj| |    ƒqWdS(    Ns#__DoZMSLOver isPass=%s,killNPCID=%sièiiis
zmsl_%s_%stpasszmsls    overDict=%s(?R R0RBRXRR RRQRqRRRR    RRRVR
R[t
Over_gradetOver_dataMapIDtintt Over_isPasst Over_costTimeReRfR„RuRCR+t tttLeaveMapRtNotify_FB_OverR2t Def_Player_Dict_FBHistoryMaxLinet PlayerControltNomalDictSetPropertyR"R R!tSetDictValueByBitt GetDictByKeyRRRRSt CME_Log_Endt
EventShelltEventRespons_FBEventt PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_MunekadoTrialtAddEnterFBCountR>tDoFBAddXianyuanCointOver_xianyuanCoinRtSuccType_MunekadoTrialExt    NPCCommontGiveKillNPCDropPrizeR t Over_itemInfotSync_FBPlayerFBInfoDataR5(tisPassRt    killNPCIDtcostTimeRLt    leaveTimeRRtstartoverDictRxt playerCountRˆRtneedSyncFBDataR%t isInFBOnDaytaddXianyuanCointreasont jsonItemListttotalExpt
totalMoney((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyR{|s` 
 4   !! "     "&    ( cCs&tjƒ}|jƒtkr"tStS(N(R R0R<RGR"R(tattackertdefenderRL((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytCheckCanAttackTagObjInFB×s cCs»|jƒtƒkrdStjƒ}|jtƒ}|jtƒ}|d7}|d8}|jt|ƒ|jt|ƒtjd|jƒ||fƒ|dkr·tjd|ƒndS(Nis:DoFBRebornNPC, npcID=%s,ZMSL_FBNPCCnt=%s,needRefreshCnt=%sis±¾²¨¹ÖÎïË¢ÐÂÍê±Ï£¡npcCnt=%s(    tGetNPCIDt__GetAllNPCIDListR R0RVRRRXR (tcurNPCRRLR\R]((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt DoFBRebornNPCás 
 
  cCs[tjƒ}t|ƒd}g}x2|D]*}x!|D]\}}|j|ƒq6Wq)W|S(Ni(RRRR†(RR_t    npcIDListtrListtnpcidtnpccnt((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyR¸òs  cCst||ƒdS(N(t__FBNPCOnKilled(R´R¹R((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytDoFB_Npc_KillNPCûs cCst||ƒdS(N(R¿(RR¹R((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytDoFB_Player_KillNPCs cCsç|jƒtƒkrdStjƒ}|jtƒ}|jtƒ}|d8}|jt|ƒtjd|jƒ||fƒ|dkrÐ|dkrÐtjdƒt    |ƒ}|rÐt
t ||jƒƒqÐnt j |tdƒdS(Nis@DoFB_Player_KillNPC, npcID=%s,ZMSL_FBNPCCnt=%s,needRefreshCnt=%sis±¾²¨ËùÓйÖÎïÒѱ»»÷ɱ£¡(R·R¸R R0RVRRRXR RdR{RRtNotifyCopyMapPlayerFBHelpRK(R¹RRLR\R]t isAllKilled((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyR¿    s  
      cCsª|jƒ}|tjkr$|jƒ}tj|ƒ}tj|ƒ}|tjkr|rqtj|j    |ƒq!t
}xwtj|D]h}|d|dkr…|j dƒ|j dƒkr…|j ddƒ|j ddƒ|d<t }Pq…q…W|s!tj|j    |ƒq!q$|gtj|<nt jƒjƒdk}    |    r¦t jƒjƒtkr¦tjt|ƒtƒtd}
t jƒjƒ} tj| ƒ} t jƒ} | jtjƒ} | jtƒ}t jƒ}xÎt|j ƒƒD]·}|j!|ƒ}|s    qèn|j"t#j$d|
t ƒtjj |j%ƒgƒ}i| tj&6| tj'6dtj(6|tj)6|tj*6}t j+d||j%ƒƒtj,||ƒqèWndS(NtItemIDtIsBindtCountiièisPickItemOver: %s(-tGetTypeR
tDef_ItemType_MoneyR5t
ItemCommontCheckItemIsEquipt GetJsonItemR8R9R†R"tgetRR tGetMapItemManagertGetMapItemCountR0R<RoRRQRqRRRR    RRVR[RReR„RfRuRCR+RR;R‹RŒRŽRR¤R R‘(RtcurItemRt mapItemTypetplayerIDtisEquiptjsonItemtisIntitemInfotisItemAllPickUpR©RRLRªR¨RxRˆtplayerR±R«((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt OnPickUpItemsL  2&  !cCstS(N(R(t    atkPlayert    defPlayer((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytDoFBAttackHasPunishRscCs]tjƒ}|jtjƒ}|dkr.|S|jtƒ}|sG|Sttj||dƒƒ}t    j
ƒ}t j dƒj |gƒ}|jtƒ}    |    t|ƒkr½tjdƒdS|jtƒ}
||    d} |
ræ|
nd} d} xK| D]C}| dkrPn| |7} || kr;td| dƒ} qùPqùWtd| |ƒ}|| krj| rj|S|jtj| ƒtjd||| |fƒ|rÜt||ƒ| dkrY|jtjd|dtƒqYn}tjƒ}xnt|jƒƒD]Z}|j|ƒ}|sqûnt||ƒ| dkrû|jtjd|dtƒqûqûW| S(    Nig@@tMunekadoTrialStarTimes-    MunekadoTrialStarTime ÅäÖôíÎó Ó벨Êý²»µÈiis=__UpdFBStar useSecond=%s,curStar=%s,updStar=%s, diffSecond=%siè(R R0RVR
R[RRtmathtceilRRR#tGetFuncEvalCfgRÌRRWR RRERXRKRCR+t tttFlagTakeRReR„RfRu(RtisEnterRRLtcurStart stepStartTickt    useSecondRt starTimeListtwheelNumtstepStart starTimeInfotupdStart totalStarTimetstarTimet
diffSecondRxRˆ((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRJVsX      
       #   $c Cs¸tjƒ}|jtjƒ}|jtƒ}|jtƒ}|jtƒ}td||ƒ}||g}t    j
ƒ}    i|t    j 6|t    j 6|t    j 6|    t    j6}
t    j||
ƒdS(Ni(R R0RVR
R[RRRRERRt    Help_stept
Help_gradet Help_npcTotalt Help_lineIDt Notify_FBHelp( RRRLRªRæt needKillCntt remainNPCCntt
KillNPCCnttdataRt
fbHelpDict((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRK“s   .cCsdS(N((Rt
actionTypet
actionInfoR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt
DoFBAction©scCsEtjƒ}tjtj|ƒ}|d \}}|j||ƒdS(Ni(RRtGetFBLineEnterPosInfoR
R tResetPos(Rt rebornPlaceRRR)tposXtposY((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytOnResetFBRebornPlacePos±s
 cCstjƒj|ƒ}|j}tjd|ƒ}|s:dS|jƒ}|jƒ}|s\dSt|ƒdkr­|j    ƒd}|dksœ|t|ƒkr dS||}    n
|d}    |j
ƒ}
|j ƒ} |j ƒ} |j ƒ} |     s|
s| s| rdStj|tjtƒs#dSi| | 6}|jƒjtjƒ}tj||ƒ\}}|rŠtjd|| | |f|ƒdStj|||ƒtj||    |
| tjgdtjtigƒtj|| ƒtjd|| | |f|ƒdS(Nt TrialExchangeiisN¶Ò»»ÏûºÄÎïÆ·²»×㣡exchangeID=%s,costItemID=%s,costItemCount=%s,lackItemDict=%steventsI×ÚÃŶһ»³É¹¦£¡exchangeID=%s,costItemID=%s,costItemCount=%s,delInfoDict=%s(R tGetPlayerManagerRutIDR#tGetIpyGameDataR;tGetExchangeItemIDListRWtGetJobtGetExchangeItemCounttGetExchangeItemIsBindt GetCostItemIDtGetCostItemCountRÉtCheckPackHasSpaceR+trptItemRtGetItemManagertGetPacktGetCostItemIndexListR t DelCostItemt ItemControlertGivePlayerItemR
tItemGive_TrialExchangeR"R˜tEventRespons_TrialExchange(t playerIndext
clientDataRRt
exchangeIDtipyDataRÑtexchangeItemIDListtjobIndextexchangeItemIDtexchangeItemCounttexchangeItemIsBindt
costItemIDt costItemCountt costItemDicttitemPackt lackItemDictt delInfoDict((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt OnTrialExange¿sJ       
             (IRR+RR RœRYRR
RšR#R“RÉRRR8R˜R¢R>RÝRtRARHR~RR=R@RGRoRqRƒRRRRRRRRRRRRR'R*R.RPRURdRhRiRjRlRsRmRnRpRrR‰R{R¶RºR¸RÀRÁR¿RØRÛR"tNoneRJRKRùRÿR$(((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt<module>sz                       
    
                                    /         (         
                         
          [    
                
            3    =