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
‹º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     ic Cs:g}|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ƒ|kra|    jƒ}n|    jƒ|kr+Pq+q+Wntjd||jƒƒ|rË|jttj|dƒƒtj|ƒnxA|D]9}
|jtj|
ƒsÒt
j|tj|
dƒqÒqÒWtjd||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
PlayerLvUpR R Rt GetRealmCounttGetRealmByIndextGetLvtGetLVMaxtSetOfficialRanktmaxRtDef_InitOfficialRanktPlayerPrestigeSystDoRealmLVUpLogictNomalDictGetPropertytDef_Player_Dict_MissionFinishtNomalDictSetPropertytDoFuncOpenLogic( RR
RtneedLVt needRealmLVtneedMissionIDListtpreLVRtindext realmIpyDatatlimitMissionID((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyRQsD # 
    ! cCstjƒ}d}d}g}tjƒ}|jƒ}xÏt|ƒD]Á}|j|ƒ}    |    jƒ}
|r||
|kr|qCn|    jƒ} | r¯| |kr¯|| kr¯| }n|    j    ƒ} | rÖ|| krÖ| }n|    j
ƒ} | rC| |krC|j | ƒqCqCW|||fS(Ni( R*t GetOpenMaxLVR R RRRRt
GetLimitLVtGetLimiRealmLVtGetLimitMissionIDR(RRtmaxLVR;R<R=RRRRRtlimitLVt limitRealmLVRA((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyR&s*               c Cs,|sØ|jdƒ|jtjƒxHtdƒD]:}tj|tj|dƒtj|tj|dƒq0Wt    |gƒ\}}}x(|D] }tj|tj
|dƒqWt j |dt ƒtj|dƒdSt j||ƒstjd||jƒƒdStjd|ƒ}|s$dS|jƒ}|ru|jƒ|kru|jtd|dƒƒtj|dƒn|jƒ}    |    r¹|jƒ|    kr¹|jttj|    dƒƒn|jƒ}
|
rètj|tj
|
dƒntj|tj|dƒt j |dt ƒtj|d|ƒdS(    Niiit isSyncUnOpens ¹Ø±ÕËùÓй¦ÄÜ!s*¹¦ÄÜÒѹرգ¬²»ÐèÒªÖØ¸´¹Ø±Õ! closeFuncID=%st
FuncOpenLVs ¹Ø±Õ¹¦ÄÜ: %s(R)R2RR4RR*R9Rt"Def_Player_Dict_GameFuncAwardStateR&R8R"tSync_FuncOpenStateRRRR#R$R%R tGetIpyGameDataRCtGetLVR3R+RDtGetOfficialRankREtSetDictValueByBit( RR    tkeyNumR;R<R=t    missionIDRRGRHRA((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyRšs@      ( RR*R5R R"RR'R RRR&R(((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyt<module>s                .