hxp
2025-08-28 72f24b76db24b7ab21649ad2dba803adbf1f423f
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
½À¯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ƒƒ|rV|jttj|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
PlayerLvUptSetOfficialRanktmaxRtDef_InitOfficialRanktPlayerPrestigeSystDoRealmLVUpLogictDoFuncOpenLogic(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(RRtmaxLVR4R5R6RRRRRtlimitLVt limitRealmLVtlimitMissionID((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyR&ss*              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)R.RR0RR*tNomalDictSetPropertyRt"Def_Player_Dict_GameFuncAwardStateR&tDef_Player_Dict_MissionFinishR"tSync_FuncOpenStateRRRR#R$R%R tGetIpyGameDataR9tGetLVR/R+R:tGetOfficialRankR;tSetDictValueByBit( RR    tkeyNumR4R5R6t    missionIDRR=R>R?((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyRŽs@      ( RR*R1R R"RR'R RRR&R(((slD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GM\Commands\OpenFunc.pyt<module>s                "