《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

mod製作方法介紹

使用到的工具:Visual Studio 2017。

新建一個項目

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

首先打開VisualStudio2017(以下簡稱VS),單擊左上角新建,項目,C#,類庫(.Net Framework)如上圖,為你的MOD起一個名字吧,圖例中使用了MakeFaBaoManager,把其改成自己MOD的名字即可(盡量開發過程中避免使用中文字符,命名最好也不要用中文,雖然C#支持中文編譯,但是出了BUG找不到原因,最後發現是用了中文的感覺太痛苦了,第一次製作最好與例子中一模一樣,第二次再考慮改名)。

框架要改為3.5或者4.0,推薦3.5,雖然更新的框架會有更多的功能,但實際上並用不到,而高版本的框架對使用MOD人來講是一個門檻,他也必須要有對應的框架版本才行,所以推薦最低的3.5。

導入游戲所用的類庫

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

右鍵單擊”引用”,選擇添加引用,在瀏覽中尋找以上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文件夾下。

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

添加引用完成後,選中所有引用,在下方會有一個復制到本地,更改值為False,不讓他進行復制,然後右鍵解決方案下面,你為MOD起的名字的菜單,右鍵,選擇添加,新建項,文本文件,名稱改為info.json,這個文件將是你MOD的信息文件,UMM依靠這個文件顯示你MOD的名字,版本號等。

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

選中新創建的info.json,將他的復制到輸出目錄改為始終復制,方便發布打包。

然後我們右鍵右邊Class1,選擇重命名,更改名稱為MainMod,會彈出提示是否更新引用路徑,我們選擇是,這樣就與上方截圖中的文件名保持一致了。

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

我們雙擊MainMod.cs文件,切換到代碼窗口,將我們添加的引用文件類進行使用,如上圖,如此我們的准備工作就結束了,可以具體的來寫我們的MOD了。

處理使用mod玩家的配置文件,讓其可以保存配置

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

UnityModManager提供了一個非常簡便的方法,用來保存每個使用MOD玩家的配置文件,要使用他我們首先要創建一個類,並起名為Settings(名稱可以更改,但是對於初次接觸的人來說,最好按照圖中示例做一遍再嘗試自己修改),他繼承了UnityModManager.ModSettings,然後我們重寫一下save方法(override),最後完成結果如同上圖一樣就完成了,我們現在可以方便的存儲玩家配置了。

接下來我們焦點回到public class MainMod 中,我們需要創建一個入口,來讓UMM加載我們的MOD,並且我們還需要幾個變量開關,來讓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製作方法介紹

每一行代碼的含義都已經寫在圖上了,但是那里有幾行紅色報錯了,怎麼回事呢,是因為我們還沒有定義這幾個方法,我們將鼠標放到紅線上面,就會彈出提示。

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

我們選擇顯示可能的修補程序,選擇生成方法。

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

我們依次對三個帶有紅色的地方進行相同操作,就能得到如下圖的代碼。

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

這樣我們就可以讓用戶在開關MOD,保存配置,打開配置面板的時候,執行我們對應的代碼了。

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

《了不起的修仙模擬器》修仙模擬器mod製作方法介紹

只要改為如上的代碼(綠色為注釋,可以不用打),基本功能就都能看到了。注意OnToggle方法,他要返回一個值,return true;就是告訴UMM我切換狀態成功了,如果return false,則表示我切換失敗了,可能需要用戶重啟游戲才能讓MOD生效,UMM在接收到return false 的時候,會將MOD的狀態更改為紅色(UMM紅色狀態表示需要重啟游戲或者無法使用)。

上述mod製作方法看起來有點復雜,但只要玩家自己去操作幾遍,基本就能掌握了,與其玩別人開發的mod,不如自己做一個mod玩更有意思。

來源:遊俠網