xdh
2019-03-06 c888c55a0e3d4e88e581b2ffae02462d78e57981
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
Ev\c @sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl mZddlZddlZddlZddlZddlZejdƒdZdad„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd d„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%dd„Z&d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,e j-d„Z.d„Z/d„Z0d „Z1d!„Z2d"„Z3d#„Z4d$„Z5d%„Z6d&„Z7ej8d'„Z9d(„Z:d)„Z;d*„Z<d+„Z=d,„Z>d-„Z?d.„Z@d/„ZAd0„ZBd1„ZCd2„ZDejƒZEejFƒZGejHƒZId3„ZJd4„ZKd5„ZLd6„ZMd7„ZNd8„ZOd9„ZPd:„ZQd;„ZRd<„ZSd=„ZTd>„ZUd?„ZVd@„ZWdA„ZXdB„ZYdC„ZFdD„ZZdddE„Z[dddF„Z\dddG„Z]dH„Z^dI„Z_dJ„Z`dK„ZadL„ZbdM„ZcdNZddO„ZedP„ZfdQ„ZgdR„ZhdS„ZidT„ZjdU„ZkdVZldW„ZmdX„ZndddddddddddY„
ZodZ„Zpdeqd[„Zrd\„Zsd]„Ztd^„Zud_„Zvddd`„Zxda„Zydb„Zzddc„Z{ddd„Z|de„Z}e~df„Zdg„Z€e~dh„Zdi„Z‚dj„Zƒdk„Z„dl„Z…dm„Z†dn„Z‡do„Zˆdp„Z‰dq„ZŠdr„Z‹ds„ZŒej8dt„Zej8du„ZŽej8dv„Zdw„Zdx„Z‘dy„Z’dz„Z“d{„Z”d|„Z•d}„Z–d~„Z—d„Z˜dd€„Z™e~gd„Zše~gd‚„Z›e~gdƒ„Zœe~d„„Zdddd…„Zždddd†„ZŸdddd‡„Z e~dˆ„Z¡d‰„Z¢dŠ„Z£dd‹dŒ„Z¤ddd„Z¥dŽ„Z¦dS(iÿÿÿÿN(tDecimaliÐticCsftjƒ||}t|ƒ}x?|D]7}t||ƒ}tjj|ƒrTq'nt|ƒq'WdS(N(tChConfigt
GetAppPatht__GetFuncFileNameListt__GetSysModulesScriptPathtsystmodulesthas_keyt
__import__(tpathDirt    importDirt
scriptPatht fileNameListtfileNamet
importPath((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt    ImportAllKs  cCsttƒ}|jƒ}||jtjƒtjtjkr?dS|jtj|ƒtƒrit|ƒdSt    ƒdS(N(
t GetGameWorldtGetTickt GetTickByTypeRtTYPE_Map_Tick_ReloadScripttTYPE_Map_Tick_Timet SetTickByTypet__GetPsycoIsOpent PsycoReloadt__ReloadScript(R R t    gameWorldttick((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt ReloadScriptas         
cCszxbtjjƒD]Q\}}y.|dkr?td|ƒwnt|ƒWqtk
r`qqXqWtdtƒƒdS(Nt
PyGameDatas%s Ä£¿é²»ÖضÁ!sReload Begin : time = %s(s
PyGameData(RRtitemstDebugLogtreloadt    ExceptiontLogtGetCurrentDataTimeStr(tnamet
reloadPath((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRzs   cCs¾g}tjj|ƒs*td|ƒ|Stj|ƒ}x~|D]v}|jdƒ}t|ƒdkrmq@n|\}}|jdƒdkr”q@n|tj    kr©q@n|j
|ƒq@W|S(Ns&ReloadScript Err, path = %s is not dirs.it__init__i( tostpathtisdirtErrLogtlistdirtsplittlentfindRtTYPE_Load_Module_Exttappend(R R t    filesListtfilet
fileStructRtfileExt((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRs   cCs'|}|dkr#|d|}n|S(NRs.((R RtsysModulesPath((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR¯s cCsttj|t|ƒƒƒS(N(tinttmathtceiltfloat(txtdiv((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetIntUpper¼scCsttj|ƒƒS(N(R6R7R8(R:((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetFloatUpperÄsicCs;td|ƒ}tj|d||dƒ}|t|ƒS(Ni
i(tpowtrandomtrandintR9(tminXtmaxXtprecistmultipletran((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetFloatRanÙscCsh||kr||krdStj||||ƒ}ttj|ƒƒ}|dkrd|d}n|S(Niih(R7tatan2R6tdegrees(tStartXtStartYtEndXtEndYtradtth((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetAngleçs  c CsZtƒ}tjtj||dƒtj||dƒƒ}d}d}|dkrs|||}|||}nx¯tdt|ƒƒD]˜}    t||    d|||    d|ƒ}
t||    d|||    d|ƒ} x?t|
| ƒD].} |j| ƒdkrqïn|j    | ƒqïWq‰Wddg|krVd|krV|j
ddƒn|S(Nigð?gii(ii(ii( tlistR7tsqrtR>trangeR-tFiveInOtherOutt    GetAllPostcountR0tinsert( tmatrixtplayerXtplayerYtdestXtdestYtresulttdisttcostsintitxlisttylisttcurPos((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt MatrixCircle/s"    3 ((c
Csœtjtj||dƒtj||dƒƒ}d}d}|dkrj|||}|||}nt|||ƒ}t|||ƒ}    ||    fS(Nigð?gi(R7RQR>R6(
tposDistRZR[tposXtposYR]R^R_tresultXtresultY((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytPosInLineByDistIs3 c
Csœtjtj||dƒtj||dƒƒ}d}d}|dkrj|||}|||}nt|||ƒ}t|||ƒ}    ||    fS(Nigð?gi(R7RQR>R6(
ReRZR[RfRgR]R^R_RhRi((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytPosInLineByDistExXs3 cCs;t|ƒ}tt|ƒƒ}||kr1|gS||gS(N(R6tMyRound(tnumtnum1tnum2((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRSls
  cCs?g}x2|D]*}x!|D]}|j||fƒqWq W|S(N(R0(RaRbtposlistR:ty((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRTws
  cCs ||dS(Nid((tvaluetpercent((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt
GetPercent†scCs-yt|ƒ}|SWntk
r(|SXdS(N(R6t
ValueError(tinputtdefValueR\((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytToIntDefs
  cCsttt||ƒ|ƒƒS(N(R6tmintmax(RvtminNumtmaxNum((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt    ToIntAreaœscCsb|jdƒ}t|ƒdkr%dSx6|D].}t||ƒtkrKdSt||ƒ}q,W|S(Ns.i(R,R-tNonethasattrtTruetgetattr(t
curCallObjtcallNametcallListt curCallName((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytParseNameGetObj¥s cCs9t||ƒ}|dkrdSt|ƒtkr5dS|S(N(R†R~tcallableR€(R‚Rƒ((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetExecFunc¹s  cCstS(N(R€(tcurItem((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytCheckItemIsMaxEndureÉscCs!tt||ƒt||ƒƒS(N(Rztabs(RfRgttagXttagY((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetDistÙscCs1ttjt||dƒt||dƒƒƒS(Ni(R=R7RQR>(RfRgRŒR((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt    GetDistExäscCs$tjd|dƒ|kr dSdS(Nii(R?R@(tratetmaxRate((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt    CanHappeníscCsH|jƒtjd|dƒ}x!|D]}||kr?q'n|SWdS(Nii(tsortR?R@R~(trateListR‘t    ranNumbertnumber((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytWhichCanHappenøs
  cCsJ| s| rtS|jƒ|jƒkrF|jƒ|jƒkrFtStS(N(tFalsetGetIDtGetGameObjTypeR€(tsrcObjtdesObj((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt    IsSameObj    s
0cCst|jƒ|jƒƒS(N(tIsSameCountry_Namet
GetCountry(R›Rœ((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt IsSameCountryscCs6||krtS|tjks.|tjkr2tStS(N(R€t IPY_GameWorldttcNewR˜(tsrcNametdesName((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRž"s
 cCs>|jƒ}|jƒ}|dks0|dkr4tS||kS(Ni(t GetFamilyIDR˜(R›Rœt    srcFamilyt    desFamily((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt IsSameFamily2s
  cCs#|jƒdtjgkrdStS(Ni(t
GetGMLevelRt Def_GM_LV_GodR€(t    curPlayer((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytIsGM?scCs,tƒ}t|ƒ}|jdƒd}|S(Ns.i(tGetCurrentTimetstrR,(tcurTimet
curTimeStr((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR#Ks     cCs |jdƒr;tƒjtjƒd}t|dƒ}n"|jƒsK|S|}t|ƒ}tjjƒ}|tj    d||ƒ}d|j
|j |j fS(s°»ñÈ¡ÔËÓª»î¶¯¶ÔÓ¦ÈÕÆÚ£¬´æÊý×Ö´ú±í¿ª·þÌìÅäÖã¬ÐèҪת»¯Îª¶ÔÓ¦µÄÈÕÆÚ
    @param dateInfo: ÔËÓª»î¶¯±íÅäÖõÄÈÕÆÚÐÅÏ¢, Èç¹ûÊÇ´¿Êý×Ö´ú±í¿ª·þÌì
    @param openServerDay: µ±Ç°¿ª·þÌì
    tMixiitdayss%d-%d-%d( t
startswithRtGetGameWorldDictByKeyt ShareDefinet Def_Notify_WorldKey_MixServerDayR6tisdigittdatetimettodayt    timedeltatyeartmonthtday(tdateInfot openServerDaytdiffDaytactionServerDayt curDateTimetactionDateTime((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetOperationActionDateStrSs  cCs tjjƒS(N(R¸R¹(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR­hscCs_|jƒjdƒd}ytjj||ƒSWn(tk
rZ}td||fƒdSXdS(Ns.is%s : %s(tstripR,R¸tstrptimet BaseExceptionR*(ttimeStrt    timeFomatte((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetDateTimeByStr{scCs@t|ƒ}|dkr*td|ƒdS|jd|jdS(Ns GetPastHour Err dateTimeStr = %siii(t__GetPastTimeDeltaR~R*R²tseconds(t dateTimeStrt pastTimeDelta((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetPastHourŠs
  cCsDt|ƒ}|dkr*td|ƒdS|jdd|jdS(Ns"GetPastMinute Err dateTimeStr = %siii<(RÌR~R*R²RÍ(RÎRÏ((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetPastMinute—s
  cCsDt|ƒ}|dkr*td|ƒdS|jddd|jS(Ns"GetPastMinute Err dateTimeStr = %siii<(RÌR~R*R²RÍ(RÎRÏ((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetPastSeconds¥s
  cCs9tƒ}t|ƒ}|dks-|dkr1dS||S(N(R­RËR~(tcompareTimeStrt curDataTimetcompareDataTime((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR̳s
     cCs$||}|jdd|jdS(Nii<(R²RÍ(R¯ttagTimet    diff_Time((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetDiff_MinuteÃs
cCsqt|ƒ}tj|j|j|jdddƒ}t|ƒ}tj|j|j|jdddƒ}||jS(Ni(tChangeTimeNumToDatetimeR¸R»R¼R½R²(ttimeAttimeBt    dateTimeAt    dateTimeB((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetDiff_DayÈs
 ' 'cCstƒtjd|ƒS(NR²(R­R¸Rº(tdiffDays((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetDatetimeByDiffDaysÕscCstƒj|ƒ}t|ƒS(N(t GetNPCManagert FindNPCByIDt__GetSummonTagNPC(tnpcIDtcurTag((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRâÜscCs;tƒ}|j|ƒ}|s-t|ƒ}n|r7|SdS(N(RátFindGameNPCByNPCIDtFindSummerNPCByNPCID(RätnpcMgrtfindNPC((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytFindNPCByNPCIDàs    cCsgtƒ}xWt|jƒƒD]C}|j|ƒ}|jƒdkrIqn|jƒ|kr|SqWdS(Ni(RátxrangetGetSummonNPCCounttGetSummonNPCAtR™tGetNPCID(RäRètindextcurNPC((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRçés    cCstƒj|ƒ}t|ƒS(N(Rát GetNPCByIndexRã(tnpcIndexRå((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRñøscCstS(N(t __GameWorld(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRscCs
tjƒS(N(RóRá(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRáscCs
tjƒS(N(RótGetTeamManager(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRôscCs
tjƒS(N(RótGetPlayerManager(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRõscCs
tjƒS(N(RótGetMapItemManager(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRö'scCs
tjƒS(N(RótGetMapCopyPlayerManager(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR÷/scCs
tjƒS(N(RótGetMap(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRø7scCs
tjƒS(N(RótGetMail(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRù?scCs
tjƒS(N(Rót    GetScript(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRúGscCs
tjƒS(N(Rót    GetGameFB(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRûOscCs
tjƒS(N(RótGetAllFbNPCManager(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRüWscCs|dkrdS|jƒ}|tjkrAtƒj|jƒƒS|tjkrftƒj|jƒƒS|tj    kr‹tƒj
|jƒƒS|S(N( R~tGetGameNPCObjTypeR¡t
gnotSummonRátFindSummonNPCByIDR™t    gnotTruckt FindTruckByIDtgnotPett FindPetByID(t    curTagNPCtnpcObj((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRã_s  cCsA|jƒtjkr=|jƒtjtjtjgkr=tSdS(N(RšR¡tgotNPCtGetTypetntWalltntDeert ntDefenceMaxR€(tcurObj((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetNPC_Is_Gatess9cCs‡|jƒ}|jƒ}|tjkr7tƒj|ƒS|tjkrPt|ƒS|tjkrot    ƒj
|ƒSt d||fƒdS(Ns*»ñµÃobjÀàʧ°Ü objType = %s , objIndex = %s( RštGetIndexR¡t    gotPlayerRõtGetPlayerByIndexRRñtgotItemRötGetPoolItemByIndexR*R~(tobjtobjTypetobjIndex((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetObjDetail~s  
cCs[|tjkrtƒj|ƒS|tjkr8t|ƒS|tjkrWtƒj|ƒSdS(N(
R¡RR÷tFindPlayerByIDRRâRRöt GetItemByIDR~(tobjIDR((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetObj“s
cCstS(N(t ItemFactory(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetItemFactory¤scCstS(N(tGameData(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetGameData¬scCs*|jƒtjkrdSt||ƒdS(N(R©RRªt DebugAnswer(R«tmsg((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGodLogµs cCstjd|||fƒdS(Ns%s    %s    %s(tLogUItMsg(RtplayerIDtpar((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR"ÃscCstjd|||fƒdS(Ns%s    %s    ###Error:%s(R!R"(RR#R$((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR*ÎscCs1tƒjƒsdStjd|||fƒdS(Ns%s    %s    PyDebug:%s(Rt GetDebugLevelR!R"(RR#R$((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR×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(R&R'(t MergeServerIDRtGetServerRootPathR'R(tisfileR*R!t ConfigParsertreadt
has_optionRxtgetR"(trootPathtmergeServerIniFiletmergeServerInitsectiontoption((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetMergeServerIDâs 
   cCs tƒjƒS(N(RtGetServerVersion(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR5ýscCsttjddƒdƒS(NtplatformtGroupIDi(Rxt ReadChConfigtGetPyMongoConfig(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetServerGroupIDscCstjdƒ}|j|dƒS(Nt DBPlatformNumi(R8tGetDBEvalChConfigR.(R6tplatformNumDict((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetPlatformServerNumscCstjddƒS(NR6t PlatformName(R8R9(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetPlatformscCs=|jƒ}tƒt|jdƒdtjƒ}|jdS(Ns ii(tGetCreateRoleTimeR­RËR,RtTYPE_Time_Format_DayR²(R«tcreateRoleTimetdiffTime((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetCreateRoleDays"s &s@cCsC|jƒ}|jtƒ}t|ƒdkr1dSt|ddƒS(Niiiÿÿÿÿi(tGetAccIDR,tDef_AccID_Split_SignR-R6(R«taccIDtinfoList((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetPlayerServerID.s cCs9|jƒ}|jtƒ}t|ƒdkr1dS|dS(NiRiÿÿÿÿ(RFR,RGR-(R«RHRI((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetPlayerServerSID3s cCs3ttjdd|ƒdƒ}|dkr/|SdS(NR6s%sMainServerIDi(RxR8R9R~(t accIDPlatformt mainServerID((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetPlayerMainServerID9s cCs|jƒjƒS(N(tGetAccountDatat GetOperator(R«((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetPlayerPlatformSscCs,|jtƒ}|d }tj|ƒ}|S(Niþÿÿÿ(R,RGtjoin(t    gameAccIDRIt
paInfoListt platformAccID((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetPlatformAccIDWs
cCs-tj|jƒ|jƒjƒdƒjƒS(Ntmobile(tmd5RFROtGetLastLoginTimet    hexdigest(R«((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetSessionID]scCs|jtjƒS(N(tNomalDictGetPropertyRtDef_Player_Dict_Account_Type(R«((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetAccountType`stPDict_ChannelCodeNumcCs·tjdƒ}|s&|jtƒdS|jƒ}||krYtd||jƒƒdSxW|jƒD]I\}}||krf|jt|ƒt    d||f|jƒƒPqfqfWdS(Nt ChannelCodes?Can not find channel code(%s) in ChannelCode.txt, please check!s#SetPlayerChannelCode code=%s,num=%s(
R8tGetEvalChConfigtNomalDictDelPropertyR_tvaluesR*t GetPlayerIDRtNomalDictAddPropertyR(R«t channelCodetChannelCodeDicttcodeListtcodeNumtcode((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytSetPlayerChannelCodehs    cCs>|jtƒ}|dkrdStjdƒ}|j|dƒS(NiRR`(R\R_R8RaR.(R«RiRg((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetPlayerChannelCodes
 c
 
Cs/tƒj||||||||||    ƒ
dS(N(RtDataServer_HugeTradeRec(
t    tradeGoldt tradeSilvert tradeItemIDttradeItemCounttsenderIDt
senderGoldt senderSilvert
receiverIDt receiverGoldtreceiverSilver((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytNoteDownLargeTrade—s    cCsZ|tjkr+|j||||dƒn+|tjkrV|j|||d|ƒndS(Ni(R¡tTYPE_Price_Gold_MoneytInterface_GoldRectTYPE_Price_Gold_Paper(R«ttypeIDt    typeCountttypeNamet    moneyTypet
moneyCount((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytLogin_Interface_GoldRec±s
cCsÇtƒj||ƒs6td||f|jƒƒdS|j|||ƒt|ƒ|rÃ|jƒjƒ}|rÃddl}|j    |ƒj
|j ƒ|j ƒdƒ\}}|j||ƒqÃndS(Ns5ResetPlayerPos ³¢ÊÔÒÆ¶¯µ½Õϰ­µã, posX = %s, posY = %siÿÿÿÿi( RøtCanMoveR*R™tResetPostClearPlayerPosCountt    GetPetMgrt GetFightPett    NPCCommont
NPCControltGetMoveNearPostGetPosXtGetPosY(R«RfRgtreasont
isResetPettrolePetR‡((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytResetPlayerPosÂs
 0cCs|jdƒ|jdƒdS(Ni(t SetMoveCounttSetMoveDistDiff(R«((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR„Øs  cCsB|s
tSt|dƒ|ko5t|dƒknr>tSdS(Nii(R€RË(R¯tactSect((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt IsAtActTimeãs
0cCsdS(Ni((tcurLV((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt
GetReMoneyòscCs8||j|ƒtj|kr$tS|j||ƒtS(N(RRtTYPE_Player_Tick_TimeR˜RR€(R«tfuncKeyR((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytSetPlayerTickTimeüs c Cs2|dkr|Sg}t|ƒ}||kr2|S||krox|D]}|j|dƒqEW|rk|SgStj|ƒ}|rŠ|n |dd}xˆt|ƒD]z}tjd|ƒ}    x_t|ƒD]Q\}
}|    |dkrìqÊn|j|dƒt||
ƒ}|dd}PqÊWq¥W|r.|SgS(Niiiÿÿÿÿ(    R-R0tcopytdeepcopyRRR?R@t    enumeratet ResetRiseList( triseListt    randomNumRwR‘tdataInfotlistLentdatat tempRiseListR`Rtj((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetResultByRandomListEx
s,         cCs½t|ƒ}|dkrgS||kr-|Stj|ƒ}|dkrZ||ddnd}||d}||d|!}x"|D]}|dc||8<q†Wtj|d|!|ƒS(Nii(R-R™Rš(RtdelIndext riseListLenR¢t lastBaseRetetbaseRatettempListtriseInfo((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRœ1s   $ c
Cs°g}x£t|ƒD]•\}}|\}}|dkr=|n|||dd}|s_|n|t||dƒ}|sƒ|n|dd|}    |j|    |fƒqW|S(NiigˆÃ@iÿÿÿÿ(R›R6R0(
t
srcPieListtplusRatet plusPieListR`trateInfoRtinfotsrcRatetnewRatetspecRate((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetPlusPieListCs ($cCs4|s
|Stjd|ddƒ}t|||ƒS(Niiÿÿÿÿ(R?R@tGetResultByRiseList(trandListRwR((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetResultByRandomListQscCs0x)|D]!}||dkr#qn|dSW|S(Nii((RtpointRwt    smallList((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR´\s
     cCsg}d}xO|D]G}||d7}|j|t|ƒdkrL|dn|dgƒqW|shdStjd|ddƒ}t||ƒS(Niiiiÿÿÿÿ(R0R-R?R@R´(t
weightListRµtweightR¯R((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetResultByWeightListgs 7cCsmxDtt|ƒƒD]0}|dkr+qn||c||d7<qWtjd|dƒ}t|||ƒS(Niiiÿÿÿÿ(RRR-R?R@tGetResultByRiseIndex(RµtisCriticalDownwardR`R·((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetIndexByIndependRatexs  cCs"tjdtjƒ}t||ƒS(Ni(R?R@RtDef_NPCMapDropRateR¼(RµR((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetResultByRandomIndexˆscCs~xwtdt|ƒƒD]`}||}t|tƒr>|}n
|d}|rc||kruqqun||kruqn|SWdS(Niiÿÿÿÿ(RRR-t
isinstanceR6(RR·R½RïtelementtcmpPoint((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR¼’s
    
      cCs|S(N((tfunc((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetPsycoFunc«scCs tjdƒS(Nt PsycoSwitch(R8Ra(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR¸scCshtdtƒƒg}x7tjjƒD]&}|j||jdƒdgƒq'Wttj    d|ƒdS(NsPsycoReload Begin : time = %ss.iÿÿÿÿR(
R"R#RRtkeysR0R,t
TravelFileRt
ScriptPath(RtmoduleNameListt
moduleName((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR¿s $cCsØxÑtj||ƒD]¼}|jdƒr/qn|jdƒd}xN|D]F\}}||krgqIntjj|ƒ}|s…qInt|ƒqIWtjj    ||d|ƒrt
||d|d|ƒqqWdS(Ns.is\( R'R+R³R,RRR.R R(R)RÈ(R tfilePathRÊRt curModuleNamet
reloadNameRËtmodule((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRÈÎs #cCsMt|dƒd}t|dƒdd}t|dƒd}|||fS(Nièii<(R6(t    inputTimet curTimeHourt curTimeMinutet curTimeSecond((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytChangeInputTimeìscCs/|jƒ}tjdƒ}||kr+tStS(NtDef_Mission_DR_MinLV(tGetLVR8RaR˜R€(R«tplayerLVtminDRLV((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt
IsMissonDRös
  cCsatjdƒ}t|ƒdkr/tdƒtS|dr=tSyt||dƒWntSXtS(Nt EncodingTexisEncodingTex.txt Error len != 2ii(R8RaR-R*R˜R€tunicode(t    inputTextt encodingList((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytEncodingToUnicodes
 
cCs7tjdƒ}t|ƒdkr/tdƒdS|dS(NRÚisEncodingTex.txt Error len != 2tutf8i(R8RaR-R*(RÝ((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetCharacterEncodings
 
cCs^tjdƒ}t|ƒdkr/tdƒ|Sy |jtjƒjtƒƒSWn|SX|S(NRÚisEncodingTex.txt Error len != 2(    R8RaR-R*tdecodeRµtDef_Game_Character_EncodingtencodeRà(RÜRÝ((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt    GbkToCode#s
 cCsttjddƒdƒS(NtMerget IsMergeServeri(RxR8R9(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt IsCrossServer1scCs tƒrtjddƒStjS(NRåt CrossZoneName(RçR8R9Rtg_crossZoneName(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetCrossZoneName5s    cCs.tjj||ƒjƒ}ttj|ƒƒS(N(R¸RÆt    timetupleR6ttimetmktime(RÈt
timeFormat((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytChangeTimeStrToNum>scCstj|tj|ƒƒS(N(Rìtstrftimet    localtime(ttimeNumRî((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytChangeTimeNumToStrEscCs.tj|tj|ƒƒ}tjj||ƒS(N(RìRðRñR¸RÆ(RòRîRÈ((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRÙKsc
Csgt|ƒ}tƒ}tj}|j|j|j|jf\}}}}|j|j|j|jf\}}    }
} ||krº||    krº||
krº||ko­| knr¶tSt    St
j
|||dddƒ} t
j
||    |
dddƒ} | | j }|dkr3||krtS| |kr/tSt    S|dkrc| |krOtS||kr_tSt    StS(s°ÅжÏÖ¸¶¨timeÖµÓëµ±Ììʱ¼ä¶Ô±ÈÊÇ·ñΪÓÎÏ·ÄÚµÄͬһÌì£»ÌØÊâʱ¼äµã¹ýÌìºó²ÅË㲻ͬÌì
    ¸Ãº¯ÊýÒ»°ãÓÃÓÚÅжÏij¸ö¹¦ÄܼǼµÄ°æ±¾ÌìÊÇ·ñÓëµ±Ììʱ¼äÊÇͬһÌìµÄÂß¼­
    @return: ÊÇ·ñͬһÌì
    iiiÿÿÿÿ( RÙR­RµtDef_OnEventHourR»R¼R½thourR˜R€R¸R²(t    checkTimet    checkDatetcurDateRôtchkYeartchkMonthtchkDaytchkHourtcurYeartcurMonthtcurDaytcurHourt checkDateExt    curDateExRß((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytCheckTimeIsSameServerDayExOs2         **$       cCsO|jƒjƒ}|jƒjƒ}tjdƒ}t|jddƒƒ}|S(Nt AreaNameInfotNameExprR(RORPt    GetAreaIDR8RatevalR.(R«toperatortareaIDt areaNameInfotareaName((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetAreaName‰s
cCst|ƒ}tj|ƒS(N(R tCommFunct    GetStrCrc(R«R ((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt
GetAreaCrc—s cCs;x4|jƒD]&\}}|j|dƒ|||<q WdS(Ni(RR.(tdict1tdict2tkeyRr((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt AddDictValue scCsPxI|jƒD];\}}|j|dƒ}||||tj||<q WdS(Ni(RR.RµtDef_MaxRateValue(RRRRrtvalue1((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytCalcAttrDictPer«s!cCs|td|ƒdS(Ni
(R>(tnumValuet    dataIndex((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetDataByDigitPlace¸scCsY|dks'|dks'|tjkr+|St||ƒ}|td|ƒ||7}|S(Nii    i
(RµtDef_PDictDigitCntRR>(RRt    dataValuet    lastTagLV((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytChangeDataByDigitPlaceÁs
'cCsJt|ƒtt|ƒƒdkr,t|ƒSt|ƒt|t|ƒƒS(Ngà?(R‹R6(Rm((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRlÐscCsT||kr||Sx9|jƒD]+\}}t|tƒr!||kr!|Sq!WdS(N(RRÁttuple(tattrDicttfindKeyRRr((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetDictValueByKeyØs  cCs~||kr||Sxc|jƒD]U\}}t|tƒr!t|ƒdkr!|d|kom|dknr!|Sq!W|S(Niii(RRÁRR-(tsrcDictR RwtrangeKeyRr((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetDictValueByRangeKeyås  Ec Cs|r dnd}||}|s,||n|t||gƒ}|j|ƒ}||}    |rŠ|td|    ƒ@}
|
rdnd}
nt||    ƒ}
|
S(Nii    iii(RR\R>R( R«t    keyFormattbittisBintkeyParamt perKeyMaxBittkeyNumtkeyNamet    dictValuetbitIndextbitValue((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetDictValueByBit÷s
'
c Cs|r dnd}||}|s,||n|t||gƒ}|j|ƒ}    ||}
|r©|r~|    td|
ƒB} q»|    td|dƒdtd|
ƒ@} nt|    |
|ƒ} | dkrÚ|j|dƒnddl} | j||| ƒ|    | fS(Nii    iiiiÿÿÿÿ(RR\R>RRbt PlayerControltNomalDictSetProperty( R«R%R&RrR'R(R)R*R+R,R-t updDictValueR0((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytSetDictValueByBits
'
+  c    Cs€|r dnd}ttj|t|ƒƒƒ}xHt|ƒD]:}|sT||n|t||gƒ}|j|ƒq>WdS(Nii    (R6R7R8R9RRRRb(    R«R%tmaxLenR'R(R)tkeyCntR`R+((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytResetDictAllBitValue's 'cCsG||||g}t|ƒ}tƒjdddd|t|ƒƒdS(NitSendBroadcastMergeClient(R®RõtGameServer_QueryPlayerResultR-(toperTypetmapIDRŸtisRepeattmsgList((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytSendBroadcastMerge5s %cCsA||g}t|ƒ}tƒj|||d|t|ƒƒdS(NtSendMergerChildMsg(R®RõR8R-(R9tdataMsgt srcPlayerIDt    queryTypetqueryIDR<((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt!SendMergerChildToCenterStringData?s
  cCsOt||gƒ}tƒj|||d|t|ƒƒtd||fƒdS(NtSendMsgToCrossServers·¢ËÍ¿ç·þÐÅÏ¢: %s, %s(R®RõR8R-R(tmsgTypeR?R@RARBR<((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRDFs%cCsUt|||gƒ}tƒj|||d|t|ƒƒtd|||fƒdS(NtSendMsgToClientServers*·¢ËÍ×Ó·þÐÅÏ¢: %s, %s, serverGroupIDList=%s(R®RõR8R-R(RER?tserverGroupIDListR@RARBR<((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRFMs%cCsp||kr||St|jƒƒ}|dkrZx%|D]}||kr9||Sq9Wn|rl||dSdS(Niiÿÿÿÿ(tsortedRÇR~(t    orderDicttordert isDefaultLastt    orderListtdOrder((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytGetOrderValueByDictYs    cCs8||j|ƒtj|kr$tS|j||ƒtS(N(RRR–R˜RR€(R«ttickTypeR((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pytCheckPlayerTickgs cCs‹|jƒ}tjdƒ}|d}|d}|d}d}x:t|ƒD],\}}||krn|}Pn|d}qLW||d}    ||d}
|t|ƒkr°dn||} d} d} xg|jƒD]Y\}}||    ksÓ|| krýqÓnt|ƒ}| |7} ||krÓ| |7} qÓqÓW||krY| |jtj|ƒ7} n|dkrk|n||    |
| | }||fS(Nt ClientLVRuleiiiiŸ†(    RÖR8RaR›R-RR\RtDef_PDict_SplitExpLVCnt(R«tserverLVt clientLVRuletTransRealLVListtTransNewLvListtSplitLVExpDictttransCntR`treallvtcurTransRealLVtcurNewLVtnextTransRealLVtcurTransAddSplitLVtcurTransTotalSplitLVt splitRealLVt splitLVListt splitLVExCnttshowLV((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt GetClientLVqs6 
 
 
 " 
  (icCsDt|||||gƒ}tƒj|ddd|t|ƒƒdS(s³
    @todo: Ìí¼ÓGameServer´æ´¢Í¨ÓüǼ
    @param recType: Í¨ÓüǼÀàÐÍ, ¶ÔÓ¦ ShareDefine.Def_UniversalGameRecTypeList
    @param valueList: ÊýÖµÁбí[value1, value2, ...], °´Ë³Ðò, Ö§³Övalue1 ~ value5
    @param strValueList: ×Ö·ûÖµÁбí[strValue1, strValue2, ...], °´Ë³Ðò, Ö§³ÖstrValue1 ~ strValue3
    @param notifyType: 0-²»Í¨Öª; 1-֪ͨ±¾ÈË; 2-֪ͨȫ·þ
    @param isSort: ´æ´¢¼Ç¼ÂúÐèɾ³ýʱÊÇ·ñÐèÒªÏȰ´Ê±¼äÅÅÐò, Ä¬ÈÏ1ÊÇ, ÏȽøÏȳö
    itAddUniversalGameRecN(R®RõR8R-(R#trecTypet    valueListt strValueListt
notifyTypetisSorttmsgStr((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRd–s    %cCs;t||gƒ}tƒj|ddd|t|ƒƒdS(s³
    @todo: É¾³ýGameServer´æ´¢Í¨ÓüǼ
    @param recType: Í¨ÓüǼÀàÐÍ, ¶ÔÓ¦ ShareDefine.Def_UniversalGameRecTypeList
    @param notifyType: 0-²»Í¨Öª; 1-֪ͨ±¾ÈË; 2-֪ͨȫ·þ
    itDelUniversalGameRecN(R®RõR8R-(ReR#RhRj((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyRk£s%cCs9t|ƒ|jtjƒjtƒƒ}|j|ƒdS(sתÂëºóÔÙ·¢DebugAnswerN(RRáRµRâRãRàR(R«ttext((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyR®s
 (§R¡R!R8R?R7RR¸RR't    MapConfigR Rµt
PyMapTabletdecimalRRìR™R+RRXtsetrecursionlimittServerRootPathR(RRRRRR<R=RFRORdRjRkRSRTRtRxR}R†RˆRŠRŽRRR’R—RR RžR¨R¬R#RÄR­tTYPE_Time_FormatRËRÐRÑRÒRÌRØRÞRàRâRêRçRñRóRRtIPY_ItemFactoryRRRáRôRõRöR÷RøRùRúRûRüRãR RRRR R"R*RR4R5R:R>R@RERGRJRKRNRQRVR[R^R_RkRlRxRR˜RR„R“R•R˜R~R¤RœR³R¶R´R»R€R¾RÀR¼RÅRRRÈRÔRÙRÞRàRäRçRêRïRóRÙRR RRRRRRlR!R$R/R3R6R=RCRDRFRNRPRcRdRkR(((sS.\\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorld.pyt<module>'sB                                   "                  H                                                                                                                                                                                                                                                                                                                                     
    '                  
                     
            
                    :                                           
     
    %