如果不顺利的话,会有以下界面出现:
好了,要解决以下情况,先来解释一下界面;
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的页面发问,看看有没有玩家或原作者解决你的问题。
声明:此两个方法主要为新手向,用来解决普遍的冲突问题,未必能解决所有冲突问题。