有没有大佬会存档修改啊
有没有大佬会存档修改啊,我想修改英雄,都改成3技能,有会的请教教我,具体用什么软件修改啊 我想修改英雄,都改成3技能——换个思路 直接修改规则文件 每个装备可以带 10个英雄 不就行了 本帖最后由 萌新司机上路中 于 2024-3-5 19:41 编辑
目前修改存档无法生成多技能英雄。想要多技能英雄只能修改游戏的LUA文件。
LUA文件位置:
你的游戏安装目录\Panzer Corps 2\PanzerCorps2\Content\Campaigns\你想修改的战役所属的DLC\你想修改的战役关卡然后用记事本打开后缀名.lua文件,例如你想修改西班牙内战第一关塞利维亚,目标LUA文件路径就是:
你的游戏安装目录\Panzer Corps 2\PanzerCorps2\Content\Campaigns\AO0Spain\01Seville下的Seville.lua
文件夹对应的如下:
AO0Spain——西班牙内战 AO1939——轴心国行动1939 AO1940——轴心国行动1940 AO1941East——轴心国行动1941东线
AO1942East——轴心国行动1942东线 AO1943East——轴心国行动1943东线 AO1944East——轴心国行动1944东线
AO1945East——轴心国行动1945东线 AO1946Amerika——轴心国行动1946美国 Main——国防军战役 Tutorial——教程
至于修改的代码,它比较复杂,这里直接给出模板供参考:
function 函数名()
local hero = NewHero()
local unit = world:GetUnit(单位ID)
hero.portrait = "/Game/Gui/Common/Heroes/generic_standin.generic_standin"
hero.extra_traits = {UnitTrait.特质名, UnitTrait.特质名, ……}
hero.modifiers = {{type = 属性类型1, mod = 数量}, {type = 属性类型1, mod = 数量}, ……}
hero.attack_modifiers = {{type = TargetType.目标类型, mod = 数量}, {type = TargetType.目标类型, mod = 数量}, ......}
hero.defense_modifiers = {{type = 属性类型2, mod = 数量}, {type = 属性类型2, mod = 数量}, ……}
local action = world:MakeNewHeroAction(玩家ID, hero)
world:Exec(action)
end
【注】省略号代表的是,如果你想额外加修改项目,就复制前面的粘贴到后面,然后删除省略号。比如你想修改英雄有5个技能,应该写:
hero.extra_traits = {UnitTrait.特质名, UnitTrait.特质名, UnitTrait.特质名, UnitTrait.特质名, UnitTrait.特质名}
逗号后面有且仅有一个空格。
其中,单位ID需要在游戏自带的地图编辑器查看,编辑器位于:
你的游戏安装目录\Panzer Corps 2\PanzerCorps2\Content\Editor\Binaries\PzC2Editor.exe
在左边偏上方找到白色的问号,然后点问号左边的下拉菜单,选择Configure Unit。再点击单位,就能IDs一栏查看单位ID。
函数名随便取个方便记住的名字,最好取个能提醒你这个英雄是干嘛的名字。绝对不能有重复的函数名。代码里绝对没有中文。
特质名
就是技能,需要写英文原名,可以在百科查看:
https://panzercorps.fandom.com/wiki/Unit_traits
属性类型1
单位除了攻防外的其他所有属性,需要写英文原名,包括
strengthinitiativespottingrangespeedammofuel
默认兵力 主动性 视野 射程 移动力 弹药 燃料
【注】 默认兵力修改未曾测试;修改燃料不会在英雄面板显示,但在单位属性面板上显示,也的确会生效。
1.9.3最新版游戏中,修改的弹药和燃料会在进入下一关后失效。不要退出或者读档,结束部署回合后随便动一下单位又会生效。
目标类型
单位对特定目标类型的攻击力,需要写英文原名,包括
soft hard airnaval
非装甲单位。如步兵、牵引火炮 装甲单位。如坦克、侦察、自行火炮 空中单位 海军舰船
属性类型2
单位的防御属性,需要写英文原名,包括
groundairclose
地面防御 对空防御 近身防御
数量
需要写阿拉伯数字,想让属性增加多少就填多少
玩家ID
一般填0,就是你自己。二号玩家是1,三号玩家是2,以此类推。
写好英雄代码以后,放进LUA文件自带的英雄生成代码里。不然你需要自己用地图编辑器写代码。例如塞利维亚的:
function CreateAndAssignEnemyHero1(unit_id)
local hero = NewHero()
--hero.portrait = "/Game/Gui/Common/Heroes/DE/de_in_16.de_in_16"
hero.portrait = "/Game/Gui/Common/Heroes/generic_standin.generic_standin"
hero.name = NSLOCTEXT("scenario_Seville", "EnemyHero", "")
hero.extra_traits = {UnitTrait.OverwhelmingAttack}
-- hero.modifiers = {{type = Initiative, mod = 10}, {type = Spotting, mod = 1}}
-- hero.attack_modifiers = {{type = TargetType.Soft, mod = 10}}
-- hero.defense_modifiers = {{type = Ground, mod = 10}}
local action = world:MakeNewHeroAction(1, hero)
world:Exec(action)
local assign_hero_action = world:MakeAssignHeroAction(world:GetUnit(unit_id), hero.id)
world:Exec(assign_hero_action)
end
这里应该把写好的函数放在end的上一行,建议用TAB键对齐格式
这样应该就能在游戏开始时生成想要的多技能英雄。如果成功会在屏幕中央跳出“军事表彰”提示框。
页:
[1]