導航:首頁 > 源碼編譯 > psc文件編譯

psc文件編譯

發布時間:2023-04-15 15:36:36

① 什麼是psc後綴的文件,怎樣打開

後綴是psc就是指psc格式的文件
也就是文件名後面都是 .psc 的文件
這個格式好像是個備份用文件,不是用來打開而是用作備份軟體還原用的,所以不管是在手機還是電腦盡量保持文件原位置和名字不要更改
要注意的是電腦上要是選了隱藏格式的選項的話直接看文件名是看不到點和後面的格式字母的

② 發售6年仍然火爆《上古卷軸5》什麼時候過氣

1.首先,要開啟papyrus的log記錄功能,否則你的老滾不會生成日誌文件。上面紅色箭頭表示文件目錄以及文件叫什麼。下面紫色箭頭和框體表示:找到[papyrus](若沒有,則在底部新建一個),然後尋找框體內的三個參數(若沒有,在papyrus下新建),然後把它們三個改成1)如果你使用的是MO,你起效果的skyrim.ini在這個目錄:ModOrganizer\profiles\你的配置文件2.找到你的日誌文件當你做完第一步之後,無論你的游戲過程是否ctd,是否bug,只要你進入了游戲,就會生成日誌文件。文件在這個位置:Users\你的用戶名\Documents(這玩意是我的文檔)\MyGames\Skyrim\Logs同一時間,最多記錄4個log文件。最近一次游戲的日誌是Papyrus.0.log,上一次的是1,再上一次是2,最多到3,每一次是指你開啟tesv.exe,到tesv.exe結束。分析log的基礎就是讓log存在,上面的步驟是讓log存在的教程。下面開始講一講如何分析3.根據LOG內容出現的時間,我把LOG內容分為三種。運行游戲,讀檔,出現的LOG:這個所謂的檔,最好是在吸煙室,並且保證吸煙室只有你自己,沒有其他NPC,屍體,以及多餘的物品。這部分LOG內容中的ERROR,建議大家弄懂它們的意思。如果明確知道這些error是無所謂的,或者有所謂,但是你可以無視它,那麼就可以不解決,放著它。如果明確知道它會造成未來的某個嚴重問題,建議立即解決。游戲過程中,不會引起CTD的LOG:這些log多造成邏輯問題。比如一個給冰怨靈綁定搖尾巴動作的函數找不到object,只會造成冰怨靈沒搖尾巴,而不能ctd。這些error也是一樣,如果你覺得它無所謂,那麼不解決也是可以的。引起CTD的LOG:這些error出現在papyrus0.log的後部,也就是你發生CTD時間戳的地方。在這里必須多說幾句,ctd的原因有三種:文件缺失或者錯誤,當前游戲環境超過你的計算機處理能力,腳本嚴重錯誤。而你ctd之後查看log,ctd時間戳上的腳本錯誤,不一定是這次ctd的罪魁禍首,因為還可能是第二種原因引起的ctd.分辨的方法就是多次試驗,100%跳的就是腳本原因。如果知道是腳本原因了,就要排查這個錯誤。時刻記住,找到發生錯誤的mod,就卸掉它,這是不可取的,至於原因,我後面會說,當然也可能忘掉了.warning:警告。如果你不蛋疼,警告可以無視,因為它任何時候都不會引起ctd。但是你分析error的時候可能會借鑒一下這些警告。關於warning的解決方法,我在以前的帖子有所介紹。tieba..com/p/3873900066這篇帖子講的是warning:腳本不存在某屬性的解決方法。相當的基礎。補充:我們買游戲,是為了玩游戲。雖然玩游戲的動機可能有很多,但是以編程和修改游戲內容為樂趣的人並不多,絕大多數人玩游戲還是純粹為了游戲。我也是。所以說技術和游戲要平衡好.雖然我很尊敬DK大,但是她那樣研究技術會佔用很多時間(她的每一個mod的每一個文件都知道作用--)..我個人不會選擇這樣做。每個人都有每個人的看法,你們想怎麼玩,怎麼做,都是你們自己的選擇。4.如果CTD了,並且你已經確定某一條error或者某一堆error是引起這次ctd的原因,那麼怎麼呢?我隨便找個腳本錯誤的例子.[11/02/2014-12:21:22AM]Error:(000C6984):.stack:[(000C6984)].FXSetBlendVariableScript.SetAnimationVariableFloat()-""Line?[(000C6984)].FXSetBlendVariableScript.OnLoad()-"FXSetBlendVariableScript.psc"Line38[11/02/2014-12:21:22AM]:時間戳,你可以通過ctd發生的時間找到對應的腳本錯誤區域。一般引起ctd的error就是ctd時間戳,也就是最後的那個時間點上的錯誤。有時候也和稍微靠前的error有關。Error:(000C6984):.:錯誤,括弧里如果不是00或者uskp,smpc的序號,那麼可以明確知道是哪個mod出現的錯誤。如果是00或者uskp,smpc的錯誤,就比較蛋疼,你不知道哪個mod出問題了。就算你知道哪個mod出問題,直接刪掉是完全不可取的,因為刪mod會壞檔呀,好吧也可以用savetool或者pdt清一下存檔,但是不一定能完全清理干凈.後面是說究竟發生什麼錯誤了,比如不能找到object,object的類型不對呀等等等..[(000C6984)]:這是發生錯誤的referenceID。關於referenceID的相關知識,我在後面會講一下。FXSetBlendVariableScript:這是發生錯誤的腳本。在data/scripts(或者某bsa下)一定會有一個同名的PEX文件,開源的mod或者原版(要安裝ck),會有psc源碼文件。SetAnimationVariableFloat():這是發生錯誤的函數指令。這個函數可以是native類型(也就是不需要在psc中中定義的函數,這些函數是游戲本身就識別的),也可以是psc內定義的新函數,也可以是skse擴展的函數。""Line?:這是被編譯的psc內,發生錯誤的函數的行數。注意,反編譯之後的psc不能用這個行數找到函數。OnLoad()-"FXSetBlendVariableScript.psc"Line38:這里,分別是發生錯誤的event,以及發生錯誤的文件,以及event所在的行數。所謂事件,就是告訴游戲什麼時候執行事件下面的語句。5.分析和解決思路首先分兩個路徑,都要去做。一個是腳本,一個是入口。第一路徑,通過psc文件的指示,去尋找起作用的那個psc文件。要知道,如果原版有A.psc文件,uskp也有A.psc文件,Xmod也有A.psc文件,那麼起作用的一定是Xmod的。怎麼才會起作用呢?排在相對後面,並且入口中要掛載這個腳本文件。找到psc文件之後,打開看,看懂它在做什麼。看的第一遍,看一下每個event和function下的主要函數指令都在做什麼。看的第二遍,針對出錯的位置,進行分析。這需要papyrus語言的知識,我已經說過了。如果沒有psc文件,那就只能找到pex文件,然後用TESVTranslator反編譯。這個軟體絕大多數時候是用來做漢化的。我這種懶比肯定不會去做漢化的。方法:首先打開軟體,然後點擊文件,loadpapyrusPEX,然後在下面的pexdata下就會有反編譯的腳本內容。如果是一個20行以內的小腳本,用這個方法還稍微可以。但是1200行的腳本,就算你看懂,想修改也需要重寫成正常的papyrus語法,否則無法通過ck編譯。第二路徑:根據出錯的referenceID,尋找出錯的入口。需要注意的是,referenceID是baseID實例化之後的id,在ck和edit下可能會找不到。什麼時候能找到?這個reference在文件製作的時候就已經被實例化了,例如所有有名字的npc,放在某箱子里的鑰匙等等。還有就是這個東西不需要實例化。什麼時候找不到?這個reference是在游戲過程中實例化的。例如無名字的龍。那麼對於找不到入口的referenceID怎麼呢?打開savetool最新版本,搜索這個ID,可能會找到這個reference的相關信息,你可以通過這些信息推斷出它是什麼入口實例化的。你還可以通過直接搜索出錯的腳本,在所得的信息中推斷入口是什麼。不過有些時候依然找不到入口,為什麼呢?因為實例化這個過程,在你上次存檔到這次ctd之間那就只能gg了。知道腳本內容和出錯入口,大概就可以知道mod這個部分究竟在做什麼。知道這些信息,如何解決呢?你要通過這些信息去想,為什麼這個腳本會出錯?然後針對原因,進行入口的修改/腳本的修改並且重新編譯。之後再處理存檔(一般來說是刪掉出錯腳本的相關內容,或者修改其中的value)。我說這么少的內容,是有原因的。因為錯誤有無數個,每個錯誤的解決方法都不一樣,我怎麼寫呢?6.bugbug區別於ctd,它不會引起閃退,你的游戲還可以繼續。不過bug也分為良性bug和惡性bug。良性bug只是類似武器架E不動了,冰怨靈卡著不動了等等..這些bug你能忍的話就不需要去解決。惡性bug會讓你的游戲無法繼續,例如某任務卡住,某音樂播放不停止。解決bug的思路和ctd差不多。只是把ctd時間戳改成bug嘛。不過建議嘗試看log之前,先讀靠前的存檔,多次試驗,如果bug沒了,就不用累死累活了.7.log的局限性很多時候,log給出的信息,只是xxx不能xxx,因為xxx不能作用在一個noneobject上..none是啥?為啥那玩意變成none了?這些log都不會給出。你需要自己分析,這個難度非常大.甚至modder都不一定能分析出來.畢竟游戲底層的東西只有b社員工知道。所以嘛,錯誤能避免盡量避免。說到底,還是一個mod使用習慣好壞的問題。

