文明6吧 关注:515,337贴子:4,624,710
  • 10回复贴,共1

文明六怎么自己加特殊单位?

只看楼主收藏回复

我想自己设定一个“建造者”。
按照网上的教程按照如下的步骤:
1.找到Steam\steamapps\common\Sid Meier's Civilization VI\Base文件夹,所有的修改都在这个文件夹中进行,修改前已经备份了文件。
2.在Base\Assets\Gameplay\Data\Units.xml中定义单位
(1)Types项中加入
<Row Type="UNIT_my_BUILDER" Kind="KIND_UNIT"/>
(2)UnitAiInfos项中加入
<Row UnitType="UNIT_my_BUILDER" AiType="UNITAI_BUILD"/>
<Row UnitType="UNIT_my_BUILDER" AiType="UNITTYPE_CIVILIAN"/>
与官方的建造者保持一致
(3)TypeTags中加入
<Row Type="UNIT_my_BUILDER" Tag="CLASS_LANDCIVILIAN"/>
<Row Type="UNIT_my_BUILDER" Tag="CLASS_BUILDER"/>
与官方的建造者保持一致
(4)Units中加入
<Row UnitType="UNIT_my_BUILDER" Cost="0" BaseMoves="20" BaseSightRange="4" ZoneOfControl="true" Domain="DOMAIN_LAND" FormationClass="FORMATION_CLASS_CIVILIAN" AdvisorType="ADVISOR_GENERIC" Name="LOC_UNIT_my_BUILDER_NAME" Description="LOC_UNIT_my_BUILDER_DESCRIPTION" CanCapture="False" CostProgressionModel="COST_PROGRESSION_PREVIOUS_COPIES" CostProgressionParam1="4" PurchaseYield="YIELD_GOLD" BuildCharges="20" TraitType="TRAIT_CIVILIZATION_UNIT_CHINESE_BUILDER"/>
与官方的相比,修改了
Cost=0
BaseMove=20
BaseSightRange=4
ZOC=true
TraitType=TRAIT_CIVILIZATION_UNIT_CHINESE_BUILDER
最后一项属性将该单位设置为中国特性单位。
3.在Base\Assets\Gameplay\Data\Civilizations.xml中描述单位特性类型及其所属文明
(1)Types项中加入
<Row Type="TRAIT_CIVILIZATION_UNIT_CHINESE_BUILDER" Kind="KIND_TRAIT"/>
(2)Traits项中加入
<Row TraitType="TRAIT_CIVILIZATION_UNIT_CHINESE_BUILDER" Name="LOC_UNIT_my_BUILDER_NAME"/>
(3)CivilizationTraits项中加入
<Row CivilizationType="CIVILIZATION_CHINA" TraitType="TRAIT_CIVILIZATION_UNIT_CHINESE_BUILDER"/>
4.在Base\Assets\Text\Vanilla_zh_Hans_CN.xml加入文字描述
(1)LocalizedText项中加入
<Replace Tag="LOC_UNIT_my_BUILDER_NAME" Language="zh_Hans_CN">
<Text>我的建造者</Text>
</Replace>
<Replace Tag="LOC_UNIT_my_BUILDER_DESCRIPTION" Language="zh_Hans_CN">
<Text>高级建造者,0花费</Text>
</Replace>
5.在Base\Assets\UI\Icons\Icons_Units.xml中定义图标
(1)在IconDefinitions中加入
Row Name="ICON_UNIT_my_BUILDER" Atlas="ICON_ATLAS_UNITS" Index="1"/>
和官方的建造者保持一致
6.在Base\Assets\UI\Icons\Icons_UnitPortraits.xml中定义头像
(1)在IconDefinitions项中加入
<Row Name="ICON_UNIT_my_BUILDER_PORTRAIT" Atlas="ICON_ATLAS_UNIT_PORTRAITS" Index="1"/>
和官方的保持一致
7.在Base\ArtDefs\Units.artdef中定义模型。
(1)找到UNIT_BUILDER对应的Element项,复制一份在下面
(2)将UNIT_BUILDER改为UNIT_my_BUILDER
8.启动游戏,游戏正常进入,“我的建造者”正常显示,正常生产,属性与设置的一致,但是不具备改良地块的能力,只能移除改良设施。
这是为什么呢?是哪里少做了什么操作吗?


IP属地:湖南1楼2025-02-16 18:48回复
    怎么没人回我啊……


    IP属地:湖南2楼2025-02-16 19:47
    回复
      2025-08-27 07:35:59
      广告
      不感兴趣
      开通SVIP免广告
      我还改了虎蹲炮的数据,出了点小bug:如果把攻击力改从30成300,把 远程攻击力改成500,那么就没有任何攻击力,实测只扣了一点血。如果改成100多就没事,不知道怎么回事……


      IP属地:湖南3楼2025-02-16 19:49
      收起回复
        力差导致的伤害计算是以指数方法增长的,300力的力差会导致数据溢出,打不出伤害


        IP属地:北京来自Android客户端4楼2025-02-17 00:29
        收起回复
          学学mod制作吧,b站看Hemmelfort视频教程


          IP属地:安徽来自Android客户端5楼2025-02-19 09:47
          回复
            建造改良的能力应该是在improvement.xml之类的地方写着的,你再找一下吧


            IP属地:中国香港6楼2025-02-19 10:01
            收起回复
              你问的问题太难了,看不懂,+3


              IP属地:安徽来自Android客户端7楼2025-02-28 13:58
              回复