hxp
2021-09-06 ec2e61906a08dc60adaf7741fbe6f1fa420c1eb5
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
@@ -89,8 +89,11 @@
def GetFamilyMixServerDay(curFamily): return curFamily.GetExtra1()
def SetFamilyMixServerDay(curFamily, value): return curFamily.SetExtra1(value)
## ------------------ 成员 ----------------------
def GetMemberFightPower(curMember): return curMember.GetExattr3()
def SetMemberFightPower(curMember, fightPower): return curMember.SetExattr3(fightPower)
def GetMemberFightPower(curMember): return curMember.GetExattr3() + curMember.GetExattr5() * ChConfig.Def_PerPointValue
def SetMemberFightPower(curMember, fightPower):
    curMember.SetExattr5(fightPower / ChConfig.Def_PerPointValue)
    curMember.SetExattr3(fightPower % ChConfig.Def_PerPointValue)
    return
def GetMemberJoinTime(curMember): return curMember.GetExattr4()
def SetMemberJoinTime(curMember, joinTime): return curMember.SetExattr4(joinTime)
@@ -419,7 +422,7 @@
    PyDataManager.GetFamilyStoreItemManager().SyncFamilyStoreItem(jionPlayer, curFamily.GetID())
    #仙盟拍品
    AuctionHouse.Sync_FamilyAuctionItemInfo(jionPlayer, curFamily.GetID())
    SetMemberFightPower(familyMember, jionPlayer.GetFightPower())
    SetMemberFightPower(familyMember, PlayerControl.GetFightPower(jionPlayer))
    AddFamilyIDToFightPowerChangeList(curFamily.GetID())
    
    #通知仙盟盛宴题目
@@ -1736,8 +1739,10 @@
                                          addFamilyMoney, curFamily.GetFamilyActiveValue(), addFamilyActiveValue)
    
    #通知客户端
    #curFamily.Broadcast_FamilyChange()
    curPlayer.Sync_FamilyInfo()
    if addFamilyHornor:
        curFamily.Broadcast_FamilyChange()
    else:
        curPlayer.Sync_FamilyInfo()
    
    #金钱变更时才通知
    if addFamilyMoney != 0:
@@ -1982,8 +1987,10 @@
    
    if not PlayerControl.GetIsTJG(curPlayer):
        #上线重置离线时间为0, 非脱机挂才设置
        curMember.SetExattr2(0)
        curMember.SetExattr2(0) # 在线0,脱机1,>1离线时间
        curPlayer.Sync_FamilyInfo()
    else:
        curMember.SetExattr2(1) # 脱机1
    
    curPlayer.MapServer_FamilyRefresh()
    curMember = GetPlayerFamilyMember(curPlayer)
@@ -2911,7 +2918,7 @@
        GameWorld.Log("GetLeaderOfflineTime->FindMember, None;%s" % leaderID)
        return 0
    offLineTimeNum = curMember.GetExattr2()
    if not offLineTimeNum:
    if not offLineTimeNum or offLineTimeNum == 1:
        return 0
    offLineTime = GameWorld.ChangeTimeNumToStr(offLineTimeNum)
    return GameWorld.GetPastHour(offLineTime)
@@ -2922,7 +2929,7 @@
    for i in range(0, family.GetCount()):
        member = family.GetAt(i) 
        offLineTimeNum = member.GetExattr2()
        if not offLineTimeNum:
        if not offLineTimeNum or offLineTimeNum == 1:
            #有人在线直接返回
            return 0
        if not offLineTime:
@@ -2957,7 +2964,7 @@
        elif toMember2.GetExattr1() < member.GetExattr1():
            toMember2 = member
        offLineHour = GameWorld.GetPastHour(GameWorld.ChangeTimeNumToStr(member.GetExattr2())) if member.GetExattr2() else 0
        offLineHour = GameWorld.GetPastHour(GameWorld.ChangeTimeNumToStr(member.GetExattr2())) if member.GetExattr2() > 1 else 0
        #GameWorld.DebugLog('memberID=%s 离线%s小时,历史贡献度%s'%(member.GetPlayerID(), offLineHour, member.GetExattr1()))
        if offLineHour < 48:
            if not toMember1:
@@ -3557,7 +3564,8 @@
    requestPlayerName = curPlayer.GetName()
    playerLV = curPlayer.GetLV()
    #玩家Id, 等级,职业,战斗力
    actionDataList = [curPlayer.GetID(), playerLV, curPlayer.GetJob(), curPlayer.GetFightPower()]
    fightPower = PlayerControl.GetFightPower(curPlayer)
    actionDataList = [curPlayer.GetID(), playerLV, curPlayer.GetJob(), fightPower % ChConfig.Def_PerPointValue, fightPower / ChConfig.Def_PerPointValue]
    allFamilyActionManager = GameWorld.GetFamilyActionManager()
    familyManager = GameWorld.GetFamilyManager()
    indexList = range(familyManager.GetCount())