③ PSC文件用什麼軟體打開

.psc文件是Mysql資料庫備份文件格式,用navicat工具可打開提取SQL

④ psc是什麼文件

psc格式文件是Adobe Photoshop簡稱「PS」軟體的源文件,要打開psc文件必須要用PS軟體才能打開。

Photoshop主要處理以像素所構成的數字圖像。使用其眾多的編修與繪圖工具,可以有效地進行圖片鬧薯握編輯工作。ps有很多功能,在圖像、圖形、文字、視頻、出版等各方面都有涉及。

2003年,Adobe Photoshop 8被更名為Adobe Photoshop CS。2013年7月,Adobe公司推出了新版本的Photoshop CC,自此,Photoshop CS6作為Adobe CS系列的最後一個版本被新的CC系列取代。

截止2019年1月Adobe Photoshop CC 2019為市場最新版本。

(4)psc文件編譯擴展閱讀:

功能

專業測評:Photoshop的專長在於圖像處理,而不是圖形創作。圖像處液慶理是對已有的點陣圖圖像進行編輯加工處理以及運用一些特殊效果,其重點在於對圖像的處理加工;圖形創作軟體是按照自己的構思創意,使用矢量圖形等來設計圖形。

平面設計:平面設計是Photoshop應用最為廣泛的領域,無論是圖書封面,還是招帖、海報,這些平面印刷品通常都需要Photoshop軟體對圖像進行處理。

