MOD制作详细教程(不断更新中)

更新时间:2024-01-31 10:33:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

以下我已经掌握的部分,和大家分享,内容会不断更新,已有的内容中的不足欢迎大家补充,我也会加上去。

MOD基础部分

MOD的核心文件为 MOD.XML,在此文件里包含所有需要进入MOD的xml文件 其他XML文件都可以从Mod SDK\\CnC3Xml文件夹下找出来。

如果要修改武器的话,可以找到weapon.xml,但是我想做出我的武器来,不想把那么多原始 武器信息也一起放入MOD,我是这么做的: 打开weapon.xml 找出头和尾

《?xml version=\》

《AssetDeclaration xmlns=\》 《Tags /》 《Includes》 《Include

type=\

source=\》 《/Includes》

中间是武器设置语句,我可以把需要的武器设置复制进来

最后用《/AssetDeclaration》结尾以对应上面的《AssetDeclaration

xmlns=\》 xml语句和HTML语句是一样需要开头和结尾的,会HTML 语言的人应该没有问题。

mod.xml此文件的修改可以在samplemod里面的mod.xml为基础修改 语法为

《Include type=\/》

其中 SampleUpdatedLogicCommand.xml是包含的文件名, DATA:SampleMod 是说明MOD的名 称,如果MOD文件夹名称是supernod ,那么就写成 DATA:supernod 其中

《Include type=\》 《Include type=\》 这两句我暂时认为是必须的,曾经去掉之后出错过。

用于修改的XML文件存在于 Mod SDK\\CnC3Xml文件夹里,基本上游戏里所有的属性文件都在 了,活用这些东西完全可以做出全新的游戏来。

现在以GDI的APC为例子,文件为GDIAPC.XML,以我的修改做说明。

《GameObject

id=\这个是游戏中识别这个单位的名称,我需要在游戏中新增一个APC,就改成了 GDIAPC1 同时把文件名也改成了GDIAPC1.XML,复制到了SAMPLEMOD\\DATA文件夹下。

inheritFrom=\使用车辆的基本设置,这个文件在Mod SDK\\CnC3Xml\\BaseObjects\\BaseVehicle.xml

SelectPortrait=\Butt 按钮图片

Side=\说明这是GDI方的,实际情况下我改成NOD也没有影响。 EditorSorting=\说明这个是“单位”而不是“建筑” TransportSlotCount=\运输过程中占用的运输空间是1 BuildCost=\建造成本

BuildTime=\建造时间,单位是秒

CommandSet=\此车辆可以使用的命令。

CommandPoints=\ 这个据说是以前CNC用的参数,现在没有用到,只是放在那里 KindOf=\CAN_CAST_REFLECTIONS SCORE TRANSPORT VEHICLE CAN_REVERSE_MOVE CAN_BE_FAVORITE_UNIT\说明车辆的一些属性和类别 RadarPriority=\雷达上显示为“单位”

ThreatLevel=\

Producti 建造的时候在车辆队列中,应该就是重工厂队列 UnitCategory=\单位的属性是车辆 Weap 武器属于GUN 应该也是说明性的东西

VoicePriority=\

EditorName=\在地图编辑器里面的名称

Description=\在游戏里的单位说明文字

TypeDescription=\

EnergyProduction=\这是我添加的,产生电力2000,出一辆APC就不用第二个电厂了 ,哈哈。

》 GAMEOBJECT部分完毕 下面是单位行为设定 《LocomotorSet

Locomotor=\移动行为的类型是GDIAPCLocomotor,这个内容在Mod SDK\\CnC3Xml\\GlobalData\\Locomotor.xml,修改那个文件可以让单位有悬浮之类的效果,当 然你也可以直接改成别的单位的移动行为比如OrcaLocomotor,这样就会像奥卡一样飞起来 了。

C

Speed=\这是单位的行进速度,原来是72 /》 下面的说明从

《WeaponSetUpdate

id=\》开始 《WeaponSlotTurret ID=\》 《Weapon

Ordering=\

Template=\》 后面是武器名称,从weapon.xml里可以找到 《TurretSettings APC的炮塔设定 TurretTurnRate=\ 旋转速度

TurretPitchRate=\上下角度的速度 AllowsPitch=\

MinimumPitch=\最小角度是-15度

MinIdleScanTime=\空闲时间炮塔转动,这是空闲1秒 MaxIdleScanTime=\空闲时间炮塔转动的持续时间 MinIdleScanAngle=\空闲时转动的最小角度 MaxIdleScanAngle=\》 空闲时转动的最大角度 《TurretAITargetChooserData

