hxp
2025-05-28 09fef77b16601ee5b0f53f34ccb23804b8448c8c
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package GM.Commands.RealmLVUP
#
# @todo:¾³½çÌáÉý
# @author hxp
# @date 2017-11-16
# @version 1.0
#
# ÏêϸÃèÊö: ¾³½çÌáÉý
#
#-------------------------------------------------------------------------------
#"""Version = 2017-11-16 21:00"""
#-------------------------------------------------------------------------------
 
import GameWorld
import PlayerPrestigeSys
import IpyGameDataPY
import PlayerControl
import PlayerGubao
import ChConfig
 
 
## Âß¼­ÊµÏÖ
#  @param curPlayer
#  @param cmdList ²ÎÊýÁбí
#  @return None
def OnExec(curPlayer, cmdList):
    if not cmdList:
        GameWorld.DebugAnswer(curPlayer, "------------ %s" % GameWorld.GetCurrentDataTimeStr())
        GameWorld.DebugAnswer(curPlayer, "ÖØÖþ³½ç½×¼¶: RealmLVUP 0")
        GameWorld.DebugAnswer(curPlayer, "Ö´Ðо³½çÉý½×: RealmLVUP 1 [´ÎÊý]")
        GameWorld.DebugAnswer(curPlayer, "ÉèÖþ³½çÈÎÎñ: RealmLVUP t ÈÎÎñID ½ø¶ÈÖµ")
        GameWorld.DebugAnswer(curPlayer, "×¢:¿ÉÉèÖýø¶ÈµÄÈÎÎñÀàÐÍ:%s" % PlayerPrestigeSys.NeedTaskValueTypeList)
        GameWorld.DebugAnswer(curPlayer, "ÉèÖþ³½çËþ²ã: RealmTower")
        GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÌìÐÇËþ²ã: SetSkyTower")
        GameWorld.DebugAnswer(curPlayer, "ÉèÖþ³½çµÈ¼¶: SetOfficalRank ¾³½çµÈ¼¶")
        GameWorld.DebugAnswer(curPlayer, "×¢:Ö±½ÓÉèÖþ³½çµÈ¼¶²»»á´¥·¢¾³½çÆäËû¶îÍâЧ¹û")
        return
    
    value = cmdList[0]
    if value == 0:
        curPlayer.SetOfficialRank(1)
        curPlayer.SetFreePoint(0)
        GameWorld.DebugAnswer(curPlayer, "ÖØÖþ³½ç!")
        GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÁé¸ùµã!")
        effType = PlayerGubao.GubaoEffType_RealmLVAddLinggen
        ipyDataMgr = IpyGameDataPY.IPY_Data()
        for index in range(ipyDataMgr.GetGubaoCount()):
            ipyData = ipyDataMgr.GetGubaoByIndex(index)
            gubaoID = ipyData.GetGubaoID()
            addFreePointAlready = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType))
            if not addFreePointAlready:
                continue
            GameWorld.DebugAnswer(curPlayer, "ÖØÖùű¦(%s)Ч¹û(%s)Ôö¼ÓÁé¸ùµã:%s" % (gubaoID, effType, addFreePointAlready))
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType), 0)
            PlayerGubao.Sync_GubaoItemEffInfo(curPlayer, gubaoID, effType, force=True)
        GameWorld.DebugAnswer(curPlayer, "ÖØÖþ³½çOK")
        return
    if value == 1:
        doCount = cmdList[1] if len(cmdList) > 1 else 1
        okCnt = 0
        for _ in range(doCount):
            if PlayerPrestigeSys.DoRealmLVUpLogic(curPlayer):
                okCnt += 1
            else:
                break
        curRealmLV = curPlayer.GetOfficialRank()
        if okCnt:
            GameWorld.DebugAnswer(curPlayer, "ÌáÉý¾³½ç³É¹¦£¡GetOfficialRank=%s" % curRealmLV)
        else:
            GameWorld.DebugAnswer(curPlayer, "ÌáÉý¾³½çʧ°Ü£¡GetOfficialRank=%s" % curRealmLV)
    elif value == "t":
        taskID = cmdList[1] if len(cmdList) > 1 else 0
        taskValue = cmdList[2] if len(cmdList) > 2 else 0
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmTaskValue % taskID, taskValue)
        PlayerPrestigeSys.SyncRealmInfo(curPlayer, taskIDList=[taskID])
        GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÈÎÎñID:%s,½ø¶ÈÖµ:%s" % (taskID, taskValue))
        
    return