From e6d59c4b43397413073159b2801cee6a8add1083 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 05 三月 2019 13:43:39 +0800
Subject: [PATCH] 6307 【后端】【2.0】多套装备开发单(默认第1套)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py | 22 +++++++++++++++-------
1 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py
index 81f0048..7f5901b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py
@@ -22,7 +22,7 @@
#------------------------------------------------------------------------------
import GameWorld
import ChConfig
-#import ShareDefine
+import ShareDefine
import IPY_GameServer
import ChGameToMapPyPack
import NetPackCommon
@@ -121,6 +121,8 @@
return
def SendMailByKey(mailTypeKey, playerIDList, addItemList, paramList=[], gold=0, goldPaper=0, silver=0, detail=""):
+ if not mailTypeKey:
+ mailTypeKey = ShareDefine.DefaultLackSpaceMailType
GameWorld.DebugLog("SendMailByKey %s, playerIDList=%s, addItemList=%s, paramList=%s, gold=%s, goldPaper=%s, silver=%s"
% (mailTypeKey, playerIDList, addItemList, paramList, gold, goldPaper, silver))
title = ""
@@ -179,7 +181,7 @@
# @param sourceType 查看 Mail_Type_Default 相关定义
# @return None
def SendPersonalAsTextMail(PlayerID, title, content, limitTime, sourceType = ChConfig.Mail_Type_Default):
- if GameWorld.IsMergeServer():
+ if GameWorld.IsCrossServer():
return
GUID = str(uuid.uuid1())
PyAddPersonalCompensation(GUID, PlayerID, GameWorld.GetCurrentDataTimeStr(), limitTime,
@@ -328,11 +330,11 @@
# @param addItemDictList, LimitTime, mailInfo, PlayerJob, Text
# @return None
def AddEntireItem(GUID, addItemDictList, LimitTime, mailInfo, PlayerJob, Text,
- gold = 0, goldPaper = 0, silver = 0, detail=""):
+ gold = 0, goldPaper = 0, silver = 0, detail="", serverID=0):
'''
@param mailInfo: GetEntireCompensationInfo 的返回值, 目前暂存字段 PlayerLV 中
'''
- if GameWorld.IsMergeServer():
+ if GameWorld.IsCrossServer():
return
#GameWorld.DebugLog("Compensation### AddEntireItem GUID:%s ItemDict:\n%s "%(GUID, addItemDictList))
@@ -342,9 +344,10 @@
GameWorld.GetCompensationMgr().AddCompensationItem(GUID, curItemData)
createTime = GameWorld.GetCurrentDataTimeStr()
+
#添加全服领取补偿条件
GameWorld.GetCompensationMgr().AddEntireCompensationItem(GUID, createTime, LimitTime, mailInfo,
- PlayerJob, Text, gold, goldPaper, silver)
+ PlayerJob, Text, gold, goldPaper, silver, serverID)
checkState, limitLVType, limitLV = ParseEntireCompensationInfo(mailInfo)
addDict = {"LimitTime":LimitTime, "LimitLV":limitLV, "LimitLVType":limitLVType, "CheckState":checkState, "PlayerJob":PlayerJob, "Text":Text,
"Gold":gold, "GoldPaper":goldPaper, "Silver":silver, "ItemList":addItemDictList, "Detail":detail}
@@ -416,7 +419,7 @@
# @return None
def AddPersonalItem(GUID, addItemDictList, PlayerIDList, LimitTime, Text,
gold = 0, goldPaper = 0, silver = 0, sourceType = ChConfig.Mail_Type_Default, detail=""):
- if GameWorld.IsMergeServer():
+ if GameWorld.IsCrossServer():
return
GameWorld.DebugLog("Compensation### AddPersonalItem GUID:%s ItemDict:\n%s "%(GUID, addItemDictList))
@@ -749,7 +752,12 @@
if (curEntireRequire.PlayerJob&pow(2,curJob)) == 0:
SetPrizeState(curPlayerID, GUID, Disable_State, readState)
return Unknow_CompensationType, None
-
+
+ if curEntireRequire.ServerID and curEntireRequire.ServerID != GameWorld.GetPlayerServerID(curPlayer):
+ # 指定服务器邮件
+ SetPrizeState(curPlayerID, GUID, Disable_State, readState)
+ return Unknow_CompensationType, None
+
#可以用的奖励
SetPrizeState(curPlayerID, GUID, Enable_State, readState)
#返回物品信息
--
Gitblit v1.8.0