cehua_lyf
2019-03-06 3c8ee0a8a524a6251d7d5aae2372e76fd8a99b9c
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
_ºc\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=ej>e?e?d3„Z@d4d4ej>e?eAeAde?gd5„    ZBd6„ZCd7„ZDd8„ZEd9„ZFd:„ZGd;„ZHdS(<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__RandomMapNPC(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_82escCs t||ƒS(N(R+(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_83fsc 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_RandomMapNPCPerMaxCnttGetGameFBDictByKeytGetCounttDebugLogtrandomtrandinttRefreshtDef_SuperBossAngryCounttFalseR*tmaxt SetGameFBDicttLog( RRR(tgameFBtnpcIDKeyt
needCntKeyt perMaxCntKeytnpcIDtneedCnttmaxCnttcurCntt    curCanCntt
updNeedCnt((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyR+hs0       
  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(RG(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_85•scCs t||ƒS(N(RG(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_86–scCs t||ƒS(N(RG(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(RRR.RtMap_TDNPC_RefreshStartTickR2tMap_TDNPC_RefreshBigWheelNumtMap_TDNPC_RefreshSmallWheelNumtMap_TDNPC_CurWheelIsOvertMap_TDNPC_RefreshFileNumtMap_TDNPC_RefreshSignKeyt ReadChConfigtGetEvalChConfigR;tErrLogtlentMap_TDNPC_CurWheelStartTicktFBCommontDef_TDCfg_PrepareTimeR3tDef_TDCfg_SmallWheelSpacetGetRefreshTickR4tDef_SummonNPC_Angry_CountR7R9R*tMap_TDNPC_AllWheelIsOvertFBLogictOnTDAllWheelOvertOnTDCurWheelOver(RRtrMarkR=t startTickKeyt    startTickt bigWheelNumt smallWheelNumtcurWheelIsOverKeytcurWheelIsOvertfileNumtsignKeytfileNametrefreshNPCDictt totalNPCListt
totalWheeltrefreshCfgListtbigWheelNPCListt wheelInfoListtcurWheelStartTickt prepareTimeRDt refreshTicktcurRefreshNpcIdListtrefreshNPCInfotcurNpcIdt
refreshCnttangryCnttisLastBigWheeltisLastSmallWheel((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyRG›s„     
 
 
 
  "
     
 
% cCst||ƒdS(N(t__DoRefreshWorldBoss(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_90scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_91    scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_92
scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_93 scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_94 scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_95 scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_96scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_97scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_98scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt NPCRefresh_99scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_100scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_180scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_181scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_182scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_183scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_184scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_185scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_186scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_187scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_188scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_189scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_190scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_191scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_192scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_193 scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_194!scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_195"scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_196#scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_197$scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_198%scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_199&scCst||ƒdS(N(Rz(RR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytNPCRefresh_200'sc    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 IpyGameDataPYtGetFuncEvalCfgR:RtGetGameFBByFbIndexR txrangeRRRR2RtMap_NPC_ActivityBossRebornCountR;R4(    tactivityLineIndextmapIDtactivityMapLineDictRR=RRRR(((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytResetActivityBossRefreshCount*s   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
t    GetLineIDRtDef_FBMapID_SealDemontGameLogic_SealDemontCurFBLineBOSSIDtDef_FBMapID_ZhuXianBosstGameLogic_ZhuXianBossRœtGetIpyGameDataByConditionR9t GetStoneNPCIDtGetNPCIDtGetRelatedTypet GetRelatedIDtGetIsNeedShuntR.t ShareDefinet$Def_Notify_WorldKey_DailyActionStatetGetGameWorldDictByKeytTruet'Def_Notify_WorldKey_GameWorldBossRebornRR:R2R R tIsMapNeedBossShunttNoneR3tGetAtt    SetDeadExtIsShuntBossNeedProcessR<t PlayerControltFBNotifytMap_NPC_WorldBossDeadTickt
GetFuncCfgR;tMap_NPC_WorldBossLastReBornTickR7R8R*R4(RRR¢R(tlineIDt relatedTypet    relatedIDt isNeedShunttbossIDt
stoneNPCIDtipyDataR=t gameWorldMgrtisActivityBosst    actionKeytrebornBossStatetbosskeyt rebornLineIDtactivityLineIDR£tactivityBossRebornCountR)t bossDeadTicktbossStoneDelayTimet rebornNPCIDtkeytlastRebornTick((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyRzDs´              &                     +$       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_CrossMapIDListRR­RœR³R9R´RµtDef_CrossZoneMapTableNamet GetRealMapIDt GetCopyMapIDtGetIpyGameDataNotLogt    GetZoneIDR.R¹t,Def_Notify_WorldKey_GameWorldBossRebornCrossR»R¿R3RÀR RÁR2RÅRÆR;RÇR4R7R8R*(RRR¢R(RÈt bossIpyDataRÍRÌt    tableNamet    realMapIDt    copyMapIDt zoneIpyDatatzoneIDR=RÓ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ÎRAt npcCountList((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytGetNPCRefreshCountList)s  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(NRês*Ë¢¹Ö±êÊÔµãûÓÐÅäÖÃҪˢеÄNPCIDÐÅÏ¢£¡ID=%siidis&ÎÞ·¨»ñµÃÖ¸¶¨µÄË¢¹Ö±êÊԵ㣡refreshID=%s(RœRëtGetRefreshMarkInfoRìtGetRandNPCIDListRîRRTR¿RUR.RŸR5tchoiceR2RtDef_RMark_NPCIDt SetNPCRefresht GetMaxCountRítGetIsLineOneOnlyt GetIsRepeatRZ(RïtangrytisStarttrefreshRightNowRÎt    rMarkListRAt    npcIDListt randNPCIDListRðR`R=t_trandMark((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytSetNPCRefreshByID7s@               
 !"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( RR.t
isinstancetlistRUR RRRRtappendR;RtDef_RMark_TotalForcePointCntt    enumeratetDef_RMark_ForceRefreshPointtDef_RMark_NPCListLentintRõtDef_RMark_NPCIDCnttDef_RMark_MaxCnttDef_RMark_TotalMaxCnttDef_RMark_RefreshCnttDef_RMark_AngryCounttDef_RMark_LineOneOnlytDef_RMark_RefreshTicktDef_RMark_IsRepeattStartNPCRefreshR<R
tGetTickR(R`RþRCt totalMaxCntRúRût isLineOneOnlytisRepeatRrRütisForceRefreshListR=tpointCntRtrecordPointListRRttotalCnttindexRtnpcIDLentnpcInfoRAtnpcCntR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyRöosN           !     &  cCs'tjƒ}|jtj|dƒdS(Ni(RR.R;RtDef_RMark_State(R`R=((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(    RR.R2RR R;R]tOnCloseNPCRefreshR4(R`RR=((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ŸRRR"R(RRRR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytCloseFBCustomRefresh³s
 cCstjƒjtj|ƒS(N(RR.R2RR(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(+RR.RRR R2RR
R­RR R RR    RRRR3tminRŸRRRZtSetRefreshTickR9tDef_RMark_HasRefreshPointR;tDef_RMark_HasRecordPointR4tDef_RMark_PassCntRUR¼tDef_RMark_TimePassCnttDef_RMark_RefreshStepR]tOnPointRefreshRõR R7R*R5R6R"(RRRR=R`t rMarkStateKeytisLineOneOnlyKeyRrt    curMaxCntRRvt
npcListLent
angryCountRt totalForceCnttisForcet    indexListt
needNPCCntRtlastRefreshTicktneedSyctpointtmarktpassCnttpoint2t timePassCnttrefreshRARRtnpcIndex((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyRÂsÔ    '  !     &.                         
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RR.R2RtDef_RMark_RandomRefreshNPCTickR;tGetCurrentTimethourtminutetitemst!Def_RMark_RandomRefreshNPCNumTimeRR RŸRRR3RtgetR5tshuffleR%RURôR7tDef_NormalNPCAngryCountR9R*( RRR¢trandRefreshNPCDicttmapRandRefreshNPCDictR=t lastCheckTickt
serverTimetcurHourt    curMinutetrefreshNumListtnumt refreshInfot    refreshCDt numLastTicktperHourst npcCountDicttrMarkNPCRefreshDictRRRtnpcCountR`RþtmarkListtmaxCountt totalMaxCountt curTotalCountt refreshCounttcurCounttneedRefreshCountRA((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pytProcessMapRandomRefreshNPCHsx  
 
 
          
 
+
(IRR R¹RRR¯R²RÃRRœRRWR]R5ttimeRRR*R,R-R+RHRIRJRKRGR{R|R}R~RR€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¤RzRÂR¬RñRHR¼RR9RöRR"R#R$RR_(((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\NPC\NPCCustomRefresh.pyt<module>sŒ                                   ,                    m                                                                                                                                        „        N    8 1        
            †