From 2bdd3ef2b3800c13d1b781a5b3cf2f0148c0ca9d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 15 十二月 2021 18:24:04 +0800
Subject: [PATCH] 5226 【BT3_1.102.1】【BT4】【BT5】【bt5_1.101.1】【主干】服务端报错查看(防范土系东皇附体buff效果1315报错)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetRedPacket.py | 59 +++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 39 insertions(+), 20 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetRedPacket.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetRedPacket.py
index 3e4e9f2..1adeb81 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetRedPacket.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetRedPacket.py
@@ -17,11 +17,21 @@
import GameWorld
import PlayerControl
-import ChConfig
import PlayerFamilyRedPacket
import PlayerFeastRedPacket
import IpyGameDataPY
import PlayerSuccess
+import ChConfig
+import ShareDefine
+
+def __Help(curPlayer):
+ GameWorld.DebugAnswer(curPlayer, "---------------------------")
+ GameWorld.DebugAnswer(curPlayer, "清所有红包:SetRedPacket 0")
+ GameWorld.DebugAnswer(curPlayer, "清指定红包:SetRedPacket 0 类型A 类型B ...")
+ GameWorld.DebugAnswer(curPlayer, "发指定红包:SetRedPacket 1 红包编号 个数")
+ GameWorld.DebugAnswer(curPlayer, "设置抢红包:SetRedPacket 2 红包功能 可抢数 已抢额度")
+ GameWorld.DebugAnswer(curPlayer, "红包功能:1-开服红包;2-节日红包")
+ return
## GM命令执行入口
# @param curPlayer 当前玩家
@@ -30,31 +40,44 @@
# @remarks 函数详细说明.
def OnExec(curPlayer, paramList):
if not paramList:
- GameWorld.DebugAnswer(curPlayer, "重置所有红包领取:SetRedPacket 0")
- GameWorld.DebugAnswer(curPlayer, "清除所有类型红包:SetRedPacket 0 0")
- GameWorld.DebugAnswer(curPlayer, "清除指定类型红包:SetRedPacket 0 类型A 类型B ...")
- GameWorld.DebugAnswer(curPlayer, "设置功能红包数据:SetRedPacket 红包功能 可抢个数 已抢额度")
- GameWorld.DebugAnswer(curPlayer, "红包功能: 1-开服红包;2-节日红包")
+ __Help(curPlayer)
return
+ isSendGameServer = False
paramA = paramList[0]
# 重置所有红包数据
if paramA == 0:
+ isSendGameServer = True
__DOResetSuccRedPack(curPlayer)
__DoResetRedPackFunc(curPlayer, 1, None, 0)
__DoResetRedPackFunc(curPlayer, 2, None, 0)
- paramStr = ""
- for param in paramList:
- paramStr += " %s" % param
- curPlayer.GameServer_GMCmd("SetRedPacket%s" % paramStr) # 发送到GameServer清除红包
- return
-
- if len(paramList) == 3:
- redPackFuncType, grabCount, grabMoney = paramList
+
+ # 发指定红包
+ elif paramA == 1 and len(paramList) > 1:
+ redPacketID = paramList[1]
+ ipyData = IpyGameDataPY.GetIpyGameData('FamilyRedPack', redPacketID)
+ if not ipyData:
+ GameWorld.DebugAnswer(curPlayer, "不存在该红包! %s" % redPacketID)
+ return
+ getType = ipyData.GetGetType()
+ if not getType:
+ return
+ getWayType = PlayerFamilyRedPacket.GetRedPackGetWayType(getType)
+ if getWayType == ShareDefine.RedPackWayType_Family or getType == ShareDefine.RedPackType_FeastSucc:
+ if not PlayerFamilyRedPacket.CreatRedPacketByID(curPlayer, redPacketID):
+ GameWorld.DebugAnswer(curPlayer, "###发送红包失败,详见地图日志! %s" % redPacketID)
+ return
+ isSendGameServer = True
+
+ # 设置抢红包
+ elif paramA == 2 and len(paramList) == 4:
+ redPackFuncType, grabCount, grabMoney = paramList[1:]
__DoResetRedPackFunc(curPlayer, redPackFuncType, grabCount, grabMoney)
return
+ else:
+ return
- return
+ return isSendGameServer
def __DOResetSuccRedPack(curPlayer):
## 重置红包成就发放记录,不重置进度
@@ -83,11 +106,7 @@
def __DoResetRedPackFunc(curPlayer, redPackFuncType, grabCount, grabMoney):
if redPackFuncType == 1:
- if not isinstance(grabCount, int):
- grabCount = IpyGameDataPY.GetFuncCfg('OpenServerRedPacketCfg', 5)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSRedPacketCanGrabCnt, grabCount)
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSRedPacketGrabMoney, grabMoney)
- PlayerFamilyRedPacket.NotifyOSRedPacket(curPlayer)
+ pass
elif redPackFuncType == 2:
if not isinstance(grabCount, int):
grabCount = IpyGameDataPY.GetFuncCfg('FeastRedPacket', 1)
--
Gitblit v1.8.0