From 856beb9858f9e108f27353fd3019d9b7d2e51c42 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 04 九月 2018 19:30:03 +0800
Subject: [PATCH] Fix: 3253 【后端】寻宝仓库一键取出优化;

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py |   63 ++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 11 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
index fe9b667..a8b7c46 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
@@ -665,6 +665,47 @@
     NetPackCommon.SendFakePack(curPlayer, familyViewPack)
     return
 
+#// A4 12 搜索家族 #tagCGPySearchFamily
+#
+#struct    tagCGPySearchFamily
+#{
+#    tagHead        Head;
+#    BYTE        MsgLen;        //模糊搜索家族,如果输入为空,则为不限制该条件
+#    char        Msg[MsgLen];    //size = MsgLen
+#    BYTE        LV;        //最低家族等级,如果为0,则不限制该条件
+#    BYTE        MaxCount;    //搜索结果所需最大条数,后端限制最多返回20条
+#    BYTE        IsSearching;    //默认1,如果有指定其他值,则返回指定值
+#};
+def PySearchFamily(index, clientData, tick):
+    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+    
+    msg = clientData.Msg
+    minFamilyLV = clientData.LV
+    maxCount = min(20, clientData.MaxCount)
+    IsSearching = clientData.IsSearching
+    
+    familyMgr = GameWorld.GetFamilyManager()
+    familyViewPack = ChPyNetSendPack.tagGCPyAllFamilyView()
+    familyViewPack.Clear()
+    familyViewPack.IsSearching = IsSearching
+    familyViewPack.TotalCount = 1
+    #familyViewPack.CurPage = viewPage
+    familyViewPack.Family = []
+    for i, familyID in enumerate(PyGameData.g_sortFamilyIDList):
+        family = familyMgr.FindFamily(familyID)
+        if not family:
+            continue
+        if msg not in family.GetName():
+            continue
+        if minFamilyLV and family.GetLV() < minFamilyLV:
+            continue
+        familyViewPack.Family.append(__GetFamilyView(i, family))
+        if len(familyViewPack.Family) >= maxCount:
+            break
+    familyViewPack.PageCount = len(familyViewPack.Family)
+    NetPackCommon.SendFakePack(curPlayer, familyViewPack)
+    return
+
 #class   IPY_CFamilyChangeBroadcast
 #{
 #public:
@@ -2464,13 +2505,13 @@
             
         familyMoney = family.GetMoney()
         
-        useMoney = GetFamilySetting(family, ChConfig.Def_FamilySetting_SystemLostMoney)
-        
-        #家族资金不足, 解散
-        if familyMoney < useMoney:
-            family.SetMoney(0)
-            delFamilyList.append(family)
-            continue
+#        useMoney = GetFamilySetting(family, ChConfig.Def_FamilySetting_SystemLostMoney)
+#        
+#        #家族资金不足, 解散
+#        if familyMoney < useMoney:
+#            family.SetMoney(0)
+#            delFamilyList.append(family)
+#            continue
         #多久没人上线,解散
         offlineDay = GetLastOnlineMemberOfflineTime(family)
         GameWorld.DebugLog('    仙盟%s %s天没人上线了'%(family.GetID(), offlineDay))
@@ -2486,10 +2527,10 @@
                                                    ChConfig.Def_Family_ClearRequestAddNote_Day)
         
         #此处不通知地图服务器家族资金变更
-        family.SetMoney(familyMoney - useMoney)
-        if useMoney > 0:
-            #帮会日常维持消耗{%S1%}银两帮会资金
-            PlayerControl.FamilyNotify(family.GetID(), 'jiazu_lhs_272921', [useMoney])
+#        family.SetMoney(familyMoney - useMoney)
+#        if useMoney > 0:
+#            #帮会日常维持消耗{%S1%}银两帮会资金
+#            PlayerControl.FamilyNotify(family.GetID(), 'jiazu_lhs_272921', [useMoney])
         #自动传位
         __AutoChangeLeader(family)
         

--
Gitblit v1.8.0