cjc
2025-12-03 98fbd8a5d3139d0dfe7d130bd4eb46bd89a135eb
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
(ic@sddlZddlZddlZddlZddlZddlZddlZddlZd„Zd„Z    dd„Z
d„Z d„Z d„Z dS(    iÿÿÿÿNcCsëtj|dƒ|sYtj|dƒtj|dƒtj|dƒtj|dƒn„|d}|s›t|ƒdkr…|dnd}t||ƒn/t|ƒdkr·|dnd}t||ƒtj|ƒjƒt|ƒdS(Ns--------------s¿ªÆôËùÓй¦ÄÜ: OpenFunc 1s¿ªÆôÖ¸¶¨¹¦ÄÜ: OpenFunc 1 ¹¦ÄÜIDs¹Ø±ÕËùÓй¦ÄÜ: OpenFunc 0s¹Ø±ÕÖ¸¶¨¹¦ÄÜ: OpenFunc 0 ¹¦ÄÜIDii(    t    GameWorldt DebugAnswertlent DoGMCloseFunct DoGMOpenFunct PlayerOnlinetGetOnlinePlayert ReCalcAllAttrtPrintFuncOpenState(t    curPlayertcmdListtstatet closeFuncIDt
openFuncID((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pytOnExec s
"" 
c Csºg}g}tjƒ}|jƒ}xmt|ƒD]_}|j|ƒ}|jƒ}tj|tj    |t
ƒ}|rƒ|j |ƒq1|j |ƒq1Wtj |dt |ƒ|fƒt |ƒt |ƒkr%xVt|ddƒD]=}||d|dd!}    |    s
Pntj |d|    ƒqáWntj |dt |ƒ|fƒt |ƒt |ƒkr¶xVt|ddƒD]=}||d|dd!}
|
s›Pntj |d|
ƒqrWndS(NsÒÑ¿ªÆôµÄ¹¦ÄÜÊý: %s/%si
is%ss먦ÆôµÄ¹¦ÄÜ: %s/%s(t IpyGameDataPYtIPY_DatatGetFuncOpenLVCounttxrangetGetFuncOpenLVByIndext    GetFuncIdRtGetDictValueByBittChConfigt"Def_Player_Dict_GameFuncFirstTouchtTruetappendRRtrange( R    topenFuncIDListtunOpenFuncIDListt
ipyDataMgrtfuncOpenLVCounttitipyDatatfuncIDtisOpentopenListt
unOpenList((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyR4s4     ic Cseg}|rHtj||ƒr<tjd||jƒƒdS|g}n|r…t||ƒ\}}}}|r…|jtjƒq…nt||ƒ\}}}}tjd|||f|jƒƒ|dkr„|d}|j    |ƒt
j |t
j |ƒƒt
j
|ƒj ƒtjƒ}xct|jƒƒD]L}    |j|    ƒ}
|
jƒ|krg|
jƒ}n|
jƒ|kr1Pq1q1Wntjd||jƒƒ|rÑ|jttj|dƒƒtj|ƒnxA|D]9} |jtj| ƒsØt
j|tj| dƒqØqØW|r.t
j||ƒntjd||f|jƒƒtj|dt ƒdS(Ns(¹¦ÄÜÒÑ¿ªÆô£¬²»ÐèÒªÖØ¸´¼¤»î!openFuncID=%ss=GM´¦ÀíµÈ¼¶¿ªÆô¹¦ÄÜ: openFuncID=%s,openFuncIDList=%s,needLV=%sis"GM´¦Àí¾³½ç¿ªÆô¹¦ÄÜ: needRealmLV=%ss9GM´¦ÀíÈÎÎñ¿ªÆô¹¦ÄÜ: needMissionIDList=%s,needMainLevel=%stcheckServerDay(!t GameFuncCommt GetFuncCanUseRtDebugLogt GetPlayerIDt__GetOpenFuncLimitRt ShareDefinetGameFuncID_OfficialtSetLVt PlayerControltSetPlayerTotalExptGetTotalExpByPlayerLvt
PlayerLvUpRRRt GetRealmCounttGetRealmByIndextGetLvtGetLVMaxtSetOfficialRanktmaxRtDef_InitOfficialRanktPlayerPrestigeSystDoRealmLVUpLogictNomalDictGetPropertytDef_Player_Dict_MissionFinishtNomalDictSetPropertytSetMainLevelPassValuetDoFuncOpenLogictFalse( R    R RtneedLVt needRealmLVtneedMissionIDListt needMainLeveltpreLVRtindext realmIpyDatatlimitMissionID((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyRSsH # 
    ! c    CsEtjƒ}d}d}g}d}tjƒ}|jƒ}xöt|ƒD]è}    |j|    ƒ}
|
jƒ} |r‚| |kr‚qIn|
jƒ} | rµ| |krµ|| krµ| }n|
j    ƒ} | rÜ|| krÜ| }n|
j
ƒ}|r
||kr
|j |ƒn|
j ƒ}|rI||krI|}qIqIW||||fS(Ni( R.t GetOpenMaxLVRRRRRRt
GetLimitLVtGetLimiRealmLVtGetLimitMissionIDRtGetLimitManLevel(R    RtmaxLVRARBRCRDRRRR R!tlimitLVt limitRealmLVRHt limitManLevel((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyR*ƒs2                 c Cs‚|sú|jdƒ|jtjƒxHtdƒD]:}tj|tj|dƒtj|tj|dƒq0Wt    |gƒ\}}}}x(|D] }tj|tj
|dƒqW|rÓtj |dddƒnt j |dtƒtj|dƒdSt j||ƒs*tjd||jƒƒdStjd|ƒ}|sFdS|jƒ}    |    r—|jƒ|    kr—|jtd|    dƒƒtj|dƒn|jƒ}
|
rÛ|jƒ|
krÛ|jttj|
dƒƒn|jƒ} | r
tj|tj
| dƒn|jƒ} | r>tj|ƒ| kr>t|ƒntj |tj|dƒt j |dtƒtj|d|ƒdS(    Niiit isSyncUnOpens ¹Ø±ÕËùÓй¦ÄÜ!s*¹¦ÄÜÒѹرգ¬²»ÐèÒªÖØ¸´¹Ø±Õ! closeFuncID=%st
FuncOpenLVs ¹Ø±Õ¹¦ÄÜ: %s(!R-R6RR8RR.R=Rt"Def_Player_Dict_GameFuncAwardStateR*R<tSetMainLevelPassInfoR&tSync_FuncOpenStateRRRR'R(R)RtGetIpyGameDataRJtGetLVR7R/RKtGetOfficialRankRLRMtGetMainLevelPassValuet__SetPassMainLevelWavePretSetDictValueByBit( R    R tkeyNumRARBRCRDt    missionIDR RORPRHRQ((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyR¤sJ        cCsütj|ƒ\}}}|dkrH|d8}tj||||ƒdSd}|dkr~|d8}tj||||ƒdS|dkrâ|d8}tjdi|d6tƒ}|rÂt|ƒnd}tj||||ƒdStj|dddƒdS(Niit    MainLevelt    ChapterID(R.tGetMainLevelPassInfoRURtGetIpyGameDataByConditionRR(R    t passChapterIDt passLevelNumtpassWavet levelDataList((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyR[×s$ 
 
 
(RR.R9RR&RR+RRRRR*RR[(((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyt<module>s                 0    !    3