|  |  | 
 |  |  | 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
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | 
 |