From 68dd06e06c1a4a155884c31403da1155be6f10e8 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 18 四月 2019 17:11:31 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
---
ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 46 insertions(+), 4 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py
index 91c1464..9a5ae44 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetRedPacket.py
@@ -18,6 +18,8 @@
import PlayerFamilyRedPacket
import ShareDefine
import GameWorld
+import IpyGameDataPY
+import PlayerDBGSEvent
## GM命令执行入口
@@ -29,21 +31,61 @@
if not paramList:
return
+# GameWorld.DebugAnswer(curPlayer, "重置所有红包领取:SetRedPacket 0")
+# GameWorld.DebugAnswer(curPlayer, "清除所有类型红包:SetRedPacket 0 0")
+# GameWorld.DebugAnswer(curPlayer, "清除指定类型红包:SetRedPacket 0 类型A 类型B ...")
+
+ paramA = paramList[0]
+ paramB = paramList[1] if len(paramList) > 1 else None
# 重置所有红包数据
- if len(paramList) == 1 and paramList[0] == 0:
- GameWorld.DebugAnswer(curPlayer, "清除所有红包领取记录")
+ if paramA == 0:
PlayerFamilyRedPacket.g_allRecordDict = {}
PlayerFamilyRedPacket.g_grabDataDict = {}
PlayerFamilyRedPacket.g_redPackCountDict = {}
- recordType = ShareDefine.Def_UniversalGameRecType_FamilyRedPacketGrabRecord
universalRecMgr = GameWorld.GetUniversalRecMgr()
- universalRecMgr.Delete(recordType)
+ # 清除所有类型红包
+ if paramB == 0:
+ universalRecMgr.Delete(ShareDefine.Def_UniversalGameRecType_FamilyRedPacketAllRecord)
+ __ResetSendState([])
+ GameWorld.DebugAnswer(curPlayer, "清除所有类型红包OK!")
+
+ # 清除指定类型红包
+ elif paramB:
+ delTypeList = paramList[1:]
+ allRecordList = universalRecMgr.GetTypeList(ShareDefine.Def_UniversalGameRecType_FamilyRedPacketAllRecord)
+ delCount = 0
+ for index in xrange(allRecordList.Count()):
+ universalRecData = allRecordList.At(index - delCount)
+ strValue1 = universalRecData.GetStrValue1()
+ strValue1List = strValue1.split('|')
+ getWay = int(strValue1List[3])
+ if getWay not in delTypeList:
+ continue
+ allRecordList.Delete(index)
+ delCount += 1
+ __ResetSendState(delTypeList)
+ GameWorld.DebugAnswer(curPlayer, "清除指定类型红包OK!%s,条数:%s" % (delTypeList, delCount))
+
+ # 清除抢的记录
+ universalRecMgr.Delete(ShareDefine.Def_UniversalGameRecType_FamilyRedPacketGrabRecord)
PlayerFamilyRedPacket.NotifyRedPacketInfo(curPlayer)
+ GameWorld.DebugAnswer(curPlayer, "清除所有红包领取记录OK!")
return
return
+def __ResetSendState(delTypeList):
+ ipyDataMgr = IpyGameDataPY.IPY_Data()
+ for index in xrange(ipyDataMgr.GetFamilyRedPackCount()):
+ ipyData = ipyDataMgr.GetFamilyRedPackByIndex(index)
+ if delTypeList and ipyData.GetGetType() not in delTypeList:
+ continue
+ redPackID = ipyData.GetID()
+ if PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerFamilyRedPacket.DBKey_RedPacketSend % redPackID):
+ PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerFamilyRedPacket.DBKey_RedPacketSend % redPackID, 0)
+ return
+
--
Gitblit v1.8.0