廣告攝影:廣告攝影作為一種對視覺要求非常嚴格的工作,其最終成品往往要經過Photoshop的修改才能得到滿意的效果。

影像創意:影像創意是Photoshop的特長,通過Photoshop的處理 可以將不同的對象組合在一起,使圖像發生變化。

網頁製作:網路的普及是促使更多人需要掌握Photoshop,因為在製作網頁時Photoshop是必不可少的網頁圖像處理軟體。

後期修飾:在製作建築效果圖包括許三維場景時,人物與配景包括場景的顏色常常需要在Photoshop中增加並調整。

視覺創意:視覺創意與設計是設計藝術的一個分支,此類設計通常沒有非常明顯的商業目的,但由於他為廣大設計愛好者提供了廣闊的設計空間,因此越來越多的設計愛好者開手純始學習Photoshop,並進行具有個人特色與風格的視覺創意。

界面設計:界面設計是一個新興的領域,受到越來越多的軟體企業及開發者的重視。在當前還沒有用於做界面設計的專業軟體,因此絕大多數設計者使用的都是該軟體。

⑤ 為什麼我加的mod很少,畫質調到最低,卻經常ctd

1.配置方面
如果你用一台炸雞玩老滾,還要作死一樣裝各種mod,好吧我攔不住你,我只能告訴你炸雞玩老滾而導致ctd的原因。
腳本方面:

