From 902447caa0c5c7b31dd3add5cb69053915f18fca Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 12 三月 2026 19:42:18 +0800
Subject: [PATCH] 562 【武将招募】新增月卡特权心愿招募不限次数-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 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 6439486..356f407 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -807,12 +807,17 @@
             joinCDMinute = joinCDMinuteList[kickedCnt - 1] if len(joinCDMinuteList) >= kickedCnt else joinCDMinuteList[-1]
     if joinCDMinute:
         cdTimes = joinCDMinute * 60
-        passTimes = int(time.time()) - leaveFamilyTime
+        passTimes = GetFamilyTime() - leaveFamilyTime
         if passTimes < cdTimes:
             GameWorld.DebugLog("加入公会CD中: leaveCnt=%s,kickedCnt=%s,lastVoluntarily=%s,leaveFamilyTime=%s(%s),passTimes=%s < %s" 
                    % (leaveCnt, kickedCnt, lastVoluntarily, leaveFamilyTime, GameWorld.ChangeTimeNumToStr(leaveFamilyTime), passTimes, cdTimes))
             return True
     return False
+
+def GetFamilyTime():
+    if GameWorld.IsMainServer() and DBFamily.IsFamilyCross():
+        return CrossMgr.GetSSServerMgr().GetCrossTime()
+    return int(time.time())
 
 def AutoJoinFamily(crossPlayer):
     if crossPlayer.GetFamilyID():
@@ -1927,7 +1932,7 @@
     curMember.SetContribTotal(contribTotal)
     GameWorld.DebugLog("增加成员贡献: familyID=%s,addContribValue=%s,contribDay=%s,contribTotal=%s" % (familyID, addContribValue, contribDay, contribTotal), playerID)
     
-    Broadcast_FamilyInfo(familyID, isSyncMem=False) # 成员贡献
+    Broadcast_FamilyInfo(familyID, changeMemIDList=[playerID]) # 成员贡献
     return
 
 ## ------------------------------------------------------------------------------------------------
@@ -2187,7 +2192,7 @@
     curPlayer.SetFamilyActiveValue(0)
     curPlayer.SetLastWeekFamilyActiveValue(0)
     curPlayer.SetFamilyLV(0)
-    PlayerControl.SetLeaveFamilyTimeEx(curPlayer, int(time.time()))
+    PlayerControl.SetLeaveFamilyTimeEx(curPlayer, GetFamilyTime())
     leaveCnt, kickedCnt, _ = PlayerControl.GetLeaveFamilyInfo(curPlayer)
     GameWorld.DebugLog("__OnLeaveFamily: isVoluntarily=%s,leaveCnt=%s,kickedCnt=%s" % (isVoluntarily, leaveCnt, kickedCnt))
     delMoneyType, delMoneyPer = IpyGameDataPY.GetFuncCfg("FamilyLeave", 3), 0

--
Gitblit v1.8.0