- 南海海域发生3.8级地震
- 伊卡尔迪长文控诉旺达
- 护士离世完成生命里最后一次救援
- 黄子韬捐赠10台车给妇女儿童基金会
- 胡祥雨5年让730个家庭团圆
- 库里授权王鹤棣晚安手势
- 宋慧乔说以前不懂得爱自己
- 西部联4比3逆转墨尔本胜利
- 美国消防员辟谣用女式挎包接水灭火
- 黄子韬说以后再也不多嘴了
声明:本文来自于(ID:localblox.com)授权转载发布。
相信很多人也遇到过类似的报错,真的让人头疼。
如果使用的是WitcherScriptMerger 0.6.2,这种错误是无法检测出来的。
经过多方查找,终于发现了这种报错的原因。
问题出在r4Game.ws文件上。
在GOG年度版1.3.1的游戏原文件中,原本是有“GetChosenMainMenuType”等函数定义的。
位置:E:\The Witcher 3 GOG\content\content0\scripts\game\r4Game.ws
然而,在WitcherScriptMerger 0.6.2的汉化版中,默认的r4Game.ws文件中缺少了“GetChosenMainMenuType”等函数的定义。
位置:E:\The Witcher 3 GOG\Witcher Script Merger\Tools\wcc_lite\r4data\scripts\game\r4Game.ws
当使用0.6.2版本进行mod整合时,生成的mod0000_MergedFiles中的r4Game.ws文件也没有“GetChosenMainMenuType”函数的定义。
位置:E:\The Witcher 3 GOG\Mods\mod0000_MergedFiles\content\scripts\game\r4Game.ws
因此,使用0.6.2版整合脚本时,检测没有错误(因为它本身并不包含诸如GetChosenMainMenuType等一些函数的写入),但是在打开游戏加载脚本时会出现问题。
解决方案:
缺失的GetChosenMainMenuType函数定义等部分位于PopulateMenuQueueMainAlways函数和GetNewGameDefinitionFilename函数之间。
1. 打开路径:E:\The Witcher 3 GOG\Mods\mod0000_MergedFiles\content\scripts\game\r4Game.ws(右键选择用记事本打开该文件)
2. 使用搜索功能(Ctrl+F)查找:public function GetNewGameDefinitionFilename() : string
3. 在这个函数之前添加:GetChosenMainMenuType等函数的定义,内容如下(内容与E:\The Witcher 3 GOG\content\content0\scripts\game\r4Game.ws中的相同)
private var _mainMenuType : int; default _mainMenuType = -1;
public function GetChosenMainMenuType() : int
{
return _mainMenuType;
}
private function SelectRandomMainMenuIfNotSelectedYet() : int
var potentialMainMenuTypes : array< int >;
var seed : int;
var index : int;
if ( _mainMenuType >-1 )
potentialMainMenuTypes.PushBack( 0 );
if (theGame.GetDLCManager().IsEP1Available())
potentialMainMenuTypes.PushBack( 1 );
if (theGame.GetDLCManager().IsEP2Available())
availableMainMenuTypes.PushBack(2);
seed = CalcSeed(theGame);
index = (int)RandNoiseF(seed, availableMainMenuTypes.Size());
_mainMenuType = availableMainMenuTypes[index];
LogChannel('asd', "RAND " + seed + " " + index + " " + _mainMenuType);
注意“}”不要删除,并且在“private var _mainMenuType : int;”前面要保留Tab符,记得回车符。
改完之后,可以打开E:\The Witcher 3 GOG\content\content0\scripts\game\r4Game.ws,比较两个文件的格式。
如果没有mod0000_MergedFiles文件夹,比如测试单个mod时,也会出现同样的错误,上述方法同样适用。
在Mods文件夹中搜索“r4Game.ws”
找出可能导致错误的r4Game.ws文件,并对比E:\The Witcher 3 GOG\content\content0\scripts\game\r4Game.ws,添加缺失的部分。