位於source下的PSC文件是純Papyrus語言寫出的腳本,我們可以看到文件內部是高級語言,類似C和C++。然後我們點擊上一步,會看到很多PEX文件,這是初步編譯的腳本,這些文件不能被游戲直接使用,在讀檔的時候,游戲要繼續編譯這些文件,讓他們可以使用。如果你的電腦CPU很爛,那麼面對大量腳本的時候(因為不是所有的腳本都有有用的,有些時候存檔內會出現循環拋錯誤的腳本,這些腳本會把你CPU坑哭),會發生腳本沒有編譯完就進入游戲的情況。絕大多數時候,在進入游戲瞬間就會ctd。但有那麼幾個少數情況,腳本不存在也可以進入游戲,但游戲內部存在邏輯性bug,例如各種任務bug等等......
材質方面:這個和你的顯卡和內存有關。老滾作為程序,運行的時候需要把硬碟內的數據載入內存(硬碟轉耐爛速影響載入時間,但是不影響載入後的效果),如果你的內存不夠大,那麼會出現爆內存的情況。需要載入內存的數據不能被載入,只能ctd。顯存也是一樣,材質dds需要載入顯存。如果你裝的是4K材質,在你的畫面上,表現的不全是4K,材質質量會隨著距離的增大而降低。(你的遠景不可能是4K,懂了吧)但是,這些4K文件要全部載入顯存,然後通過顯卡核心進行壓縮,變成2K,變成1K,512.....所以說炸雞用高材質既坑顯存又坑核心。顯存爆了,不一定會ctd,但是會非常非常卡,卡到不能正常游戲。當然也可能會ctd...
所以說,炸雞,要麼安心玩原版,要麼不玩,好好工作,弄點錢換台新電腦。
不要總想著優化。你優化之後的老滾,和我們玩的根本不是一個游戲。花費相同的游戲時間,享受到不同的游戲體驗,你們願意嗎?如果是我,我寧可選擇去看高數,看大物....
本部分結束。
系統方面,建議用64位的win7或者以上系統進行游戲。32位系統最大識別3.幾G內存,減去2G(一個32位程序默認最多隻能使用2G內存,可以破解,使他們可以使用3G內存哦)
2.游戲本體方面
主要內容概括:無論你現在用的什麼版本,去換成純凈的英文傳奇版,昌型漏記住,是純凈,是英文。正版在steam下載前選擇英文。盜版就自己去找吧,我確定3DM有。安裝目錄不允許有任何中文字元。注冊表一定要完整,沒注冊表請用注冊表工具恢復注冊表。安裝之前要保證你的以下地方純凈:你選擇的安裝位置,我的文檔下My Games,C:\Users\用戶名\AppData\Local\Skyrim(win8和8.1是這樣的,其他系統不清楚,搜索skyrim就能找到,內部是幾個租伏TXT文件,如果有請刪除)。純凈英文傳奇版安裝之後,運行launcher,設置畫質,退出。再進,設置畫質,退出。再進,看你的畫質設置成功了么?(正版表示每次都要進行兩次,貌似第一次是把游戲目錄中的prefs放到我的文檔下,第二次是融合那些HIGH什麼的畫質ini...)然後再看看載入mod能不能點,如果灰色,照著置頂帖里的方法進行修改。記住,有用的,只有bEnableFileSelection=1一句,你只需要修改,或者在正確位置添加這一句內容,其他不需要動。漢化方面,有蒹葭7.0的蒹葭名詞和中箭組修訂的官方名詞可以選擇,你選擇什麼我不管,我只能告訴你蒹葭名詞安裝之後,一定要換個字體,那個40M(感謝光影S的提醒)字體,足以坑掉大部分電腦。對於本體esm的清理,我個人沒有清理,我對於清理esm有自己的看法,這里不詳解。
概括部分結束。下面進行解釋。
首先說傳奇版。注意到圖片上的references,也就是引用。媽蛋我想想怎麼說.....你們知道,插件列表裡有esm和esp吧,es就是上古卷軸,the elder scroll,m,是master,p,是Plugin。esp可以引用esm的內容,而esm不能向下引用esp的內容。傳奇版和低版本的update.esm(升級檔)內容會有不同,包括增加減少和數據差異。低版本也比傳奇版少dlc。
如果你的mod需要引用傳奇版update.esm的內容,或者dlc的內容,你如果沒有,直接ctd沒商量。腳本告訴機器,我需要這個!機器:我沒有。腳本:法克!換一種說法:女朋友:親愛的我要這個! 你:沒錢,別買了... 女朋友:分手吧.... 咳咳
PS.下面的esp也可以引用上面的esp內容。所有的espesm都是指文件內部標記,而不是擴展名。
下面解釋本體esm里的dirty edit。
dirty edit,分為兩種,一種叫itm,一種叫udr。
ITM:Identical to Master。
解釋它的產生:官方編輯器ck是有很多bug的。下面模擬一下modder製作mod的過程。打開ck,看到很多項目,先改一下A,再改一下B,再改一下C..........卧槽,A不應該改,把A修改刪掉刪掉....但是CK不一定會真把他刪掉,而是恢復成原版模樣。這樣保存出的esp就是帶itm的。你只有這一個mod的話,itm有10000個都沒關系。但這個mod如果排在其他mod後面的話...根據唯一性原則,這個A會覆蓋掉前面所有mod對A的修改,導致其他mod對A的修改變得無效。如果這個修改是關於腳本的呢?你這就相當於禁止一個腳本的運行或者修改,ctd在所難免。
UDR:Undelete and Disable References。
恢復刪除內容並且禁止該引用。你們可以去看上面的圖。如果排在下面的mod需要引用上面mod的內容,而這些內容已經被禁止,ctd。
但是。我說的這些都是mod,大家常說的清理臟數據是esm。我們想想,排在本體esm前面的能有什麼?uskp!smpc!
uskp的n網貼並沒有說要清理這些itm和udr。推廣到大多數modder。推廣到大多數mod users。我們只是普通的玩家,買到這個游戲,是為了玩的,而不是研究什麼臟數據!我可以認為絕大多數玩家都沒有清理臟數據么?那麼,modder會避免對這些數據進行修改。否則反饋信息一定是:我為什麼裝上這個mod就ctd呀?為什麼全是bug呀?....
所以我的個人意見是:不需要清理本體esm的臟數據。如果你的mod有臟數據,一定要清理,必須要清理。
本部分結束。上面的看法和遠古大神的看法不太一樣。攤手。如果有懂的大神告訴我錯在哪裡,我會感動哭的。

