From 84f9abc7067dde4e6b504a1ba2e9f0600a6de46b Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 12 三月 2019 20:58:56 +0800
Subject: [PATCH] 4042 【后端】【2.0】邮件包含附件时不能删除邮件 - 服务端添加防范
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerVip.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 48 insertions(+), 2 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerVip.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerVip.py
index c741bfe..79ff07e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerVip.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerVip.py
@@ -34,6 +34,9 @@
import EventShell
import PassiveBuffEffMng
import PlayerFamilyRedPacket
+import GameFuncComm
+import PlayerTeam
+import ChPlayer
import time
#---------------------------------------------------------------------
@@ -192,8 +195,8 @@
EventShell.EventResponse_BuyVIPItem(curPlayer, vipLV)
GameWorld.DebugLog("vip礼包-%s" % itemList)
for itemid, cnt, isBind in itemList:
- ItemControler.GivePlayerItem(curPlayer, int(itemid), int(cnt), isBind,
- [IPY_GameWorld.rptItem, IPY_GameWorld.rptAnyWhere], True, showSysInfo=True, event=["buyVIPGift", False, {"VIPLV":vipLV}])
+ ItemControler.GivePlayerItem(curPlayer, int(itemid), int(cnt), 0, [IPY_GameWorld.rptItem, IPY_GameWorld.rptAnyWhere],
+ event=["buyVIPGift", False, {"VIPLV":vipLV}])
# else:
# __AwardToPlayerByMail(curPlayer, itemList)
openuiid = IpyGameDataPY.GetFuncEvalCfg('VIPPanel', 1, {}).get(vipLV, 0)
@@ -213,6 +216,28 @@
# @return None
def DoOnLogin(curPlayer, tick):
#记录登陆时间
+
+ # VIP礼包聊天气泡框
+ if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_ChatBubbleBox):
+ GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_ChatBubbleBox, 1)
+ ipyDataMgr = IpyGameDataPY.IPY_Data()
+ for i in xrange(ipyDataMgr.GetChatBubbleBoxCount()):
+ ipyData = ipyDataMgr.GetChatBubbleBoxByIndex(i)
+ needVIPLVGift = ipyData.GetNeedVIPLVGift()
+ if not needVIPLVGift:
+ continue
+ record = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_VipAwardRecord)
+ hasBuy = record & pow(2, needVIPLVGift)
+ if not hasBuy:
+ continue
+ boxID = ipyData.GetBoxID()
+ ChPlayer.DoActivateChatBubbleBox(curPlayer, boxID)
+ drDict = {"PlayerID":curPlayer.GetPlayerID(),"AccID":curPlayer.GetAccID(), "needVIPLVGift":needVIPLVGift, "BoxID":boxID}
+ DataRecordPack.SendEventPack("VIPGiftActChatBubbleBox", drDict, curPlayer)
+ GameWorld.Log("老号激活VIP礼包聊天气泡框: boxID=%s,needVIPLVGift=%s" % (boxID, needVIPLVGift), curPlayer.GetPlayerID())
+ else:
+ GameWorld.DebugLog("已经激活过老号VIP气泡框")
+
Sycn_VIPMsg(curPlayer)
Sycn_VIPAwardRecord(curPlayer)
Sycn_VIPTime(curPlayer, True)
@@ -294,6 +319,11 @@
redPacketID = IpyGameDataPY.GetFuncEvalCfg('VIPRedPackAward', 1, {}).get(vipLV, 0)
if redPacketID:
PlayerFamilyRedPacket.CreatRedPacketByID(curPlayer, redPacketID)
+
+ GameFuncComm.DoFuncOpenLogic(curPlayer)
+
+ if not curPlayer.GetTeam():
+ PlayerTeam.RefreshTeamVIPBuff_OnNoTeam(curPlayer, GameWorld.GetGameWorld().GetTick())
return
#通知玩家购买礼包纪录
@@ -598,3 +628,19 @@
+#===============================================================================
+# // A8 06 查询充值结果 #tagCMQueryRecharge
+#
+# struct tagCMQueryRecharge
+# {
+# tagHead Head;
+# };
+#===============================================================================
+def OnQueryRecharge(index, packData, tick):
+ curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+ if tick - curPlayer.GetDictByKey("QRtick") < 10000:
+ return
+ curPlayer.SetDict("QRtick", tick)
+ curPlayer.SendDBQueryRecharge()
+ return
+
--
Gitblit v1.8.0