► PapyrusLogViewer 訊息

★大部分時候你可以直接把出問題那一行腳本名稱拿去Google,你可以看一下網路上有沒有其他人跟你遇到同樣問題,跟解決辦法。

★接著來講一講你可能會在LOG中看見的訊息種類, 1.如果你看見你的LOG檔案出現一連串的 Dumping stack :內存溢出

是時候該刪一刪MOD了。

通常特別容易在戰鬥中出現,瞬間大量的戰鬥AI和戰鬥和魔法技能還有NPCAI運算。

配備確定夠力,但此種狀況出現時會降FPS、畫面停頓。 下面為http://www.creationkit.com/網站翻譯白話過來的,會用到些程式設計的名詞。

看不懂就算了o-o/

2.Warning類通常這類不會導致CTD,會顯示只是遊戲引擎認為這個狀態下不是MOD創作者想要的結果。比如說把神裝 系統指令 塞給路邊強盜之類的。

他會影響大部分只是遊戲體驗。

● A does not have a property named B, property skipped.

當腳本A初始化啟用的時候,該MOD腳本提供了B參數來使用,可是遊戲引擎卻找不到B參數在哪,遊戲引擎就會自動跳過。 通常為MOD版本對應不到Skyrim版本,所謂程式設計中的接口沒有對應到,過時的老MOD,手動的修復方式開TES5Edit去修改參數。

●Property Y on object X is read-only, property skipped.

當腳本A初始化啟用的時候,該MOD腳本提供了B參數來使用,可是遊戲引擎卻發現B參數的位置不能修改只能讀取(被鎖定),遊戲引擎就會自動跳過。 跟上一個一樣-通常為MOD版本對應不到Skyrim版本,所謂程式設計中的接口沒有對應到,過時的老MOD,手動的修復方式開TES5Edit去修改參數。

●The type of property Y on object X does not match the passed-in type at creation, property skipped.

當腳本A初始化啟用的時候,該MOD腳本提供了B參數來使用,可是遊戲引擎卻發現B參數的單位(int,bool,float.....)跟MOD指定不一樣(不匹配not match),遊戲引擎就會自動跳過。 也是跟上一個一樣-通常為MOD版本對應不到Skyrim版本,所謂程式設計中的接口沒有對應到,過時的老MOD,手動的修復方式開TES5Edit去修改參數。

●Function X.Y.Z in stack frame A in stack B differs from the in-game resource files - using version from saveMOD

所用的函數X、Y、Z,使用跟遊戲引擎資源不一樣的系統函數,引擎會自動選用舊版本函數。看見這個不用管。

●Function X.Y.Z in stack frame A in stack B doesn't exist in the in-game resource files - using version from saveMOD

所用的函數X、Y、Z,使用無法在遊戲引擎資源找到,引擎會自動選用舊版本函數。看見這個不用管。

●Unable to get type X referenced by the save game. Objects of this type will not be loaded.

這警告通常出現於讀取遊戲,系統要使用X物件,但X物件被釋放了,或腳本不存在沒加載到,這看起來很像是會發生無限讀取的LOG。

●Type of variable X on script Y, which is Z, doesn't match the type loaded in the actual object. This variable will be skipped.

系統在讀取中發現腳本和引擎的變數單位不匹配,會自動跳過。有裝新MOD讀檔,動到MOD Index可能會碰到。

●Variable X on script Y loaded from save not found within the actual object. This variable will be skipped. 讀檔時,腳本Y中的變數X沒有在此存檔裡找到,引擎將會自動跳過。有裝新MOD讀檔,動到MOD Index可能會碰到。

●Property X on script Y attached to <Form ID> cannot be initialized because the script no longer contains that property 當腳本Y正在初始化準備將屬性X附加至 FFFFFFFF(物件ID),卻無法成功,因為該物件沒有屬性X的位置。

3. Error類 本文章CTD分析重點

●Cannot call X() on a None object, aborting function call 技術文章是寫說:呼叫函數X的時候他是None物件(空物件=甚麼都沒有),由於引擎禁止呼叫任何None物件,該腳本被拒絕繼續下去。 0.引擎過載反應太慢,當腳本呼叫的時候,物件還沒生成。

1.該Script腳本,邏輯判斷沒有寫好

2.檢查有沒有清理到不該清的

3.或著有其他MOD把該東西給吃掉了,環境地形更改擴建類-MOD衝突。

4.放棄該MODMOD裝多,出現機率高。

●Unable to bind script <script name> to <Form ID> because their base types do not match

無法將Script腳本綁定到指定ID物件,因為他們屬性不匹配。 可能有其他MOD先複寫掉物件了,導致第二個MOD複寫時出問題。MOD裝多,出現機率高。

●Unable to call X - no native object bound to the script object, or object is of incorrect type

無法使用函數X,非本地物件被綁定到腳本物件,或物件屬於錯誤的類別。

通常出現於ActiveMagicEffect Script類型的腳本。 簡單說遊戲引擎對錯誤的對象放錯法術。考慮刪MOD,該MOD可能老版本或者沒寫好,或著有其他同類型MOD衝到。出現機率中低。

●Cannot open store for class X, missing file?

有缺失MOD,很重要!!!不會導致CTD,通常為該MOD偵測有沒有其他可以兼容的MOD。

像是另一個人生MOD,就會跑這一段跟偵測Open City天際開放城市的訊息。

出現機率中。

●Cannot divide by zero該MOD數學有很大問題,我還沒遇過這種的MOD。數學上的除與0,分母為0的計算。出現機率低。

●Assigning None to a non-object variable named X

遊戲引擎試圖給空物件分配數值。看見此行的真正錯誤在這行的LOG前幾句。 通常為刪除MOD之後讀檔出現,沒有清理存檔中Script。會導致腳本延遲或卡住或一些奇怪的現象,嚴重CTD。出現機率中。

●Array index X is out of range (0-Y)

遊戲要使用的X物件不在系統的物件陣列之中。出現機率低。

●Cannot access an element of a None array

遊戲無法使用空陣列中的物件。出現機率低。

●Overridden function X in object Y does not have the same signature as in parent object Z.

函數複寫的變數屬性不匹配,該腳本需要重新編譯。

看見準備換MOD,MOD沒寫好。出現機率低。

●Class X found more then once in objects derived from Y - circular inheritance isn't allowed.

程式設計中的循環繼承,X父類別Y,Y的父類別X,這是被系統禁止的。看見準備換MOD,MOD沒寫好。出現機率低。

Last updated