From ec5de0b415bb3fd2c12367b1babfe0d4351a2827 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 17 三月 2026 15:03:38 +0800
Subject: [PATCH] 405 【公会】自动转让会长规则调整(优化优先传位配置;优化跨服邮件发送;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
index 4755131..6c501bb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -87,21 +87,24 @@
 def __doFamilyOnHour():
     
     needHours = IpyGameDataPY.GetFuncCfg("FamilyLeaderAutoChange", 1)
+    priorityHours = IpyGameDataPY.GetFuncCfg("FamilyLeaderAutoChange", 2) # 优先传给离线不超过x小时的成员,一样按优先级
     if GameWorld.IsMainServer() and not DBFamily.IsFamilyCross():
         # 开服前X天会长离线Y小时触发自动转让,优先级高于数值1,格式 X|Y
-        befServerDay, needHours2 = IpyGameDataPY.GetFuncEvalCfg("FamilyLeaderAutoChange", 3)
+        openServerSet = IpyGameDataPY.GetFuncEvalCfg("FamilyLeaderAutoChange", 3)
+        befServerDay = openServerSet[0]
         serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
         if serverDay <= befServerDay:
-            needHours = needHours2
+            needHours = openServerSet[1]
+            priorityHours = openServerSet[2]
             
-    #GameWorld.DebugLog("自动传位时长设定: needHours=%s" % needHours)
+    GameWorld.DebugLog("自动传位时长设定: needHours=%s,priorityHours=%s" % (needHours, priorityHours))
     familyManager = DBDataMgr.GetFamilyMgr()
     for zoneID in familyManager.GetZoneIDListThisServer():
         zoneMgr = familyManager.GetZoneFamilyMgr(zoneID)
         for i in range(0, zoneMgr.GetCount()):
             family = zoneMgr.GetAt(i)
             #自动传位
-            __AutoChangeLeader(family, needHours)
+            __AutoChangeLeader(family, needHours, priorityHours)
     return
 
 def FamilyCrossCenterOnDay():
@@ -1344,7 +1347,7 @@
     CrossPlayer.FamilyNotify(familyID, "XW_JZ_AppointFamily", [memName, changeFamilyLV])
     return
 
-def __AutoChangeLeader(curFamily, needHours):
+def __AutoChangeLeader(curFamily, needHours, priorityHours):
     ## 自动传位
     leaderID = curFamily.GetLeaderID()
     leaderMem = curFamily.FindMember(leaderID)
@@ -1361,8 +1364,6 @@
         GameWorld.DebugLogEx("盟主离线未超过限制小时,不处理自动传位!familyID=%s,leaderID=%s,offTime=%s,passHours=%s < %s", 
                              familyID, leaderID, GameWorld.ChangeTimeNumToStr(offTime), passHours, needHours)
         return
-    
-    priorityHours = IpyGameDataPY.GetFuncCfg("FamilyLeaderAutoChange", 2) # 优先传给离线不超过x小时的成员,一样按优先级
     
     priorityList = []
     for i in range(0, curFamily.GetCount()):

--
Gitblit v1.8.0