| | |
| | | RandTodayServerSystemRedPacketSendTime()
|
| | | return
|
| | |
|
| | | def GetRedPackGetWayType(getWay):
|
| | | ## 获取红包getWay所属红包分类
|
| | | getWayTypeDict = IpyGameDataPY.GetFuncEvalCfg("RedPacketClassify", 1, {})
|
| | | for getWayType, getWayList in getWayTypeDict.items():
|
| | | if getWay in getWayList:
|
| | | return getWayType
|
| | | return ShareDefine.RedPackWayType_Family
|
| | |
|
| | | def CheckDelRedpacketData():
|
| | | ## 检查红包删除红包,5分钟一次: 1-删除过期红包,2-删除已全部抢完的红包
|
| | |
|
| | |
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(DBKey_RedPacketSend % redPackID, 1)
|
| | | GameWorld.DebugLog("定时发放的红包,设置已发放! redPackID=%s" % redPackID)
|
| | |
|
| | | if getType == ShareDefine.RedPackType_Server:
|
| | | getWayType = GetRedPackGetWayType(getType)
|
| | | if getWayType == ShareDefine.RedPackWayType_Server:
|
| | | isAnonymous = 1
|
| | |
|
| | | job = 0
|
| | |
| | | family = GameWorld.GetFamilyManager().FindFamily(familyID)
|
| | | if not family:
|
| | | return
|
| | | #packetCnt = min(packetCnt, family.GetCount())
|
| | | # if getType != 0:
|
| | | # commonCntLimit = IpyGameDataPY.GetFuncCfg('FamilyRedPacketCnt')
|
| | | # packetCnt = max(packetCnt, commonCntLimit)
|
| | | |
| | | |
| | | if outputNum < packetCnt:
|
| | | GameWorld.DebugLog(" 生成新仙盟红包 红包额度不能低该红包个数!outputNum=%s,redCnt=%s" % (outputNum, packetCnt))
|
| | | return
|
| | |
| | |
|
| | | #֪ͨ
|
| | | OnChangeRedPacketState(family, redPacketObj, None)
|
| | | if getType == ShareDefine.RedPackType_OpenServer:
|
| | | if not PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OSRedPacket):
|
| | | PlayerControl.WorldNotify(0, 'OpenRedBag2', [playerName, data, outputNum])
|
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OSRedPacket, 1)
|
| | | elif data in IpyGameDataPY.GetFuncEvalCfg('OSRSuccess'):
|
| | | PlayerControl.WorldNotify(0, 'OpenRedBag3', [playerName, data, outputNum])
|
| | | |
| | | |
| | | if not familyID:
|
| | | #大于200额度的红包
|
| | | getTypeRainDict = IpyGameDataPY.GetFuncEvalCfg('OpenServerRedPacketRain', 2, {})
|
| | | if str(getType) in getTypeRainDict:
|
| | | PlayerControl.WorldNotify(0, getTypeRainDict[str(getType)])
|
| | | elif outputNum >= IpyGameDataPY.GetFuncCfg('OpenServerRedPacketRain') \
|
| | | and getType not in [ShareDefine.RedPackType_Server]:
|
| | | PlayerControl.WorldNotify(0, 'OSRedpackSfx', [getType]) |
| | | elif outputNum >= IpyGameDataPY.GetFuncCfg('OpenServerRedPacketRain'):
|
| | | PlayerControl.WorldNotify(0, 'OSRedpackSfx', [getType])
|
| | |
|
| | | return redPacketObj
|
| | |
|
| | |
| | | GameWorld.ErrLog("领取的红包类型不一致,无法领取! reqGetWay=%s,getWay=%s" % (reqGetWay, getWay))
|
| | | return
|
| | |
|
| | | if getWay in [ShareDefine.RedPackType_OpenServer, ShareDefine.RedPackType_Server]:
|
| | | getWayType = GetRedPackGetWayType(getWay)
|
| | | if getWayType == ShareDefine.RedPackWayType_Server:
|
| | | getNumformula = IpyGameDataPY.GetFuncCompileCfg('OpenRedRacketOutNum')
|
| | | elif getWay in ShareDefine.FeastRedPackType:
|
| | | elif getWayType == ShareDefine.RedPackWayType_Feast:
|
| | | getNumformula = IpyGameDataPY.GetFuncCompileCfg('FeastRedPacket', 2)
|
| | | else:
|
| | | getNumformula = IpyGameDataPY.GetFuncCompileCfg('FamilyRedRacketOutNum')
|