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