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
ý(¬hc@sˆddlZddlZddlZddlZddlZddlZddlZd„Zd„Zdd„Z    d„Z
d„Z dS(iÿÿÿÿNcCsØtj|dƒ|sYtj|dƒtj|dƒtj|dƒtj|dƒnq|d}|s›t|ƒdkr…|dnd}t||ƒn/t|ƒdkr·|dnd}t||ƒt|ƒdS(Ns--------------s¿ªÆôËùÓй¦ÄÜ: OpenFunc 1s¿ªÆôÖ¸¶¨¹¦ÄÜ: OpenFunc 1 ¹¦ÄÜIDs¹Ø±ÕËùÓй¦ÄÜ: OpenFunc 0s¹Ø±ÕÖ¸¶¨¹¦ÄÜ: OpenFunc 0 ¹¦ÄÜIDii(t    GameWorldt DebugAnswertlent DoGMCloseFunct DoGMOpenFunctPrintFuncOpenState(t    curPlayertcmdListtstatet closeFuncIDt
openFuncID((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pytOnExecs
"" 
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( RtopenFuncIDListtunOpenFuncIDListt
ipyDataMgrtfuncOpenLVCounttitipyDatatfuncIDtisOpentopenListt
unOpenList((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyR2s4     icCsg}|rHtj||ƒr<tjd||jƒƒdS|g}n|r‚t||ƒ\}}}|r‚|jtjƒq‚nt||ƒ\}}}tjd|||f|jƒƒ|r    |d}|j    |ƒt
j |t
j |ƒƒt
j
|ƒj ƒntjd||jƒƒ|rS|jtd|dƒƒtj|ƒntjd||jƒƒtj||ƒdS(Ns(¹¦ÄÜÒÑ¿ªÆô£¬²»ÐèÒªÖØ¸´¼¤»î!openFuncID=%ss=GM´¦ÀíµÈ¼¶¿ªÆô¹¦ÄÜ: openFuncID=%s,openFuncIDList=%s,needLV=%sis"GM´¦Àí¾³½ç¿ªÆô¹¦ÄÜ: needRealmLV=%ss(GM´¦ÀíÈÎÎñ¿ªÆô¹¦ÄÜ: needMissionIDList=%s(t GameFuncCommt GetFuncCanUseRtDebugLogt GetPlayerIDt__GetOpenFuncLimitRt ShareDefinetGameFuncID_OfficialtSetLVt PlayerControltSetPlayerTotalExptGetTotalExpByPlayerLvt
PlayerLvUptSetOfficialRanktmaxtPlayerPrestigeSystDoRealmLVUpLogictDoFuncOpenLogic(RR
RtneedLVt needRealmLVtneedMissionIDListtpreLV((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyRQs0 #
 cCstj|ƒ}d}d}g}tjƒ}|jƒ}xÏt|ƒD]Á}|j|ƒ}    |    jƒ}
|r|
|krqFn|    jƒ} | r²| |kr²|| kr²| }n|    j    ƒ} | rÙ|| krÙ| }n|    j
ƒ} | rF| |krF|j | ƒqFqFW|||fS(Ni( R*tGetPlayerMaxLVR R RRRRt
GetLimitLVtGetLimiRealmLVtGetLimitMissionIDR(RRtmaxLVR3R4R5RRRRRtlimitLVt limitRealmLVtlimitMissionID((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyR&ss*              c Cs&|sÕ|jdƒ|jdƒxHtdƒD]:}tj|tj|dƒtj|tj|dƒq-Wt|gƒ\}}}x(|D] }tj|tj    |dƒqŠWt
j |dt ƒt j|dƒdSt
j||ƒst jd||jƒƒdStjd|ƒ}|s!dS|jƒ}|rr|jƒ|krr|jtd|dƒƒtj|dƒn|jƒ}    |    r³|jƒ|    kr³|jtd|    dƒƒn|jƒ}
|
râtj|tj    |
dƒnt j|tj|dƒt
j |dt ƒt j|d|ƒdS(    Niiit isSyncUnOpens ¹Ø±ÕËùÓй¦ÄÜ!s*¹¦ÄÜÒѹرգ¬²»ÐèÒªÖØ¸´¹Ø±Õ! closeFuncID=%st
FuncOpenLVs ¹Ø±Õ¹¦ÄÜ: %s(R)R.RR*tNomalDictSetPropertyRRt"Def_Player_Dict_GameFuncAwardStateR&tDef_Player_Dict_MissionFinishR"tSync_FuncOpenStateRRRR#R$R%R tGetIpyGameDataR8tGetLVR/R+R9tGetOfficialRankR:tSetDictValueByBit( RR    tkeyNumR3R4R5t    missionIDRR<R=R>((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyRŽs@      ( RR*R0R R"RR'R RRR&R(((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyt<module>s                "