hxp
2021-06-17 caace426c6cb047cf1b734486615111853225771
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetRedPacket.py
@@ -17,10 +17,11 @@
import GameWorld
import PlayerControl
import ChConfig
import PlayerFamilyRedPacket
import PlayerFeastRedPacket
import IpyGameDataPY
import PlayerSuccess
import ChConfig
## GM命令执行入口
#  @param curPlayer 当前玩家
@@ -29,24 +30,38 @@
#  @remarks 函数详细说明.
def OnExec(curPlayer, paramList):
    if not paramList:
        GameWorld.DebugAnswer(curPlayer, "重置红包:SetRedPacket 0")
        GameWorld.DebugAnswer(curPlayer, "SetRedPacket 红包功能  可抢个数 已抢额度")
        GameWorld.DebugAnswer(curPlayer, "红包功能: 1-开服红包;2-节日红包")
        GameWorld.DebugAnswer(curPlayer, "---------------------------")
        GameWorld.DebugAnswer(curPlayer, "清所有红包:SetRedPacket 0")
        GameWorld.DebugAnswer(curPlayer, "清指定红包:SetRedPacket 0 类型A 类型B ...")
        GameWorld.DebugAnswer(curPlayer, "发全服红包:SetRedPacket 36 红包编号 个数")
        GameWorld.DebugAnswer(curPlayer, "类型:36-全服红包;33-节日成就")
        GameWorld.DebugAnswer(curPlayer, "全服红包编号:126~130")
        GameWorld.DebugAnswer(curPlayer, "设置红包:SetRedPacket 功能  可抢数 已抢额度")
        GameWorld.DebugAnswer(curPlayer, "红包功能:1-开服红包;2-节日红包")
        return
    
    sendGameServer = False
    paramA = paramList[0]
    # 重置所有红包数据
    if len(paramList) == 1 and paramList[0] == 0:
    if paramA == 0:
        sendGameServer = True
        __DOResetSuccRedPack(curPlayer)
        __DoResetRedPackFunc(curPlayer, 1, None, 0)
        __DoResetRedPackFunc(curPlayer, 2, None, 0)
        curPlayer.GameServer_GMCmd("SetRedPacket 0") # 发送到GameServer清除红包
        return
    if len(paramList) == 3:
        redPackFuncType, grabCount, grabMoney = paramList
        __DoResetRedPackFunc(curPlayer, redPackFuncType, grabCount, grabMoney)
        return
    elif paramA in [1, 2]:
        if len(paramList) == 3:
            redPackFuncType, grabCount, grabMoney = paramList
            __DoResetRedPackFunc(curPlayer, redPackFuncType, grabCount, grabMoney)
            return
    else:
        sendGameServer = True
    if sendGameServer:
        paramStr = ""
        for param in paramList:
            paramStr += " %s" % param
        curPlayer.GameServer_GMCmd("SetRedPacket%s" % paramStr) # 发送到GameServer清除红包
    return
def __DOResetSuccRedPack(curPlayer):
@@ -84,8 +99,9 @@
    elif redPackFuncType == 2:
        if not isinstance(grabCount, int):
            grabCount = IpyGameDataPY.GetFuncCfg('FeastRedPacket', 1)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSRedPacketCanGrabCnt, grabCount)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSRedPacketGrabMoney, grabMoney)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastRedPacketCanGrabCnt, grabCount)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastRedPacketGrabMoney, grabMoney)
        PlayerFeastRedPacket.Sync_FeastRedPackInfo(curPlayer)
    return