这里你们需要用到编辑器一步一步跟我操作:

在实际制作时,我们其实难以从零开始构思一个def所应有的所有数据,而有时原版提供的父对象也难以满足我们的全部需求。这时,我们会尝试在原版中找到与我们想制作的内容相近的成品,并将其复制加以修改以变成我们的作品。

我们将以原版中长剑为模板,制作一把伤害更高,攻速更慢的近战武器。

①首先,我们在游戏中找到该参考对象,值得注意的是,能用不同制成的武器在名称中会出现材料名为前缀,应当自行排除这些前缀【如钢铁长剑,实际名称为“长剑”】。

接下来,我们在编辑器中打开查找功能,并选择“在文件中查找”(不同编辑器的表述可能不同),路径选择为简体中文翻译包(若没有,则前往RimWorld\Data\Core\Languages找到对应压缩包并解压),查找内容为“长剑”。

在此之后,应当会跳出所有提及长剑的文本,我们重点在thingdef的文件夹的查找结果中找到长剑,可能有以下结果:

<MeleeWeapon_LongSword.label>长剑</MeleeWeapon_LongSword.label>

根据第七章的内容,原版中长剑的defname即为MeleeWeapon_LongSword。

下一步,在RimWorld\Data\Core\Defs中搜索<defName>MeleeWeapon_LongSword</defName>,查询结果即为长剑的thingdef。

搜索使用的“文件夹内搜索”

  <ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality"><defName>MeleeWeapon_LongSword</defName><label>longsword</label><description>The ancient weapon of kings, the longsword can be used for slashing or stabbing.</description><graphicData><texPath>Things/Item/Equipment/WeaponMelee/LongSword</texPath><graphicClass>Graphic_Single</graphicClass></graphicData><techLevel>Medieval</techLevel><weaponTags><li>MedievalMeleeAdvanced</li><li>LongSword</li></weaponTags><costStuffCount>100</costStuffCount><thingSetMakerTags><li>RewardStandardQualitySuper</li></thingSetMakerTags><statBases><WorkToMake>18000</WorkToMake><Mass>2</Mass></statBases><relicChance>2</relicChance><equippedAngleOffset>-65</equippedAngleOffset><stuffCategories><li>Metallic</li><li>Woody</li></stuffCategories><tools><li><label>handle</label><capacities><li>Blunt</li></capacities><power>9</power><cooldownTime>2</cooldownTime></li><li><label>point</label><capacities><li>Stab</li></capacities><power>23</power><cooldownTime>2.6</cooldownTime></li><li><label>edge</label><capacities><li>Cut</li></capacities><power>23</power><cooldownTime>2.6</cooldownTime></li></tools><recipeMaker><researchPrerequisite>LongBlades</researchPrerequisite><skillRequirements><Crafting>5</Crafting></skillRequirements></recipeMaker></ThingDef>

②在我们自己的Defs里新建一个xml,并将识别码<?xml version="1.0" encoding="utf-8" ?>与我们搜索到的长剑的整个ThingDef扔进去;根据第六章的内容,为了不覆盖原版武器,defname必须要被修改,label和description也最好进行修改以进行区分。为了演示方便,这里不考虑制作翻译包,可以直接写入中文(实际操作中并不建议这样做)

③修改数据

初学者们此时可以通过翻译软件翻译每一个数据名,并加以更改和测试来猜测。我们会在后面的章节逐一分析。对比游戏内数据和Defs内数据,并判断数据的对应关系也是一项很重要的技能。本章以“伤害更高,攻速更慢的近战武器。”为课堂例子,所以先给出一些数据名对应的数据内容:

    <tools><li><label>handle</label><capacities><li>Blunt</li></capacities><power>9</power><cooldownTime>2</cooldownTime></li><li><label>point</label><capacities><li>Stab</li></capacities><power>23</power><cooldownTime>2.6</cooldownTime></li><li><label>edge</label><capacities><li>Cut</li></capacities><power>23</power><cooldownTime>2.6</cooldownTime></li></tools>

看到这里,根据第四章内容tools是一个List。里面的每一个元素都是一种攻击方式,图中从上到下分别是“剑柄”、“剑头”、“剑刃”。每一个元素内的power对应的该攻击方式的伤害,为整数;cooldownTime为冷却时间,即后摇,单位是秒,可以写小数。

我们可以把整个柄删去,实际上柄是拿来降低DPS,并提供钝器伤害的方式,但我们的巨剑不需要;然后将剑头和剑刃的伤害提高,冷却调高

然后进游戏测试一下吧!

千万要注意,修改的是我们复制出来的ThingDef,而不是原版Core的Defs里的数据,否则我们就是直接修改原版数据了!

