#!/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
|