From 26958aff1b844a743a805b4f9075bee800b72a46 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 04 十一月 2025 14:35:37 +0800
Subject: [PATCH] 332 【主界面】座骑系统-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 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 8cabe1c..93c6f86 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -24,6 +24,7 @@
 import ChPyNetSendPack
 import PlayerFamilyEmblem
 import PlayerFamilyZhenbaoge
+import PlayerFamilyTaofa
 import IPY_PlayerDefine
 import IpyGameDataPY
 import IPY_GameWorld
@@ -81,8 +82,8 @@
         family = familyManager.GetAt(i)
         familyID = family.GetID()
         
-        #珍宝阁
         PlayerFamilyZhenbaoge.OnDay(family)
+        PlayerFamilyTaofa.OnDay(family)
         
         for index in xrange(family.GetCount()):
             member = family.GetAt(index)
@@ -99,6 +100,7 @@
         return
     ResetDailyDonateCnt(curPlayer)
     PlayerFamilyZhenbaoge.PlayerOnDay(curPlayer)
+    PlayerFamilyTaofa.PlayerOnDay(curPlayer)
     return
 
 def OnPlayerLogin(curPlayer, tick):
@@ -108,6 +110,7 @@
     Sync_RequestAddFamilyInfo(curPlayer, False)
     SyncDonateCntInfo(curPlayer)
     PlayerFamilyZhenbaoge.OnPlayerLogin(curPlayer)
+    PlayerFamilyTaofa.OnPlayerLogin(curPlayer)
     return
 
 def OnPlayerLogout(curPlayer):
@@ -461,6 +464,7 @@
     familyMgr = DBDataMgr.GetFamilyMgr()
     familyMgr.DelPlayerReqJoinFamilyIDAll(curPlayer.GetPlayerID())
     Sync_RequestAddFamilyInfo(curPlayer)
+    PlayerFamilyTaofa.OnPlayerEnterFamily(curPlayer)
     return
 
 def __OnLeaveFamily(curPlayer, isVoluntarily, tick):
@@ -495,6 +499,8 @@
         delMoney = int(nowMoney * delMoneyPer / 100.0)
         GameWorld.DebugLog("    扣除货币: delMoneyType=%s,delMoneyPer=%s,nowMoney=%s,delMoney=%s" % (delMoneyType, delMoneyPer, nowMoney, delMoney))        
         PlayerControl.PayMoney(curPlayer, delMoneyType, delMoney, "LeaveFamily")
+        
+    PlayerFamilyTaofa.OnPlayerLeaveFamily(curPlayer)
     FBLogic.OnLeaveFamily(curPlayer, tick)
     return
 
@@ -711,17 +717,17 @@
         family = familyMgr.GetAt(index)
         if not family:
             continue
-        familyID = family.GetID()
+        #familyID = family.GetID()
         lvMin = family.GetJoinLVMin()
         if lvMin and realmLV < lvMin:
-            GameWorld.DebugLog("    官职不足的不处理! familyID=%s,lvMin=%s" % (familyID, lvMin), playerID)
+            #GameWorld.DebugLog("    官职不足的不处理! familyID=%s,lvMin=%s" % (familyID, lvMin), playerID)
             continue
         if family.GetJoinReview():
-            GameWorld.DebugLog("    需要审核的不处理! familyID=%s" % familyID, playerID)
+            #GameWorld.DebugLog("    需要审核的不处理! familyID=%s" % familyID, playerID)
             continue
         MemberMax = GetFamilySetting(family.GetLV(), "MemberMax")
         if family.GetCount() >= MemberMax:
-            GameWorld.DebugLog("    成员已满的不处理! familyID=%s" % familyID, playerID)
+            #GameWorld.DebugLog("    成员已满的不处理! familyID=%s" % familyID, playerID)
             continue
         
         #直接加入
@@ -1219,6 +1225,7 @@
     #XW_JZ_LeaveFamily   <n color="0,190,255">{%S1%}</n><n color="255,255,0">退出了家族!</n>  25  -   -
     NotifyAllFamilyMemberMsg(familyID, "XW_JZ_LeaveFamily", [curPlayer.GetName()])
     
+    __DoPlayerLeaveFamilyByID(family, playerID, curPlayer)
     MapServer_FamilyRefresh(curPlayer, 0, 1)
     
     if family.GetCount() == 0:
@@ -1284,10 +1291,16 @@
     
     #删除玩家
     tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(tagMemberID)
+    __DoPlayerLeaveFamilyByID(family, tagPlayerID, tagPlayer)
     if tagPlayer:
         MapServer_FamilyRefresh(tagPlayer, 0)
         
     Broadcast_FamilyChange(familyID, FamilyChangeType_MemLeave)
+    return
+
+def __DoPlayerLeaveFamilyByID(curFamily, leavePlayerID, tagPlayer=None):
+    ## 有玩家离开家族处理,主要针对家族层级的,玩家个人的在 __OnLeaveFamily 处理
+    PlayerFamilyTaofa.OnFamilyMemberLeave(curFamily, leavePlayerID, tagPlayer)
     return
 
 #// A6 11 家族改名 #tagCMRenameFamily
@@ -1604,7 +1617,8 @@
 def SendFamilyActionInfo(curPlayer, familyID, actionType):
     ## 发送家族行为
     # @param curPlayer: 为None时通知该仙盟所有成员
-    
+    if not familyID:
+        return
     familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, actionType)
     
     clientPack = ChPyNetSendPack.tagMCFamilyActionInfo()

--
Gitblit v1.8.0