| | |
| | | # if curDienstgradMgr.GetUseGradID() == dienstgradID:
|
| | | # UnUseDienstgrad(curPlayer)
|
| | | #===========================================================================
|
| | | |
| | | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TitleStar % dienstgradID, 0)
|
| | | curDienstgradMgr.DeleteDienstgrad(dienstgradID)
|
| | | #通知称号删除
|
| | | curDienstgradMgr.Sync_PlayerDelDienstgrad(dienstgradID)
|
| | |
| | | SyncTitleStarInfo(curPlayer, titleID)
|
| | | return
|
| | |
|
| | | def GMSetTitleStar(curPlayer, titleID, setValue=None):
|
| | | ## GM设置星级
|
| | | |
| | | curDienstgradMgr = curPlayer.GetDienstgradManager()
|
| | | curDienstgrad = curDienstgradMgr.GetDienstgrad(titleID)
|
| | | if curDienstgrad == None:
|
| | | return False, "The player has not activated the titleID(%s)" % titleID
|
| | | |
| | | if setValue == None:
|
| | | curStar = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TitleStar % titleID)
|
| | | setStar = curStar + 1 # 没指定星级时默认升星
|
| | | else:
|
| | | setStar = setValue
|
| | | |
| | | if setStar > 0:
|
| | | if not IpyGameDataPY.GetIpyGameData("TitleStarUp", titleID, setStar):
|
| | | return False, "The titleID(%s) star(%s) is not exist." % (titleID, setStar)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TitleStar % titleID, setStar)
|
| | | GameWorld.Log("GM设置称号星级: titleID=%s,setStar=%s" % (titleID, setStar), curPlayer.GetPlayerID())
|
| | | |
| | | CalcAllDienstgradAttr(curPlayer)
|
| | | playerControl = PlayerControl.PlayerControl(curPlayer)
|
| | | playerControl.RefreshPlayerAttrState()
|
| | | |
| | | SyncTitleStarInfo(curPlayer, titleID)
|
| | | return True, ""
|
| | |
|
| | | #-------------------------------------------------------------
|
| | | ## 获取已激活称号列表
|
| | | # @param curPlayer
|
| | |
| | | return
|
| | |
|
| | | def SyncTitleStarInfo(curPlayer, titleID=None):
|
| | | force = False
|
| | | if titleID > 0:
|
| | | force = True
|
| | | syncIDList = [titleID]
|
| | | else:
|
| | | syncIDList = []
|
| | |
| | | titleStarList = []
|
| | | for titleID in syncIDList:
|
| | | curStar = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TitleStar % titleID)
|
| | | if not curStar:
|
| | | if not curStar and not force:
|
| | | continue
|
| | | starInfo = ChPyNetSendPack.tagMCTitleStar()
|
| | | starInfo.Clear()
|