CeHua_ZWJ
2018-11-22 f0a230af3a2f7e7a618de86fc9eedd3e01e43291
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
BQÙ[c@s\ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZedƒ\ZZZZedƒ\ZZZZZZdZdZdZdZdZ 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„Z/d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5d„Z6dd „Z7d!„Z8d"„Z9d#„Z:d$„Z;d%„Z<d&„Z=e>dd'„Z@d(„ZAd)„ZBd*„ZCd+„ZDdS(,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.pytOnFBPlayerOnDayMs
cCs"tjƒjƒ}tj||ƒS(N(R tGetMapR    RtGetFBLineRefreshNPC(tlineIDtmapID((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt__GetZMSLnpcCfgWscCs=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.pytOnOpenFBescCsdS(N((R((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt    OnCloseFBmscCsi|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.pytOnEnterFBEventvs % 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’sc
Cstjƒjƒ}tj|ƒ}tjƒ}tjƒs°|jtj    ƒ}tj
|ƒ|j ƒt kr°tj t|ƒ|jtdƒ|jtdƒ|jtdƒq°ntjƒ}tjd||jƒƒtj|ƒsƒtj|ƒtjj|jƒdƒ|jtjdƒt}tj|ƒrRt }tjd|jƒƒntj!||ƒ}t"j#|||tj$|ƒnt%ƒ}|j ƒ}|tkr |t&d|tjƒj'ƒ}    |j(t)j*dt+|    dƒt ƒ|j(t)j,dt+|    dƒt ƒnS|t-kr`|t.d|tjƒj'ƒ}    |j(t)j/dt+|    dƒt ƒnt0|t |ƒt1||ƒdS(NisZMSL DoEnterFB lineID=%s£¡sZMSL ÖúÕ½½øÈ븱±¾£¡iè(2R t GetGameWorldR    RRt    GetGameFBtGetHadSetFBPropertyMarktNomalDictGetPropertyR
tDef_Player_Dict_ReqFBFuncLinetSetFBPropertyMarkt    GetFBStept FB_Step_Opent    SetFBSteptFB_Step_Preparet SetGameFBDictRRRRR tGetIDtGetHadDelTickettSetHadDelTickett
PyGameDatatg_fbPickUpItemDicttpopt GetPlayerIDRRR"tSetIsHelpFightRt GetFBJoinTypet EventReportt WriteEvent_FBt CME_Log_StartRtDef_PrepareTimet GetFBStepTickt Sync_TimeTickR+t tttAddUpTimetmaxt tttWaitStartt FB_Step_Fightt Def_FightTimet tttTowerTaket__UpdZMSLFBStartDoFBHelp(
RRRtgameFBRt isHelpFighttjoinTypetZMSLCfgtfbStept notify_tick((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt    DoEnterFB›sF           ""% "% 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 RR9RtNPCCustomRefresht SetNPCRefreshRRR
t Def_FB_GradeRO( RRQtnpcCnttneedRefreshCntt 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(RRRQ((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 R0R5R8t__DoLogic_FB_PrepareRLt__ProcessOverFightROtFB_Step_PickItemt__DoLogic_FB_PickItemt FB_Step_Overt__ProcessCloseFB(RRU((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt    OnProcesss   
     cCs»tƒ}|tjƒjƒ|tdkr1dSt|ƒtjƒ}xBt|jƒƒD].}|j    |ƒ}|s{qZnt
||ƒqZWt j t |ƒt jtj|tdƒdS(Niè(RR R0RGRFReRftrangeRgtGetPlayerByIndexRPRR7RLtSync_Player_TimeTickR+RNRM(RtfbCfgt playerManagertiR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRn+s    $
 cCsUtƒt}tjƒjƒ}td|d||ƒdkrDdStt|ƒdS(Niiè(RRMR R/t GetOpenFBTickRJt __DoZMSLOverR"(Rt    FightTimetopenTick((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRo@s  ! cCs?|tjƒjƒtƒtdkr+dStjt|ƒdS(Niè(R R0RGRtDef_PickItemTimeRR7Rr(R((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRqMs'cCs\tjƒ}||jƒtƒtdkr1dStjƒtj|ƒtj    t
|ƒdS(Niè( R R0RGRt Def_ExitTimeRtDoLogic_FBKickAllPlayertGameWorldProcesstCloseFBR7t FB_Step_Close(RRQ((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRsWs !
 cCspg}tjƒ}xWt|jƒƒD]C}|j|ƒ}|sFq%ntj|ƒr[q%n|j|ƒq%W|S(N(R RftxrangeRgRvRtGetIsHelpFighttappend(tdropPlayerListRytindexR((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytGetCanDropPlayerListbs 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]¬} |
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)ƒ}tj*| ƒ}|dkr^tj+| |ƒ}t,j-| ||tj.|dƒnt/j0| d||fƒt1j2| t3j4d| ||dgƒt/j0| dƒ|rñt/j0| d|ƒtj5| |dƒ|    j6tj7dƒn€|stj8| |dƒt$}n| j9tj)dƒt1j2| t3j:dƒt;j<| tj=id|6ƒ\}}}||    tj7<|rŠtj>| |ƒntjd    |    | j?ƒƒtj| |    ƒqWdS(
Ns#__DoZMSLOver isPass=%s,killNPCID=%sièiiis
zmsl_%s_%stpasszmsls helpzmsl_%ss    overDict=%s(@R R0RGR9RR RR7RrRR€RR    RRRXR
R\t
Over_gradetOver_dataMapIDtintt Over_isPasst Over_costTimeRfRgR…RvRHR+t tttLeaveMapRtNotify_FB_OverR2t Def_Player_Dict_FBHistoryMaxLinet PlayerControltNomalDictSetPropertyR"R R!tSetDictValueByBitt GetDictByKeyRR†RBRCRDt CME_Log_Endt
EventShelltEventRespons_FBEventt PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_MunekadoTrialtAddFBHelpPointR?t Over_itemInfotAddEnterFBCountRtSuccType_MunekadoTrialExt    NPCCommontGiveKillNPCDropPrizeR tSync_FBPlayerFBInfoDataR:(tisPassRt    killNPCIDtcostTimeRQt    leaveTimeRRtstartoverDictRyt playerCountR‰RtneedSyncFBDataR%t isInFBOnDayRRRSt jsonItemListttotalExpt
totalMoney((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyR|nsh 
 4   !! "     "&    ( cCs&tjƒ}|jƒtkr"tStS(N(R R0R5RLR"R(tattackertdefenderRQ((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 R0RXRRR9R (tcurNPCRRQR]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  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 R0RXRRR9R ReR|RRtNotifyCopyMapPlayerFBHelpRP(RR·RRQR]R^t isAllKilled((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pytDoFB_Player_KillNPCú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_MoneyR:t
ItemCommontCheckItemIsEquipt GetJsonItemR=R>R‡R"tgetRR tGetMapItemManagertGetMapItemCountR0R5RpRR7RrRR€RR    RRXR\RRfR…RgRvRHR+R‘R@RŒRRRR R R’(RtcurItemRt mapItemTypetplayerIDtisEquiptjsonItemtisIntitemInfotisItemAllPickUpR©RRQRªR¨RyR‰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.pytDoFBAttackHasPunishEscCs]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 R0RXR
R\RRŽtmathtceilRRR#tGetFuncEvalCfgRÈRRYR RRJR9RPRHR+t tttFlagTakeRRfR…RgRv(RtisEnterRRQtcurStart stepStartTickt    useSecondRt starTimeListtwheelNumtstepStart starTimeInfotupdStart totalStarTimetstarTimet
diffSecondRyR‰((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyROIsX      
       #   $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 R0RXR
R\RRRRJRRt    Help_stept
Help_gradet Help_npcTotalt Help_lineIDt Notify_FBHelp( RRRQRªRât needKillCntt remainNPCCntt
KillNPCCnttdataRt
fbHelpDict((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyRP†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 tGetPlayerManagerRvtIDR#tGetIpyGameDataR@tGetExchangeItemIDListRYtGetJobtGetExchangeItemCounttGetExchangeItemIsBindt 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       
             (ERR+R‚R RRZR R
R›R#R”RÅRCR=R™R£RÙRuRFRMRR€R6R8RLRpRrR„RRRRRRRRRRRRR'R*R.RWReRiRjRkRmRtRnRoRqRsRŠR|R´R¸R¶R¿RÔR×R"tNoneRORPRõRûR (((sy.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MunekadoTrial.pyt<module>sr                      
    
                                    -    (         
                         
          b    
                3    =