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