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