From 27bc9586f194150f48f914b937c5a98f73a6650e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 09 一月 2019 19:32:20 +0800
Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(支持拾取物品、货币、好物品记录)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
index cde4e6f..357373c 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
@@ -22,6 +22,7 @@
 import ChConfig
 import PlayerControl
 import PlayerViewCache
+import PlayerCompensation
 import ChPyNetSendPack
 import PlayerDBGSEvent
 import NetPackCommon
@@ -319,6 +320,37 @@
     NetPackCommon.SendFakePack(curPlayer, sendPack)
     return
 
-
+def CrossServerMsg_PutInItem(itemInfo):
+    ## 跨服获得物品
     
+    GameWorld.DebugLog("收到跨服服务器获得物品!")
+    playerID = itemInfo["PlayerID"]
+    itemData = itemInfo["ItemData"]
+    event = itemInfo["Event"]
+    curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
+    if curPlayer:
+        # 在线的话推到MapServer处理
+        itemMsg = str(itemInfo)
+        curPlayer.MapServer_QueryPlayerResult(0, 0, "CrossPutInItem", itemMsg, len(itemMsg))
+        return
+    # 离线的话直接发邮件
+    GameWorld.Log("收到跨服获得物品,玩家不在线,直接发邮件! itemInfo=%s" % str(itemInfo), playerID)
+    itemID, itemCount, isBind, itemUserData = itemData
+    addItemList = [{"ItemID":itemID, "Count":itemCount, "IsBind":isBind, "UserData":itemUserData}]
+    PlayerCompensation.SendMailByKey("", [playerID], addItemList, detail={"CrossPutInItem":1, "Event":event})
+    return
+
+def CrossServerMsg_GiveMoney(msgInfo):
+    ## 跨服获得货币
+    
+    playerID = msgInfo["PlayerID"]
+    curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
+    if not curPlayer:
+        GameWorld.ErrLog("跨服获得货币时玩家不在线! msgInfo=%s" % str(msgInfo), playerID)
+        return
+    msgInfo = str(msgInfo)
+    curPlayer.MapServer_QueryPlayerResult(0, 0, "CrossGiveMoney", msgInfo, len(msgInfo))
+    return
+
+
     
\ No newline at end of file

--
Gitblit v1.8.0