游侠会员:woshifyf(原创撰写)
Starting Off 启程
本教学将指导你来如何制作一个MOD,以及如何使用RA3 MOD SDK。
首先你要下载RA3 MOD SDK。
确认你的SDK的安装路径
打开SDK的安装文件夹,双击mods文件,可以看到里面有一个samplemod文件夹,别管他。
创建一个新的文件夹,名字是mymod,然后再mymod里在创建一个文件夹,名字是data。
Modding your first unit 修改你的第一个单位
首先返回RA3 Mod SDK文件夹,打开SageXml/Allied文件夹,复制单位文件AlliedAntiVehicleVehicleTech1,把这个文件粘贴到你的mymod/data里,右键设置取消其只读属性。
然后把这个文件重名名为mytank。
好了,现在用写字板(windows自带的就可以)打开这个文件,将滚动条拉至下列文本处。
<GameObject
id=”AlliedAntiVehicleVehicleTech1”
inheritFrom=”BaseVehicle”
SelectPortrait=”Portrait_AlliedAntiVehicleVehicleTech1″
ButtonImage=”Button_AlliedAntiVehicleVehicleTech1_on”
Side=”Allies”
SubGroupPriority=”425″
EditorSorting=”UNIT”
HealthBoxHeightOffset=”25″
BuildTime=”10″
CommandSet=”AlliedAntiVehicleVehicleTech1CommandSet”
KindOf=”SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS SCORE VEHICLE CAN_BE_FAVORITE_UNIT T2_UNIT”
WeaponCategory=”CANNON”
VoicePriority=”188″
EditorName=”AlliedAntiVehicleVehicleTech1”
Description=”Desc:AlliedAntiVehicleVehicleTech1”
TypeDescription=”Type:AlliedAntiVehicleVehicleTech1”
UnitIntro=”Allied_GuardianTank_UnitIntro”>
<DisplayName
xai:joinAction=”Replace” xmlns:xai=”uri:ea.com:eala:asset:instance”>Name:AlliedAntiVehicleVehicleTech1</DisplayName>
把下划线的文本全部改为mytank
我们还需要两个附加文件,返回RA3 Mod SDK文件夹,打开SageXml/GlobalData文件夹,复制LogicCommand 和 LogicCommandSet这两个文件到mymod/data文件夹中,同样取消其只读属性。
打开LogicCommand并把下列文本粘贴进去。当然,你贴到哪里是你的自由,但是,为了组织性,把它粘贴到另外一个单位的build内容的下面吧。
<LogicCommand
Type=”UNIT_BUILD”
id=”Command_Constructmytank”>
<Object>mytank</Object>
</LogicCommand>
保存,然后打开LogicCommandSet,把滚动条拉到Allied warfactory commandse处,你可以看到如下的内容,加上下划线的内容
<LogicCommandSet
id=”AlliedWarFactoryCommandSet”>
<Cmd>Command_ConstructAlliedMiner</Cmd>
<Cmd>Command_ConstructAlliedAntiInfantryVehicle_Ground</Cmd>
<Cmd>Command_ConstructAlliedAntiAirVehicleTech1</Cmd>
<Cmd>Command_ConstructAlliedAntiVehicleVehicleTech1</Cmd>
<Cmd>Command_Constructmytank</Cmd>
<Cmd>Command_ConstructAlliedAntiStructureVehicle</Cmd>
<Cmd>Command_ConstructAlliedAntiVehicleVehicleTech3</Cmd>
<Cmd>Command_ConstructAlliedMCV</Cmd>
<!–
<Cmd>Command_UpgradeAlliedWarFactoryRepairBay</Cmd>
–>
</LogicCommandSet>
在warfactory的logiccommandset下面添加以下内容:
<LogicCommandSet
id=”mytankCommandSet”>
<Cmd>Command_ToggleTargetPainter</Cmd>
<Cmd>Command_AttackMove</Cmd>
<Cmd>Command_MoveToPositionAndCollect</Cmd>
</LogicCommandSet>
(贴到
<LogicCommandSet
id="AlliedWarFactoryCommandSet">
<Cmd>Command_ConstructAlliedMiner</Cmd>
<Cmd>Command_ConstructAlliedAntiInfantryVehicle_Ground</Cmd>
<Cmd>Command_ConstructAlliedAntiAirVehicleTech1</Cmd>
<Cmd>Command_ConstructAlliedAntiVehicleVehicleTech1</Cmd>
<Cmd>Command_ConstructAlliedAntiStructureVehicle</Cmd>
<Cmd>Command_ConstructAlliedAntiVehicleVehicleTech3</Cmd>
<Cmd>Command_ConstructAlliedMCV</Cmd>
<!--
<Cmd>Command_UpgradeAlliedWarFactoryRepairBay</Cmd>
-->
</LogicCommandSet>
和
<LogicCommandSet
id="AlliedMCVCommandSet">
<Cmd>Command_UnPackAlliedMCV</Cmd>
<Cmd>Command_MoveToPositionAndCollect</Cmd>
</LogicCommandSet>
中间吧 。在这里。每两个</LogicCommandSet>之间就是一个单位或建筑的内容。所以粘贴时要贴在两个单位的空白之处,不能贴在单位里面。)
同样修改完了以后保存。
Creating the mod.xml file 创建mod.xml文件
Mod.Xml文件告诉游戏引擎把那个文件添加到游戏中,因此每个mod都需要这个文件。打开mods/samplemod文件夹,复制mod.xml文件到mymod/data中,然后删除中间的所有信息,使其看起来像下面的非下划线部分一样,然后把下划线的部分粘贴到下面所示的位置(最上面那个网址不算)。(即要让你的mod.xml的内容如下所示)
<?xml version=”1.0″ encoding=”UTF-8″?>
<AssetDeclaration xmlns=”uri:ea.com:eala:asset” xmlns:xsi=”https://www.w3.org/2001/XMLSchema-instance“>
<Tags></Tags>
<Includes>
<!–
mod.xml is the central include for mod setup data.
–>
<!– These includes need to be in all mod.xml files –>
<Include type=”reference” source=”DATA:static.xml” />
<Include type=”reference” source=”DATA:global.xml” />
<Include type=”reference” source=”DATA:audio.xml” />
<Include type=”all” source=”DATA:mymod/Data/LogicCommand.xml”/>
<Include type=”all” source=”DATA:mymod/Data/LogicCommandSet.xml”/>
<Include type=”all” source=”DATA:mymod/Data/mytank.xml”/>
</Includes>
</AssetDeclaration>
保存mod.xml文件。
Creating the mod.str file 创建 mod.str文件
mod.str文件用来告知游戏引擎单位的名称,你也可以为单位写一段简单的描述(应该是单位制造界面上的单位说明),并指定其类型。从samplemod粘贴mod.str到mymod/data文件夹中。用写字板打开你可以看到如下的内容:
Name:AlliedGunshipAircraft
“Harbinger Gunship”
END
Desc:AlliedGunshipAircraft
“Kills stuff with protons”(1)
END
Type:AlliedGunshipAircraft
“DON’T CROSS THE STREAMS”(2)
END
把下划线的部分改为 mytank ,(1)与(2)的引号中的部分可以随意写,游戏中可以在单位制造说明中看到你所写的内容。
现在剩下的就只有build你的mod了
要Build 你的mod的话,用EA提供的工具就可以自动build,打开EALAModStudio.exe(RA3 MOD SDK 根目录下就有),在左上方的列表里选择你的mod的名字,然后把下面的选项全选上(copy str file 可选) ,然后再game version 下面输入1.10(根据不同的ra3版本号),然后点 build mod 即可,右边的build log会显示输出一系列编译信息,不管它,等待一段时间,直到出现绿色的build completed提示,这时,你的mod就可以使用了,你可以在RA3的控制面板的mod选项中看到它。