hxp
2018-09-21 56ed601a99f7967c0738c5a456abd8f3e45ae4c6
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
Ÿ¥[c@s9ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZejƒadZdad„Zd„Zd„Zd„Zdd„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 „Z1ddd!„Z2ddd"„Z3ddd#„Z4d$„Z5d%„Z6d&„Z7d'„Z8d(„Z9d)„Z:d*„Z;d+Z<d,„Z=d-„Z>d.„Z?d/„Z@d0„ZAd1„ZBd2„ZCd3„ZDd4„ZEd5„ZFd6„ZGd7„ZHd8„ZId9„ZJd:„ZKd;„ZLd<„ZMdd=d>„ZNd?„ZOd@„ZPdA„ZQdB„ZRdC„ZSdD„ZTdE„ZUdF„ZVejWdG„ZXejWdH„ZYejWdI„ZZdJ„Z[dK„Z\dL„Z]dM„Z^dN„Z_dO„Z`dejbdP„ZcddQ„ZdddR„ZeddS„ZfdT„ZgejbdU„ZhdV„ZidW„ZjdX„ZkdY„ZldZ„Zmd[„ZndS(\iÿÿÿÿNticCsb|jdƒ}t|ƒdkr%dSx6|D].}t||ƒtkrKdSt||ƒ}q,W|S(Ns.i(tsplittlentNonethasattrtTruetgetattr(t
curCallObjtcallNametcallListt curCallName((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytParseNameGetObj>s cCs9t||ƒ}|dkrdSt|ƒtkr5dS|S(N(R RtcallableR(RR((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt GetExecFuncQs  cCsttj|ƒƒS(N(tinttmathtceil(tx((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt GetFloatUpperascCsttj|t|ƒƒƒS(N(RRRtfloat(Rtdiv((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt GetIntUpperiscCs-yt|ƒ}|SWntk
r(|SXdS(N(Rt
ValueError(tinputtdefValuetresult((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytToIntDefqs
  cCsH|jƒ|jƒkrtS|jƒdks@|jƒdkrDtStS(Ni(t
GetCountryRtFalse(tsrcObjtdesObj((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt IsSameCountry~s
$cCs|jƒdkrdStS(NiiZ(iiZ(t
GetGMLevelR(t    curPlayer((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytIsGM‹scCs&ttƒƒ}|jdƒd}|S(Ns.i(tstrt GetServerTimeR(t
curTimeStr((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetCurrentDataTimeStr–scCsb|jƒjdƒd}ytjj|tjƒSWn(tk
r]}td||fƒdSXdS(Ns.is%s : %s(tstripRtdatetimetstrptimetChConfigtTYPE_Time_Formatt BaseExceptiontLog(ttimeStrte((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetDateTimeByStrŸscCs_|jƒjdƒd}ytjj||ƒSWn(tk
rZ}td||fƒdSXdS(Ns.is%s : %s(R'RR(R)R,R-(R.t
timeFormatR/((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetDateTimeByFormatStr®scCs
tjƒS(N(t GameWorldDatatGetGameWorldEventManager(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR4¼scCstS(N(R3(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt GetGameWorldÄscCs
tjƒS(N(R3tGetPlayerManager(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR6ÌscCs
tjƒS(N(R3tGetTeamManager(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR7ÔscCs
tjƒS(N(R3tGetTruckManager(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetTruckManangerÜscCs
tjƒS(N(R3tGetFamilyManager(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR:äscCs
tjƒS(N(R3tGetBillboardManager(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt GetBillboardìscCs
tjƒS(N(R3tGetAllMailList(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetMailManagerõscCs
tjƒS(N(R3tGetFamilyTechMgr(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetFamilyTechManagerýscCs
tjƒS(N(R3t GetVSRoomMgr(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetVSRoomManagerscCs
tjƒS(N(R3tGetVsRewardMgr(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetVsRewardManager scCs
tjƒS(N(R3tGetFamilyActionMgr(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetFamilyActionManagerscCs
tjƒS(N(R3tGetFBPassRecMgr(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetFBPassRecManagerscCs
tjƒS(N(R3tGetUniversalRecMgr(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRI&scCs
tjƒS(N(R3tGetBourseManager(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRJ.scCs
tjƒS(N(R3tGetHighLadderManager(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetHightLadderMgr6scCs
tjƒS(N(R3tGetCompensationMgr(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRM>scCs%tƒrt|ƒdSt|ƒdS(N(t__GetPsycoIsOpent PsycoReloadt
__DoReload(ttick((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytDoReloadGs
    
 
cCs¥xztjjƒD]i\}}yFtƒjdƒdkrW|dkrWtd|ƒwnt|ƒWqtk
rxqqXqWtƒjddƒt    dt
ƒƒdS(NtReloadit
PyGameDatas    ²»ÖضÁ %ssReload Begin : time = %s(s
PyGameData( tsystmodulestitemsR5t GetDictByKeytDebugLogtreloadt    ExceptiontSetDictR-R&(RQtnamet
reloadPath((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRPUs$  cCstjd|||fƒdS(Ns%s    %s    %s(tLogUItMsg(tmsgtplayerIDtpar((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR-hscCstjd|||fƒdS(Ns%s    %s    ###Error:%s(R_R`(RaRbRc((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytErrLogrscCs1tƒjƒsdStjd|||fƒdS(Ns%s    %s    PyDebug:%s(R5t GetDebugLevelR_R`(RaRbRc((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRY{scCsÎtsÊtjƒ}|d}tjj|ƒsOtd|ƒtd|ƒ‚ntjƒ}|j    |ƒd\}}|j
||ƒs¡td|||fƒdSt |j ||ƒƒat dtƒntS(    NsT\ZoneServerGroup\rungate\InterfaceServer\MultiServerWarProxyServer\Config\config.inisÎÞ·¨ÕÒµ½Îļþ = %stConfigtServerIDs#%s ÕÒ²»µ½ÅäÖÃ: section=%s,option=%sis¶ÁÈ¡ MergeServerID=%s(RfRg(t MergeServerIDR*tGetServerRootPathtostpathtisfileRdR[t ConfigParsertreadt
has_optionRtgetR-(trootPathtmergeServerIniFiletmergeServerInitsectiontoption((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetMergeServerID†s 
   cCs tƒjƒS(N(R5tGetServerVersion(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRw¡scCs^tƒ}t|ƒ}|sdStdtd|ƒƒ}tdtdtƒƒƒ}|d|S(NiiiÐi?Bi@B(t GetPlatformtGetPlatformServerNumtmaxtmint GetServerID(tplatformt    serverNumtserverID((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetServerGroupID¤s     cCstjdƒ}|j|dƒS(Nt DBPlatformNumi(t ReadChConfigtGetDBEvalChConfigRp(R}tplatformNumDict((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRy²scCstjddƒS(NR}t PlatformName(R‚tGetPyMongoConfig(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRx¿scCsttƒddƒS(Nii(Rt GetServerSID(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR|ÅscCstjddƒS(NR}Rg(R‚R†(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR‡Èss@cCsC|jƒ}|jtƒ}t|ƒdkr1dSt|ddƒS(Niiiÿÿÿÿi(tGetAccIDRtDef_AccID_Split_SignRR(R!taccIDtinfoList((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetPlayerServerIDÒs cCs9|jƒ}|jtƒ}t|ƒdkr1dS|dS(NiRiÿÿÿÿ(RˆRR‰R(R!RŠR‹((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetPlayerServerSID×s cCs6ttjdd|ƒdƒ}|dkr/|StƒS(NR}s%sMainServerID(RR‚R†RR|(t accIDPlatformt mainServerID((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetPlayerMainServerIDÝs cCs-|jtƒ}t|ƒdkr%dS|dS(NiRiþÿÿÿ(RR‰R(t    gameAccIDR‹((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetPlayerPlatformæscCs,|jtƒ}|d }tj|ƒ}|S(Niþÿÿÿ(RR‰tjoin(R‘R‹t
paInfoListt platformAccID((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetPlatformAccIDës
cCst|ƒ}|jddƒS(Nt channel_codeR(t GetUserDataRp(R!t userDataDict((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetPlayerChannelCodeôs cCsd|jƒ}|siSyt|ƒ}Wntd|ƒiSXt|tƒs`td|ƒiS|S(Nsdata error UserData = %sstype error UserData = %s(R˜tevalRdt
isinstancetdict(R!tplayerUserDataStrtcurPlayerUserData((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR˜ýs cCs"| s|jƒ rdS|jƒS(Ni(t    GetInitOKt GetRealMapID(t    tagPlayer((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetQueryPlayerMapIDscCs_|jƒs|St|ƒ}tjjƒ}|tjd||ƒ}d|j|j|jfS(s°»ñÈ¡ÔËÓª»î¶¯¶ÔÓ¦ÈÕÆÚ£¬´æÊý×Ö´ú±í¿ª·þÌìÅäÖã¬ÐèҪת»¯Îª¶ÔÓ¦µÄÈÕÆÚ
    @param dateInfo: ÔËÓª»î¶¯±íÅäÖõÄÈÕÆÚÐÅÏ¢, Èç¹ûÊÇ´¿Êý×Ö´ú±í¿ª·þÌì
    @param openServerDay: µ±Ç°¿ª·þÌì
    tdayss%d-%d-%d(tisdigitRR(ttodayt    timedeltatyeartmonthtday(tdateInfot openServerDaytactionServerDayt curDateTimetactionDateTime((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetOperationActionDateStrs   cCs tjjƒS(N(R(R¦(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR$+scCs9tƒ}t|ƒ}|dks-|dkr1dS||S(N(R$R0R(tcompareTimeStrt curDataTimetcompareDataTime((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt__GetPastTimeDelta2s
     cCs1t|ƒ}|dkr*td|ƒdS|jS(NsGetPastDay Err dateTimeStr = %si(R´RRdR¤(t dateTimeStrt pastTimeDelta((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt
GetPastDayAs
  cCs@t|ƒ}|dkr*td|ƒdS|jd|jdS(Ns GetPastHour Err dateTimeStr = %siii(R´RRdR¤tseconds(RµR¶((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt GetPastHourOs
  cCsDt|ƒ}|dkr*td|ƒdS|jddd|jS(Ns#GetPastSeconds Err dateTimeStr = %siii<(R´RRdR¤R¸(RµR¶((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetPastSeconds]s
  cCsWtƒ}|j|ƒ}|dkr(tS||tj|krCtS|j||ƒtS(Niÿÿÿÿ(R5t GetTickByTypeRR*tTYPE_Tick_Timet SetTickByTypeR(tkeyRQtworldMgrtlastTick((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytSetWorldDictKeyls     cCs]t|ƒ}|j|ƒ}|s5|j||ƒtS|||krItS|j||ƒtS(N(R#RXR\RR(R!R¾RÀRQtcurPlayerKeyValue((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytSetPlayerDictKeys cCsbd|}|j|ƒ}|s3|j||ƒtS||tj|krNtS|j||ƒtS(NsPlayer_Tick_%s(RXR\RR*tTYPE_Player_Tick_TimeR(R!ttickTypeRQtdictKeyRÀ((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytRefurbishPlayerTick–s
icCs*tƒj|d|tj|f|ƒdS(Ns%s%s%s(R5tSendMapServerMsgt ShareDefinetDef_Notify_Separator(tkeyNametvaluetmapIDtrouteServerIndex((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytSendMapServerMsgEx¯s&cCs‚g}xutjjƒD]d\}}|tjkr7qntj|d}||krZqn|j|ƒt||||ƒqWdS(Ni(RTtg_commMapLineRouteDictRWtg_commMapLineInfotappendRÏ(RËRÌt sendMapIDListt mapLineInfoRÎt    realMapID((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytSendCommMapServerMsg³s  cCsTt|d|ddƒ}tt||dƒdƒ}t|||ƒ}||fS(Nii(RzR{(t viewPageIndext singePageCntttotalCnttendIndext
startIndex((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt GetViewPageBeginIndexAndEndIndexÆscCstƒtjd|ƒS(NR¤(R$R(R§(tdiffDays((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetDatetimeByDiffDaysÓscCs|S(N((tfunc((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt GetPsycoFuncÛscCs tjdƒS(Nt PsycoSwitch(R‚tGetEvalChConfig(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRNèscCs~ttj|ƒsdSg}x7tjjƒD]&}|j||jdƒdgƒq,Wttj    d|ƒt
dt ƒƒdS(Ns.iÿÿÿÿRsPsycoReload Begin : time = %s( RÁR*tTYPE_ReloadScriptRURVtkeysRÒRt
TravelFiletGameServerPathR-R&(RQtmoduleNameListt
moduleName((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyROïs$cCsØxÑtj||ƒD]¼}|jdƒr/qn|jdƒd}xN|D]F\}}||krgqIntjj|ƒ}|s…qInt|ƒqIWtjj    ||d|ƒrt
||d|d|ƒqqWdS(Ns.is\( Rjtlistdirt
startswithRRURVRpRZRktisdirRå(t
scriptPathtfilePathRçtfileNamet curModuleNamet
reloadNameRètmodule((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyRås #cCsMt|dƒd}t|dƒdd}t|dƒd}|||fS(Nièii<(R(t    inputTimet curTimeHourt curTimeMinutet curTimeSecond((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytChangeInputTimescCstj|tj|ƒƒS(N(ttimetstrftimet    localtime(ttimeNumR1((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytChangeTimeNumToStr)scCs.tj|tj|ƒƒ}tjj||ƒS(N(R÷RøRùR(R)(RúR1R.((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytChangeTimeNumToDatetime/scCs.tjj||ƒjƒ}ttj|ƒƒS(N(R(R)t    timetupleRR÷tmktime(R.R1((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytChangeTimeStrToNum6scCstjjƒtjd|ƒS(NR¤(R(R¦R§(RÝ((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetDatetimeBySubDays?scCstjƒ}|jddƒS(NtIsMergeWarServei(t
GameConfigt    GetConfigRp(tconfig((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt IsMergeServerFs cCs2tjƒ}|jdƒs*|jdƒr.tStS(Nt MergeServerIPR(RRRpRR(R((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt IsMergeOpenNs cCsO|jƒjƒ}|jƒjƒ}tjdƒ}t|jddƒƒ}|S(Nt AreaNameInfotNameExprR(tGetAccountInfot GetOperatort    GetAreaIDR‚RâR›Rp(R!toperatortareaIDt areaNameInfotareaName((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt GetAreaNameWs
cCst|ƒ}tj|ƒS(N(RtCommFunct    GetStrCrc(R!R((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt
GetAreaCrces c CsÈttjdƒƒ}|\}}}}}||ksB|dkrZtd||fƒdSt||ƒ}    |    r~|    \}}n|t|ƒ}
t|
ƒ|krÄtd||
t|
ƒ|fƒdS|
S(NtRoleNameFormatisMGetPlayerFullName serverID=%s error! maxServerID=%s, check RoleNameFormat.txtRsMGetPlayerFullName playerName=%s,È«Ãû=%s len=%s > %s, check RoleNameFormat.txt(R›R‚t GetChConfigRdtGetDictValueByRangeKeyttupleR( R!t
playerNameRtroleNameFormatt
nameFormatt    paramListtmaxLent maxServerIDtspecServerDicttnameFormatInfotfullName((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetPlayerFullNameks cCs"tjd|ƒ}t|||ƒS(Ni(trandomtrandinttGetResultByRiseList(trandListRt maxRateValuetrate((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetResultByRandomListscCs0x)|D]!}||dkr#qn|dSW|S(Nii((triseListtpointRt    smallList((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR%‹s
     cCsT||kr||Sx9|jƒD]+\}}t|tƒr!||kr!|Sq!W|S(N(RWRœR(tattrDicttfindKeyt defaultValueR¾RÌ((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetDictValueByKey–s  cCs~||kr||Sxc|jƒD]U\}}t|tƒr!t|ƒdkr!|d|kom|dknr!|Sq!W|S(Niii(RWRœRR(tsrcDictR.R/trangeKeyRÌ((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR£s  EcCsftj|ƒ}xC|jƒD]5\}}||kr:qn||j|ƒ||<qW|j|ƒ|S(N(tcopytdeepcopyRWtpoptupdate(tadicttbdictR¾RÌ((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytCombineSumDict®s  cCs$tjd|dƒ|kr dSdS(Nii(R#R$(R(tmaxRate((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt    CanHappen½scCs9t|ƒ|jtjƒjtƒƒ}|j|ƒdS(sתÂëºóÔÙ·¢DebugAnswerN(RYtdecodeRÉtDef_Game_Character_EncodingtencodetGetCharacterEncodingt DebugAnswer(R!ttext((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR@Ãs
 cCstjd|ƒS(NtChinMap(t IpyGameDataPYtGetIpyGameData(RÍ((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pytGetMapÎscCstjd|ƒS(NtChinNPC(RCRD(tnpcID((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt
GetNPCDataÐscCs7tjdƒ}t|ƒdkr/tdƒdS|dS(Nt EncodingTexisEncodingTex.txt Error len != 2tutf8i(R‚RâRRd(t encodingList((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyR?Ós
 
cCs^tjdƒ}t|ƒdkr/tdƒ|Sy |jtjƒjtƒƒSWn|SX|S(NRIisEncodingTex.txt Error len != 2(    R‚RâRRdR<RÉR=R>R?(t    inputTextRK((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt    GbkToCodeÝs
 cCs^tjdƒ}t|ƒdkr/tdƒ|Sy |jtƒƒjtjƒSWn|SX|S(NRIisEncodingTex.txt Error len != 2(    R‚RâRRdR<R?R>RÉR=(RLRK((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt    CodeToGBKìs
 (otIPY_GameServerR_R*RCRTR‚RmRRÉRR(RjRRUR÷R#R3t IPY_GameWorldR3tServerRootPathRhR R RRRRR"R&R0R2R4R5R6R7R9R:R<R>R@RBRDRFRHRIRJRLRMRRRPR-RdRYRvRwR€RyRxR|R‡R‰RŒRRR’R–RšR˜R£R°R$R´R·R¹RºRÁRÃRÇRÏRÖRÜRÞRàRNRORåRöR+RûRüRÿRRRRRR"RtDef_MaxRateValueR)R%R0RR9R;R@RERHR?RMRN(((sME:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorld.pyt<module>sÔ