From b9bef849ab19b8a3d6e889e82c687eec736cbd2a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 10 十月 2025 20:42:29 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(徽章旗帜、旗号;捐献;公会加经验、加贡献度;搜索支持公会编号;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py | 29 ++++++++++++++---------------
1 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py
index d900533..b94f27e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py
@@ -68,7 +68,7 @@
updEmblemID = random.choice(defaultEmblemIDList) if defaultEmblemIDList else 0
GameWorld.Log("仙盟佩戴徽章过期恢复随机默认徽章! familyID=%s,emblemID=%s,endTime=%s,updEmblemID=%s" % (familyID, emblemID, endTime, updEmblemID))
family.SetEmblemID(updEmblemID)
- family.Broadcast_FamilyChange()
+ PlayerFamily.Broadcast_FamilyChange(familyID, PlayerFamily.FamilyChangeType_EChange)
return
def GetFamilyEmblemActionData(familyID, emblemID):
@@ -77,7 +77,7 @@
familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, actionType)
for index in range(familyAction.Count()):
familyActionObj = familyAction.At(index)
- if emblemID == familyActionObj.GetValue1():
+ if emblemID == GetActionEmblemID(familyActionObj):
return familyActionObj
return
@@ -104,9 +104,6 @@
actionType = ShareDefine.Def_ActionType_FamilyEmblem
familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, actionType)
emblemActionObj = familyAction.AddAction()
- emblemActionObj.SetTime(curTime)
- emblemActionObj.SetFamilyId(familyID)
- emblemActionObj.SetActionType(actionType)
if not emblemActionObj:
return
@@ -134,19 +131,19 @@
SetActionEmblemEndTime(emblemActionObj, updEndTime)
# 通知
- #PlayerFamilyAction.SendFamilyAction(emblemActionObj)
+ PlayerFamily.SendFamilyAction(emblemActionObj)
return emblemActionObj
-def OnChangeFamilyEmblem(curPlayer, emblemID):
+def OnChangeFamilyEmblem(curPlayer, emblemID, emblemWord=""):
## 修改仙盟徽章
playerID = curPlayer.GetPlayerID()
familyID = curPlayer.GetFamilyID()
- familyManager = PlayerFamily.GetFamilyMgr()
- curFamily = familyManager.FindFamily(familyID)
+ if familyID <= 0:
+ return
+ familyMgr = DBDataMgr.GetFamilyMgr()
+ curFamily = familyMgr.FindFamily(familyID)
if not curFamily:
return
- familyID = curFamily.GetID()
-
if curFamily.GetLeaderID() != playerID:
GameWorld.DebugLog("只有盟主可以修改徽章!", playerID)
return
@@ -178,8 +175,10 @@
GameWorld.Log("该徽章已过期! familyID=%s,emblemID=%s,endTime=%s" % (familyID, emblemID, endTime))
return
- GameWorld.DebugLog("更换仙盟徽章! familyID=%s,emblemID=%s" % (familyID, emblemID), playerID)
+ GameWorld.DebugLog("更换仙盟徽章! familyID=%s,emblemID=%s,emblemWord=%s" % (familyID, emblemID, GameWorld.CodeToGbk(emblemWord)), playerID)
curFamily.SetEmblemID(emblemID)
- #PlayerFamily.SendPack_MapServer_PlayerFamilyRefresh(curFamily)
- curFamily.Broadcast_FamilyChange()
- return
+ if emblemWord:
+ curFamily.SetEmblemWord(emblemWord)
+ PlayerFamily.Sync_FamilyInfo(curPlayer)
+ PlayerFamily.Broadcast_FamilyChange(familyID, PlayerFamily.FamilyChangeType_EChange, excludeIDList=[playerID])
+ return True
--
Gitblit v1.8.0