CanAcquireDynamicIfAssignedOutOfRange=\》 这是炮塔索敌的AI 《/TurretSettings》 《/WeaponSlotTurret》 重要的装人部分来了

《HordeTransportContain

id=\ObjectStatusOfC

C 最大装入单位的数量

Slots=\显示槽的数量,最好设成和上面一样 AllowEnemiesInside=\是否允许敌人进入 AllowAlliesInside=\是否允许自己人进入

AllowNeutralInside=\是否允许自然单位进入

AllowOwnPlayerInsideOverride=\ShowPips=\

EnterSound=\ExitSound=\

KillPassengers》 是否在死亡时杀死所有内部单位,这个我设置了false还 是一样全死,不知道为什么。

《PassengerFilter 装入单位的过滤,这里是只允许步兵进入 Rule=\

Include=\》 《DieMuxData

DeathTypes=\》 《PassengerData B》 《Filter

Rule=\

Include=\》 《/PassengerData》

《MemberTemplateStatusInfo 这里是狙击手的特殊设定,据这个设定来看,狙击手可以在 车内给神像轰炸定位。

ThingTemplate=\

ObjectStatus=\》 《/HordeTransportContain》

下面这部分是被APC死亡后的行为,设定是死亡后3秒钟慢慢下沉,下沉速度每秒2,这个2是 CNC3里面的长度单位。 《SlowDeath

id=\SinkDelay=\SinkRate=\Destructi》

下面是特殊能力部分 《SpecialPower

id=\

SpecialPowerTemplate=\特殊能力名称为地雷场 UpdateModuleStartsAttack=\》 《WeaponFireSpecialAbilityUpdate

id=\

SpecialPowerTemplate=\

SpecialWeapon=\使用的武器,同样可以在weapon.xml里找到 StartAbilityRange=\可以使用能力的最小距离 UnpackTime=\整个使用过程的时间

PackTime=\

Options=\》 《AISpecialPowerUpdate

id=\CommandButt

SpecialPowerRadius=\这是地雷场的直径

SpecialPowerAIType=\》

单位HP的部分 《ActiveBody

id=\

MaxHealth=\》 默认是2800,不经打呀,加两个零就差不多了。 《Shape 单位外框设置,估计是用来做碰撞,碾压判定之类的

Type=\

MajorRadius=\MinorRadius=\Height=\

ContactPointGeneration=\》 《VisionInfo

Visi 自动索敌范围,进入这个范围内的敌人会被攻击

ShroudClearingRange=\》 单位去除地图迷雾的范围,如果设置50000,那么就是地 图全开了。

《CrusherInfo 碾压等级

CrusherLevel=\是什么都不能压 MM是3

CrushEqualLevelProps=\

CrushableLevel=\》 被碾压等级,MM是3,可以压2的。 ------------------------------------------------------------------------- 关于修改武器方面,以神像为例。

<WeaponSlotTurret ID=\> <Weapon

Ordering=\

Template=\> <TurretSettings

TurretTurnRate=\炮塔转速,度/秒

TurretPitchRate=\炮塔上下倾斜速度,同样是 度/秒 AllowsPitch=\是否允许上下倾斜

MinimumPitch=\最大倾斜度是向下60度

PitchHeight=\

MinIdleScanTime=\MaxIdleScanTime=\MinIdleScanAngle=\MaxIdleScanAngle=\>

<TurretAITargetChooserData /> </TurretSettings> </WeaponSlotTurret>

这样是一个完整的装在炮塔上的武器的描述,炮塔的参数我已经修改过,转动更加灵活。

Template=\引号内是武器的名称,可以在weapon.xml内查找找到 接下来我们看weapon.xml内关于GDIJuggernaughtArtillery武器的描述。 <WeaponTemplate

id=\是用来识别武器的,我的新神像不想影响到原来神像的武器,就在名称后加Template=\就可以了。 Name=\这个不需要改 AttackRange=\攻击距离

MinimumAttackRange=\神像的炮为了避免炸到自己,有最小攻击距离,如果不想要有最小距离,删掉这

MinTargetPitch=\MaxTargetPitch=\

Weap 炮弹的速度,500算是很慢的了,飞机速度一般也有175了,所以我会改成2500 ScatterRadius=\炮弹散布的直径

ScatterLength=\散布范围长度 --- 这两项我改成250和150,但是实际散布还是一直线。 FireFX=\开火效果

FireVeteranFX=\升级成精英单位后的开火效果 Weap 武器的后坐力,这个度数估计是发射后炮管上跳的角度