⑥ 怎麼將psc文件導入mysql資料庫

1、首先打開phpstudy資料庫安裝目錄,點擊客戶端扮宏戚中其他選項菜單中MySQL工具,點擊打開資料庫目錄。

⑦ psc是什麼文件

psc格式文件為Navicat系列軟體的備份文件。

Navicat設計符合資料庫管理員、開發人員及中小企業的需要。Navicat是以直覺化的圖形用戶界面而建的,讓你可以以安全並且簡單的方式創建、組織、訪問並共用信息。

Navicat提供多達7種語言供客戶選擇,被公認為全球最受歡迎的資料庫前端用戶界面工具。

它可以用來對本機或遠程的MySQL、SQLServer、SQLite、Oracle及PostgreSQL資料庫進行管理及開發。

Navicat的功能足以符合專業開發人員的所有需求,而且對資料庫伺服器的新手來說又相當容易學習。有了極完備的圖形用戶界面(GUI),Navicat讓你可以以安全且簡單的方法創建、組織、訪問和共享信息。

(7)psc文件編譯擴展閱讀

文件格式作用

有些文件格式被設計用於存儲特殊的數據,例如:圖像文件中的JPEG文件格式僅用於存儲靜態的圖像,而GIF既可以存儲靜態圖像橘答氏,也可以存儲簡單動畫;Quicktime格式則可以存儲多種不同的媒體類型。

