gwj
2025-11-27 5e5eae3917e7402db11040610f05bbfb83b0504e
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
–^&ic@s”ddlZddlZddlZddlZddlZddlZddlZddlZd„Zd„Z    dd„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 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|dtƒdS(Ns(¹¦ÄÜÒÑ¿ªÆô£¬²»ÐèÒªÖØ¸´¼¤»î!openFuncID=%ss=GM´¦ÀíµÈ¼¶¿ªÆô¹¦ÄÜ: openFuncID=%s,openFuncIDList=%s,needLV=%sis"GM´¦Àí¾³½ç¿ªÆô¹¦ÄÜ: needRealmLV=%ss(GM´¦ÀíÈÎÎñ¿ªÆô¹¦ÄÜ: needMissionIDList=%stcheckServerDay( t GameFuncCommt GetFuncCanUseRtDebugLogt GetPlayerIDt__GetOpenFuncLimitRt ShareDefinetGameFuncID_OfficialtSetLVt PlayerControltSetPlayerTotalExptGetTotalExpByPlayerLvt
PlayerLvUpRRRt GetRealmCounttGetRealmByIndextGetLvtGetLVMaxtSetOfficialRanktmaxRtDef_InitOfficialRanktPlayerPrestigeSystDoRealmLVUpLogictNomalDictGetPropertytDef_Player_Dict_MissionFinishtNomalDictSetPropertytDoFuncOpenLogictFalse( R    R RtneedLVt needRealmLVtneedMissionIDListtpreLVRtindext realmIpyDatatlimitMissionID((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyRSsD # 
    !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 GetOpenMaxLVRRRRRRt
GetLimitLVtGetLimiRealmLVtGetLimitMissionIDR(R    RtmaxLVR@RARBRRRR R!tlimitLVt limitRealmLVRF((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-R6RR8RR.R=Rt"Def_Player_Dict_GameFuncAwardStateR*R<R&tSync_FuncOpenStateRRRR'R(R)RtGetIpyGameDataRHtGetLVR7R/RItGetOfficialRankRJtSetDictValueByBit( R    R tkeyNumR@RARBt    missionIDR RLRMRF((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyRœs@      ( RR.R9RR&RR+RRRRR*R(((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyt<module>s                 .