很多玩家玩遊戲的時候都會用到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玩更有意思。
來源:遊俠網