考迪克真皮沙发 wanderer1453
关注数: 15 粉丝数: 0 发帖数: 1,609 关注贴吧数: 143
战役奖励简单修改 Lz最近看到吧里有人在问怎么像mod里一样改出超级加兰德,看到回复里说可以修改战役的LUA文件后就自己动手试了下,发现非常简单,现在来分享一点修改成功的经验。吧里有吧友整合的英雄特质代码,B站上有up233复读机整理了轴心国行动全流程的战役奖励,其他DLC应该也能适用 (温馨提示:适度修改提升游戏体验,过度修改快速电子阳伟) 文件路径:SteamLibrary\steamapps\common\Panzer Corps 2\PanzerCorps2\Content\Campaigns 找到对应剧本里需要修改的关卡,用记事本打开后缀为lua的文件。 1.修改战役里的奖励英雄——以加兰德为例 在SteamLibrary\steamapps\common\Panzer Corps 2\PanzerCorps2\Content\Campaigns\AO0Spain\14Battle of the Ebro里打开“BattleoftheEbro.lua”,里面有各种关卡设定,你可以看到哪些回合会刷新ai部队,以及会刷出什么部队,哪些地方会有隐藏奖励等等,现在,直接跳到文档底部,或“Ctrl+F”搜索“Galland script”,找到这段文本: function CreateGalland() local hero = NewHero() hero.portrait = "/Game/Gui/Common/Heroes/DE_AF_galland.DE_AF_galland" hero.name = NSLOCTEXT("scenario_BattleoftheEbro", "Adolf_Galland", "Adolf Galland") hero.extra_traits = {UnitTrait.Legendary, UnitTrait.AimingAssistance, UnitTrait.DoubleAttack, UnitTrait.ZeroSlots, UnitTrait.Leadership}(英雄特质,这里是楼主已经改好了的,可以根据自己的喜好添加) hero.modifiers = {{type = Initiative, mod = 2}}(属性加成,这里的是主动性+2,除此之外,还可以添加移动力加成{type = Speed, mod = X},弹药加成{type = Ammo, mod = X},射程加成{type = Range, mod = X}等) hero.attack_modifiers = {{type = TargetType.Air, mod = 2}}(攻击加成,这里的是对空攻击加2) hero.unit_classes = {UnitClass.Fighter, UnitClass.TacticalBomber}(单位类型) 2.隐藏地点装备、事件奖励装备 隐藏地点装备,指占领某些特定地点可以获得的有限库存装备,这里以西班牙战役开局必拿的203为例 打开文档,找到要修改的地方,即“203mmM1931”,把后面的数字改成自己想要的数量就行,有兴趣的也可以试试把装备的型号换成别的,我不确定会发生什么。 事件奖励装备,指一些事件奖励的有限库存装备,以AO1939奖励的KV2为例 相应文本就在开头,找到 function ProcessChoice( player, choice ) if (choice == 1) then -- The player chose option 1, which is "yes" campaign.comm_points = campaign.comm_points - 5 UpdateCommendationPoints() -- update in the UI! AddEquipment(0, "KV2TNK", 35, Captured),把35改成自己想要的数字就行 3,独特单位 指一些不能通过常规方式获取的无限库存单位,这里以AO1939的伊尔2为例 找到相应关卡AO1939\12Warsaw39,打开文档: function Turn9Landing(action) if (uniqueair == 1) then TutorialMessage(string_secretair) player = 0 zone = {{30,8},{31,8},{32,8},{31,17},{32,17},{33,17},{33,35},{34,35},{35,35}} units = { {"Il2Shturmovik", "", 0, 0} }(这里改成units = { {"Il2Shturmovik", "", 0, 0}, {"Il2Shturmovik", "", 0, 0} } 就可以获得第二队伊尔2,以此类推,每在中间加一段, {"Il2Shturmovik", "", 0, 0},就可以获得更多,楼主只多改了一队) SpawnWaveAir(player, zone, units) else end end 4,鲁德尔自选技能事件 AO战役里这样的好像只有这一次,所有就单独拿出来了,找到AO1941East\06UndisclosedLocationPO 打开文档,找到下面的文本,这里是已经改好的了,原版是三次选择,楼主加了第4次,每添加一次需要修改两段对应的文本,可选特质应该也能改。 ----------- -- Rudel -- ----------- rudel_traits = { UnitTrait.Legendary } function RudelOfferChoice1() local message = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice1", "Choose the first trait for Rudel. Will you focus his first ability on unrelenting offense or flexible maneuvering?") local choose_action = world:MakeChooseAction(0, message, "RudelProcessChoice1") local option1 = { title = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice1_option1", "Double Attack"), } local option2 = { title = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice1_option2", "Double Move"), } choose_action.options = {option1, option2} world:Exec(choose_action) end function RudelOfferChoice2() local message = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice2", "Choose the second trait for Rudel. Will you focus his second ability on strong defensive fire or the ability to avoid enemy air defenses and fighters?") local choose_action = world:MakeChooseAction(0, message, "RudelProcessChoice2") local option1 = { title = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice2_option1", "Aggressive Counterattack"), } local option2 = { title = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice2_option2", "Lightning Attack"), } choose_action.options = {option1, option2} world:Exec(choose_action) end function RudelOfferChoice3() local message = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice3", "Choose the final trait for Rudel. Will you focus his last ability on piercing enemy protection or extra tank busting power?") local choose_action = world:MakeChooseAction(0, message, "RudelProcessChoice3") local option1 = { title = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice3_option1", "Ignores Entrenchment"), } local option2 = { title = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice3_option2", "Tank Killer"), } choose_action.options = {option1, option2} world:Exec(choose_action) end 下面是第一段要加的文本 function RudelOfferChoice4() local message = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice4", "Blablablablabla?") local choose_action = world:MakeChooseAction(0, message, "RudelProcessChoice4") local option1 = { title = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice4_option1", "ATSupport"), } local option2 = { title = NSLOCTEXT("scenario_UndisclosedLocationPO", "rudel_choice4_option2", "ArtySupport"), } choose_action.options = {option1, option2} world:Exec(choose_action) end function RudelProcessChoice1(player, choice) local options = { UnitTrait.DoubleAttack, UnitTrait.DoubleMove } table.insert(rudel_traits, options[choice]) RudelOfferChoice2() end function RudelProcessChoice2(player, choice) local options = { UnitTrait.AggressiveCounterattack, UnitTrait.LightningAttack } table.insert(rudel_traits, options[choice]) RudelOfferChoice3() end function RudelProcessChoice3(player, choice) local options = { UnitTrait.IgnoresEntrenchment, UnitTrait.TankKiller } table.insert(rudel_traits, options[choice]) RudelOfferChoice4() end 下面是第二段要改的 function RudelProcessChoice4(player, choice) local options = { UnitTrait.ATSupport, UnitTrait.ArtySupport } table.insert(rudel_traits, options[choice]) RudelCreate() end 成果展示暂时只想到这么多,楼主也懒得仔细研究,毕竟本来难度就不是很高,就是随便改着玩两下,
1 下一页