From e5bcadc1d3b9e76fdf5a9741d50c30c4535c2372 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 22 四月 2019 15:59:54 +0800 Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(退出跨服副本,未拾取的物品发送邮件) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py index e1a2d29..edf4546 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py @@ -352,6 +352,18 @@ SendMail("", content, 30, playerIDList, addItemList, gold, goldPaper, silver, detail, moneySource) return +def SendCrossMail(serverGroupID, mailTypeKey, playerIDList, addItemList, paramList=[]): + ## 发送跨服邮件 + if not serverGroupID: + return + dataMsg = {"MailTypeKey":mailTypeKey, "Player":playerIDList} + if addItemList: + dataMsg["Item"] = CombineMailItem(addItemList) + if paramList: + dataMsg["Param"] = paramList + GameWorld.SendMsgToClientServer(ShareDefine.CrossServerMsg_SendMail, dataMsg, [serverGroupID]) + return + ## 功能发放物品补偿/奖励邮件 # @param addItemList [(itemID, itemCnt, 是否拍品), {或物品信息字典}, ...] # @return @@ -370,6 +382,13 @@ if GameWorld.IsCrossServer(): return + combineItemList = CombineMailItem(addItemList) + cmdList = [title, content, getDays, playerIDList, combineItemList, gold, goldPaper, silver, detail, moneySource] + GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "SendMail", '%s' % (cmdList), len(str(cmdList))) + return True + +def CombineMailItem(addItemList): + ## 合并邮件物品 itemCountDict = {} combineItemList = [] # 合并后的物品列表 for mailItem in addItemList: @@ -399,9 +418,7 @@ for key, itemCnt in itemCountDict.items(): itemID, isAuctionItem = key combineItemList.append((itemID, itemCnt, isAuctionItem)) - cmdList = [title, content, getDays, playerIDList, combineItemList, gold, goldPaper, silver, detail, moneySource] - GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "SendMail", '%s' % (cmdList), len(str(cmdList))) - return True + return combineItemList ## 构建系统提示参数列表 # @param msgParamList 信息参数列表 -- Gitblit v1.8.0