cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
žc8\c@sŸddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z d„Zd„Zd„Zd„Zd„Zd„Zd„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ÿÿÿÿNcCsÆ|jƒdkrBtjd|jƒ|jƒ|jƒfƒdStjd|jƒ|jƒfƒ|jtjƒ|j    |ƒ|j
dƒtj ƒ}|j dƒ|j |ƒtj|ƒdS(Nis5FB Open! lineID = %s, openState = %s, OpenFBTick = %ss$FB Open! lineID = %s, openState = %s(t GetOpenFBTickt    GameWorldtErrLogt    GetLineIDt GetOpenStatetLogt SetOpenStatet IPY_GameWorldtfbosOpent SetOpenFBTicktSetCloseFBTickt    GetGameFBt    SetFBStept SetFBStepTicktFBLogictOnOpenFB(t    gameWorldtticktgameFB((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt__OpenFB:s    ##      cCsŽtj|ƒ|jdƒ|jdƒ|jdƒ|jƒ}|jdƒ|jdƒ|jƒ}t    j
d||j ƒfƒ|j t jƒ|jƒ}|jƒ}|dkr»dS|t jkr|jtjƒ}|tjkrctjj|ƒt    jd|ƒqcnQ|t jkrc|jƒ}|tjkrctjj|ƒt    jd|ƒqcntjƒ|tjkrtjj|ƒntj|j ƒƒ}i}    g}
t    j!ƒ} x6t"| j#ƒƒD]"} | j$| ƒ} |
j%| ƒqÏWxÛ|
D]Ó}| sü|j&ƒrqün|t jkr?|jtjƒ}n*|j'ƒtj(krc|j)ƒ}nd}|j*ƒ}|rÅ|j+ƒtj,krÅ|    j-|gƒ}|j%t.j/|ƒƒ||    |<n|j0ƒqüW|tj1kr>|    r>xS|    j2ƒD]B\}}t    j
d||ƒt3j4d|g||j ƒgƒqõWn|j5ƒ}|j6ƒdkrp|j t j7ƒdS|j t jƒt8|ƒdS(Nis%FB Close! lineID = %s, openState = %ss$Çå³ýµ¥È˸±±¾¾µÏñÖúÕ½ÐÅÏ¢: ownerID=%ss#Çå³ý×é¶Ó¸±±¾¶ÓÔ±¹ØÏµÐÅÏ¢: teamID=%ss·¢ËÍδʰȡµÄÎïÆ·¸øÍæ¼Ò: %st ItemNoPickUp(9Rt    OnCloseFBR    R
tSetFBFirstOpenR tSetPlayerLogoffTicktSetIsSafeCloseRRRRRRt
fbosClosedtGetMapt GetMapFBTypet    fbtSingletGetGameFBDictByKeytChConfigtDef_FB_SingleFBPlayerIDt
PyGameDatatg_fbHelpBattlePlayerDicttpoptDebugLogtfbtTeamt GetPropertyIDtg_teamFBMemRelationDicttFBCommont
ClearFBNPCtg_fbRobotJobDicttGetRecordMapIDtGetMapIDtGetMapItemManagertxrangetGetMapItemCounttGetMapItemByIndextappendtIsEmptyt GetOwnerTypetDef_NPCHurtTypePlayert
GetOwnerIDtGetItemtGetTypetDef_ItemType_Moneytgett
ItemCommontGetMailItemDictt    DisappeartDef_SendUnPickItemMailMapIDListtitemst PlayerControlt SendMailByKeytGetMapCopyPlayerManagertGetPlayerCounttfbosWaitForClosetFreeOrClearFBByAutoSize(RRt    gameFBMgrtlineIDtgameMaptfbTypetownerIDtteamIDtmapIDtunPickItemDictt mapItem_ListtmapItemManagertindext
curMapItemtmapItemtcurItemt mailItemListt playerManager((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt    __CloseFBUsv            
    ) 
cCs?|jƒjƒdkr1tjƒ}|jƒn
|jƒdS(Ni(Rt GetAutoSizeRR tClearR(RR((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyRC¯s  cCs™|jƒtjkrdS|jƒ}x6t|jƒƒD]"}|j|ƒ}tj|ƒq8Wt    j
ƒj dƒt    j d|jƒƒt ||ƒdS(Nis---------------%d(RRRR@trangeRAtGetPlayerByIndexR>t PlayerLeaveFBRR tGameServer_FbInfoRefreshRRT(RRRStit    curPlayer((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt__KickAllPlayerAndCloseFB¾s  cCs|jƒ}|dkrdStjƒjƒ}|dkr>dS||jƒ|krXdStj|ƒ|jƒ}x_td|jƒƒD]H}|j    |ƒ}||j
ƒ}||dkrÂq‡nt j |ƒq‡Wtj d|jƒ|jƒfƒt||ƒdS(Niis4__ProcessTimeKickPlayer! LineID = %s, openState = %s(RRRt GetExistTimeRt DoFBTimeOutR@RWRARXt GetLoginTickt
EventShelltEventResponse_OnFBTimeOutRRRR](RRtopenTickt    existTimeRSR[R\tplayerExistTime((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt__ProcessTimeKickPlayerÖs&     # cCs|jƒ}|dkrdS|jƒtjkrB|jdƒdS||tjkrYdStjd|j    ƒ|jƒfƒt
||ƒdS(Nis7__ProcessFBDelayKickPlayer! LineID = %s, openState = %s( tGetCloseFBTickRRRR
RtDef_FBKickPlayerTimeRRRR](RRt closeFBTick((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt__ProcessFBDelayKickPlayers   # cCs.|jƒsdSt||ƒ|jdƒdS(Ni(tGetFBFirstOpenRR(RR((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt __ProcessOpens
   cCs9tjƒ}tjƒjƒdkr(dSt||ƒdS(Ni(Rt GetGameWorldRRURl(RR((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt EnterOpenFB-s c    Cs5|jƒsdS|jƒ}|jƒdkr2dStƒs?dStjƒ}|jƒ}|tjkr¸tj|\}}|dkr¥||}|t    j
kr¥dSntjj |ƒn@|j ƒ}|dkrÔdS|j ƒ rø||t    j
krødStjd|jƒ|jƒ|j ƒfƒt||ƒdS(Niis=__ProcessClose! LineID = %s, openState = %s, isSafeClose = %s(t    GetInitOKR@RAtIsNoPlayerNeedCloseFBRR tGetCurGameWorldIndexR tg_lastExitFBTypeRtDef_EmptyFBKeepTimeR"tGetPlayerLogoffTicktGetIsSafeCloseRRRR](    RRRSRtfbIndext
exitFBTypetexitTicktpassTickt
logOffTick((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt__ProcessClose;s2         
       # cCsptjs dS||jƒdkr'dStjƒ}|jƒtjkrLdS|j|ƒ|j    ƒt
t_dS(Ni
ièi'( R tg_needRefreshMapServerStatetGetSyncMapServerStateTickRRRRtfbtNulltSetSyncMapServerStateTicktGameServer_MapServerStatetFalse(RRRF((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt__ProcessRefreshMapServerStatevs      
    cCsctjƒ}|jtjƒ}|dkr.dS||tjtjkrLdS|jtj|ƒdS(Niÿÿÿÿ(RRmt GetTickByTypeRtTYPE_Map_Tick_MapAcPlayertTYPE_Map_Tick_Timet SetTickByType(RRtlastTick((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt__ProcessMapServerAcPlayers  c
Cstjƒ}|j|jƒ|jƒƒs¨tj|jƒ|jƒtjƒ\}}|dkr¨|dkr¨tj    d|j
ƒ|jƒ|jƒfƒt j dfSn|j
ƒtj kr|jƒjƒsÖt jS|jƒr|j|jƒƒrt jSntj|ƒ}t|ƒttgkr7|df}n|\}}|sVt j |fStj||ƒ}    |    dkr{t jS|    S(Nis@´«ËÍÖÁÄ¿±êµãΪÕϰ­µã, ´«ËÍʧ°Ü, mapid = %s, posX = %s, posY = %ss#04BBF813-7A30-47A8-927DE1ACCC4F378EtFB_andyshao_861048(RRtCanMovetGetPosXtGetPosYtGameMaptGetNearbyPosByDisRtDef_RebornPos_Area_RangeRR+Rt    cmeCustomtDef_FB_SystemAssignMapIDListtGetPlayerManagertIsPlayerCanLogint cmePlayerFullRUt IsMapCopyFulltGetBMChangeMapAskCountR'tCheckFBStateCanEnterttypettupletlistRtOnChangeMapAsktNonet    cmeAccept(
Rt    askStructRRFtnearPosXtnearPosYtcheckRettcanEntert
notifyMarktchangeMapAskResult((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt__ProcessCurrentChangeMapAsk£s, *    #!
   cCsštjƒ}x}t|jƒƒD]i}|j|ƒ}t|||ƒ}t|ƒtkrg|df}n|j|j    ƒ|d|dƒqW|j
ƒdS(Ntii( RRmRWR–tGetBMChangeMapAskAtR¥R˜tinttRouteServer_ChangeMapAnswert GetPlayerIDtClearBMChangeMapAsk(RRR[tasktresult((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt__ProcessChangeMapAskÏs %
cCstjtƒ|ƒdS(N(Rt GetPsycoFunct__Func_OnGameWorldProcess(R((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pytOnGameWorldProcessáscCsÊtjƒ}|jƒsdSt||ƒt||ƒt||ƒt||ƒt|ƒt|ƒt    j
|ƒt ||ƒt ||ƒt |ƒt|ƒtjƒtj|ƒtj||ƒdS(N(RRmRoRlRfRjR{RˆR®Rt    OnProcessR‚t__ProcessRouteServert__RefreshOnMinutet__RefreshOnFiveMinutet EventReporttOnTimeCloseScribeTxtt FamilyRobBosstOnFamilyOwnerBossProcesstNPCCustomRefreshtProcessMapRandomRefreshNPC(RR((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyR°és$      
 
 
 
 
 cCsg|jtjƒ}|dkr"dS||tjtjkr@dS|jtj|ƒtjƒjƒdS(Niÿÿÿÿ(RƒRt!TYPE_Map_Tick_SendMsg_RouteServerR…R†RRmt SendHeartBeat(RRR‡((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyR³s cCsltjƒ}tjƒtjƒtj|ƒ|jt    j
ƒt j ƒt |ƒ|jtƒ|jƒdS(N(RRmR9t
InitPyItemRatDoReloadRefreshRtOnInittSetTickTypeCountRtTYPE_Map_Tick_CountR¶t InitDllAppIDtGameServer_CommMapServerInitOKt    SetInitOKtTruetBalanceServer_MapServerInitOK(RR((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt InitGameWorld+s 
 
 
 
 
cCsztjƒjƒtjkrvt|jƒ|jƒ|jƒ|j    ƒgƒ}tj
ƒj dddd|t |ƒƒndS(s‡
    Í¨ÖªGameServerµØÍ¼Æô¶¯Íê±Ï
    GetMapID=10010,GetLineID=0,GetRealMapID=10010,GetCopyMapID=0,GetLineNO=-1
    GetMapID=10010,GetLineID=1,GetRealMapID=10010,GetCopyMapID=1,GetLineNO=-1
    GetMapID=10010,GetLineID=2,GetRealMapID=10010,GetCopyMapID=2,GetLineNO=-1
    GetMapID=10010,GetLineID=3,GetRealMapID=10010,GetCopyMapID=3,GetLineNO=-1
    GetMapID=10010,GetLineID=4,GetRealMapID=10010,GetCopyMapID=4,GetLineNO=-1
    GetMapID=10010,GetLineID=5,GetRealMapID=10011,GetCopyMapID=0,GetLineNO=-1
    GetMapID=10010,GetLineID=6,GetRealMapID=10011,GetCopyMapID=1,GetLineNO=-1
    GetMapID=10010,GetLineID=7,GetRealMapID=10011,GetCopyMapID=2,GetLineNO=-1
    GameWorld.DebugLog("GetMapID=%s,GetLineID=%s,GetRealMapID=%s,GetCopyMapID=%s,GetLineNO=%s" 
                       % (gameWorld.GetMapID(), gameWorld.GetLineID(), gameWorld.GetRealMapID(), gameWorld.GetCopyMapID(), gameWorld.GetLineNO()))
    itCommMapServerInitOKN( RRRRR~tstrR+Rt GetRealMapIDt GetCopyMapIDR’tGameServer_QueryPlayerResulttlen(RtmsgInfo((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyRÄ=s0+cCstjƒj|ƒdS(N(RRmR
(R((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pytCloseFBVscCstjƒ}|jƒ}|jƒdkr.dStƒs;dS|jƒ}|jƒdkr{ttjƒtjƒjƒƒndS(Nii(    RRmRRRpR@RARTtGetTick(RRFRS((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pytOnPlayerLeaveMapCloseFB^s       cCs+tjƒjƒo*tjƒjƒtjkS(N(RRRUR+RtDef_NoPlayerNotCloseAutoSizeMap(((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyRposcCsttjƒ}tjƒ}|jd|jƒƒ|jd|jƒƒ|jd|jƒƒ|jd|jƒƒdS(Niiii(    RtIPY_MPlayerCountByCountryRRmtSetPlayerByCountryCounttGetCountry1CounttGetCountry2CounttGetCountry3CounttGetCountryOtherCount(RNRtpackR((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pytGameSever_PlayerCountByCountry‡s  cCsFtjdƒtjƒjdddddƒtjƒjd|ƒdS(Ns×¢²á¼¶Áª¼ÆÊ±Æ÷t ProcessFighti‚t PlayerStatetPlayerProcessFighti(RRRmt
RegLvTimert StartLvTimer(R((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyRߞs
  cCsYtjƒ}|jtjƒ}tjtj}|||krBdS|jtj|ƒdS(N(RRmRƒRtTYPE_Map_Tick_ProcessFiveMinuteR…R†(RRR‡t tickInterval((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyRµ¬s cCsÆtjƒ}|jtjƒ}tjtj}|||krBdS|jtj|ƒtjƒ}t||ƒtj    ƒ}xEt
|j ƒƒD]1}|j |ƒ}|s®qnt |||ƒqWdS(N(RRmRƒRtTYPE_Map_Tick_ProcessMinuteR…R†tGetCurrentTimet __OnMapMinuteR@R-RARXt__ProcessHalfHour(RRR‡RâtcurTimeRSRNR\((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyR´¿s    cCs6|j}|tjkrdS|t_tj|ƒdS(N(tminuteR tg_mapLastProcess_Minutet
PlayerTeamt"OnCheckTeamPlayerDisconnectTimeout(RçRt    curMinute((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyRåÔs          cCs$|jdkrdStj|ƒdS(Nii(ii(RèRatEventResponse_OnHalfHour(R\RçR((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyRæãs ()RRRR>R¸RºRaRR'R¶R9R RêRRRTRCR]RfRjRlRnR{R‚RˆR¥R®R±R°R³RÈRÄRÐRÒRpRÛRßRµR´RåRæ(((sxE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\GameWorldProcess.pyt<module>&sP                      Z            ,                ;            ,            -