hxp
5 天以前 26958aff1b844a743a805b4f9075bee800b72a46
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/CreateFamily.py
@@ -32,11 +32,12 @@
    if not gmList:
        #GameWorld.DebugAnswer(curPlayer, "创建跨服假仙盟: CreatFamily c 个数 [总战力 ServerID 等级 成员数]")
        #GameWorld.DebugAnswer(curPlayer, "删除跨服假仙盟: CreatFamily c 0")
        GameWorld.DebugAnswer(curPlayer, "建本服假仙盟: CreatFamily 个数 [总战力 ServerID 等级 成员数]")
        GameWorld.DebugAnswer(curPlayer, "建本服假仙盟: CreatFamily 个数 [总战力 ServerID 等级 成员数  是否审核 官职限制]")
        GameWorld.DebugAnswer(curPlayer, "删本服假仙盟: CreatFamily 0")
        GameWorld.DebugAnswer(curPlayer, "输出仙盟列表: CreatFamily pl [条数 从第x名]")
        GameWorld.DebugAnswer(curPlayer, "输出仙盟明细: CreatFamily pf 仙盟ID")
        GameWorld.DebugAnswer(curPlayer, "添加假申请人: CreatFamily j [申请数 仙盟ID]")
        GameWorld.DebugAnswer(curPlayer, "添加本盟成员: CreatFamily m 人数 [仙盟ID]")
        return
    
    value1 = gmList[0]
@@ -56,11 +57,54 @@
        __addFackRequestJoin(curPlayer, gmList)
        return
    
    if value1 == "m":
        __addFackMember(curPlayer, gmList)
        return
    creatCount = value1
    if creatCount <= 0:
        __delFackFamily(curPlayer)
        return
    __createFackFamily(curPlayer, gmList)
    return
def __addFackMember(curPlayer, gmList):
    memCnt = gmList[1] if len(gmList) > 1 else 1
    familyID = gmList[2] if len(gmList) > 2 else curPlayer.GetFamilyID()
    familyMgr = DBDataMgr.GetFamilyMgr()
    curFamily = familyMgr.FindFamily(familyID)
    if not curFamily:
        GameWorld.DebugAnswer(curPlayer, "没有该仙盟: %s" % familyID)
        return
    MemberMax = PlayerFamily.GetFamilySetting(curFamily.GetLV(), "MemberMax")
    if curFamily.GetCount() >= MemberMax:
        GameWorld.DebugAnswer(curPlayer, "成员已满: %s" % MemberMax)
        return
    memCnt = min(memCnt, MemberMax - curFamily.GetCount())
    fackIDStart = 0
    for i in range(0, familyMgr.GetCount()):
        family = familyMgr.GetAt(i)
        for index in xrange(family.GetCount()):
            member = family.GetAt(index)
            memID = member.GetPlayerID()
            if memID > ShareDefine.FackPlayerIDMax:
                continue
            fackIDStart = max(memID, fackIDStart)
    addCnt = 0
    for i in range(memCnt):
        fackID = fackIDStart + i + 1
        if fackID >= ShareDefine.FackPlayerIDMax:
            break
        PlayerFamily.DoPlayerJionFamily(curFamily, fackID, None, broadcastFamilyChange=False)
        addCnt += 1
    familyMgr.Sort()
    PlayerFamily.Sync_FamilyInfo(curPlayer)
    GameWorld.DebugAnswer(curPlayer, "增加成员数:%s, 总成员:%s" % (addCnt, curFamily.GetCount()))
    return
def __addFackRequestJoin(curPlayer, gmList):
@@ -99,14 +143,14 @@
    familyMgr = DBDataMgr.GetFamilyMgr()
    familyMgr.Sort()
    familyCnt = familyMgr.GetCount()
    GameWorld.DebugAnswer(curPlayer, "仙盟总数: %s" % familyCnt)
    GameWorld.DebugAnswer(curPlayer, "----- 仙盟总数: %s -----" % (familyCnt))
    for index in range(fromIndex, fromIndex + printCnt):
        if index >= familyCnt:
            break
        family = familyMgr.GetAt(index)
        rank = index + 1
        
        text = "%s,ID:%s,LV:%s,战力:%s,成员:%s" % (rank, family.GetID(), family.GetLV(), family.GetFightPowerTotal(), family.GetCount())
        text = "%s,ID:%s,LV:%s,战:%s,成:%s,审:%s,官:%s" % (rank, family.GetID(), family.GetLV(), family.GetFightPowerTotal(), family.GetCount(), family.GetJoinReview(), family.GetJoinLVMin())
        printAnswerCnt += 1
        if printAnswerCnt <= 100:
            GameWorld.DebugAnswer(curPlayer, text)
