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
¡WÁ[c@s*ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
dZ e e ƒ\Z ZZZZdZiaiad„Zd„Zdd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Z dS(iÿÿÿÿNiiþÿÿÿcCs
iadS(N(tg_FMTGeTuiLimit(((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pytClearFMTGeTuiLimit.scCs[|jdƒ}t|ƒdkr%dS|djdƒ}t|ƒdkrNdStj|ddƒ}tj|ddƒ}|dks’|dkr–dS|dks®|dkr²dS|djdƒ}t|ƒdkrÛdStj|ddƒ}tj|ddƒ}|dks|dkr#dS|dks;|dkr?dS|d|d    |d
|S( Ns-iis:iii<i@Bi'id(tsplittlent    GameWorldtToIntDef(ttimeStrttimeListtnumListtnum1tnum2tnumList2tnum3tnum4((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pyt GetTimeLimit4s,c    Cs|jddƒstS|jddƒs,tStjƒ|jddƒdkrRtS|jddƒsx|dkrttStS|tkrt}n|dkrÅ|jtjdƒtd|ƒ@dkrÅtS|jtjdƒtdt    ƒ@dkrñtS|jtj
dƒ}t j ƒ}t |ƒjƒd}yld    ||d
|d d f}tjj|d ƒ}d    ||d d |d f}tjj|d ƒ}WntSX||kr¯tS||krÚ||krþ||krþtSn$||koñ|knrútStStS(Nt GeTuiClientIDttTimeiii<tVIPLVis%s %s:%si@Bi'ids%Y-%m-%d %H:%Mi i€Q(tgettFalsettimetTruet Def_GeTui_FMTtDef_Onoff_BosstChConfigtDef_PDict_GeTuiSettpowtDef_Onoff_TimetDef_PDict_NoGeTuiTimeRt GetServerTimetstrRtdatetimetstrptime(    t playerCachet    geTuiTypet    limitTimttcurTimetdateStrt startTimeStrt    startTimet
endTimeStrtendTime((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pyt CheckCanGeTuiWsF"      4(   cCst|s
dStjddƒ}tj|dtƒ}tji|d6|d6ƒ}tjƒj    |dddd|ƒdS(NtGeTuitGeTuiUrlt ensure_asciit
PlayerInfot    NotifyMsgRi(
t ReadChConfigtGetPyMongoConfigtjsontdumpsRturllibt    urlencodeRt GetGameWorldtEventReport_EventReport(t    appIDDictt    notifyMsgtgeTuiUrlt
playerInfotpostInfo((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pyt GeTuiNotify¤s"cCsœtjƒjtj|ƒdkr&dStjd|ƒ}|sBdS|jƒdkrXdS|jƒ|krndSt||ƒtjƒj    tj|dƒdS(NitBOSSInfoi(
RR7t GetDictByKeyRtDef_WorldKey_BossIsGeTuit IpyGameDataPYtGetIpyGameDatatGetRebornPreNotifyTimetBossAttentionGeTuitSetDict(tbossIDt rebornSecondtbossData((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pyt    GeTuiBoss³s" cCs`tjd|ƒ}|sdStjƒjtj|dƒ|jƒdkrOdSt||ƒdS(NR?i(    RBRCRR7RFRRARDRE(RGRI((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pytGeTuiBossRebornÉs cCs|tkr›|jdtjdƒs)tS|tkrBit|<nt|j|dƒ}|dkr~tjƒ|dkr~tSttjƒƒt||<nq|tkr t    j
ddiƒ}xM|j ƒD]<\}}||krçqÉn|jd|dƒstSt SqÉWnt S(Ns
CntMark_%siitKillBossCntLimiti( RRRtDef_FBMapID_SealDemonRRRtintRRBtGetFuncEvalCfgtitemsR(tplayerIDRGR#t    cacheDicttlastTimetkillBossCntLimitDicttbidlisttbkey((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pytCheckBossGeTuiCntÝs$   "   cCs'|jƒtjkrt}nt}tjƒjƒ}i}x2|jƒD]$\}}t    j
ƒj |ƒ}|r†t j |ƒ r†qInt|jƒ}|j|dƒd
kr³qIntjj|ƒ}    |    sÑqInt|    jƒƒ}
t|
|ƒsøqInt||||
ƒsqIn|
jddƒ} | |kr>g|| <n|| j|
jddƒ|
jddƒgƒqIW|s{dSt    j|ƒjƒ} t    j|ƒjƒ} |tkrÙt    jtjddƒ| | fƒ}n=|tkrt    jtjdd    ƒ|jƒ| | fƒ}nt||ƒdS( Nii    tAppIDRRtNamet GeTuiOffLineii(ii    ( tGetMapIDRRMRRt PyDataManagertGetBossAttentionManagertGetBossAttentionDictRPRtGetPlayerManagertFindPlayerByIDt PlayerControltGetIsTJGtevalt
RecordDataRtPlayerViewCachet ViewCacheMgrt    FindCachet GetPropDataR+RWtappendt
GetNPCDatat
GetNPCNametGetLVt    GbkToCodeRBt
GetFuncCfgt GetSourceNameR>(RIRGR#tpdictR9RQtbossAttentionDatat    curPlayert
recordDicttcurCacheRRtappIDtnpcNametnpcLVtshowStr((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pyREüsB      3 ( 1cCs™tjj|ƒ}|sdSt|jƒƒ}t|tƒsAdStjt    j
ddƒƒ|}t i|j ddƒ|gg|j ddƒ6|ƒdS(NRZiRRRX( ReRfRgRcRhR+tDef_Onoff_ChatRRmRBRnR>R(RQt
playerNamet tagPlayerNameRtRRRx((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pyt ChatMiGeTui2s5cCsdtj|ƒrdS|jƒdkr)dS|jƒ}|jƒ|jƒ|tj|ƒgt|<dS(Nid(    Rat
GetTJGTimeRltGetIDtGetNametGetGeTuiClientIDRtGetPlayerPlatformtg_NewGuyNoTJGTime(RrttickRQ((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pytNewGuyCallBackGeTuiAs cCs!|tkrdStj|ƒdS(N(R‚tpop(RQ((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pytCleanNewGuyCallBackGeTuiMs cCsütjtj|ƒsdSg}i}xƒtjƒD]u\}}||ddkrXq2n|j|ƒ|d}||krˆg||<n||j|d|dgƒq2W|sµdStjtj    ddƒƒ}t
||ƒx|D]}t |ƒqäWdS(Niià“iiiRZi( RtSetWorldDictKeyRtTYPE_WorldNewGuyGeTuiTickR‚RPRiRmRBRnR>R†(Rƒt playerIDListR9RQt    getuiInfoRuRx((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pytProcessNewGuyCallBackGeTuiUs& 
  #  (!RR1RBR ReR5RRaR\RR3tDef_Onoff_VIPCounttrangeRRRytDef_Onoff_TJGDeadtDef_Onoff_TJGTimeLessRR‚RRRR+R>RJRKRWRER|R„R†R‹(((sVE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerGeTui.pyt<module>s6                   # M                    6