Results 1 to 3 of 3
  1. #1
    Sergeant Splat's Avatar
    Join Date
    Jun 2011
    Location
    Australia
    Posts
    78

    New at modding Best tutorial references please for boats

    Hello everyone im working on a new mod.
    It wont be out yet for a looong time particulary since im so new at modding.
    So far heres what i've got basics of.
    Downloaded Mod SDK
    Downloaded ART packs
    Got Bibbers toolset from his site after asking him about them and being pionted in correct direction.
    Downloaded Various Big editors and using cnc 3 big extractor.
    Got my very own copy of 3ds max version 9
    followed the modelling tutorials not yet comlpeted animation tutorials havent even dented surface of what im supposed to do.
    Downloaded Xnveiw and Shader map pro
    Got photoshop + camera skills.
    I can even Map with my downloaded wb.
    Read the sdk roughly though much of it has me confused.
    Found a tutorial in a spanish site that showed how to add a 3d model in video... however followed it and didnt get it to work right for me.. XML issues i think as i sent a m8 the w3d and his big file showed up the model. in game mine did not.. cannot seem to fully comprehend how my xml is so different.
    HERE is Of course what I dont Know
    how to mod correctly so that my models will show up in game.
    Basic tutorials in the xml stuff for this game particularly so I can make boats that pirates can jump onto and fight on the deck ..boats im hoping to have behave like a bridge -- tanks(cannons) and soldiers fighting its just the bridge would be moving is all... yeah i know fully difficult and somewhat crazy.
    i know that seems a little big a call from someone supposedly starting out but thats what i want to do.
    Pointing me in the direction of some modding articles would be very helpful.
    and who knows Maybe ill be able to complete this mod so that it looks good.
    Any help
    Folder Format is as follows this is predator xml under units folder and a folder in this called robot
    where my two w3d files are placed robottank_skl.w3x and robottank_skn.w3x
    my mate added those two files to his and did a xml and somehow got it working (he laid it out differently and renamed stuff but id rather keep this arrangement for organization)
    ps the xml file that isnt working
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude">
    	<Tags></Tags>
    	<Includes>
    		<Include
    			type="all"
    			source="robot/robottank_SKN.w3x" />
    				<Include
    			type="all"
    			source="ART:GUPredTankR.w3x" />
    		<Include
    			type="all"
    			source="ART:GUPredTank_FP.w3x" />	
    		<Include
    			type="all"
    			source="ART:GUPredatorTank_K.xml" />
    		<Include
    			type="all"
    			source="ART:GUPredatorTankD_K.xml" />					
    		<Include
    			type="all"
    			source="ART:NUBeam.xml" />
    		<Include
    			type="all"
    			source="ART:FXWhiteSquare.xml" />
    		<Include
    			type="all"
    			source="ART:FXRailGunCoreMask.xml" />
    		<Include
    			type="all"
    			source="ART:FXRailGunCoreDistortion.xml" />
    		<Include
    			type="instance"
    			source="ART:EXTnkTrack.xml" />
    		<!-- Base Object -->
    		<Include
    			type="instance"
    			source="DATA:BaseObjects/BaseVehicle.xml" />
    	</Includes>
    	<GameObject
    		id="GDIPredator"
    		inheritFrom="BaseVehicle"
    		SelectPortrait="Portrait_GDIPredatorTank"
    		ButtonImage="Portrait_GDIPredatorTank"
    		Side="GDI"
    		EditorSorting="UNIT"
    		TransportSlotCount="1"
    		BuildCost="1100"
    		BuildTime="11"
    		CommandSet="GDIPredatorCommandSet"
    		CommandPoints="100" 
    		KindOf="PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SCORE VEHICLE CAN_REVERSE_MOVE CAN_BE_FAVORITE_UNIT"
    		RadarPriority="UNIT"
    		ThreatLevel="10"
    		ProductionQueueType="VEHICLE"
    		UnitCategory="VEHICLE"
    		WeaponCategory="CANNON"
    		VoicePriority="184"
    		EditorName="GDIPredator"
    		Description="Desc:GDIPredatorTank"
    		TypeDescription="Type:GDIPredatorTank">
    		<DisplayName
    			xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:GDIPredatorTank</DisplayName>
    		<DisplayUpgrade>Upgrade_GDIArmoryRailgunTech</DisplayUpgrade>
    		<ArmorSet
    			Armor="GDIPredatorTankArmor"
    			DamageFX="VehicleDamageFX" />
    		<LocomotorSet
    			Locomotor="GDIPredatorTankLocomotor"
    			Condition="NORMAL"
    			Speed="60.0" />
    		<SkirmishAIInformation
    			UnitBuilderStandardCombatUnit="true" />
    		<!-- REMEMBER, tank treads will ONLY animate on U (not V) -->
    		<!-- TreadAnimationRate = amount of tread texture to move per second -->
    		<!-- TreadDriveSpeedFraction = fraction of locomotor speed below which treads stop moving. -->
    		<!-- TreadPivotSpeedFraction = fraction of locomotor speed below which we allow pivoting. -->
    		<Draws>
    			<TankDraw
    				id="ModuleTag_Draw"
    				OkToChangeModelColor="true"
    				ExtraPublicBone="FXTracksL FXTracksR FXMUZZLEFLASH"
    				TrackMarks="EXTnkTrack"
    				TrackMarksLeftBone="FXTracksL"
    				TrackMarksRightBone="FXTracksR"
    				TreadAnimationRate="0.15"
    				TreadDriveSpeedFraction="0.25"
    				TreadPivotSpeedFraction="0.9">
    				<ModelConditionState
    					ParseCondStateType="PARSE_DEFAULT"
    					RetainSubObjects="true">
    					<Model
    						Name="robottank_SKN" />
    					<WeaponFireFXBone
    						WeaponSlotType="PRIMARY_WEAPON"
    						BoneName="FXMUZZLEFLASH" />
    					<WeaponRecoilBone
    						WeaponSlotType="PRIMARY_WEAPON"
    						BoneName="FXMUZZLEFLASH" />						
    					<WeaponMuzzleFlash
    						WeaponSlotType="PRIMARY_WEAPON"
    						BoneName="FXMUZZLEFLASH" />
    					<WeaponLaunchBone
    						WeaponSlotType="PRIMARY_WEAPON"
    						BoneName="FXMUZZLEFLASH" />
    					<Turret
    						TurretNameKey="Turret"
    						TurretPitch="Barrel"
    						TurretID="1" />
    				</ModelConditionState>
    
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="DYING USER_5">
    					<Model
    						Name="GUPredTankR" />
    					<Texture
    						Original="GUPredatorTankD"
    						New="GUPredatorTankD_K" />						
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallFire"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallFireDistortion"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallSmoke"
    						FollowBone="true" />
    				</ModelConditionState>
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					RetainSubObjects="true"
    					ConditionsYes="REALLYDAMAGED USER_5">
    					<Model
    						Name="robottank_SKN" />
    					<Texture
    						Original="GUPredatorTank"
    						New="GUPredatorTankD_K" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedFire"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedFireDistortion"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedSmoke"
    						FollowBone="true" />
    				</ModelConditionState>
    				
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="DYING">
    					<Model
    						Name="GUPredTankR" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallFire"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallFireDistortion"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallSmoke"
    						FollowBone="true" />
    				</ModelConditionState>
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					RetainSubObjects="true"
    					ConditionsYes="REALLYDAMAGED">
    					<Model
    						Name="robottank_SKN" />
    					<Texture
    						Original="GUPredatorTank"
    						New="GUPredatorTankD" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedFire"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedFireDistortion"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedSmoke"
    						FollowBone="true" />
    				</ModelConditionState>
    
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="FORMATION_PREVIEW">
    					<Model
    						Name="GUPredTank_FP" />
    				</ModelConditionState>	
    				
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					RetainSubObjects="true"
    					ConditionsYes="USER_5">
    					<Model
    						Name="robottank_SKN" />
    					<Texture
    						Original="GUPredatorTank"
    						New="GUPredatorTank_K" />						
    				</ModelConditionState>
    							
    				<AnimationState
    					ParseCondStateType="PARSE_DEFAULT">
    					<!-- Circumvents blend issues when the arrow is being shown... -->
    					<Script>
    						CurDrawableShowSubObject("TreadsStop")
    						CurDrawableHideSubObject("TreadsMove")
    						CurDrawableHideSubObject("TreadsLeft")
    						CurDrawableHideSubObject("TreadsRight")
    					</Script>
    				</AnimationState>
    				<AnimationState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="MOVING TURN_LEFT">
    					<!-- Circumvents blend issues when the arrow is being shown... -->
    					<Script>
    						CurDrawableHideSubObject("TreadsStop")
    						CurDrawableHideSubObject("TreadsMove")
    						CurDrawableShowSubObject("TreadsLeft")
    						CurDrawableHideSubObject("TreadsRight")
    					</Script>
    				</AnimationState>
    				<AnimationState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="MOVING TURN_RIGHT">
    					<!-- Circumvents blend issues when the arrow is being shown... -->
    					<Script>
    						CurDrawableHideSubObject("TreadsStop")
    						CurDrawableHideSubObject("TreadsMove")
    						CurDrawableHideSubObject("TreadsLeft")
    						CurDrawableShowSubObject("TreadsRight")
    					</Script>
    				</AnimationState>
    				<AnimationState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="MOVING">
    					<!-- Circumvents blend issues when the arrow is being shown... -->
    					<Script>
    						CurDrawableHideSubObject("TreadsStop")
    						CurDrawableShowSubObject("TreadsMove")
    						CurDrawableHideSubObject("TreadsLeft")
    						CurDrawableHideSubObject("TreadsRight")
    					</Script>
    				</AnimationState>
    				<LeftTread>"TreadsL"</LeftTread>
    				<RightTread>"TreadsR"</RightTread>
    			</TankDraw>
    			<ScriptedModelDraw
    				id="ModuleTag_FX">
    				<ModelConditionState
    					ParseCondStateType="PARSE_DEFAULT">
    					<Model
    						Name="" />
    				</ModelConditionState>
    				<AnimationState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="MOVING">
    					<ParticleSysBone
    						BoneName="NONE"
    						FXParticleSystemTemplate="TreadDustPred"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="NONE"
    						FXParticleSystemTemplate="TreadDirt"
    						FollowBone="true" />
    				</AnimationState>
    			</ScriptedModelDraw>
    			<LaserDraw
    				id="ModuleTag_LaserDistort"
    				UseDistortionShader="true"
    				Texture1_UTile="1"
    				Texture1_VTile=".5"
    				Texture1_UScrollRate="0"
    				Texture1_VScrollRate=".2"
    				Texture1_NumFrames="1"
    				Texture1_FrameRate="30"
    				Texture2_UTile="1"
    				Texture2_VTile=".01"
    				Texture2_UScrollRate="0"
    				Texture2_VScrollRate="1"
    				Texture2_NumFrames="1"
    				Texture2_FrameRate="1"
    				LaserWidth="50">
    				<FXShader
    					ShaderName="Laser.fx"
    					TechniqueIndex="0">
    					<Constants>
    						<Texture
    							Name="Texture1">
    							<Value>FXRailGunCoreDistortion</Value>
    						</Texture>
    						<Texture
    							Name="Texture2">
    							<Value>FXRailGunCoreMask</Value>
    						</Texture>
    					</Constants>
    				</FXShader>
    			</LaserDraw>
    		</Draws>
    		<Behaviors>
    			<ProductionUpdate
    				id="ProductionUpdateModuleTag"
    				GiveNoXP="true" />
    			<WeaponSetUpdate
    				id="ModuleTag_WeaponSetUpdate">
    				<WeaponSlotTurret
    					ID="1"
    					AllowInterleavedFiring="false"
    					InterleavedStyle="INTERLEAVE_FIRST_AVAILABLE"
    					WeaponChoiceCriteria="PREFER_MOST_DAMAGE">
    					<Weapon
    						Ordering="PRIMARY_WEAPON"
    						Template="GDIPredatorTankCannon" />
    					<Weapon
    						Ordering="PRIMARY_WEAPON"
    						Template="GDIPredatorTankRailgun"
    						ObjectStatus="WEAPON_UPGRADED_01" />
    					<TurretSettings
    						TurretTurnRate="200"
    						TurretPitchRate="40"
    						AllowsPitch="true"
    						MinIdleScanTime="1.0s"
    						MaxIdleScanTime="5.0s"
    						MinIdleScanAngle="0.0"
    						MaxIdleScanAngle="90.0">
    						<TurretAITargetChooserData
    							CanAcquireDynamicIfAssignedOutOfRange="true" />
    					</TurretSettings>
    				</WeaponSlotTurret>
    			</WeaponSetUpdate>
    			<LaserState
    				id="ModuleTag_LaserState"
    				LaserId="0"></LaserState>
    			<Physics
    				id="ModuleTag_Physics" />
    			<SlowDeath
    				id="ModuleTag_Death"
    				SinkDelay="3s"
    				SinkRate="1.0"
    				DestructionDelay="7s">
    				<OCL
    					Type="INITIAL">
    					<OCL>OCL_GDIPredatorTankDebris</OCL>
    				</OCL>
    				<DieMuxData
    					DeathTypes="ALL"
    					DeathTypesForbidden="TOPPLED" />
    				<Sound
    					Type="INITIAL"
    					List="GDI_Generic_VoiceDieMS" />
    			</SlowDeath>
    			<FXListBehavior
    				id="ModuleTag_FXList">
    				<DieMuxData
    					DeathTypes="ALL" />
    				<Event
    					Index="onDeath"
    					FX="FX_GDIMammothExplode" />
    			</FXListBehavior>
    			<SubObjectsUpgrade
    				id="ModuleTag_ShowRail"
    				ShowSubObjects="UGRAIL_01">
    				<TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
    			</SubObjectsUpgrade>
    			<StatusBitsUpgrade
    				id="ModuleTag_UpgradeWeapon"
    				StatusToSet="WEAPON_UPGRADED_01">
    				<TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
    			</StatusBitsUpgrade>
    			<xi:include
    				href="DATA:Includes/GDICallForTransportForVehicle.xml" />
    			<StatusBitsUpgrade
    				id="ModuleTag_VeterancyUpgrade"
    				StatusToSet="WEAPON_UPGRADED_03">
    				<TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy>
    			</StatusBitsUpgrade>
    			<ModelConditionUpgrade
    				id="ModuleTag_AllFactionUpgrade"
    				AddConditionFlags="USER_5">
    				<TriggeredBy>Upgrade_AllFactionUpgrade</TriggeredBy>
    			</ModelConditionUpgrade>
          <AudioLoopUpgrade 
    				id="RailCannonUpgradeSound" 
    				SoundToPlay="GDI_RailCannon_Upgrade">
            <TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
          </AudioLoopUpgrade>
    		</Behaviors>
    		<AI>
    			<AIUpdate
    				id="ModuleTag_AI"
    				AutoAcquireEnemiesWhenIdle="YES"
    				AILuaEventsList="GDIPredatorFunctions">
    				<UnitAITargetChooserData
    					CanPickDynamicTargets="false"
    					SympathyRange="100.0" />
    			</AIUpdate>
    		</AI>
    		<Body>
    			<ActiveBody
    				id="ModuleTag_Body"
    				MaxHealth="3400" />
    		</Body>
    		<Geometry
    			IsSmall="false">
    			<Shape
    				Type="BOX"
    				MajorRadius="18.0"
    				MinorRadius="12.0"
    				Height="10.0"
    				ContactPointGeneration="VEHICLE" />
    		</Geometry>
    		<AudioArrayVoice>
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceAttack"
    				AudioType="voiceAttack" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceCreate"
    				AudioType="voiceCreated" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceCreate"
    				AudioType="voiceFullyCreated" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceMove"
    				AudioType="voiceGuard" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceMoveAttack"
    				AudioType="voiceAttackAfterMoving" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceMove"
    				AudioType="voiceMove" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceRetreat"
    				AudioType="voiceRetreatToCastle" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceSelectMS"
    				AudioType="voiceSelect" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceSelectBattleMS"
    				AudioType="voiceSelectBattle" />
    		</AudioArrayVoice>
    		<AudioArraySound>
    			<AudioEntry
    				Sound="PredatorIdleLoop"
    				AudioType="soundAmbient" />
    			<AudioEntry
    				Sound="PredatorMoveStart"
    				AudioType="soundMoveStart" />
    		</AudioArraySound>
    		<ShadowInfo
    			Type="VOLUME" />
    		<VisionInfo
    			VisionRange="350"
    			ShroudClearingRange="400" />
    	</GameObject>
    </AssetDeclaration>
    his seems almost the same yet mine fails to work where it counts.. in game.

  2. #2
    Lieutenant Bibber's Avatar
    Join Date
    Feb 2011
    Location
    Germany
    Posts
    355
    Hmm, I would say you get an error/warning about unknown asset or missing file robottank_skl(.w3x) when compiling your mod.
    Either you put the art files to the folder Mods\[YourMod]\Art and include the skn file with
    Code:
    <Include type="all" source="ART:robottank_SKN.w3x" />
    or you open your robottank_SKN.w3x with a text editor and change the include of robottank_SKL.w3x to
    Code:
    <Include type="all" source="robottank_SKL.w3x" />

  3. #3
    Corporal madiba127's Avatar
    Join Date
    May 2011
    Location
    Christchurch New Zealand
    Posts
    37
    splat, take a close look at my source code i sent you forgetting everything else but these locations

    FON\data\Units\Pacific Federation\RobotTank
    FON\data\Units\Pacific Federation\GDIPredator.xml
    FON\data\Mod.xml

    did you change anything else on the pred file, if so try again only changing the model nothing else

    my codes for others to see

    Pred file
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude">
    	<Tags></Tags>
    	<Includes>
    		<Include
    			type="all"
    			source="SniperTank/robottank_SKN.w3x" />
    		<Include
    			type="all"
    			source="ART:GUPredTankR.w3x" />
    		<Include
    			type="all"
    			source="ART:GUPredTank_FP.w3x" />	
    		<Include
    			type="all"
    			source="ART:GUPredatorTank_K.xml" />
    		<Include
    			type="all"
    			source="ART:GUPredatorTankD_K.xml" />					
    		<Include
    			type="all"
    			source="ART:NUBeam.xml" />
    		<Include
    			type="all"
    			source="ART:FXWhiteSquare.xml" />
    		<Include
    			type="all"
    			source="ART:FXRailGunCoreMask.xml" />
    		<Include
    			type="all"
    			source="ART:FXRailGunCoreDistortion.xml" />
    		<Include
    			type="instance"
    			source="ART:EXTnkTrack.xml" />
    		<!-- Base Object -->
    		<Include
    			type="instance"
    			source="DATA:BaseObjects/BaseVehicle.xml" />
    	</Includes>
    	<GameObject
    		id="GDIPredator"
    		inheritFrom="BaseVehicle"
    		SelectPortrait="Portrait_GDIPredatorTank"
    		ButtonImage="Portrait_GDIPredatorTank"
    		Side="GDI"
    		EditorSorting="UNIT"
    		TransportSlotCount="1"
    		BuildCost="1100"
    		BuildTime="11"
    		CommandSet="GDIPredatorCommandSet"
    		CommandPoints="100" 
    		KindOf="PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SCORE VEHICLE CAN_REVERSE_MOVE CAN_BE_FAVORITE_UNIT"
    		RadarPriority="UNIT"
    		ThreatLevel="10"
    		ProductionQueueType="VEHICLE"
    		UnitCategory="VEHICLE"
    		WeaponCategory="CANNON"
    		VoicePriority="184"
    		EditorName="GDIPredator"
    		Description="Desc:GDIPredatorTank"
    		TypeDescription="Type:GDIPredatorTank">
    		<DisplayName
    			xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:GDIPredatorTank</DisplayName>
    		<DisplayUpgrade>Upgrade_GDIArmoryRailgunTech</DisplayUpgrade>
    		<ArmorSet
    			Armor="GDIPredatorTankArmor"
    			DamageFX="VehicleDamageFX" />
    		<LocomotorSet
    			Locomotor="GDIPredatorTankLocomotor"
    			Condition="NORMAL"
    			Speed="60.0" />
    		<SkirmishAIInformation
    			UnitBuilderStandardCombatUnit="true" />
    		<!-- REMEMBER, tank treads will ONLY animate on U (not V) -->
    		<!-- TreadAnimationRate = amount of tread texture to move per second -->
    		<!-- TreadDriveSpeedFraction = fraction of locomotor speed below which treads stop moving. -->
    		<!-- TreadPivotSpeedFraction = fraction of locomotor speed below which we allow pivoting. -->
    		<Draws>
    			<TankDraw
    				id="ModuleTag_Draw"
    				OkToChangeModelColor="true"
    				ExtraPublicBone="FXTracksL FXTracksR FXMUZZLEFLASH"
    				TrackMarks="EXTnkTrack"
    				TrackMarksLeftBone="FXTracksL"
    				TrackMarksRightBone="FXTracksR"
    				TreadAnimationRate="0.15"
    				TreadDriveSpeedFraction="0.25"
    				TreadPivotSpeedFraction="0.9">
    				<ModelConditionState
    					ParseCondStateType="PARSE_DEFAULT"
    					RetainSubObjects="true">
    					<Model
    						Name="robottank_SKN" />
    					<WeaponFireFXBone
    						WeaponSlotType="PRIMARY_WEAPON"
    						BoneName="FXMUZZLEFLASH" />
    					<WeaponRecoilBone
    						WeaponSlotType="PRIMARY_WEAPON"
    						BoneName="FXMUZZLEFLASH" />						
    					<WeaponMuzzleFlash
    						WeaponSlotType="PRIMARY_WEAPON"
    						BoneName="FXMUZZLEFLASH" />
    					<WeaponLaunchBone
    						WeaponSlotType="PRIMARY_WEAPON"
    						BoneName="FXMUZZLEFLASH" />
    					<Turret
    						TurretNameKey="Turret"
    						TurretPitch="Barrel"
    						TurretID="1" />
    				</ModelConditionState>
    
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="DYING USER_5">
    					<Model
    						Name="GUPredTankR" />
    					<Texture
    						Original="GUPredatorTankD"
    						New="GUPredatorTankD_K" />						
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallFire"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallFireDistortion"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallSmoke"
    						FollowBone="true" />
    				</ModelConditionState>
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					RetainSubObjects="true"
    					ConditionsYes="REALLYDAMAGED USER_5">
    					<Model
    						Name="robottank_SKN" />
    					<Texture
    						Original="GUPredatorTank"
    						New="GUPredatorTankD_K" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedFire"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedFireDistortion"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedSmoke"
    						FollowBone="true" />
    				</ModelConditionState>
    				
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="DYING">
    					<Model
    						Name="GUPredTankR" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallFire"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallFireDistortion"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="ROOTTRANSFORM"
    						FXParticleSystemTemplate="GDIDebrisSmallSmoke"
    						FollowBone="true" />
    				</ModelConditionState>
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					RetainSubObjects="true"
    					ConditionsYes="REALLYDAMAGED">
    					<Model
    						Name="robottank_SKN" />
    					<Texture
    						Original="GUPredatorTank"
    						New="GUPredatorTankD" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedFire"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedFireDistortion"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="BARREL"
    						FXParticleSystemTemplate="GDIPredDamagedSmoke"
    						FollowBone="true" />
    				</ModelConditionState>
    
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="FORMATION_PREVIEW">
    					<Model
    						Name="GUPredTank_FP" />
    				</ModelConditionState>	
    				
    				<ModelConditionState
    					ParseCondStateType="PARSE_NORMAL"
    					RetainSubObjects="true"
    					ConditionsYes="USER_5">
    					<Model
    						Name="robottank_SKN" />
    					<Texture
    						Original="GUPredatorTank"
    						New="GUPredatorTank_K" />						
    				</ModelConditionState>
    							
    				<AnimationState
    					ParseCondStateType="PARSE_DEFAULT">
    					<!-- Circumvents blend issues when the arrow is being shown... -->
    					<Script>
    						CurDrawableShowSubObject("TreadsStop")
    						CurDrawableHideSubObject("TreadsMove")
    						CurDrawableHideSubObject("TreadsLeft")
    						CurDrawableHideSubObject("TreadsRight")
    					</Script>
    				</AnimationState>
    				<AnimationState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="MOVING TURN_LEFT">
    					<!-- Circumvents blend issues when the arrow is being shown... -->
    					<Script>
    						CurDrawableHideSubObject("TreadsStop")
    						CurDrawableHideSubObject("TreadsMove")
    						CurDrawableShowSubObject("TreadsLeft")
    						CurDrawableHideSubObject("TreadsRight")
    					</Script>
    				</AnimationState>
    				<AnimationState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="MOVING TURN_RIGHT">
    					<!-- Circumvents blend issues when the arrow is being shown... -->
    					<Script>
    						CurDrawableHideSubObject("TreadsStop")
    						CurDrawableHideSubObject("TreadsMove")
    						CurDrawableHideSubObject("TreadsLeft")
    						CurDrawableShowSubObject("TreadsRight")
    					</Script>
    				</AnimationState>
    				<AnimationState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="MOVING">
    					<!-- Circumvents blend issues when the arrow is being shown... -->
    					<Script>
    						CurDrawableHideSubObject("TreadsStop")
    						CurDrawableShowSubObject("TreadsMove")
    						CurDrawableHideSubObject("TreadsLeft")
    						CurDrawableHideSubObject("TreadsRight")
    					</Script>
    				</AnimationState>
    				<LeftTread>"TreadsL"</LeftTread>
    				<RightTread>"TreadsR"</RightTread>
    			</TankDraw>
    			<ScriptedModelDraw
    				id="ModuleTag_FX">
    				<ModelConditionState
    					ParseCondStateType="PARSE_DEFAULT">
    					<Model
    						Name="" />
    				</ModelConditionState>
    				<AnimationState
    					ParseCondStateType="PARSE_NORMAL"
    					ConditionsYes="MOVING">
    					<ParticleSysBone
    						BoneName="NONE"
    						FXParticleSystemTemplate="TreadDustPred"
    						FollowBone="true" />
    					<ParticleSysBone
    						BoneName="NONE"
    						FXParticleSystemTemplate="TreadDirt"
    						FollowBone="true" />
    				</AnimationState>
    			</ScriptedModelDraw>
    			<LaserDraw
    				id="ModuleTag_LaserDistort"
    				UseDistortionShader="true"
    				Texture1_UTile="1"
    				Texture1_VTile=".5"
    				Texture1_UScrollRate="0"
    				Texture1_VScrollRate=".2"
    				Texture1_NumFrames="1"
    				Texture1_FrameRate="30"
    				Texture2_UTile="1"
    				Texture2_VTile=".01"
    				Texture2_UScrollRate="0"
    				Texture2_VScrollRate="1"
    				Texture2_NumFrames="1"
    				Texture2_FrameRate="1"
    				LaserWidth="50">
    				<FXShader
    					ShaderName="Laser.fx"
    					TechniqueIndex="0">
    					<Constants>
    						<Texture
    							Name="Texture1">
    							<Value>FXRailGunCoreDistortion</Value>
    						</Texture>
    						<Texture
    							Name="Texture2">
    							<Value>FXRailGunCoreMask</Value>
    						</Texture>
    					</Constants>
    				</FXShader>
    			</LaserDraw>
    		</Draws>
    		<Behaviors>
    			<ProductionUpdate
    				id="ProductionUpdateModuleTag"
    				GiveNoXP="true" />
    			<WeaponSetUpdate
    				id="ModuleTag_WeaponSetUpdate">
    				<WeaponSlotTurret
    					ID="1"
    					AllowInterleavedFiring="false"
    					InterleavedStyle="INTERLEAVE_FIRST_AVAILABLE"
    					WeaponChoiceCriteria="PREFER_MOST_DAMAGE">
    					<Weapon
    						Ordering="PRIMARY_WEAPON"
    						Template="GDIPredatorTankCannon" />
    					<Weapon
    						Ordering="PRIMARY_WEAPON"
    						Template="GDIPredatorTankRailgun"
    						ObjectStatus="WEAPON_UPGRADED_01" />
    					<TurretSettings
    						TurretTurnRate="200"
    						TurretPitchRate="40"
    						AllowsPitch="true"
    						MinIdleScanTime="1.0s"
    						MaxIdleScanTime="5.0s"
    						MinIdleScanAngle="0.0"
    						MaxIdleScanAngle="90.0">
    						<TurretAITargetChooserData
    							CanAcquireDynamicIfAssignedOutOfRange="true" />
    					</TurretSettings>
    				</WeaponSlotTurret>
    			</WeaponSetUpdate>
    			<LaserState
    				id="ModuleTag_LaserState"
    				LaserId="0"></LaserState>
    			<Physics
    				id="ModuleTag_Physics" />
    			<SlowDeath
    				id="ModuleTag_Death"
    				SinkDelay="3s"
    				SinkRate="1.0"
    				DestructionDelay="7s">
    				<OCL
    					Type="INITIAL">
    					<OCL>OCL_GDIPredatorTankDebris</OCL>
    				</OCL>
    				<DieMuxData
    					DeathTypes="ALL"
    					DeathTypesForbidden="TOPPLED" />
    				<Sound
    					Type="INITIAL"
    					List="GDI_Generic_VoiceDieMS" />
    			</SlowDeath>
    			<FXListBehavior
    				id="ModuleTag_FXList">
    				<DieMuxData
    					DeathTypes="ALL" />
    				<Event
    					Index="onDeath"
    					FX="FX_GDIMammothExplode" />
    			</FXListBehavior>
    			<SubObjectsUpgrade
    				id="ModuleTag_ShowRail"
    				ShowSubObjects="UGRAIL_01">
    				<TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
    			</SubObjectsUpgrade>
    			<StatusBitsUpgrade
    				id="ModuleTag_UpgradeWeapon"
    				StatusToSet="WEAPON_UPGRADED_01">
    				<TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
    			</StatusBitsUpgrade>
    			<xi:include
    				href="DATA:Includes/GDICallForTransportForVehicle.xml" />
    			<StatusBitsUpgrade
    				id="ModuleTag_VeterancyUpgrade"
    				StatusToSet="WEAPON_UPGRADED_03">
    				<TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy>
    			</StatusBitsUpgrade>
    			<ModelConditionUpgrade
    				id="ModuleTag_AllFactionUpgrade"
    				AddConditionFlags="USER_5">
    				<TriggeredBy>Upgrade_AllFactionUpgrade</TriggeredBy>
    			</ModelConditionUpgrade>
          <AudioLoopUpgrade 
    				id="RailCannonUpgradeSound" 
    				SoundToPlay="GDI_RailCannon_Upgrade">
            <TriggeredBy>Upgrade_GDIArmoryRailgunTech</TriggeredBy>
          </AudioLoopUpgrade>
    		</Behaviors>
    		<AI>
    			<AIUpdate
    				id="ModuleTag_AI"
    				AutoAcquireEnemiesWhenIdle="YES"
    				AILuaEventsList="GDIPredatorFunctions">
    				<UnitAITargetChooserData
    					CanPickDynamicTargets="false"
    					SympathyRange="100.0" />
    			</AIUpdate>
    		</AI>
    		<Body>
    			<ActiveBody
    				id="ModuleTag_Body"
    				MaxHealth="3400" />
    		</Body>
    		<Geometry
    			IsSmall="false">
    			<Shape
    				Type="BOX"
    				MajorRadius="18.0"
    				MinorRadius="12.0"
    				Height="10.0"
    				ContactPointGeneration="VEHICLE" />
    		</Geometry>
    		<AudioArrayVoice>
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceAttack"
    				AudioType="voiceAttack" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceCreate"
    				AudioType="voiceCreated" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceCreate"
    				AudioType="voiceFullyCreated" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceMove"
    				AudioType="voiceGuard" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceMoveAttack"
    				AudioType="voiceAttackAfterMoving" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceMove"
    				AudioType="voiceMove" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceRetreat"
    				AudioType="voiceRetreatToCastle" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceSelectMS"
    				AudioType="voiceSelect" />
    			<AudioEntry
    				Sound="GDI_PredatorTank_VoiceSelectBattleMS"
    				AudioType="voiceSelectBattle" />
    		</AudioArrayVoice>
    		<AudioArraySound>
    			<AudioEntry
    				Sound="PredatorIdleLoop"
    				AudioType="soundAmbient" />
    			<AudioEntry
    				Sound="PredatorMoveStart"
    				AudioType="soundMoveStart" />
    		</AudioArraySound>
    		<ShadowInfo
    			Type="VOLUME" />
    		<VisionInfo
    			VisionRange="350"
    			ShroudClearingRange="400" />
    	</GameObject>
    </AssetDeclaration>
    mod.xml (Note sniper tank is the robot tank just renamed)
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    	<Tags></Tags>
    	
    			<!--Fall Of Nations-->
    
    	
    	<Includes>	
    	
    		<Include type="reference" source="DATA:static.xml" />
    		<Include type="reference" source="DATA:global.xml" />  
      		<Include type="all" source="AptUI/MainMenu/MainMenu.xml" />
    		<Include type="reference" source="AptUI/MainMenu.xml" />
    		
    		<!--Pacific Federation-->
    		
    		<!--PackedImages-->
    		<Include type="all" source="PackedImages/Pacific Federation/PackedImages_Pacific Federation.xml" />
    		
    		<!--Units-->
    		<Include type="all" source="Units/Pacific Federation/PF_OutpostCommand.xml" />
    		<Include type="all" source="Units/Pacific Federation/PF_SniperTank.xml" />
    				
    		
    		
    		
    		
    
    	</Includes>
    
    </AssetDeclaration>
    Last edited by madiba127; 07-28-2011 at 12:15 AM.
    C&C fan from 1999 and it will never end

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Victory Games is Electronic Arts' dedicated Strategy Gaming studio. Formed in 2010 under the leadership of Jon Van Caneghem, Victory Games has offices in Los Angeles, CA; Austin, TX; and Shanghai, China and is currently focused on the Command & Conquer franchise.