《文明:太空》中如何修改游戲中全地圖的戰(zhàn)略資源數(shù)量?接下來(lái)介紹的是玩家分享的關(guān)于全地圖戰(zhàn)略資源數(shù)量的修改方法,供大家參考。
查詢文明5的wiki和api手冊(cè)才知道,文明5戰(zhàn)略資源數(shù)量雖然在XML文件有定義,其實(shí)游戲并不使用那個(gè)配置。上面幾樓提到的MOD雖然自己定義XML,但是存在版本不更新等問(wèn)題,我的方法是任何版本都適用的,因?yàn)橹苯有薷挠螒騆UA代碼。
廢話不多說(shuō)了,切入正題。
首先找到你的游戲目錄下的這個(gè)文件,備份之后就可以修改了。
(各位自己把正斜線看成反斜線,我是日文操作系統(tǒng)沒(méi)法輸入正斜線)
assets/Gameplay/Lua/AssignStartingPlots.lua
打開上述文件,找到第9437行代碼附近找到如下兩個(gè)函數(shù),改變函數(shù)中各個(gè)初始戰(zhàn)略資源數(shù)量即可,海洋戰(zhàn)略資源另有函數(shù),不過(guò)這里改動(dòng)了就足夠了。下面是我自己改的數(shù)量,大家可以改成自己喜歡的數(shù)量。
function AssignStartingPlots:GetMajorStrategicResourceQuantityValues()
-- This function determines quantity per tile for each strategic resource's major deposit size.
-- Note: scripts that cannot place Oil in the sea need to increase amounts on land to compensate.
local uran_amt, horse_amt, oil_amt, iron_amt, coal_amt, alum_amt = 40, 40, 70, 60, 70, 80;
-- Check the resource setting.
if self.resource_setting == 1 then -- Sparse
uran_amt, horse_amt, oil_amt, iron_amt, coal_amt, alum_amt = 20, 40, 50, 40, 50, 50;
elseif self.resource_setting == 3 then -- Abundant
uran_amt, horse_amt, oil_amt, iron_amt, coal_amt, alum_amt = 40, 60, 90, 90, 100, 100;
end
return uran_amt, horse_amt, oil_amt, iron_amt, coal_amt, alum_amt
end
------------------------------------------------------------------------------
function AssignStartingPlots:GetSmallStrategicResourceQuantityValues()
-- This function determines quantity per tile for each strategic resource's small deposit size.
local uran_amt, horse_amt, oil_amt, iron_amt, coal_amt, alum_amt = 20, 20, 30, 20, 30, 30;
-- Check the resource setting.
if self.resource_setting == 1 then -- Sparse
uran_amt, horse_amt, oil_amt, iron_amt, coal_amt, alum_amt = 10, 10, 20, 10, 20, 20;
elseif self.resource_setting == 3 then -- Abundant
uran_amt, horse_amt, oil_amt, iron_amt, coal_amt, alum_amt = 30, 30, 30, 30, 30, 30;
end
return uran_amt, horse_amt, oil_amt, iron_amt, coal_amt, alum_amt
end
在野蠻太空中也是同樣的文件,內(nèi)容是這樣的:
function AssignStartingPlots:GetMajorStrategicResourceQuantityValues()
-- This function determines quantity per tile for each strategic resource's major deposit size.
-- Note: scripts that cannot place petroleum in the sea need to increase amounts on land to compensate.
-- Note: Large deposits of Xenomass are already on the board, having been placed in the hearts of Wild Areas in FeatureGenerator.
local firaxite_base, geothermal_base, petroleum_base, titanium_base, floatstone_base, xenomass_base = 7, 5, 5, 5, 6, 7;
local firaxite_range, geothermal_range, petroleum_range, titanium_range, floatstone_range, xenomass_range = 4, 2, 3, 3, 5, 4;
-- Check the resource setting.
if self.resource_setting == 1 then -- Sparse
firaxite_base, geothermal_base, petroleum_base, titanium_base, floatstone_base, xenomass_base = 5, 3, 4, 4, 5, 5;
firaxite_range, geothermal_range, petroleum_range, titanium_range, floatstone_range, xenomass_range = 3, 2, 3, 3, 3, 3;
elseif self.resource_setting == 3 then -- Abundant
firaxite_base, geothermal_base, petroleum_base, titanium_base, floatstone_base, xenomass_base = 9, 5, 6, 6, 8, 9;
firaxite_range, geothermal_range, petroleum_range, titanium_range, floatstone_range, xenomass_range = 5, 3, 4, 4, 6, 5;
end
self.firaxite_base, self.geothermal_base, self.petroleum_base = firaxite_base, geothermal_base, petroleum_base;
self.titanium_base, self.floatstone_base, self.xenomass_base = titanium_base, floatstone_base, xenomass_base;
self.firaxite_range, self.geothermal_range, self.petroleum_range = firaxite_range, geothermal_range, petroleum_range;
self.titanium_range, self.floatstone_range, self.xenomass_range = titanium_range, floatstone_range, xenomass_range;
end
------------------------------------------------------------------------------
function AssignStartingPlots:GetSmallStrategicResourceQuantityValues()
-- This function determines quantity per tile for each strategic resource's small deposit size.
local firaxite_base, geothermal_base, petroleum_base, titanium_base, floatstone_base, xenomass_base = 2, 1, 2, 2, 2, 2;
local firaxite_range, geothermal_range, petroleum_range, titanium_range, floatstone_range, xenomass_range = 2, 2, 2, 2, 2, 2;
-- Check the resource setting.
if self.resource_setting == 1 then -- Sparse
firaxite_base, geothermal_base, petroleum_base, titanium_base, floatstone_base, xenomass_base = 2, 1, 2, 2, 2, 2;
firaxite_range, geothermal_range, petroleum_range, titanium_range, floatstone_range, xenomass_range = 1, 1, 1, 1, 1, 1;
elseif self.resource_setting == 3 then -- Abundant
firaxite_base, geothermal_base, petroleum_base, titanium_base, floatstone_base, xenomass_base = 3, 2, 3, 3, 3, 3;
firaxite_range, geothermal_range, petroleum_range, titanium_range, floatstone_range, xenomass_range = 2, 2, 2, 2, 2, 2;
end
self.minor_firaxite_base, self.minor_geothermal_base, self.minor_petroleum_base = firaxite_base, geothermal_base, petroleum_base;
self.minor_titanium_base, self.minor_floatstone_base, self.minor_xenomass_base = titanium_base, floatstone_base, xenomass_base;
self.minor_firaxite_range, self.minor_geothermal_range, self.minor_petroleum_range = firaxite_range, geothermal_range, petroleum_range;
self.minor_titanium_range, self.minor_floatstone_range, self.minor_xenomass_range = titanium_range, floatstone_range, xenomass_range;
end