文本類的文件有:text文件一般僅存儲簡單沒有格式的ASCII或Unicode的文本;HTML文件則可以存儲帶有格式的文本;PDF格式則可以存儲內容豐富的,圖文並茂的文本。

同一個文件格式,用不同的程序處理可能產生截然不同的結果。例如Word文件,用MicrosoftWord觀看的時候,可以看到文本的內容,而以無格式方式在音樂播放軟體中播放,產生的則是雜訊。一種文件格式對某圓散些軟體會產生有意義的結果,對另一些軟體來看,就像是毫無舉鄭用途的數字垃圾。

⑧ 有什麼單純的編譯psc文件的工具么

1. 啟動NetBeans 7。
2.點擊Tools -> Plugins
3.當插件列表打開螞唯時,點擊settings選項卡。
4.在settings選項卡中點擊add按告物侍鈕襪吵

⑨ 《上古卷軸5》防跳出方法及原因解析 怎麼防跳出

1.首先,要開啟papyrus的log記錄功能,否則你的老滾不會生成日誌文件。

上面紅色箭頭表示文鋒鋒件目錄以及文件遲侍叫什麼。
下面紫色箭頭和框體表示:找到[papyrus](若沒有,則在底部新建一個),然後尋找框體內的三個參數(若沒有,在papyrus下新建),然後把它們三個改成1)
如果你使用的是MO,你起效果的skyrim.ini在這個目錄:ModOrganizer\profiles\你的配置文件
2.找到你的日誌文件
當你做完第一步之後,無論你的游戲過程是否ctd,是否bug,只要你進入了游戲,就會生成日誌文件。
文件在這個位置:Users\你的用戶名\Documents(這玩意是我的文檔)\MyGames\Skyrim\Logs
同一時間,最多記錄4個log文件。最近一次游戲的日誌是Papyrus.0.log,上一次的是1,再上一次是2,最多到3,每一次是指你開啟tesv.exe,到tesv.exe結束。
分析log的基礎就是讓log存在,上面的步驟是讓log存在的教程。
下面開始講一講如何分析
3.根據LOG內容出現的時間,我把LOG內容分為三種。
運行游戲,讀檔,出現的LOG:這個所謂的檔,最好是在吸煙室,並且保證吸煙室只有你自己,沒有其他NPC,屍體,以及多餘的物品。這部分LOG內容中的ERROR,建議大家弄懂它們的意思。如果明確知道這些error是無所謂的,或者有所謂,但是你可以無視它,那麼就可以不解決,放著它。如果明確知道它會造成未來的某個嚴重問題,建議立即解決。
游戲過程中,不會引起CTD的LOG:這些log多造成邏輯問題。比如一個給冰怨靈綁定搖尾巴動作的函數找不到object,只會造成冰怨靈沒搖尾巴,而不能ctd。這些error也是一樣,如果你覺得它無所謂,那麼不解決也是可以的。
引起CTD的LOG:這些error出現在papyrus0.log的後部,也就是你發生CTD時間戳的地方。在這里必須多說幾句,ctd的原因有三種:文件缺失或者錯誤,當前游戲環境超過你的計算機處理能力,腳本嚴重錯誤。而你ctd之後查看log,ctd時間戳上的腳本錯誤,不一定是這次ctd的罪魁禍首,因為還可能是第二種原因引起的ctd....分辨的方法就是多次試驗,100%跳的就是腳本原因。如果知道是腳本原因了,就要排查這個錯誤。時刻記住,找到發生錯誤的mod,就卸掉它,這是不可取的,至於原因,我後面會說,當然也可能忘掉了....
warning:警告。如果你不蛋疼,警告可以無視,因為它任何時候都不會引起ctd。但是你分析error的時候可能會借鑒一下這些警告。關於warning的解決方法,我在以前的帖子有所介紹。
tieba..com/p/3873900066這篇帖子講的是warning:腳本不存在某屬性的解決方法。相當的基礎。
補充:我們買游戲,是為了玩游戲。雖然玩游戲的動機可能有很多,但是以編程和修改游戲內容為樂趣的人並不多,絕大多數人玩游戲還是純粹為了游戲。我也是。所以說技術和游戲要平衡好....雖然我很尊敬DK大,但是她那樣研究技術會佔用很多時間(她的每一個mod的每一個文件都知道作用--).....我個人不會選擇這樣做。每個人都有每個人的看法,你們想怎麼玩,怎麼做,都是你們自己的選擇。
4.如果CTD了,並且你已經確定某一條error或者某一堆error是引起這次ctd的原因,那麼怎麼辦呢?
我隨便找個腳本錯誤的例子....
[11/02/2014-12:21:22AM]Error:(000C6984):.
stack:
[(000C6984)].FXSetBlendVariableScript.SetAnimationVariableFloat()-""Line?
[(000C6984)].FXSetBlendVariableScript.OnLoad()-"FXSetBlendVariableScript.psc"Line38
[11/02/2014-12:21:22AM]:時間戳,你可以通過ctd發生的時間找到對應的腳本錯誤區域。一般引起ctd的error就是ctd時間戳,也就是最後的那個時間點上的錯誤。有時候也和銀旦晌稍微靠前的error有關。
Error:(000C6984):.:錯誤,括弧里如果不是00或者uskp,smpc的序號,那麼可以明確知道是哪個mod出現的錯誤。如果是00或者uskp,smpc的錯誤,就比較蛋疼,你不知道哪個mod出問題了。就算你知道哪個mod出問題,直接刪掉是完全不可取的,因為刪mod會壞檔呀,好吧也可以用savetool或者pdt清一下存檔,但是不一定能完全清理干凈....後面是說究竟發生什麼錯誤了,比如不能找到object,object的類型不對呀等等等.....
[(000C6984)]:這是發生錯誤的referenceID。關於referenceID的相關知識,我在後面會講一下。
FXSetBlendVariableScript:這是發生錯誤的腳本。在data/scripts(或者某bsa下)一定會有一個同名的PEX文件,開源的mod或者原版(要安裝ck),會有psc源碼文件。
SetAnimationVariableFloat():這是發生錯誤的函數指令。這個函數可以是native類型(也就是不需要在psc中中定義的函數,這些函數是游戲本身就識別的),也可以是psc內定義的新函數,也可以是skse擴展的函數。
""Line?:這是被編譯的psc內,發生錯誤的函數的行數。注意,反編譯之後的psc不能用這個行數找到函數。
OnLoad()-"FXSetBlendVariableScript.psc"Line38:這里,分別是發生錯誤的event,以及發生錯誤的文件,以及event所在的行數。所謂事件,就是告訴游戲什麼時候執行事件下面的語句。
5.分析和解決思路
首先分兩個路徑,都要去做。一個是腳本,一個是入口。
第一路徑,通過psc文件的指示,去尋找起作用的那個psc文件。
要知道,如果原版有A.psc文件,uskp也有A.psc文件,Xmod也有A.psc文件,那麼起作用的一定是Xmod的。怎麼才會起作用呢?排在相對後面,並且入口中要掛載這個腳本文件。
找到psc文件之後,打開看,看懂它在做什麼。
看的第一遍,看一下每個event和function下的主要函數指令都在做什麼。
看的第二遍,針對出錯的位置,進行分析。
這需要papyrus語言的知識,我已經說過了。
如果沒有psc文件,那就只能找到pex文件,然後用TESVTranslator反編譯。這個軟體絕大多數時候是用來做漢化的。我這種懶比肯定不會去做漢化的。
方法:首先打開軟體,然後點擊文件,loadpapyrusPEX,然後在下面的pexdata下就會有反編譯的腳本內容。

