hxp
2025-10-15 7cdd3f4bee1cc16019afc939db48011518ccfb65
66 【公会】基础主体-服务端(公会改名)
2个文件已修改
67 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -30,7 +30,6 @@
import IPY_GameWorld
import ItemControler
import GameFuncComm
import ItemCommon
import DBDataMgr
import DirtyList
import ObjPool
@@ -156,6 +155,7 @@
    curMember.SetOffTime(0) # 在线0,脱机1,>1离线时间
    curMember.RefreshMember(curPlayer)
    Sync_FamilyInfo(curPlayer)
    SendFamilyActionInfo(curPlayer, familyID, ShareDefine.Def_ActionType_FamilyData)
    
    #通知招人
    if GetFamilyMemberHasPow(curMember, FamilyPowerID_Call):
@@ -195,6 +195,13 @@
        return
    member.RefreshMember(curPlayer)
    return
def GetRenameTime(dataAction): return dataAction.GetValue1()
def SetRenameTime(dataAction, setTime): dataAction.SetValue1(setTime)
def GetFamilyDataAction(familyID):
    ## 家族额外数据存储的行为数据,可以视为Family公共数据的一个扩展
    action = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, ShareDefine.Def_ActionType_FamilyData)
    return action.GetOneAction(True)
#// A6 04 创建家族 #tagCMCreateFamily
#
@@ -1240,7 +1247,7 @@
def UpdateFamilyName(index, clientData, tick):
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    newName = clientData.NewName
    itemIndex = clientData.ItemIndex
    #itemIndex = clientData.ItemIndex
    
    playerID = curPlayer.GetPlayerID()
    familyID = curPlayer.GetFamilyID()
@@ -1258,18 +1265,24 @@
        GameWorld.DebugLog("非盟主不可改名!", playerID)
        return
    
    cdHours = IpyGameDataPY.GetFuncCfg("FamilyRename", 2)
    if cdHours:
        cdSeconds = cdHours * 3600
        curTime = int(time.time())
        dataAction = GetFamilyDataAction(familyID)
        lastRenameTime = GetRenameTime(dataAction)
        if lastRenameTime and (curTime - lastRenameTime) < cdSeconds:
            GameWorld.DebugLog("仙盟改名CD中! lastRenameTime=%s,cdHours=%s" % (GameWorld.ChangeTimeNumToStr(lastRenameTime), cdHours))
            return
    familyName = CheckInputFamilyName(curPlayer, newName)
    if not familyName:
        return
    
    itemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
    curItem = itemPack.GetAt(itemIndex)
    if not ItemCommon.CheckItemCanUse(curItem) or curItem.GetType() != ChConfig.Def_ItemType_ChangeFamilyName:
        GameWorld.DebugLog("没有仙盟改名道具! itemIndex=%s" % itemIndex, playerID)
    moneyType, moneyValue = IpyGameDataPY.GetFuncEvalCfg("FamilyRename", 1)
    if moneyType and moneyValue and not PlayerControl.PayMoney(curPlayer, moneyType, moneyValue, "FamilyRename"):
        return
    ItemCommon.DelItem(curPlayer, curItem, 1, True, 'UpdateFamilyName')
    
    #oldName = curFamily.GetName()
    family.SetName(familyName)
    
    infoPack = GetPack_FamilyInfo(familyID)
@@ -1282,10 +1295,11 @@
            continue
        Sync_FamilyInfo(player, infoPack)
        player.SetFamilyName(familyName)
        player.Notify_FamilyNameRefresh() #//04 36    周围玩家家族名刷新#tagPlayerFamilyNameRefresh
        #player.Notify_FamilyNameRefresh() #//04 36    周围玩家家族名刷新#tagPlayerFamilyNameRefresh
        
    #PlayerCompensation.SendMailByKey('FamilyNameChange', memberIDList, [], [oldName, familyName])
    #PlayerControl.WorldNotify(0, 'Family_ChangeName', [oldName, familyName])
    if cdHours:
        SetRenameTime(dataAction, curTime)
        SendFamilyActionInfo(None, familyID, ShareDefine.Def_ActionType_FamilyData)
    return
#// A6 20 搜索家族列表 #tagCMViewFamilyPage
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -1025,21 +1025,21 @@
#家族行为类型 在GameServer.ChConfig.ActionTypeSaveCnt 中配置最高存储条数
Def_ActionTypeList = (
                      Def_ActionType_FamilyPray,    #家族祈福0
                      Def_ActionType_1,    #1
                      Def_ActionType_FamilyArrest,    #家族悬赏完成情况2
                      Def_ActionType_FamilyData, #仙盟额外记录信息0
                      Def_ActionType_1,
                      Def_ActionType_2,
                      Def_ActionType_FamilyAdd,    #申请进入家族3
                      Def_ActionType_FamilyMember,    #记录家族成员信息4(以前开服活动用,暂废弃)
                      Def_ActionType_LeaderImpeachTime,  # 族长下线了多久5
                      Def_ActionType_FamilyBossFB,    #记录家族boss副本信息6
                      Def_ActionType_FamilyStore,    #记录战盟仓库操作记录7
                      Def_ActionType_4,
                      Def_ActionType_5,
                      Def_ActionType_6,
                      Def_ActionType_7,
                      Def_ActionType_FamilyZhenfa,    #仙盟阵法8
                      Def_ActionType_XXX9,    #9
                      Def_ActionType_XXX10,    #10
                      Def_ActionType_OfficerModelEquip,    #记录家族有职位的成员模型装备信息11
                      Def_ActionType_9,
                      Def_ActionType_10,
                      Def_ActionType_11,
                      Def_ActionType_FamilyEvent,    #记录家族事件12
                      Def_ActionType_13,    #boss凭证提交 13
                      Def_ActionType_FamilyCTGAssist,    #仙盟充值协助活动 14
                      Def_ActionType_13,
                      Def_ActionType_14,
                      Def_ActionType_FamilyEmblem,    #仙盟时效徽章信息 15
                      Def_ActionType_Zhenbaoge,    #珍宝阁 16
                      Def_ActionType_TalkCache,    #聊天缓存 17,最大条数配置决定
@@ -1047,13 +1047,6 @@
                      
#家族某行为类型保存的条数
ActionTypeSaveCnt = {
                     Def_ActionType_FamilyPray:10 ,    #家族祈福
                     Def_ActionType_FamilyArrest:7,     #家族悬赏
                     Def_ActionType_FamilyMember:1,       #记录家族成员信息
                     Def_ActionType_LeaderImpeachTime:1,  # 族长下线了多久
                     Def_ActionType_FamilyBossFB:1,  # 记录家族boss副本信息
                     Def_ActionType_FamilyStore:30,       #仓库操作记录
                     Def_ActionType_OfficerModelEquip:10,  # 记录家族有职位的成员模型装备信息(盟主+副盟主*2+战斗队长*5)
                     Def_ActionType_FamilyEvent:50,  # 记录家族事件
                     }