#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package GM.Commands.Qunying
|
#
|
# @todo:ȺӢ°ñ
|
# @author hxp
|
# @date 2026-03-11
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ȺӢ°ñ
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2026-03-11 19:00"""
|
#-------------------------------------------------------------------------------
|
|
import GameWorld
|
import ShareDefine
|
import GameLogic_Qunying
|
import PlayerBillboard
|
import PlayerControl
|
import DBDataMgr
|
import ChConfig
|
|
def OnExec(curPlayer, msgList):
|
if not msgList:
|
GameWorld.DebugAnswer(curPlayer, "ÖØÖÃȺӢÊý¾Ý: Qunying 0")
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃËùÔÚÃû´Î: Qunying Ãû´Î")
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÀúÊ·×î¸ß: Qunying h Ãû´Î [ÖØÖý±Àø]")
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃˢдÎÊý: Qunying r ´ÎÊý")
|
GameWorld.DebugAnswer(curPlayer, "Êä³öÃû´ÎÊý¾Ý: Qunying p [´ÓxÃû¿ªÊ¼ ÊýÁ¿ ]")
|
return
|
|
playerID = curPlayer.GetPlayerID()
|
|
value1 = msgList[0]
|
if value1 == "p":
|
billboardMgr = DBDataMgr.GetBillboardMgr()
|
billBoard = billboardMgr.GetBillboard(ShareDefine.Def_BT_Qunying)
|
if not billBoard:
|
return
|
billBoard.SortDelayDo()
|
layerIDList = billBoard.GetLayerIDList()
|
fromRank = max(1, msgList[1] if len(msgList) > 1 else 1)
|
dataCnt = min(msgList[2] if len(msgList) > 2 else 10, 20)
|
toRank = min(len(layerIDList), fromRank + dataCnt)
|
GameWorld.DebugAnswer(curPlayer, "°ñµ¥×ÜÊý¾Ý:%s/%s,idCnt=%s" % (billBoard.GetCount(), billBoard.GetMaxCount(), len(layerIDList)))
|
for rank in range(fromRank, toRank + 1):
|
dataID = layerIDList[rank - 1]
|
GameWorld.DebugAnswer(curPlayer, "Ãû´Î%s, ID:%s" % (rank, dataID))
|
return
|
|
if value1 <= 0:
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_QunyingRefreshCnt, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_QunyingRankHighest, 0)
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_QunyingRankSuccAward, 0)
|
GameWorld.DebugAnswer(curPlayer, "ÖØÖóɹ¦!")
|
|
elif value1 == "h":
|
rankHighest = msgList[1] if len(msgList) > 1 else 0
|
resetAward = msgList[2] if len(msgList) > 2 else 0
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_QunyingRankHighest, rankHighest)
|
if resetAward:
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_QunyingRankSuccAward, 0)
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÀúÊ·×î¸ß: %s" % rankHighest)
|
|
elif value1 == "r":
|
refreshCnt = msgList[1] if len(msgList) > 1 else 0
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_QunyingRefreshCnt, refreshCnt)
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃˢдÎÊý: %s" % refreshCnt)
|
|
elif value1 > 0:
|
cmpValue = value1
|
if PlayerBillboard.UpdateBillboardLayer(playerID, ShareDefine.Def_BT_Qunying, cmpValue):
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃËùÔÚÃû´Î³É¹¦: %s" % cmpValue)
|
else:
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃËùÔÚÃû´ÎÖ»ÄÜΪ1~×î´óÃû´Î")
|
return
|
|
GameLogic_Qunying.Sync_QunyingInfo(curPlayer)
|
return
|