巫師3無故報錯GCMMT怎麽解決
相信不少人也遇到過這種報錯,真的鬧心。
如果是使用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 ChooseRandomMainMenuIfNotChosenYet() : int
{
var availableMainMenuTypes : array< int >;
var seed : int;
var index : int;
if ( _mainMenuType > -1 )
{
return _mainMenuType;
}
availableMainMenuTypes.PushBack( 0 );
if (theGame.GetDLCManager().IsEP1Available())
{
availableMainMenuTypes.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 );
return _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來添加缺失部分。