坎巴拉太空計劃 部件數據修改教程
這篇教程,將會從最基礎的地方開始介紹,
所以即使你對於這方面一竅不通,
看完它之後,你也能自力更生地製作一兩個小部件
Part1-準備階段
首先,我們需要一個編輯cfg後綴文本的軟件,這裏我非常推崇Notepad++
因為它可以讀取任何一種後綴的文件,(即使是圖片也可以打開)
我以前製作過騎砍和CK2的MOD,它都可以作為主要的編輯工具,
可以説是一個改派多面手,非常強大的文本編輯工具
你可以去官方網站下載最新的版本,
如果你已經下載好了這個軟件,那麼就讓我們開始吧。
Part-2選定目標
既然是通過修改原有的組件來達到製作出新的組件的目的
那麼我們必須知道,這些組件在遊戲的哪個位置,
對於遊戲原版組件來説、它們都存在於這裏
遊戲文件夾GameDataSquadParts
在這個Parts裏面你可以看到有很多的種類
比如Electrical(電力部件)FuelTank(燃料艙)這些
打開它們你能發現每個組件以文件夾的形式而存在着
比如Electrical裏面的largeSolarPanel,
這個就是我們在遊戲裏面看到的最大的那個太陽能板
再比如Engine裏面的liquidEngine1
這個就是我們在遊戲裏面的一種液體引擎
這些文件夾其中就包含着所有的部件信息
打開其中的一個,你會發現這個文件夾裏面通常會有三種文件
——模型文件
——貼圖文件
——模型信息,也就是我們所要編輯的地方
右鍵點擊,在選項中選擇用Notepad++編輯(Edit with Notepad++),
因為我們僅僅是選擇一個拿來做模板的目標,所以不要急着修改這些文件
ctrl+F搜索title =,之後你就能找到這個文件在遊戲當中的確切名字,
經過對於不同部件文件夾的多次查看,相信你能找到一箇中意的模板來製作你的新部件
當然這裏作為範例,我就選擇了liquidEngine1,
它在遊戲裏面的名稱是LV-T30 Liquid Fuel Engine,一種中小型的液體燃料引擎。
選擇好了模板,我們就可以切換出去把liquidEngine1這個文件夾整體複製一份,
然後粘貼到一個GameData下屬任意文件夾中你想要的位置
(是的,它在任何一個GameData文件夾下屬的子文件夾內都能生效)
事實上為了整理起來比較方便,最好新建一個文件夾把所有的新部件都放入其中
(作為讀取的文件夾、名稱中一般不可以有中文,這個沒有測試過)
這裏我新建為:遊戲文件夾GameDataRanran
然後把剛剛複製的部件放入其中
這樣就變成了:遊戲文件夾GameDataRanranliquidEngine1
接下來,我們就可以對我們的新部件進行編輯了
Part-3編輯文件
打開新的liquidEngine1文件夾,右鍵用Notepad++編輯.
每種計算機語言當中都會有一個分隔符的存在,分隔符內或者同行的部分
將不會被讀取,卻可以作為編輯時候的標註,通常用的分隔符是#、/兩種
在KSP的語法裏面,/作為分隔符來標註內容。
所以所有有分隔符的地方,我們都可以統統無視,甚至直接刪掉
比如這個“// --- standard part parameters ---”
假如無視掉分隔符內的內容,我們可以看到以下的部分
PART(它定義了整個文件夾的屬性,是作為部件而存在的,千萬不要去動它)
{(元組對稱符號,意味着接下來一直到對應的“}”為止,都是部件的內容)
name = liquidEngine
(部件的ID名稱,它是隱藏的一個組成部分,但是你一定要對它進行修改,讓它與其他的部件的ID不同,這裏我們修改為liquidEngine001)
module = Part
(定義它的屬性,這裏它是一個部件,而不是一個場景物品或者別的什麼,所以不要動它)
author = NovaSilisko
(定義它的作者,我們可以把他改成自己的名字,這裏我改成了Ranran)
mesh =
(讀取的模型名稱,和外面的同名即可,既然這裏模型沒有變化,我們也不需要去改這個)
scale = 0.1
(基本的模型倍數,實際上我們最好不要去修改它,因為它和節點直接相關,如果有的部件裏面存在着rescaleFactor = X這個定義行,你可以通過放大(縮小)X的倍數來擴大(縮小)它,這樣節點也會對應着放大和縮小)
node_stack_top = 0.0, 7.21461, 0.0, 0.0, 1.0, 0.0
node_stack_bottom = 0.0, -7.27403, 0.0, 0.0, 1.0, 0.0
fx_exhaustFlame_blue = 0.0, -10.3, 0.0, 0.0, 1.0, 0.0,
runningfx_exhaustLight_blue = 0.0, -10.3, 0.0, 0.0, 0.0, 1.0,
runningfx_smokeTrail_light = 0.0, -10.3, 0.0, 0.0, 1.0, 0.0,
runningfx_exhaustSparks_flameout = 0.0, -10.3, 0.0, 0.0, 1.0, 0.0, flameout
(節點數據,如果你沒有弄明白它們的含義,那麼千萬不要去動他們)
sound_vent_medium = engage
sound_rocket_hard = running
sound_vent_soft = disengage
sound_explosion_low = flameout
(各種時刻的播放音樂,實際上就是引擎啟動各種時刻的噪音,如果你實在不堪忍受某些吵到爆的引擎,比如那些加在邊緣的小型助推引擎,你也可以改成別的)
cost = 850
(部件的價格,目前沒有用)
category = Propulsion
(部件的定義,這個只決定了它在遊戲中所出現的位置,這裏是動力部分)
subcategory = 0
(暫時用不到的東西)
title = LV-T30 Liquid Fuel Engine
(在遊戲中的名稱,這裏可以使用中文,我們可以把它隨意修改,這裏我把它改成"冄燃一型液體燃料引擎")
manufacturer = Jebediah Kerman's Junkyard and Spaceship Parts Co.
(在遊戲中的製造商,這裏可以使用中文,我們可以把它隨意修改,這裏我把它改成"冄燃聯合航空公司")
description = Although criticized by some due to its not unsignificant use of so-called "pieces found lying about", the LV-T series has proven itself as a comparatively reliable engine. The T30 model boasts a failure ratio below the 50% mark. This has been considered a major improvement over previous models by engineers and LV-T enthusiasts.
(在遊戲中的定義,這裏也可以使用中文,我們可以把它隨意修改,隨便寫點好玩的東西就行了,比如,"這是一款玩家編輯的逆天引擎")
attachRules = 1,0,1,0,0
(貼合規則,這個我還在研究當中..如果有興趣可以改着試試看)
mass = 1.25
(重量,單位是噸,如果你喜歡的話可以減輕一些)
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
(最大拖力和最小拖力,以及角度,大概就是説連接時的緊密程度,不過暫時還不是特別會改,如果你想試試看,可以稍微增大一些,比如0.2變成0.3之類)
crashTolerance = 7
(撞擊耐受度,一般來説引擎12-15就已經很變態了,如果改成幾百的話、、估計永遠都不會被撞壞、、)
maxTemp = 3600
(温度耐受度,一般定義是和引擎材料相關,如果你不想自己的引擎被人説成是偽科技的話、、最好不要太高、、)
stagingIcon = LIQUID_ENGINE
(發射階段的標誌、遊戲中的左側一行,你如果熟練了,可以參照其他的改成別的、也可以自己摸索着做一些新的標誌。)
坎巴拉太空計劃 部件數據修改教程
MODULE
(功能模組,這個定義了所有的功能部分,引擎有引擎的功能模組,發電機有發電機的功能模組,太陽能板有太陽能板的功能模組,這裏就不一一舉例,只説目前這個引擎的定義文件有的,其他的大家可以自行摸索,一法通,萬法通。)
{
name = ModuleEngines
(這意味着這是一個引擎的功能)
thrustVectorTransformName = thrustTransform
(推進向量名稱,向後推進)
exhaustDamage = True
(排氣是否造成損傷,是為True 不是為False)
ignitionThreshold = 0.1
(點火臨界值?我也不明白、、別亂改、、如果你知道的話希望能回覆告訴我、、)
minThrust = 0
(最小推力)
maxThrust = 215
(最大推力,適度修改有益身心)
heatProduction = 400
(產生熱量)
fxOffset = 0, 0, 0.8
PROPELLANT
(燃料消耗部分,主要是一個配比問題,如果你沒有調整的燃料箱配比的話、最好不要修改)
{
name = LiquidFuel
(能源名稱)
ratio = 0.9
DrawGauge = True
}
PROPELLANT
{
name = Oxidizer
(能源名稱)
ratio = 1.1
}
atmosphereCurve
(比衝,第一個370是大氣層外的比衝,第二個320是大氣層內的比衝,越高的話能源消耗越少,假如翻倍的話,同樣的能源就可以多用一倍的時間、唉~怎麼説呢——適度修改有益身心)
{
key = 0 370
key = 1 320
}
}
MODULE
{
(一個拋棄時用到的腳本、這裏不做太詳細的介紹,因為這個存在感不高、、)
name = ModuleJettison
jettisonName = fairing
bottomNodeName = bottom
isFairing = True
jettisonedObjectMass = 0.1
jettisonForce = 5
jettisonDirection = 0 0 1
}
MODULE
(產熱功能腳本)
{
name = ModuleAnimateHeat
}
MODULE
(引擎發電腳本,Rate決定發電的速度,當然、你也可以把電改成別的、、)
{
name = ModuleAlternator
RESOURCE
{
name = ElectricCharge
rate = 1.0
}
}
RESOURCE
(能源存儲腳本,這裏有一個這樣的0電能存儲腳本是為了發電的時候有一箇中介的地方,不然電能會無處所去,如果你想去找找其他的能源存儲腳本,不妨去研究研究燃料艙的定義文件。)
{
name = ElectricCharge
(能源名稱)
amount = 0
(能源數量)
maxAmount = 0
(能源最大存儲單位)
}
}
修改完畢以後保存,打開遊戲去找找你的新部件吧
點我進入本站《坎巴拉太空計劃》遊戲專區