From a608566d51391f045aa3ea595fc7bea6c72c75f2 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期二, 23 十月 2018 21:09:35 +0800 Subject: [PATCH] 2197 【1.2】【1.1】封魔坛报错修复 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyRedPacket.py | 28 +++++++++++++++++++++------- 1 files changed, 21 insertions(+), 7 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyRedPacket.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyRedPacket.py index ba856a3..a608139 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyRedPacket.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyRedPacket.py @@ -46,10 +46,19 @@ ## OnDay处理 # @param curPlayer # @return None -def RedPacketOnDay(curPlayer): - #发钻石红包额度重置 - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FamilyRedPacketGoldLimit, 0) - __NotifyGoldLimt(curPlayer) +def RedPacketOnDay(curPlayer, onEventType): + if onEventType == ShareDefine.Def_OnEventType: + #发钻石红包额度重置 + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FamilyRedPacketGoldLimit, 0) + __NotifyGoldLimt(curPlayer) + elif onEventType == ShareDefine.Def_OnEventTypeEx: + oscDay = IpyGameDataPY.GetFuncCfg('OpenServerRedPacketCfg') + openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + if openServerDay < oscDay: + grabCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSRedPacketCanGrabCnt, 0) + sendCnt = IpyGameDataPY.GetFuncCfg('OpenServerRedPacketCfg', 5) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSRedPacketCanGrabCnt, grabCnt+sendCnt) + NotifyOSRedPacket(curPlayer) return def CreatCacheRedPacktet(curPlayer): @@ -99,7 +108,11 @@ if awardNum + goldLimit > familyRedPacketGoldLimit: GameWorld.DebugLog(' 主动发仙盟钻石红包,额度已超%s,不可发送!' % familyRedPacketGoldLimit, playerID) return - + if not PlayerControl.HaveMoney(curPlayer, ShareDefine.TYPE_Price_BourseMoney, awardNum): + curBourseMoney = PlayerControl.GetMoney(curPlayer, ShareDefine.TYPE_Price_BourseMoney) + GameWorld.Log(" 不能发钻石红包 no enough bourse money! priceCount=%s,curBourseMoney=%s" + % (awardNum, curBourseMoney), playerID) + return if not PlayerControl.PayMoney(curPlayer, moneyType, awardNum, ChConfig.Def_Cost_FamilyRedPacket): return @@ -227,8 +240,8 @@ if not isSelf: #抢自己的红包不扣次数 grabCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSRedPacketCanGrabCnt, 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSRedPacketCanGrabCnt, max(0, grabCnt-1)) - if grabCnt == IpyGameDataPY.GetFuncCfg('OpenServerRedPacketCfg', 4): - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSRedPacketStartTime, int(time.time())) +# if grabCnt == IpyGameDataPY.GetFuncCfg('OpenServerRedPacketCfg', 4): +# PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OSRedPacketStartTime, int(time.time())) #通知 @@ -236,6 +249,7 @@ return def ProcessOSRedPacket(curPlayer, tick): + return #开服红包恢复次数 if not GameWorld.SetPlayerTickTime(curPlayer, ChConfig.TYPE_Player_Tick_OSRedPacket, tick): return -- Gitblit v1.8.0