Rimworld Mod教程 第八章:以原版def为参照制作一个新的ThingDef相关推荐

  1. Rimworld Mod教程 第九章:游戏内所有的Def种类

    九.游戏内所有的Def种类 本章是预览所有的Def种类,并无比简单地概括其内容. 教程未来将会取其中mod作者们最常用的,也是最为重要的几个部分进行分析教学. 感谢国人作者3HST[steam id: ...

  2. Rimworld Mod教程 第一章:这可能是你见过的最细的MOD教程了

    你好!我是旋风.既然你看到了这个教程,想必你有成为一个mod制作者的兴趣. 我们常常把各类教程的作者比作一个引路人.在这里,我将教会你如何去制作一个简单的mod--而更重要的是,我希望能引导你走上探索 ...

  3. 【有利可图网】PS教程:巧用PS简单快速设计制作一个发光文字效果

    本篇教大家如何巧用PS简单快速设计制作一个发光文字效果!教程简单易学,感兴趣的小伙伴收走学习! 先上效果图 背景素材 1.打上你需要的字体. 2.按Ctrl+ J复制背景层并拖到字体上方. 3.在拷贝 ...

  4. Rimworld Mod教程 第三章:第一个MOD

    我相信各位一定急于做出自己的第一个mod,因此,我决定在开启我们的正式教学之前,让大家过一过瘾. 我为大家准备了一份礼物,就放在我们的小窝里: 群956990298 在这个小窝中会存放大量文件资料,希 ...

  5. Rimworld Mod教程 第十一章:术语名字

    在编辑和教学时我们会遇到各种术语,故开此章来写明一些概念与其对应的名字.如有不懂可以加群再讨论. Terrain:"地板",即地表类型,包括自然土地表面和人造建筑地板. Thing ...

  6. Rimworld Mod制作教程1 认识Mod结构

    文章目录 废话 核心内容 1 认识mod结构 1.1 mod结构 2 认识开发工具 2.1 开发工具 2.2 visual studio开发环境 2.3 程序集构建 2.4 修改编译输出路径 2.5 ...

  7. Rimworld Mod制作教程3 使用Xpath制作patch(补丁)

    文章目录 废话 核心内容 1 使用Xpath制作patch(补丁) 1.1 基本格式 1.2 手术类型 1.3 ~~偷窥~~ 参考他人代码 废话 rimworld在A17版本后提供了一个新的编写mod ...

  8. Rimworld Mod制作教程2 创建数据定义

    文章目录 废话 核心内容 1 创建数据定义 1.1 定义一个新的抽象物品 手办基类 1.2 源源不断的手办(Garage Kid) 1.3 新材料(Stuff) 1.4 添加配方(Recipe) 1. ...

  9. 叛乱怎么自定义服务器,» 叛乱:沙漠风暴 服务器安装Mod教程

    叛乱:沙漠风暴 服务器安装Mod教程 4.6 (78) 叛乱:沙漠风暴 服务器 租用 v2pg.com 获取API KEY 比如 59f0601123331222f0755f9e8551ea639 就 ...

最新文章

  1. python中findroot_python文件查找之find命令
  2. 童年记忆-莴苣姑娘的故事
  3. linux体验服务器,体验Ubuntu做服务器
  4. 爬虫 wordcloud操作
  5. 【算法】N Queens Problem
  6. 数据库连接池工作原理
  7. Etl之HiveSql调优(left join where的位置)
  8. 南京理工大学计算机专业考研,2020南京理工大学计算机考研初试科目、参考书目、复试详情汇总...
  9. NOD32 AntiVirus v2.70.16杀毒软件
  10. 打造全功能的NERO
  11. 使用Python绘制词云图(自定义形状)
  12. 深度学习教程(14) | 序列模型与RNN网络(吴恩达·完整版)
  13. 常用的第三方ui框架
  14. 五月份适合去哪旅游 国内15个旅游胜地
  15. 【营销学堂】从饥饿营销到口碑营销
  16. matlab 化学方程式配平
  17. 2021苹果AppleiOS开发证书申请详细图文流程
  18. 《数据解构》HashMap源码解读
  19. Kubernetes-基于资源配额(ResourceQuota)进行资源管理
  20. 边缘计算卸载算法--GT-GAOA

热门文章

  1. 解决win10内存占用高问题
  2. 架构mysql_MySQL学习笔记之MySQL架构
  3. 红宝书——02.HTML
  4. 【电子学会】2022年06月图形化二级 -- 大鱼吃小鱼
  5. lotus ubuntu 18.04 安装(当前版本Devnet 7)
  6. 联想thinkcentre微型计算机,联想ThinkCentre超小台式机
  7. ionic3中的手写板插件--个性签名、画图等简单玩法(ionic2也通用)
  8. set集合及(交集,差集,并集)计算
  9. 广东工业大学文远知行杯新生程序设计竞赛(牛客比赛)
  10. #乐#苏东坡说的人生赏心十六件乐事