欢迎光临散文网 会员登陆 & 注册

rimworld的mod制作——技能不减

2023-05-15 19:42 作者:PLucker518  | 我要投稿


该讲讲怎么编写C#了。

在游戏本体中,玩家技能变成高等级之后,经验会不断的下降与衰减,让我期望能够升到满级20级的愿望无法达成。我打算改掉这个功能。

我在def中找了半天,没找到技能衰减的相关参数。然后在网上找到了madskill这个mod。他实现了这几个功能:

1,他设置了一个系数,让技能衰减经验乘以这个系数。当这个系数设置为0的时候,技能经验就不会衰减了。真是巧妙的解决方案!

2,他顺带更改了过目不忘天赋。本来过目不忘是让玩家技能衰减下降。衰减成0该天赋就没用了,所以他成了提高学习效率。

3,他可以设置游戏每日经验上限。也可以修改超限后的乘数。

他代码写得挺好的。我给他的代码加上了注释。

值得一提的是他引用的0Harmony.dll是1.2版本的。这个文件可以从他的mod中提取。也可以从我新的OrientTrailblazers mod的Assemblies目录下找到这个文件。

然后在你的项目中引用这个0Harmony.dll。

Harmony是一个 C# 库,可以帮助对 RimWorld 进行热重载,即在不重启游戏的情况下,重新加载代码,以确保对其进行正确的补丁操作。Harmony是一个极其强大和灵活的工具,可用于解锁在编译代码后似乎无法访问或编辑的代码区域,极大地提升了 RimWorld 的可定制性和可扩展性。关于Harmony有空我会专门介绍一下。

现在说一下项目文件结构。

主要由5个文件组成。

主文件你们可以自己命名。默认会是Class1.cs。

代码如下:

后面几个文件我都沿用madskill的源代码。主要的功能设置文件modSettings.cs代码如下“

修改技能文件Patch_SkillRecordInterval.cs。代码如下:

修改经验饱和度文件Patch_LearningSaturation.cs。代码如下:

修改经验饱和度UI相关文件Patch_LearningSaturationUI.cs。代码如下:

还有一个本地化xml文件。我的文件放在在mod目录下OrientTrailblazers\Languages\ChineseSimplified\Keyed\OrientTrailblazers_Keyed_cn.xml

代码如下:


然后可以VS编辑器中,选择生成-->生成解决方案。如果你的目录是按wiki建议设置的话,在Assemblies目录下就会看到(你的项目名称).dll与(你的项目名称).pdb。2个文件。我这里是OrientTrailblazers.dll与OrientTrailblazers.pdb。还有0Harmony.dll。

另外,如果没有0Harmony.dll,看下引用0Harmony.dll的设定。要选复制本地。再不行就从我mod中复制过来吧。


我今天上传了新的steam创意工坊。查找OrientTrailblazers可以下载



rimworld的mod制作——技能不减的评论 (共 条)

分享到微博请遵守国家法律