RadiusDamageAffects=\杀伤范围,这里是所有单位都可以杀伤,如果不想伤到CanFireWhileMoving=\能不能在移动中开火,神像比较特殊,改成TRUE也是不行的,因为下面有一句开CanFireWhileCharging=\能不能在装弹的时候发射 ClipSize=\弹夹一共几发炮弹

ReAcquireDetailType=\每次发射后重新矫正着弹点散布。

Flags=\翻译为直角——散布 可能就是说明炮弹散布的类型 ShotsPerBarrel=\每次发射几发

RequiredFiringObjectStatus=\发射需要的动作“展开”这个是在神像文件中定义的,神像需要把脚后中射击,删除这行,然后把CanFireWhileMoving=\改成true

CheckStatusFlagsInRangeChecks=\

ProjectileCollidesWith=\炮弹飞行过程中可以碰撞的物体 这部分中另外会出现的是下面两句

AutoReloadsClip=\自动装填弹药,火鹰战机中这句是AutoReloadsClip=\,是返回基AntiMask=\这句是武器攻击的单位,容就可以通吃了。 >

<ClipReloadTime 这是两个重新装弹的时间,秒为单位 MinSeconds=\MaxSeconds=\> <Nuggets>

<ProjectileNugget

ProjectileTemplate=\

WarheadTemplate=\> 注意:这里的WarheadTemplate说明还有相应弹头语句<VeterancyProjectiles 这些是开火的效果语句,具体数值还没有详细测试。 VeterancyLevel=\

ProjectileTemplate=\> </ProjectileNugget> <SuppressionNugget Radius=\ Suppression=\ Durati /> </Nuggets>

<ScatterRadiusVsType Radius=\> <Filter

Rule=\

Include=\> </ScatterRadiusVsType> <ScatterRadiusVsType Radius=\> <Filter

Rule=\

Include=\> </ScatterRadiusVsType> </WeaponTemplate> 下面是神像大炮的弹头 <WeaponTemplate

id=\如果不想改变游戏中默认的武器,也可以修改ID名称,同样上面引用的 Name=\

ProjectileCollidesWith = \弹头可以撞击的东西 RadiusDamageAffects=\> 单位伤害类型 <Nuggets>

<DamageNugget

Damage=\弹头伤害值

Radius=\弹头伤害范围直径,在这个直径加大的话效果是非常可怕的,目前我的超级神像设置的是250飞机也能炸下来。

DamageTaperOff=\伤害逐渐减少的参数,没有去研究过,估计就是越到范围边的伤害越小吧。 DelayTimeSeconds=\弹头爆炸延时

DamageType=\弹头伤害类型,CANNON会有伤害范围,SNIPER的话只能伤步兵,对装甲单位和建害,没有伤害范围。

DamageFXType=\单位受伤害的表现。 DeathType=\> </Nuggets>

</WeaponTemplate> 弹头设置结束

-------------------------

接下来是单位移动行为的修改,文件在Mod SDK\\CnC3Xml\\GlobalData\\Locomotor.xml 同样可以把头尾复制出再以神像为例

<LocomotorTemplate

id=\这是用来调用的名称,不想改掉默认的话就复制一份出来,修改掉ID的名称

Name=\

Surfaces=\可以移动的地点,其实简单的换成AIR就可以完全不受TurnTimeSeconds=\转向需要的时间

TurnTimeDamagedSeconds=\MaxSpeedDamaged=\

FastTurnRadius=\转向最大直径 SlowTurnRadius=\转向最小直径 Accelerati 0.5秒后开始加速

Formati 队形的类型,神像好像没有固定的队形。

BrakingSeconds=\刹车时间,移动掉停止所需要的时间,

MinTurnSpeed=\

BehaviorZ=\移动的方式 还有一种是SURFACE_RELATIVE_HEIGHT 意思是和地形表面高Appearance=\移动的动作,神像是2脚移动,飞机之类是WINGS,悬浮类是ORCA是HOVER, StickToGround=\紧贴地面的移动,这个没有测试过

CanMoveBackward=\单位可以倒退行走,这个我倒是没见过,神像似乎没有倒退的指令可以用。 BackingUpSpeed=\倒退的速度是前进速度的33% />

PreferredHeight=\空中单位还有飞行高度参数。这个是火鹰的高度150,如果炮弹伤害范围设置超过150------------------------------------------------------- 下一次更新写建筑物的文件

本文来源:https://www.bwwdw.com/article/t0iw.html

Top