hxp
6 天以前 0b314dd1d9f0c39e8d86de7e996c62836aa19aca
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -24,6 +24,7 @@
import ChPyNetSendPack
import PlayerFamilyEmblem
import PlayerFamilyZhenbaoge
import PlayerFamilyTaofa
import IPY_PlayerDefine
import IpyGameDataPY
import IPY_GameWorld
@@ -81,8 +82,8 @@
        family = familyManager.GetAt(i)
        familyID = family.GetID()
        
        #珍宝阁
        PlayerFamilyZhenbaoge.OnDay(family)
        PlayerFamilyTaofa.OnDay(family)
        
        for index in xrange(family.GetCount()):
            member = family.GetAt(index)
@@ -99,6 +100,7 @@
        return
    ResetDailyDonateCnt(curPlayer)
    PlayerFamilyZhenbaoge.PlayerOnDay(curPlayer)
    PlayerFamilyTaofa.PlayerOnDay(curPlayer)
    return
def OnPlayerLogin(curPlayer, tick):
@@ -108,6 +110,7 @@
    Sync_RequestAddFamilyInfo(curPlayer, False)
    SyncDonateCntInfo(curPlayer)
    PlayerFamilyZhenbaoge.OnPlayerLogin(curPlayer)
    PlayerFamilyTaofa.OnPlayerLogin(curPlayer)
    return
def OnPlayerLogout(curPlayer):
@@ -461,6 +464,7 @@
    familyMgr = DBDataMgr.GetFamilyMgr()
    familyMgr.DelPlayerReqJoinFamilyIDAll(curPlayer.GetPlayerID())
    Sync_RequestAddFamilyInfo(curPlayer)
    PlayerFamilyTaofa.OnPlayerEnterFamily(curPlayer)
    return
def __OnLeaveFamily(curPlayer, isVoluntarily, tick):
@@ -495,6 +499,8 @@
        delMoney = int(nowMoney * delMoneyPer / 100.0)
        GameWorld.DebugLog("    扣除货币: delMoneyType=%s,delMoneyPer=%s,nowMoney=%s,delMoney=%s" % (delMoneyType, delMoneyPer, nowMoney, delMoney))        
        PlayerControl.PayMoney(curPlayer, delMoneyType, delMoney, "LeaveFamily")
    PlayerFamilyTaofa.OnPlayerLeaveFamily(curPlayer)
    FBLogic.OnLeaveFamily(curPlayer, tick)
    return
@@ -711,17 +717,17 @@
        family = familyMgr.GetAt(index)
        if not family:
            continue
        familyID = family.GetID()
        #familyID = family.GetID()
        lvMin = family.GetJoinLVMin()
        if lvMin and realmLV < lvMin:
            GameWorld.DebugLog("    官职不足的不处理! familyID=%s,lvMin=%s" % (familyID, lvMin), playerID)
            #GameWorld.DebugLog("    官职不足的不处理! familyID=%s,lvMin=%s" % (familyID, lvMin), playerID)
            continue
        if family.GetJoinReview():
            GameWorld.DebugLog("    需要审核的不处理! familyID=%s" % familyID, playerID)
            #GameWorld.DebugLog("    需要审核的不处理! familyID=%s" % familyID, playerID)
            continue
        MemberMax = GetFamilySetting(family.GetLV(), "MemberMax")
        if family.GetCount() >= MemberMax:
            GameWorld.DebugLog("    成员已满的不处理! familyID=%s" % familyID, playerID)
            #GameWorld.DebugLog("    成员已满的不处理! familyID=%s" % familyID, playerID)
            continue
        
        #直接加入
@@ -1219,6 +1225,7 @@
    #XW_JZ_LeaveFamily   <n color="0,190,255">{%S1%}</n><n color="255,255,0">退出了家族!</n>  25  -   -
    NotifyAllFamilyMemberMsg(familyID, "XW_JZ_LeaveFamily", [curPlayer.GetName()])
    
    __DoPlayerLeaveFamilyByID(family, playerID, curPlayer)
    MapServer_FamilyRefresh(curPlayer, 0, 1)
    
    if family.GetCount() == 0:
@@ -1284,10 +1291,16 @@
    
    #删除玩家
    tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(tagMemberID)
    __DoPlayerLeaveFamilyByID(family, tagPlayerID, tagPlayer)
    if tagPlayer:
        MapServer_FamilyRefresh(tagPlayer, 0)
        
    Broadcast_FamilyChange(familyID, FamilyChangeType_MemLeave)
    return
def __DoPlayerLeaveFamilyByID(curFamily, leavePlayerID, tagPlayer=None):
    ## 有玩家离开家族处理,主要针对家族层级的,玩家个人的在 __OnLeaveFamily 处理
    PlayerFamilyTaofa.OnFamilyMemberLeave(curFamily, leavePlayerID, tagPlayer)
    return
#// A6 11 家族改名 #tagCMRenameFamily
@@ -1484,7 +1497,7 @@
    curMember.SetDonateCntTotal(memDonateCntTotal)
    GameWorld.DebugLog("家族捐献: donateType=%s,donateCnt=%s,%s,memDonateCntDay=%s,memDonateCntDay=%s" 
                       % (donateType, donateCnt, awardItemList, memDonateCntDay, memDonateCntTotal), playerID)
    ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList)
    ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["FamilyMoneyDonate", False, {}])
    return
def ResetDailyDonateCnt(curPlayer):
@@ -1604,7 +1617,8 @@
def SendFamilyActionInfo(curPlayer, familyID, actionType):
    ## 发送家族行为
    # @param curPlayer: 为None时通知该仙盟所有成员
    if not familyID:
        return
    familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, actionType)
    
    clientPack = ChPyNetSendPack.tagMCFamilyActionInfo()