@@ -125,17 +169,17 @@
        return
    
    GameWorld.DebugAnswer(curPlayer, "----- 【%s】 -----" % (GameWorld.CodeToGbk(family.GetName())))
    GameWorld.DebugAnswer(curPlayer, "仙盟ID:%s,ServerID:%s" % (familyID, family.GetServerID()))
    GameWorld.DebugAnswer(curPlayer, "LV:%s,Exp:%s" % (family.GetLV(), family.GetExp()))
    GameWorld.DebugAnswer(curPlayer, "审核:%s,等级条件:%s,申请数:%s" % (family.GetJoinReview(), family.GetJoinLVMin(), len(family.GetReqJoinPlayerInfo())))
    GameWorld.DebugAnswer(curPlayer, "徽章:%s,%s" % (family.GetEmblemID(), GameWorld.CodeToGbk(family.GetEmblemWord())))
    GameWorld.DebugAnswer(curPlayer, "总战力:%s,人数:%s" % (family.GetFightPowerTotal(), family.GetCount()))
    GameWorld.DebugAnswer(curPlayer, "盟主:%s" % (family.GetLeaderID()))
    GameWorld.DebugAnswer(curPlayer, "仙盟ID:%s, ServerID:%s" % (familyID, family.GetServerID()))
    GameWorld.DebugAnswer(curPlayer, "LV:%s, Exp:%s" % (family.GetLV(), family.GetExp()))
    GameWorld.DebugAnswer(curPlayer, "审核:%s, 官职条件:%s, 申请数:%s" % (family.GetJoinReview(), family.GetJoinLVMin(), len(family.GetReqJoinPlayerInfo())))
    GameWorld.DebugAnswer(curPlayer, "战旗:%s, 旗号【%s】" % (family.GetEmblemID(), GameWorld.CodeToGbk(family.GetEmblemWord())))
    GameWorld.DebugAnswer(curPlayer, "总战力:%s, 人数:%s" % (family.GetFightPowerTotal(), family.GetCount()))
    GameWorld.DebugAnswer(curPlayer, "盟主ID:%s" % (family.GetLeaderID()))
    for index in range(family.GetCount()):
        member = family.GetAt(index)
        playerID = member.GetPlayerID()
        fightPower = member.GetFightPowerTotal()
        GameWorld.DebugAnswer(curPlayer, "%s,%s,职位:%s,战力:%s" % (index, playerID, member.GetFmLV(), fightPower))
        GameWorld.DebugAnswer(curPlayer, "%s,ID:%s,职位:%s,战力:%s" % (index, playerID, member.GetFmLV(), fightPower))
        
    return
@@ -164,6 +208,8 @@
    serverID = gmList[2] if len(gmList) > 2 else random.randint(1, 200)
    familyLV = gmList[3] if len(gmList) > 3 else 1 # 默认1级
    memberCnt = gmList[4] if len(gmList) > 4 else random.randint(1, 10)
    joinReview = gmList[5] if len(gmList) > 5 else 1
    joinLVMin = gmList[6] if len(gmList) > 6 else random.randint(1, 10)
    
    FakeFamilyName = GameWorld.GbkToCode("神秘军团")
    FakeEmblemWord = GameWorld.GbkToCode("神")
@@ -199,8 +245,8 @@
        fackFamily.SetFightPowerTotal(familyFightPower)
        fackFamily.SetEmblemID(1)
        fackFamily.SetEmblemWord(FakeEmblemWord)
        fackFamily.SetJoinReview(1) # 设置需要审核
        fackFamily.SetJoinLVMin(random.randint(0, 1000))
        fackFamily.SetJoinReview(joinReview) # 设置需要审核
        fackFamily.SetJoinLVMin(joinLVMin) # 官职
        
        GameWorld.DebugLog("创建假仙盟: fackFamilyID=%s,serverID=%s,familyFightPower=%s,memberCnt=%s" 
                           % (fackFamilyID, serverID, familyFightPower, memberCnt))