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 |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py
index ccc9d1f..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 = ""
@@ -328,7 +330,7 @@
 #  @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 中
     '''
@@ -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}
@@ -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