From a451e68aed69b3c936d4afe50a0cf3c43680e90c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 27 十月 2025 11:01:10 +0800
Subject: [PATCH] 302 【公会】BOSS讨伐-服务端(Taofa命令增加添加家成员讨伐数据)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CreateFamily.py |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CreateFamily.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CreateFamily.py
index 7d3c042..bf69db3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CreateFamily.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CreateFamily.py
@@ -37,6 +37,7 @@
         GameWorld.DebugAnswer(curPlayer, "输出仙盟列表: CreatFamily pl [条数 从第x名]")
         GameWorld.DebugAnswer(curPlayer, "输出仙盟明细: CreatFamily pf 仙盟ID")
         GameWorld.DebugAnswer(curPlayer, "添加假申请人: CreatFamily j [申请数 仙盟ID]")
+        GameWorld.DebugAnswer(curPlayer, "添加本盟成员: CreatFamily m 人数 [仙盟ID]")
         return
     
     value1 = gmList[0]
@@ -56,6 +57,10 @@
         __addFackRequestJoin(curPlayer, gmList)
         return
     
+    if value1 == "m":
+        __addFackMember(curPlayer, gmList)
+        return
+    
     creatCount = value1
     if creatCount <= 0:
         __delFackFamily(curPlayer)
@@ -63,6 +68,45 @@
     __createFackFamily(curPlayer, gmList)
     return
 
+def __addFackMember(curPlayer, gmList):
+    memCnt = gmList[1] if len(gmList) > 1 else 1
+    familyID = gmList[2] if len(gmList) > 2 else curPlayer.GetFamilyID()
+    
+    familyMgr = DBDataMgr.GetFamilyMgr()
+    curFamily = familyMgr.FindFamily(familyID)
+    if not curFamily:
+        GameWorld.DebugAnswer(curPlayer, "没有该仙盟: %s" % familyID)
+        return
+    
+    MemberMax = PlayerFamily.GetFamilySetting(curFamily.GetLV(), "MemberMax")
+    if curFamily.GetCount() >= MemberMax:
+        GameWorld.DebugAnswer(curPlayer, "成员已满: %s" % MemberMax)
+        return
+    memCnt = min(memCnt, MemberMax - curFamily.GetCount())
+    
+    fackIDStart = 0
+    for i in range(0, familyMgr.GetCount()):
+        family = familyMgr.GetAt(i)
+        for index in xrange(family.GetCount()):
+            member = family.GetAt(index)
+            memID = member.GetPlayerID()
+            if memID > ShareDefine.FackPlayerIDMax:
+                continue
+            fackIDStart = max(memID, fackIDStart)
+            
+    addCnt = 0
+    for i in range(memCnt):
+        fackID = fackIDStart + i + 1
+        if fackID >= ShareDefine.FackPlayerIDMax:
+            break
+        PlayerFamily.DoPlayerJionFamily(curFamily, fackID, None, broadcastFamilyChange=False)
+        addCnt += 1
+        
+    familyMgr.Sort()
+    PlayerFamily.Sync_FamilyInfo(curPlayer)
+    GameWorld.DebugAnswer(curPlayer, "增加成员数:%s, 总成员:%s" % (addCnt, curFamily.GetCount()))
+    return
+
 def __addFackRequestJoin(curPlayer, gmList):
     reqCnt = gmList[1] if len(gmList) > 1 else 1
     familyID = gmList[2] if len(gmList) > 2 else curPlayer.GetFamilyID()

--
Gitblit v1.8.0