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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
kH\c
@sõddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z d„Zd„Zdd„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(d„Z)d„Z*d „Z+d!„Z,d"„Z-d#„Z.d$„Z/d%„Z0d&„Z1d'„Z2d(„Z3d)„Z4d*„Z5d+„Z6d,„Z7d-„Z8d.„Z9d/„Z:d0„Z;d1„Z<d2„Z=d3„Z>d4„Z?d5„Z@d6„ZAejBeCeCd7„ZDd8d8ejBeCeEeEdeCgd9„    ZFd:„ZGd;„ZHd<„ZId=„ZJd>„ZKd?„ZLdS(@iÿÿÿÿNcCsÀtjƒjƒdkrRtjƒjƒtjkrRtjƒjƒtj    krRdStj
ƒ}|j ƒtj krwdStj ƒ}x6td|jƒƒD]}t||j|ƒ|ƒq™WdS(Ni(t    GameWorldtGetMapCopyPlayerManagertGetPlayerCounttGetMapt GetMapFBTypet IPY_GameWorldtfbtNulltGetMapIDtChConfigt&Def_NoPlayerNeedProcessRefreshPointMapt GetGameWorldt GetOpenStatetfbosOpent GetNPCManagertrangetGetCustomNPCRefreshCountt__ProcessNPCRefreshtGetCustomNPCRefreshAt(ttickt    gameWorldtgameNPCti((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytProcessAllNPCRefresh$s  cCsJd|jƒ}tƒj|ƒr6tƒ|||ƒSt|||ƒdS(Ns NPCRefresh_%d(tGetRefreshMarktglobalsthas_keyt__NPCCommonRefresh(t
pointIndext
npcRefreshRtfuncName((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyR>s
icCs…|jƒ}xrt|jƒƒD]^}|j|ƒ}tj|ƒ|jtj|ƒ|jtj    |ƒtj
|ƒj |ƒqWdS(N( RRtGetNewBornNPCCounttGetNewBornNPCAtt    NPCCommontInitNPCtSetDictRtDef_NPC_Dict_FromRefreshMarktDef_NPC_Dict_FromRefreshValuet
NPCControltDoNPCRebornCommLogic(RRtvaluet refreshMarkRtcurNPC((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt__InitNewBornNPCQs  cCs t||ƒS(N(t__RefreshMixBoss(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_63dscCs t||ƒS(N(R+(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_64escCs t||ƒS(N(R+(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_65fscCsytjƒ}|jtjƒ}|jtjƒ}|jƒ}tjdƒ}|j    |ƒ}|sddS|\}}    }
| sš||    dksš||    dkrždStjƒj
ƒ} | dkrÀdS|j ƒdkrÖdStj ƒ} | j | jf|
krþdStj|} |j| ƒ}||dkr.dS|j| |ƒ|j|tjdtƒt||ƒtjd|ƒdS(Nt MixBossInfoiii<iès?__RefreshMixBoss() refresh mix server boss npcId(%s) success!!!i`ê(RR
tGetGameWorldDictByKeyt ShareDefinetDef_Notify_WorldKey_IsMixServert Def_Notify_WorldKey_MixServerDayRt ReadChConfigtGetEvalChConfigtgett    GetLineIDtGetCounttGetCurrentTimethourtminuteRtMap_NPC_WorldBossLastReBornTicktSetGameWorldDicttRefreshtDef_SuperBossAngryCounttFalseR*tDebugLog(RRRt isMixServertmixDayR(t mixBossInfot curBossInfotnpcIdtmixTimetrefreshTimeListtlineIdtcurTimetrefreshTickKeytlastRefreshTick((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyR+ls8  '    cCs t||ƒS(N(t__RandomMapNPC(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_82§scCs t||ƒS(N(RM(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_83¨sc CsM|jƒ}tjƒ}tj|}tj|}tj|}|j|ƒ}|j|ƒ}|j|ƒ}    |dkr|dS|jƒ}
|    |
} | dkr¹tj    d||    fƒdSt
j ddƒdkrætj    d|ƒdS|j |tj dtƒt||ƒtd|dƒ} |j|| ƒtjd||| fƒdS(NisCµØÍ¼Ëæ»úË¢¹Ö ±¾µã×î´óË¢¹ÖÊýÒÑÂú£¬ÎÞ·¨ÔÙË¢! refreshMark=%s,maxCnt=%sis5µØÍ¼Ëæ»úË¢¹Ö ¸ÃË¢¹ÖµãûÓÐÃüÖУ¬²»Ë¢¹Ö! refreshMark=%ss+µØÍ¼Ëæ»úË¢¹Ö mark=%s,npcID=%s,updNeedCnt=%s(RRt    GetGameFBRtMap_NPC_RandomMapNPCIDtMap_NPC_RandomMapNPCNeedCnttMap_NPC_RandomMapNPCPerMaxCnttGetGameFBDictByKeyR8RAtrandomtrandintR>R?R@R*tmaxt SetGameFBDicttLog( RRR(tgameFBtnpcIDKeyt
needCntKeyt perMaxCntKeytnpcIDtneedCnttmaxCnttcurCntt    curCanCntt
updNeedCnt((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyRMªs0       
  cCs t||ƒS(N(t__RefreshTDFBNPC(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_84ÖscCs t||ƒS(N(Rd(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_85×scCs t||ƒS(N(Rd(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_86ØscCs t||ƒS(N(Rd(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_87Ùsc Csý|jƒ}tjƒ}tj|}|j|ƒ}|dkrDdS|jtj|ƒ}|jtj|ƒ}tj|}|j|ƒ}    |    r–dS|jtj    |ƒ}
|jtj
|ƒ} d|
} t j | ƒ} | | kr|j |dƒtjd| | |fƒdS| | }t|ƒ}||dkri|j |dƒtjd| | |fƒdSt j d|
ƒ}|t|ƒkr¹|j |dƒtjd| |fƒdS||}||}|jtj|ƒ}|tj}|dkr|||krdS|jƒ}d}|dkrN|dkrN||tj7}n|dkrt||jƒ|krtdS||}tjd|
| ||||fƒxm|D]e}|d}|d}t|ƒd    krÝtjn|d
}|j|||tƒt|||
ƒq¨W||dk}|t|ƒdk}|r›|r›|j |dƒ|j |dƒ|j tj|dƒtjd |ƒtj|ƒn^|rÞ|j |dƒtjd |||fƒtj||ƒn|j tj||dƒdS( Nis TD_%s_NPCIDs<TDË¢¹Ö±ê¼Çkey²»´æÔÚ: signKey=%s not in fileName=%s, rMark=%sis;TDË¢¹Ö²¨ÊýÅäÖò»´æÔÚ: fileName=%s,signKey=%s,bigWheelNum=%ss    TD_%s_Cfgs?TDË¢¹Ö×ܲ¨ÊýÓ벨ÊýÅäÖÃÐÅÏ¢ÌõÊý²»¶ÔÓ¦: fileName=%s,totalWheel=%ssKTDË¢¹Ö£ºfileNum=%s,signKey=%s,rMark=%s,bWheelNum=%s,sWheelNum=%s,npcList=%siis%    ËùÓйÖË¢ÐÂÍê±Ï£¬¹Ø±ÕË¢¹Ö!rMark=%ss4    ×îºóһС²¨¹ÖË¢ÐÂÍê±Ï(%s - %s)£¬ÔÝͣˢ¹Ö!rMark=%s(RRRPRtMap_TDNPC_RefreshStartTickRTtMap_TDNPC_RefreshBigWheelNumtMap_TDNPC_RefreshSmallWheelNumtMap_TDNPC_CurWheelIsOvertMap_TDNPC_RefreshFileNumtMap_TDNPC_RefreshSignKeyR4R5RXtErrLogtlentMap_TDNPC_CurWheelStartTicktFBCommontDef_TDCfg_PrepareTimeR8tDef_TDCfg_SmallWheelSpacetGetRefreshTickRAtDef_SummonNPC_Angry_CountR>R@R*tMap_TDNPC_AllWheelIsOvertFBLogictOnTDAllWheelOvertOnTDCurWheelOver(RRtrMarkRZt startTickKeyt    startTickt bigWheelNumt smallWheelNumtcurWheelIsOverKeytcurWheelIsOvertfileNumtsignKeytfileNametrefreshNPCDictt totalNPCListt
totalWheeltrefreshCfgListtbigWheelNPCListt wheelInfoListtcurWheelStartTickt prepareTimeRat refreshTicktcurRefreshNpcIdListtrefreshNPCInfotcurNpcIdt
refreshCnttangryCnttisLastBigWheeltisLastSmallWheel((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyRdÝs„     
 
 
 
  "
     
 
% cCst||ƒdS(N(t__DoRefreshWorldBoss(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_90JscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_91KscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_92LscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_93MscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_94NscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_95OscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_96PscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_97QscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_98RscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_99SscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_100TscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_180UscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_181VscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_182WscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_183XscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_184YscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_185ZscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_186[scCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_187\scCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_188]scCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_189^scCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_190_scCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_191`scCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_192ascCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_193bscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_194cscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_195dscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_196escCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_197fscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_198gscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_199hscCst||ƒdS(N(R•(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_200isc    Csd}tjƒjƒ}tjddiƒ}||krStd||dƒ}ntj|ƒ}|j|ƒ}tjƒ}x|t    |j
ƒƒD]h}|j |ƒ}|j ƒ}|j tj|ƒr|jtj|dƒtjd||fƒqqWdS(NitMapLineiis?ÖØÖûbossË¢¹ÖµãË¢¹Ö¸öÊý: activityLineIndex=%s,refreshMark=%s(RRRt IpyGameDataPYtGetFuncEvalCfgRWRtGetGameFBByFbIndexR txrangeRRRRTRtMap_NPC_ActivityBossRebornCountRXRA(    tactivityLineIndextmapIDtactivityMapLineDictRRZRRRR(((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytResetActivityBossRefreshCountls   cCsÂtjƒrt||ƒdStjƒjƒ}|jƒ}tjƒjƒ}d\}}d}|tj    krƒt
j ƒ}d}    n|tj kr§t j ƒ}d}    nltjdi|d6|d6dtƒ}
|
s×dS|
jƒ}    |
jƒ}|
jƒ}|
jƒ}|
jƒ}| r%|     r%dStjƒ} tjƒ} t} |dkr€tj|}| j|ƒrqdnd}t} n+|dkrntj|}| j|ƒ}d}d}tjd    diƒ}||kròtd||dƒ}n| r2| jtj|ƒ}|}|rS||krSd}qSn!|rS||krSd}d}    nt j!|ƒoe|}d}|j#ƒdkr’|j$dƒ}n|r |rÄ|jƒ|kr´dSt j%|ƒn||kró| ró|tj    tj gkródS| rï|dkrïdSnã|rŸ|jƒ|kr:|r:t&|ƒr:dS|jƒ|    krPdS|jƒ|kr| rtj'd
|ƒt(j)d |gƒnt j%|ƒn| jtj*|ƒ}tj+d ƒ}|||krØdS| j,tj*||ƒ|rû|n|    }|s dStj-|}| j|ƒ}||dkr;dS|j.|tj/dtƒt0||ƒ| j,||ƒ| r›|r›| j,tj||dƒntj1d|||||f|ƒdS(sg·Ç·ÖÁ÷µØÍ¼bossÖ»ÔÚÒ»ÏßË¢
       ·ÖÁ÷µØÍ¼bossÿÌõÏß¶¼Ë¢Ð£¬ÆäËû·ÖÁ÷Ïß·bossÔÚûÈË´òµÄÇé¿öÏÂͬÉúͬËÀ
    NitBOSSInfot RefreshMarktMapIDt    isLogNoneiiR¶s/»î¶¯boss£¬»î¶¯½áÊø£¬ÏµÍ³ÉèÖÃbossËÀÍö£¡bossID=%stFairyGrabBossNoDeadtBossStoneDelayTimei2ièsUBossRefresh mapID=%s,rebornLineID=%s,refreshMark=%s,rebornNPCID=%s,isNeedShunt=%s,OK!(iiiPÃ(2Rt IsCrossServert__DoRefreshWorldBossCrossServerRRRR
R7RtDef_FBMapID_SealDemontGameLogic_SealDemontCurFBLineBOSSIDtDef_FBMapID_ZhuXianBosstGameLogic_ZhuXianBossR·tGetIpyGameDataByConditionR@t GetStoneNPCIDtGetNPCIDtGetRelatedTypet GetRelatedIDtGetIsNeedShuntRPR1t$Def_Notify_WorldKey_DailyActionStateR0tTruet'Def_Notify_WorldKey_GameWorldBossRebornR¸RWRTR»R tIsMapNeedBossShunttNoneR8tGetAtt    SetDeadExtIsShuntBossNeedProcessRYt PlayerControltFBNotifytMap_NPC_WorldBossDeadTickt
GetFuncCfgRXR<R>R?R*RA(RRR½R(tlineIDt relatedTypet    relatedIDt isNeedShunttbossIDt
stoneNPCIDtipyDataRZt gameWorldMgrtisActivityBosst    actionKeytrebornBossStatetbosskeyt rebornLineIDtactivityLineIDR¾tactivityBossRebornCountR)t bossDeadTicktbossStoneDelayTimet rebornNPCIDtkeytlastRebornTick((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyR•†s´              &                     +$       cCstS(sH·ÖÁ÷bossÊÇ·ñÐèÒª´¦Àí
        ÎÞÉËѪ¡¢³ðºÞ¡¢Ã»ÈË¿´µ½Ëû¡¢Ëûû¿´µ½±ðÈË
    (RÔ(R)((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyRÚ
sc
Csítjƒjƒ}|tjkr%dS|jƒ}tjƒjƒ}tjdi|d6|d6dt    ƒ}|ssdS|j
ƒ}|j ƒ}| r| rdS|tj kr°dStj |}tjƒj ƒ}    tjƒjƒ}
tj||    ||
ƒ} | sdS| jƒ} tjƒ} tj| |f}tjƒj|ƒ}d}|jƒdkrm|jdƒ}n|r¢|r|j ƒ|krdStj|ƒqn||rÎ|j ƒ|kr¾dStj|ƒn| jtj|ƒ}tjdƒ}|||krdS| jtj||ƒ|r*|n|}|s:dStj|}| j|ƒ}||d krtjd    ||    |
||||fƒdS|j |tj!d
t    ƒt"||ƒ| j||ƒtjd ||    |
||f|ƒdS( NRÀRÁRÂRÃiRÅi2ièsxCrossBossRefresh mapID=%s,realMapID=%s,copyMapID=%s,refreshMark=%s,rebornNPCID=%s,tick=%s,lastRebornTick=%s ²»Öظ´Ë¢Ð£¡isUCrossBossRefresh mapID=%s,realMapID=%s,copyMapID=%s,refreshMark=%s,rebornNPCID=%s,OK!iPÃ(#RR
RRtDef_CrossMapIDListRR7R·RÍR@RÎRÏtDef_CrossZoneTableNamet GetRealMapIDt GetCopyMapIDtGetIpyGameDataNotLogt    GetZoneIDRPR1t,Def_Notify_WorldKey_GameWorldBossRebornCrossR0R×R8RØR RÙRTRÝRÞRXR<RAR>R?R*(RRR½R(Rßt bossIpyDataRäRãt    tableNamet    realMapIDt    copyMapIDt zoneIpyDatatzoneIDRZRêRéR)RîRïRðt rebornTickKeyRò((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyRÇsp &               cCs[tjd|ƒ}|sdS|jƒ}|rA||jƒfgS|jƒ}|rW|SdS(NtNPCCustomRefresh(R·tGetIpyGameDatatGetRefreshNPCIDtGetTotalMaxCounttGetNPCIDCountList(t    refreshIDRåR^t npcCountList((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytGetNPCRefreshCountListks  c Cs‚tjd|ƒ}|sdS|jƒ}|jƒ}g}|rL|g}n6|jƒ}|jƒ}    |rs|}n|    r‚|    }n|stjd|ƒdSd}
t    |ƒdkrtj
ƒ} xVt dƒD];} t j |ƒ} | jtj| dfƒsÎ| }
PqÎqÎWn
|d}
|
dkr;tjd|ƒdSt|
||jƒ|jƒ|||jƒ|jƒ|jƒ|ƒ
dS(NRs*Ë¢¹Ö±êÊÔµãûÓÐÅäÖÃҪˢеÄNPCIDÐÅÏ¢£¡ID=%siidis&ÎÞ·¨»ñµÃÖ¸¶¨µÄË¢¹Ö±êÊԵ㣡refreshID=%s(R·RtGetRefreshMarkInfoRtGetRandNPCIDListRRRoR×RpRPRºRUtchoiceRTRtDef_RMark_NPCIDt SetNPCRefresht GetMaxCountRtGetIsLineOneOnlyt GetIsRepeatRu(RtangrytisStarttrefreshRightNowRåt    rMarkListR^t    npcIDListt randNPCIDListRR{RZt_trandMark((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytSetNPCRefreshByIDys@               
 !"ic  Cs²tjƒ} t|tƒsdSt|
ƒ} | dkrðtjƒ} g}xNtd| jƒƒD]7}| j|ƒ}|j    ƒ|
kr_|j
|ƒq_q_Wt|ƒ}| j t j |ƒx4t|ƒD]#\}}| j t j||ƒqÆWnt|ƒ}| j t j||ƒx~t|ƒD]p\}}t|tƒrJ|}d}n |\}}| j t j||f|ƒ| j t j||f|ƒq W| j t j||ƒ| j t j||ƒ| j t j|dƒ| j t j||ƒ| j t j|t|ƒƒ| j t j||ƒ| j t j|t|ƒƒ|rTt|ƒntjd||||||||||    f
ƒ|r®|    r®tjƒjƒ}t|ƒndS(Nis~ÉèÖñêʶµãÐÅÏ¢£ºmark=%s,npcList=%s,max=%s,tMax=%s,angry=%s,start=%s,lineOneOnly=%s,repeat=%s,refreshTick=%s,refreshRightNow=%s( RRPt
isinstancetlistRpR RRRRtappendRXRtDef_RMark_TotalForcePointCntt    enumeratetDef_RMark_ForceRefreshPointtDef_RMark_NPCListLentintR tDef_RMark_NPCIDCnttDef_RMark_MaxCnttDef_RMark_TotalMaxCnttDef_RMark_RefreshCnttDef_RMark_AngryCounttDef_RMark_LineOneOnlytDef_RMark_RefreshTicktDef_RMark_IsRepeattStartNPCRefreshRYR
tGetTickR(R{RR`t totalMaxCntRRt isLineOneOnlytisRepeatRRtisForceRefreshListRZtpointCntRtrecordPointListRRttotalCnttindexRtnpcIDLentnpcInfoR^tnpcCntR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyR ±sN           !     &  cCs'tjƒ}|jtj|dƒdS(Ni(RRPRXRtDef_RMark_State(R{RZ((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyR*ãs cCsbtjƒ}|jtj|ƒs&dS|jtj|dƒtj||ƒtjd|ƒdS(NisCloseNPCRefresh rMark=%s(    RRPRTRR7RXRxtOnCloseNPCRefreshRA(R{RRZ((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytCloseNPCRefreshës cCsOtjƒ}x<t|jƒƒD](}|j|ƒ}t|jƒ|ƒqWdS(N(RR RºRRR9R(RRRR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytCloseFBCustomRefreshõs
 cCstjƒjtj|ƒS(N(RRPRTRR%(R{((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytGetHadRefreshCntýsc Csõtjƒ}|jƒ}tj|}|j|ƒdkr>dStj|}|j|ƒrvtjƒjƒdkrvdS|jtj    |ƒ}|jtj
|ƒ}|jtj |ƒ}    |jtj |ƒ}
|jtj |ƒ} |jtj|ƒ} |jtj|ƒ} |jtjƒ}|dk}| dkr>dSg}||jƒ}| spt||    |
ƒ}n|rÂx1t|ƒD]#}|j|jtj|ƒƒqƒW||krÂ|}qÂn|dkrô|jƒdkrð|jdƒndS|jƒ}|dkr|j|ƒnt}|dkrž||jƒ|dkrž|r—||kr—|jƒdkr—|jtj|ƒdkr—|jtj|dƒxE|D]=}|jtj|ƒ}|sÌdStjd||fƒq¦W|jtj|dƒ|jtjƒd}|jtj|ƒ|t|ƒkr›xX|D]M}|jtjdƒ|jtj|dƒ|jtj|dƒt}q@Wq›q?dSn¡|r?|jtjdƒ|jtj|dƒ|jtj|dƒ|jtj ƒd}|t|ƒkr)|jtj dƒt}q?|jtj |ƒn|r|jtj!ƒd}|jtj!|ƒt"j#||ƒn|jtj$|dfƒ}|jtj%|dfƒ}|dkrsxÏt| ƒD]š}|jtj$||fƒ}|jtj%||fƒ}|dkr"qÒntjd||| |fƒ|j&|| |tƒt'||ƒ|
|7}
qÒWn$| dkr'xt|ƒD]”}t(j)d| dƒ}|jtj$||fƒ}|dkrÖqŒntjd||| dfƒ|j&|| dtƒt'||ƒ|
d7}
qŒWnp|jtj$|dfƒ}|sMdStjd||| |fƒ|j&|| |tƒt'||ƒ|
|7}
| s·|jtj ||
ƒntjd|
|    fƒ|
|    krñ| rñt*||ƒndS(    Niiièsͨ¹ý£¡£¡£¡£¡---%s--mark:%ss7Ö¸¶¨Ë¢¹Ö£ºrMark=%s,npcID=%s,angryCount=%s,refreshCnt=%ss7Ëæ»úË¢¹Ö£ºrMark=%s,npcID=%s,angryCount=%s,refreshCnt=%ss7µ¥Ö»Ë¢¹Ö£ºrMark=%s,npcID=%s,angryCount=%s,refreshCnt=%ssÒÑˢйÖÎï=%s,total=%s(+RRPRRR7RTR'R
R7R(R#R$R%R R&R)RR8tminRºRRRutSetRefreshTickR@tDef_RMark_HasRefreshPointRXtDef_RMark_HasRecordPointRAtDef_RMark_PassCntRpRÔtDef_RMark_TimePassCnttDef_RMark_RefreshStepRxtOnPointRefreshR R"R>R*RURVR9(RRRRZR{t rMarkStateKeytisLineOneOnlyKeyRt    curMaxCntR,R‘t
npcListLent
angryCountR.t totalForceCnttisForcet    indexListt
needNPCCntR3RLtneedSyctpointtmarktpassCnttpoint2t timePassCnttrefreshR^R6RtnpcIndex((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyRsÔ    '  !     &.                         
c CsK|jƒ}tjddiƒ}||kr1dS||}tjƒ}|jtjƒ}|rs||dkrsdS|jtj|ƒtj    ƒ}|j
|j }}    g}
x¿|j ƒD]±\} } | d} |jtj | ƒ}| d}|r%|r%||dks¸|    dkrq¸nd} n|rE||| dkrEq¸n|jtj | |ƒ|
j| ƒq¸W|
swdSi}i}tjƒ}xet|jƒƒD]Q}|j|ƒ}|jƒ}|jƒ}|j|dƒ|||<|||<q¢WxM|
D]E} || d \}}}}d}x$|D]}||j|dƒ7}q+W||}|dkrgqþntj|ƒxÌ|D]Ä}||kr“q{n|dkr£Pn|j|dƒ}||krÇq{nt|||ƒ}||8}t|ƒdkr|dn tj|ƒ}||}|j|tj|tƒt||ƒq{WqþWdS(    sŸ µØÍ¼×Ô¶¨ÒåËæ»úË¢¹Ö£¬Ö§³Ö¶àµãËæ»úË¢¶àÖÖ¹Ö£¬±êÊԵ㲻¿ÉÖØ¸´£¬Ö§³Ö¿ç·þµØÍ¼
            ×¢Ò⣺ͬ¸öÐéÄâÏß·ÖУ¬±êÊԵ㲻¿ÉÖØ¸´£¡±êÊԵ㲻¿ÉÖØ¸´£¡±êÊԵ㲻¿ÉÖØ¸´£¡
    tRandomRefreshNPCiNièiiiiA(RR·R¸RRPRTRtDef_RMark_RandomRefreshNPCTickRXR9R:R;titemst!Def_RMark_RandomRefreshNPCNumTimeRR RºRRR8RR6RUtshuffleR<RpR R>tDef_NormalNPCAngryCountR@R*( RRR½trandRefreshNPCDicttmapRandRefreshNPCDictRZt lastCheckTickt
serverTimetcurHourt    curMinutetrefreshNumListtnumt refreshInfot    refreshCDt numLastTicktperHourst npcCountDicttrMarkNPCRefreshDictRRRtnpcCountR{RtmarkListtmaxCountt totalMaxCountt curTotalCountt refreshCounttcurCounttneedRefreshCountR^((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytProcessMapRandomRefreshNPCŠsx  
 
 
          
 
+
(MRR R1R4RÉRÌRÛRR·RRrRxRUttimeRRR*R,R-R.R+RNRORMReRfRgRhRdR–R—R˜R™RšR›RœRRžRŸR R¡R¢R£R¤R¥R¦R§R¨R©RªR«R¬R­R®R¯R°R±R²R³R´RµR¿R•RÚRÇRRZRÔRR@R R*R9R:R;RRq(((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt<module>s”                                       ;            ,                    m                                                                                                                                        „        N    8 1        
            †