展开

《文明:太空》全地图战略资源数量修改方法

来源: 飞翔小编 2011/10/31 17:53:04 浏览量:2433

  《文明:太空》中如何修改游戏中全地图的战略资源数量?接下来介绍的是玩家分享的关于全地图战略资源数量的修改方法,供大家参考。

    查询文明5的wiki和api手册才知道,文明5战略资源数量虽然在XML文件有定义,其实游戏并不使用那个配置。上面几楼提到的MOD虽然自己定义XML,但是存在版本不更新等问题,我的方法是任何版本都适用的,因为直接修改游戏LUA代码。

    废话不多说了,切入正题。

    首先找到你的游戏目录下的这个文件,备份之后就可以修改了。

    (各位自己把正斜线看成反斜线,我是日文操作系统没法输入正斜线)

    assets/Gameplay/Lua/AssignStartingPlots.lua

    打开上述文件,找到第9437行代码附近找到如下两个函数,改变函数中各个初始战略资源数量即可,海洋战略资源另有函数,不过这里改动了就足够了。下面是我自己改的数量,大家可以改成自己喜欢的数量。

    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

    在野蛮太空中也是同样的文件,内容是这样的:

    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;

 

相关攻略
精彩推荐
奔跑吧兄弟:跑男来了
玩家留言 跟帖评论
查看更多评论