如果是一個20行以內的小腳本,用這個方法還稍微可以。但是1200行的腳本,就算你看懂,想修改也需要重寫成正常的papyrus語法,否則無法通過ck編譯。
第二路徑:根據出錯的referenceID,尋找出錯的入口。
需要注意的是,referenceID是baseID實例化之後的id,在ck和edit下可能會找不到。
什麼時候能找到?這個reference在文件製作的時候就已經被實例化了,例如所有有名字的npc,放在某箱子里的鑰匙等等。還有就是這個東西不需要實例化。
什麼時候找不到?這個reference是在游戲過程中實例化的。例如無名字的龍。
那麼對於找不到入口的referenceID怎麼辦呢?
打開savetool最新版本,搜索這個ID,可能會找到這個reference的相關信息,你可以通過這些信息推斷出它是什麼入口實例化的。你還可以通過直接搜索出錯的腳本,在所得的信息中推斷入口是什麼。
不過有些時候依然找不到入口,為什麼呢?
因為實例化這個過程,在你上次存檔到這次ctd之間......那就只能gg了。
知道腳本內容和出錯入口,大概就可以知道mod這個部分究竟在做什麼。

知道這些信息,如何解決呢?
你要通過這些信息去想,為什麼這個腳本會出錯?
然後針對原因,進行入口的修改/腳本的修改並且重新編譯。之後再處理存檔(一般來說是刪掉出錯腳本的相關內容,或者修改其中的value)。
我說這么少的內容,是有原因的。因為錯誤有無數個,每個錯誤的解決方法都不一樣,我怎麼寫呢?
6.bug
bug區別於ctd,它不會引起閃退,你的游戲還可以繼續。
不過bug也分為良性bug和惡性bug。
良性bug只是類似武器架E不動了,冰怨靈卡著不動了等等.....這些bug你能忍的話就不需要去解決。
惡性bug會讓你的游戲無法繼續,例如某任務卡住,某音樂播放不停止。
解決bug的思路和ctd差不多。只是把ctd時間戳改成bug嘛。
不過建議嘗試看log之前,先讀靠前的存檔,多次試驗,如果bug沒了,就不用累死累活了....
7.log的局限性
很多時候,log給出的信息,只是xxx不能xxx,因為xxx不能作用在一個noneobject上.....
none是啥?
為啥那玩意變成none了?
這些log都不會給出。你需要自己分析,這個難度非常大....甚至modder都不一定能分析出來....畢竟游戲底層的東西只有b社員工知道。
所以嘛,錯誤能避免盡量避免。說到底,還是一個mod使用習慣好壞的問題。

閱讀全文

與psc文件編譯相關的資料

熱點內容
怎麼使用access的命令按鈕 瀏覽:897
有點錢app在哪裡下載 瀏覽:832
博途v15解壓後無法安裝 瀏覽:203
什麼是根伺服器主機 瀏覽:436
安卓手游怎麼申請退款 瀏覽:553
安卓系統如何分享網頁 瀏覽:278
ad如何編譯pcb工程 瀏覽:412
除了滴滴app哪裡還能用滴滴 瀏覽:399
截圖怎麼保存文件夾然後壓縮 瀏覽:8
幻影伺服器怎麼樣 瀏覽:27
具體哪些廣東公司招程序員 瀏覽:870
嵌入式編譯器教程 瀏覽:306
ssl數據加密傳輸 瀏覽:86
51單片機定時器方式2 瀏覽:331
命令行查看開機時間 瀏覽:813
python微博復雜網路分析 瀏覽:550
rf3148編程器 瀏覽:505
浙江標准網路伺服器機櫃雲主機 瀏覽:589
設置網路的伺服器地址 瀏覽:600
java圖形界面設計 瀏覽:752