From edc3910a9d090e5df4deb2dbc37709a740375938 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 12 六月 2025 12:18:42 +0800 Subject: [PATCH] 121 【武将】武将系统-服务端(图鉴;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py | 37 ++++++++++++++++++++----------------- 1 files changed, 20 insertions(+), 17 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py index cb4faeb..302bd9d 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py @@ -18,6 +18,7 @@ import PlayerHero import ShareDefine import IpyGameDataPY +import PlayerControl import GameWorld import ChConfig @@ -34,7 +35,7 @@ GameWorld.DebugAnswer(curPlayer, "武将升星: Hero s 背包位置 升x星") GameWorld.DebugAnswer(curPlayer, "武将突破: Hero b 背包位置 设置等级") GameWorld.DebugAnswer(curPlayer, "武将觉醒: Hero a 背包位置 设置等级") - GameWorld.DebugAnswer(curPlayer, "武将图鉴: Hero t 武将ID 是否激活") + GameWorld.DebugAnswer(curPlayer, "武将图鉴: Hero t 武将ID 图鉴星级 图鉴突破等级") GameWorld.DebugAnswer(curPlayer, "重置图鉴: Hero t 0") GameWorld.DebugAnswer(curPlayer, "武将皮肤: Hero sk 武将ID 皮肤索引 是否解锁") GameWorld.DebugAnswer(curPlayer, "清空武将: ClearPack 35") @@ -46,7 +47,6 @@ # 图鉴 if value == "t": - isAct = 0 if not value2: heroIDList = [] ipyDataMgr = IpyGameDataPY.IPY_Data() @@ -54,25 +54,28 @@ ipyData = ipyDataMgr.GetHeroByIndex(index) heroIDList.append(ipyData.GetHeroID()) else: - isAct = msgList[2] if len(msgList) > 2 else 0 heroIDList = [value2] - - syncHeroIDList = [] - for heroID in heroIDList: - heroIpyData = IpyGameDataPY.GetIpyGameData("Hero", heroID) - if not heroIpyData: - continue - heroIndex = heroIpyData.GetHeroIndex() - if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_HeroActState, heroIndex) == isAct: - continue - GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_HeroActState, heroIndex, isAct) - syncHeroIDList.append(heroID) - PlayerHero.Sync_HeroInfo(curPlayer, syncHeroIDList) - if not value2: + if value2 == 0: + syncHeroIDList = [] + for heroID in heroIDList: + if not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HeroBook % heroID): + continue + syncHeroIDList.append(heroID) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HeroBook % heroID, 0) GameWorld.DebugAnswer(curPlayer, "重置图鉴OK!") else: - GameWorld.DebugAnswer(curPlayer, "设置武将(%s),激活(%s)" % (value2, isAct)) + heroID = value2 + syncHeroIDList = [heroID] + bookStarLV = msgList[2] if len(msgList) > 2 else 0 + bookBreakLV = msgList[3] if len(msgList) > 3 else 0 + if (bookStarLV or bookStarLV) and not PlayerHero.GetHeroBookInitState(curPlayer, heroID): + PlayerHero.SetHeroBookInitState(curPlayer, heroID, 1) + PlayerHero.SetHeroBookStarLV(curPlayer, heroID, bookStarLV) + PlayerHero.SetHeroBookBreakLV(curPlayer, heroID, bookBreakLV) + GameWorld.DebugAnswer(curPlayer, "设置武将(%s)图鉴星级(%s),突破(%s)" % (heroID, bookStarLV, bookBreakLV)) + + PlayerHero.Sync_HeroInfo(curPlayer, syncHeroIDList) return # 皮肤 -- Gitblit v1.8.0