From b6016259ace37e60f374999ccf850bd250553321 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 14 十二月 2021 16:57:13 +0800
Subject: [PATCH] 9391 【主干】【后端】红包主干摘取调整(去除开服红包;去除全服红包次数及权限限制;优化红包系统分类;)

---
 ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py
index cd8ba65..8cbc53c 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py
@@ -21,6 +21,7 @@
 import PlayerFamilyRedPacket
 import ChPyNetSendPack
 import NetPackCommon
+import ShareDefine
 
 
 ## GM命令执行入口
@@ -31,11 +32,12 @@
 def OnExec(curPlayer, paramList):
     GameWorld.DebugLog("执行GameServer->SetRedPacket: %s" % paramList)
     if not paramList:
-#        GameWorld.DebugAnswer(curPlayer, "清除所有类型红包:SetRedPacket 0")
-#        GameWorld.DebugAnswer(curPlayer, "清除指定类型红包:SetRedPacket 0 类型A 类型B ...")
-#        GameWorld.DebugAnswer(curPlayer, "发送全服系统红包:SetRedPacket 36 红包编号 个数")
-#        GameWorld.DebugAnswer(curPlayer, "全服系统红包编号:126~130")
-#        GameWorld.DebugAnswer(curPlayer, "红包类型:36-全服红包;33-节日成就")
+#        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
     
     paramA = paramList[0]
@@ -75,20 +77,27 @@
                     continue
                 NetPackCommon.SendFakePack(curPlayer, sendPack)
                 
-    elif paramA == 36:
+    elif paramA == 1:
         redPackID = paramList[1] if len(paramList) > 1 else 0
         sendCount = paramList[2] if len(paramList) > 2 else 0
         sendCount = min(100, sendCount)
-        canSendRedPacketIDList = range(126, 130 + 1) + []
-        if redPackID not in canSendRedPacketIDList or not sendCount:
-            GameWorld.DebugAnswer(curPlayer, "发送全服系统红包参数错误!")
+        ipyData = IpyGameDataPY.GetIpyGameData('FamilyRedPack', redPackID)
+        if not ipyData:
             return
+        getType = ipyData.GetGetType()
+        wayType = PlayerFamilyRedPacket.GetRedPackGetWayType(getType)
+        if wayType == ShareDefine.RedPackWayType_Family:
+            return
+        openTime = ipyData.GetPacketOpenTime() # 如果有指定发放时间的
+        if openTime:
+            sendCount = 1
         for _ in xrange(sendCount):
             PlayerFamilyRedPacket.CreateSystemRedPacket(redPackID)
         GameWorld.DebugAnswer(curPlayer, "成功发送红包编号:%s 共:%s个" % (redPackID, sendCount))
         
     else:
         GameWorld.DebugAnswer(curPlayer, "红包命令参数错误!")
+        
     return
 
 def __ResetSendState(delTypeList):

--
Gitblit v1.8.0