From 83ea442cfaceaf76648c6ec948e4494a10e228db Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 12 九月 2024 17:01:40 +0800 Subject: [PATCH] 10261 【越南】【砍树】仙盟徽章,头像框,头像(动态),聊天气泡,聊天表情(增加仙盟徽章) --- ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetFamilyInfo.py | 87 +++++++++++++++++++++++-------------------- 1 files changed, 47 insertions(+), 40 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetFamilyInfo.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetFamilyInfo.py index 8454d86..fd72e8a 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetFamilyInfo.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/SetFamilyInfo.py @@ -17,6 +17,7 @@ #--------------------------------------------------------------------- #"""Version = 2016-06-06 22:00""" #--------------------------------------------------------------------- +import PlayerFamilyEmblem import PlayerFamily import GameWorld #--------------------------------------------------------------------- @@ -28,7 +29,8 @@ Def_FamilyInfo_FightPower, # 设置家族总战力 Def_FamilyInfo_BossFood, # 设置家族兽粮 Def_FamilyInfo_WeekMissionMoney, # 本周任务资金 -) = range(6) +Def_FamilyInfo_Emblem, # 徽章 +) = range(7) #系统提示信息表 Def_MsgDict = { @@ -38,11 +40,8 @@ Def_FamilyInfo_FightPower:'总战力', Def_FamilyInfo_BossFood:'兽粮', Def_FamilyInfo_WeekMissionMoney:'本周任务资金', - "all":'所有属性', + Def_FamilyInfo_Emblem:'设置徽章', } - -#设置全部属性时需要设置的属性类型, 一般用于快速测试用 -Def_SetAllFamilyInfoList = [Def_FamilyInfo_Money] #--------------------------------------------------------------------- ## 执行逻辑 # @param curPlayer 当前玩家 @@ -50,13 +49,14 @@ # @return None # @remarks 函数详细说明. def OnExec(curPlayer, cmdList): - if len(cmdList) != 2: + if not cmdList: helpStr = "" for index, name in Def_MsgDict.items(): helpStr = helpStr + "%s-%s," % (index, name) GameWorld.DebugAnswer(curPlayer, 'SetFamilyInfo 类型 数值') GameWorld.DebugAnswer(curPlayer, '%s' % helpStr) #GameWorld.DebugAnswer(curPlayer, ' 特殊: SetFamilyInfo all, 数值; 可设置所有战盟属性数值') + GameWorld.DebugAnswer(curPlayer, '设置徽章: %s 徽章ID [剩余时间秒]' % Def_FamilyInfo_Emblem) return curFamily = curPlayer.GetFamily() @@ -65,12 +65,13 @@ GameWorld.DebugAnswer(curPlayer, 'SetFamilyInfo 错误 玩家无家族') return - funcType, funcValue = cmdList - infoTypeList = [funcType] - if funcType == "all": - infoTypeList = Def_SetAllFamilyInfoList - - __SetFamilyInfoValue(curPlayer, curFamily, infoTypeList, funcValue) + funcType = cmdList[0] + funcValue = cmdList[1] if len(cmdList) > 1 else 0 + + if not __SetFamilyInfoValue(curPlayer, curFamily, funcType, funcValue, cmdList): + GameWorld.DebugAnswer(curPlayer, '设置家族%s 失败, 数值 = %s'%(Def_MsgDict[funcType], funcValue)) + return + #通知客户端刷新 curFamily.Broadcast_FamilyChange() #通知地图服务器刷新 @@ -79,44 +80,50 @@ GameWorld.DebugAnswer(curPlayer, '设置家族%s 成功, 数值 = %s'%(Def_MsgDict[funcType], funcValue)) return -def __SetFamilyInfoValue(curPlayer, curFamily, infoTypeList, funcValue): +def __SetFamilyInfoValue(curPlayer, curFamily, funcType, funcValue, cmdList): isLVUP = False isSort = False - - for funcType in infoTypeList: + + if funcType == Def_FamilyInfo_LV: + curFamily.SetLV(funcValue) + isSort = True - if funcType == Def_FamilyInfo_LV: - curFamily.SetLV(funcValue) - isSort = True - - elif funcType == Def_FamilyInfo_Money: - curFamily.SetMoney(funcValue) - isLVUP = True - if funcValue == 0: - PlayerFamily.SetCurWeekMissionMoney(curFamily, 0) - - elif funcType == Def_FamilyInfo_WarRank: - PlayerFamily.SetFamilyWarRank(curFamily, funcValue) - isSort = True - - elif funcType == Def_FamilyInfo_FightPower: - PlayerFamily.SetFamilyTotalFightPower(curFamily, funcValue) - isSort = True - - elif funcType == Def_FamilyInfo_BossFood: - PlayerFamily.SetFamilyBossFood(curFamily, funcValue) - - elif funcType == Def_FamilyInfo_WeekMissionMoney: + elif funcType == Def_FamilyInfo_Money: + curFamily.SetMoney(funcValue) + isLVUP = True + if funcValue == 0: PlayerFamily.SetCurWeekMissionMoney(curFamily, 0) - else: - GameWorld.DebugAnswer(curPlayer, 'SetFamilyInfo 错误 funcType = %s'%(funcType)) + elif funcType == Def_FamilyInfo_WarRank: + PlayerFamily.SetFamilyWarRank(curFamily, funcValue) + isSort = True + + elif funcType == Def_FamilyInfo_FightPower: + PlayerFamily.SetFamilyTotalFightPower(curFamily, funcValue) + isSort = True + + elif funcType == Def_FamilyInfo_BossFood: + PlayerFamily.SetFamilyBossFood(curFamily, funcValue) + + elif funcType == Def_FamilyInfo_WeekMissionMoney: + PlayerFamily.SetCurWeekMissionMoney(curFamily, 0) + + elif funcType == Def_FamilyInfo_Emblem: + setExpireTimes = None + if len(cmdList) > 2: + setExpireTimes = cmdList[2] + if not PlayerFamilyEmblem.AddFamilyEmblem(curFamily.GetID(), funcValue, setExpireTimes): + return + + else: + return + #自动升级战盟 if isLVUP: if PlayerFamily.DoFamilyLvUp(curFamily): isSort = False if isSort: PlayerFamily.DoFamilySort() - return + return True \ No newline at end of file -- Gitblit v1.8.0