如果不順利的話,會有以下介面出現:
好了,要解決以下情況,先來解釋一下介面;
A是遊戲預設腳本,B是有衝突問題的mod1,C是有衝突問題的mod2,output是你會輸出的腳本;
腳本mod基本上是在預設腳本上寫上額外程式碼;
所以你們看到有些程式碼相同,有些則不是:
圈1是儲存,合成了腳本後按一下就行了;
圈2是接下來會用的功能。
以這個衝突問題為例子,大家看到在C和B那裡有幾行被高亮的程式碼,那就是有衝突問題的程式碼,解決方法如下:
1. 在output那按一下游標,在之上(先檢查位置是否對,沿用我的例子,isInitialized = true; 這行程式碼應該在游標之上,而//modPersistentAppearances--應該在游標之下,只需要比較ABC的腳本就能知道);
2. 在圈2按一下B來貼上B區有衝突問題的程式碼在Output中;
3. 在圈2按一下C來貼上C區有衝突問題的程式碼在Output中;
然後大家就能在output那看到同時有B區和C區被高亮的程式碼;
如果不只一個衝突,按一下如下圖所示的那個圖示,就能直接到下一個衝突問題的所在地;
最後儲存,關閉,如果沒有邏輯錯誤,開遊戲的時候mod就能生效;
如果有邏輯錯誤。
接下來是第二種方法:自己手動合成腳本;
理論上Script Merger 上也能自行改程式碼,但卻有各種限制,又有一些自動化引起的錯誤,所以自行合成腳本的效率更高;
假設兩個mod都是修改playerWitcher.ws的:
1. 用記事本打開兩個mod (以下以mod1為第一個mod,mod2為第二個mod):
由於modder通常也很貼心,他們會在自己加上的程式碼前寫上注解,如modPersistentAppearances 以//modPersistentAppearances++ 來標記,mod3DQuestMarkers用//---=== mod3DQuestMarkers ===--- 來標記, 總之有// 開頭的程式碼就是注解;
2. 以mod1為底層mod(即是放在遊戲檔案的mod),比較兩個mod的程式碼,在mod1上加上mod2有(和寫上其注解的)但mod1沒有的程式碼:
(原理就是把mod2的程式碼結合在mod1中)
3. 儲存,關閉,遊戲的時候mod就能生效:
例子mod: modSitDown + modPersistentAppearances)(modSitDown為底層mod,影片的左方,modPersistentAppearances為右方):
如果這樣也開不到,那這兩個mod就有著根本上的衝突,畢竟這些程式碼我也不是完全看得懂,解決方法就剩下自行鑽研程式碼的衝突,或在N網上那個mod的頁面發問,看看有沒有玩家或原作者解決你的問題。
聲明:此兩個方法主要為新手向,用來解決普遍的衝突問題,未必能解決所有衝突問題。
更多相關資訊請關注:專題
來源:遊俠網