使用内置模组支持制作全新武器

0 点赞
WASTED
转载

在文本文件中填补空白,打造一把(或上百把)你心仪的武器。 简介

本指南将向你介绍(我认为)最简单的一种模组制作:新武器。《WASTED》中的模组通过Mods文件夹中的LUA脚本(包含在.wmd文件中,这些文件本质上就是.txt文件)运行,不过制作简单模组实际上并不需要LUA知识。 制作此类模组所需的工作主要是在一个较长的文本文件中找到4到5个不同的部分,修改一些数值,然后你就能拥有一把全新的武器。在我看来,这一点也不难。 找到你的Mods文件夹并启用控制台 第一步是找到Mods文件夹。它位于steamapps common Wasted Mods目录下。如果你不知道steamapps文件夹在哪里,默认位置通常在C: Program Files (x86) Steam steamapps common Wasted mods。

首先,我们需要用你常用的记事本打开config.sav文件。在文本文件的最开头,创建几行新内容并添加:[debug] active=1。这将启用开发者控制台(在游戏中按~键),后续会很有用。保存文件并关闭。 打开mods文件夹后,你会看到几个额外的文件夹。Ignored文件夹内是开发者提供的一些默认mod,用于演示mod的基本工作方式。不过这对我们接下来要做的事情来说并非必需。我们要做的是: 下载模板 简易武器模板是我制作的,其中包含比默认示例更多的信息。这是我为自己使用而逐步开发的工具,目前已用它制作了几十个武器模组。该工具可在Steam论坛的模组发布子版块找到。文件夹内包含两个.wmd文件,一个是实用信息库,另一个是模板本身。请将这两个文件放置在WASTED/Mods文件夹中的某个文件夹内。

下一步是处理模板本身。 简易武器模板 用你喜欢的文本文件阅读器打开“Easy Weapon Template.wmd”文件,你会看到我弄得一团糟。如果你使用Notepad++或类似软件,我强烈建议启用LUA插件,这能让所有内容更易读。 打开文件后,你很可能会感到气馁。这可能是因为我的注释让它看起来比实际复杂得多。 但别担心!我保证它远没有看起来那么糟糕,一旦我们理解了它工作的基本原理,制作出你想要的任何武器都会变得更容易。不过为了本指南的目的,我们只会看最基本的部分。

模板中的几乎每一行都有说明其功能的描述,以及展示如何修改的示例。如果你现在觉得可以自己浏览模板并阅读每个命令后的描述,完全可以这样做,你完全有能力完成。不过本指南的剩余部分会为你展示需要修改的最重要部分。 我们要查看的第一行是:local weaponmodel = "DUZI" 此行的作用是查找“引号”中的内容,并找到同名的原始武器。注意,大小写非常重要,千万不要忘记! 现在,用你想要的武器名称填写(或保留为“DUZI”)。关于我的武器,我会将其修改为:local weaponmodel = "El Seis"。不过在填写武器名称时要注意,有些武器的“真实”名称与游戏中显示的名称不同。 如果提供的weaponmodel不是“真实”武器,控制台(我们之前启用的~键)会显示一条警告,内容为“____不是真实武器!请更改!”,所以一定要记住这一点。你可以在“More Info.txt”中找到“真实”武器名称列表(武器对象名称)。 下一步是查看这一行:local weapon_gameobject = CreateGameObject("my weapon object name");这将是你的武器的“真实”名称,因此将“my weapon object name”更改为你想要给武器起的名称。示例:local weapon_gameobject = CreateGameObject("超级射手"); 此时我们可以跳至以下3行:weapon.itemName weapon.itemFlavorText weapon.itemDescription,在这里我们将修改游戏内名称和描述。我会将这三行修改为: weapon.itemName = "超级射手"; weapon.itemFlavorText = "西部最快的枪!"; weapon.itemDescription = "忽略1点护甲"; 接下来我们看这几行:weapon.defaultItemLevel weapon.defaultItemWeight,它们会影响我们在游戏中找到该武器的位置。我觉得这把武器适合在6级左右的区域出现,重量设为0.05(稍微不常见),所以我不会修改它们。 现在进入以weapon.开头的部分。属性效果 此部分包含影响枪支运作的不同内容,因此十分重要。我想要为此枪支修改的内容如下: BuffAttribute.Create("FIRE_RATE", "0.25"),-- 射击间隔(以秒为单位) BuffAttribute.Create("WEAPON_SPREAD", "5"),-- 射击扩散角度(以度为单位)。现在我们拥有了一把每秒射击4次、扩散角度为5度的枪支。 接下来我们将看到这一行:firebase.damageExpression = "[2]+1";这是武器的实际伤害值。我希望它能造成更大范围的伤害,因此我会将其修改为:firebase.damageExpression = "[4]+1";这样它现在将造成2-5点基础伤害。 紧接着这行下面的是firebase.attributeEffects。我在武器描述中提到它会忽略1点【护甲】,而这里就是实现这一效果的地方。我将修改:BuffAttribute.Create("ARMOR_REDUCTION", "1"), 到这里,我们就快完成了!我们可以前往weapon.ammo,根据需要将其设置为消耗手枪弹药,例如weapon.ammo = GetItem("DUZI").ammo;同时还可以减小弹匣容量,设置为weapon.magazineSize = 8; 这样我们的武器就制作完成了!保存文件,现在就可以在游戏中进行测试了。 获取并测试你的武器 获取武器并在游戏中测试的最快方法是通过我们一开始启用的开发者控制台。现在,启动游戏吧。 进入游戏后,按下键盘左上角的~键,控制台就会弹出。

在此处输入SIC并按回车键。这将直接带你进入一个无限冷却器,在这里我们可以进行实验,且不会影响你的实际存档数据。接下来,在控制台输入GIVE,然后输入你的武器名称。以我为例,我会输入give super shooter。

就是这样! 现在我们可以在游戏中使用新武器自由尝试了。要获取弹药,打开控制台并输入“give pistol ammo”(或你需要的其他类型弹药)。 结语 本指南到此结束。模组制作远不止本指南所涵盖的内容,但这些足以帮助任何人完成武器制作。你可以尝试制作全新类型的弹药,或者能让玩家极速奔跑并反弹所受伤害的枪支。可能性有很多,我个人在制作模组时也乐在其中。要是能在那里看到你的武器作品也会很棒。