索尼承诺将“增加PS5主机供应”
2023-01-31
更新时间:2022-03-29 05:02:15作者:未知
很多玩家玩游戏的时候都会用到mod,那你知道了不起的修仙模拟器如何制作mod吗?看下小编带来的了不起的修仙模拟器mod制作方法介绍,你自己也能成为制作mod的大神。
推荐阅读
了不起的修仙模拟器上古之兽蛟龙打法攻略
mod制作方法介绍
使用到的工具:Visual Studio 2017。
新建一个项目
首先打开VisualStudio2017(以下简称VS),单击左上角新建,项目,C#,类库(.Net Framework)如上图,为你的MOD起一个名字吧,图例中使用了MakeFaBaoManager,把其改成自己MOD的名字即可(尽量开发过程中避免使用中文字符,命名最好也不要用中文,虽然C#支持中文编译,但是出了BUG找不到原因,最后发现是用了中文的感觉太痛苦了,第一次制作最好与例子中一模一样,第二次再考虑改名)。
框架要改为3.5或者4.0,推荐3.5,虽然更新的框架会有更多的功能,但实际上并用不到,而高版本的框架对使用MOD人来讲是一个门槛,他也必须要有对应的框架版本才行,所以推荐最低的3.5。
导入游戏所用的类库
右键单击"引用",选择添加引用,在浏览中寻找以上dll添加引用。
其中0Harmony12和UnityModManager可以在你UnityModManager安装目录下找到:
Assembly-CSharp
Assembly-CSharp-firstpass
UnityEngine
UnityEngine.CoreModule
UnityEngine.IMGUIModule
UnityEngine.TextRenderingModule
UnityEngine.UI
UnityEngine.UIModule
以上类库可以再游戏根目录下的Amazing Cultivation Simulator_Data/Managed 文件夹下找到,其他Unity3D游戏也是相同道理Managed文件夹下。
添加引用完成后,选中所有引用,在下方会有一个复制到本地,更改值为False,不让他进行复制,然后右键解决方案下面,你为MOD起的名字的菜单,右键,选择添加,新建项,文本文件,名称改为info.json,这个文件将是你MOD的信息文件,UMM依靠这个文件显示你MOD的名字,版本号等。
选中新创建的info.json,将他的复制到输出目录改为始终复制,方便发布打包。
然后我们右键右边Class1,选择重命名,更改名称为MainMod,会弹出提示是否更新引用路径,我们选择是,这样就与上方截图中的文件名保持一致了。
我们双击MainMod.cs文件,切换到代码窗口,将我们添加的引用文件类进行使用,如上图,如此我们的准备工作就结束了,可以具体的来写我们的MOD了。
处理使用mod玩家的配置文件,让其可以保存配置
UnityModManager提供了一个非常简便的方法,用来保存每个使用MOD玩家的配置文件,要使用他我们首先要创建一个类,并起名为Settings(名称可以更改,但是对于初次接触的人来说,最好按照图中示例做一遍再尝试自己修改),他继承了UnityModManager.ModSettings,然后我们重写一下save方法(override),最后完成结果如同上图一样就完成了,我们现在可以方便的存储玩家配置了。
接下来我们焦点回到public class MainMod 中,我们需要创建一个入口,来让UMM加载我们的MOD,并且我们还需要几个变量开关,来让MOD是运行还是停止。
此处我们新添加了三个变量,enable来确定MOD是开启的还是关闭的,settings,玩家的设置文件,玩家调的MOD选项都保存在里面,logger,用来在游戏中输出信息的,我们还添加了一个Load方法,这里是UMM直接调用我们MOD的入口,当我们的MOD被UMM找到被加载时,就会执行这里,如果我们return true,意思就是告诉umm,这个MOD已经成功加载并且完成初始化了,可以正常使用了(如果return false,表示我启动失败了,不要加载这个MOD了,UMM此时会把这个MOD的状态改为红色,适用于我们发现MOD已经不兼容这个游戏版本了,或者这个MOD必须要在某个MOD之后,但是我们发现没有加载那个MOD,就可以return false通知使用者)。
mod初始化
之前说了UMM会调用我们的Load来加载MOD,我们就可以在加载MOD的时候进行初始化,比如我们之前的玩家配置文件还没读取呢,于是我们就可以这么写。
每一行代码的含义都已经写在图上了,但是那里有几行红色报错了,怎么回事呢,是因为我们还没有定义这几个方法,我们将鼠标放到红线上面,就会弹出提示。
我们选择显示可能的修补程序,选择生成方法。
我们依次对三个带有红色的地方进行相同操作,就能得到如下图的代码。
这样我们就可以让用户在开关MOD,保存配置,打开配置面板的时候,执行我们对应的代码了。
只要改为如上的代码(绿色为注释,可以不用打),基本功能就都能看到了。注意OnToggle方法,他要返回一个值,return true;就是告诉UMM我切换状态成功了,如果return false,则表示我切换失败了,可能需要用户重启游戏才能让MOD生效,UMM在接收到return false 的时候,会将MOD的状态更改为红色(UMM红色状态表示需要重启游戏或者无法使用)。
上述mod制作方法看起来有点复杂,但只要玩家自己去操作几遍,基本就能掌握了,与其玩别人开发的mod,不如自己做一个mod玩更有意思。