From 01a0e539b786ae0f1c46646874502367f5410aca Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 04 二月 2026 18:18:51 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(优化游戏服及跨服启动、通讯逻辑;服务器类型增加跨服中心、跨服事件、时间管理;跨服玩家在线状态、基础信息、玩家资源增减管理、发送跨服个人邮件等;跨服公会初版,修复公会成员审核、成员战力刷新等bug,增加公会名次同步;跨服公会暂未测试;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMail.py |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMail.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMail.py
index 6628ce3..b773156 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMail.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMail.py
@@ -15,6 +15,7 @@
 #"""Version = 2025-05-14 12:00"""
 #-------------------------------------------------------------------------------
 
+import CrossMsg
 import GameWorld
 import ItemCommon
 import PlayerControl
@@ -110,9 +111,19 @@
             Sync_PlayerMailState(curPlayer, notifyGUIDState)
     return
 
-def SendMailByKey(mailTypeKey, playerID, itemList, paramList=[], limitDays=7):
+def SendMailByKey(mailTypeKey, playerID, itemList, paramList=[], limitDays=7, toServerID=0):
     ## 发送个人邮件魔板
     # @param itemList: 元素支持字典{itemID:itemCount, ...} 或列表 [itemID, itemCount, 可选是否拍品, 物品UserData]
+    # @param toServerID: 向其他服玩家发送邮件时需指定玩家所在服务器
+    if toServerID > 0:
+        if not GameWorld.IsCrossServer():
+            GameWorld.ErrLog("非跨服服务器不能向其他服务器发送个人邮件! %s,playerID=%s" % (mailTypeKey, playerID))
+            return
+        dataMsg = {"mailTypeKey":mailTypeKey, "itemList":itemList, "paramList":paramList, "limitDays":limitDays}
+        mainServerID = GameWorld.GetMainServerID(toServerID)
+        CrossMsg.SendToClientServer(ShareDefine.C2S_SendPlayerMail, dataMsg, [mainServerID], playerID)
+        return
+    
     if not mailTypeKey:
         mailTypeKey = ShareDefine.DefaultLackSpaceMailType
     title = "<T>%s</T>" % mailTypeKey
@@ -120,6 +131,16 @@
     SendMail(playerID, title, text, itemList, limitDays)
     return
 
+def C2S_SendPlayerMail(dataMsg, playerID):
+    mailTypeKey = dataMsg["mailTypeKey"]
+    itemList = dataMsg["itemList"]
+    paramList = dataMsg["paramList"]
+    limitDays = dataMsg["limitDays"]
+    if not GameWorld.GetDBPlayerAccIDByID(playerID):
+        return
+    SendMailByKey(mailTypeKey, playerID, itemList, paramList, limitDays)
+    return
+
 def SendMail(playerID, title, text, itemList=None, limitDays=7, mailType=0):
     ## 发送个人邮件
     # @param itemList: 元素支持字典{itemID:itemCount, ...} 或列表 [itemID, itemCount, 可选是否拍品, 物品UserData]

--
Gitblit v1.8.0