| | |
| | | import PlayerFamilyRedPacket
|
| | | import ShareDefine
|
| | | import GameWorld
|
| | | import IpyGameDataPY
|
| | | import PlayerDBGSEvent
|
| | |
|
| | |
|
| | | ## GM命令执行入口
|
| | |
| | | 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
|
| | |
|
| | |
|
| | |
|