Jump to content


Photo

Texture Problem?


  • Please log in to reply
11 replies to this topic

#1 TheWickedOne

TheWickedOne

    The Unforgivable One

  • Project Team
  • 422 posts
  • Location:U.S.A
  • Projects:View "About Me" Page
  •  Game Coder

Posted 30 September 2008 - 03:18 AM

OK, i downloaded the Rohan fighter Model/Skin from here. I gondorfighter.ini and made a new rohanfighter.ini, problem is that they won't show up, the model don't appear.I made the asset twice just in case and still nothing, they won't show up. I think that i need to add the textures but i don't know how to add the textures, i don't know in what part to add them.

One more thing, whenever i buy Rohan Fighters, that selection shadow at the bottom does not appear.
Like when you buy a Gondor Soldier and you click on him, there is kinda like a circle at the bottom that is like a shadow, that does not appear on the Rohan Fighters.

Here is the code from rohanfighter.ini:

// Moved from MenInfantry.INI Aug 24 2005

// aka Man at Arms, GondorManatArms, FighterGondor GondorFighter GondorSoldier GondorSwordman
Object RohanFighter
	// *** ART Parameters ***

	SelectPortrait		 = UPGondor_Soldier
	ButtonImage		 = WOR_GondorSoldier

	Draw = W3DHordeModelDraw ModuleTag_01
		OkToChangeModelColor = Yes	
		StaticModelLODMode = Yes
		
		// specify options for static LODs
		LodOptions							= LOW
			AllowMultipleModels				= ALLOW_MULTIPLE_MODELS_LOW
			MaxRandomTextures				= MAX_RANDOM_TEXTURES_LOW
			MaxRandomAnimations				= MAX_RANDOM_ANIMATIONS_LOW
			MaxAnimFrameDelta				= MAX_ANIM_FRAME_DELTA_LOW
		End
		
		LodOptions							= MEDIUM
			AllowMultipleModels				= ALLOW_MULTIPLE_MODELS_MED
			MaxRandomTextures				= MAX_RANDOM_TEXTURES_MED
			MaxRandomAnimations				= MAX_RANDOM_ANIMATIONS_MED
			MaxAnimFrameDelta				= MAX_ANIM_FRAME_DELTA_MED
		End
		
		LodOptions							= HIGH
			AllowMultipleModels				= ALLOW_MULTIPLE_MODELS_HIGH
			MaxRandomTextures				= MAX_RANDOM_TEXTURES_HIGH
			MaxRandomAnimations				= MAX_RANDOM_ANIMATIONS_HIGH
			MaxAnimFrameDelta				= MAX_ANIM_FRAME_DELTA_HIGH
		End

		WadingParticleSys = WaterRipplesTrail  // used when the unit is wading in shallow water.
//================ MODELS =================================================================
		DefaultModelConditionState
			Model							= ruwarrior_SKN
			Skeleton						= GUMAArms_SKL
		End

		ModelConditionState WEAPONSET_PLAYER_UPGRADE
			Model							= ruwarrior_SKN
			Skeleton						= GUMAArms_SKL
		End
		
		ModelConditionState = USER_4		// This state is used in cinematics to get the old style armor
			Model							= ruwarrior_SKN	
			Skeleton						= GUMAArms_SKL
		End

//=============== ANIMATIONS ===============================================================

//======= FALLING & FLYING

		AnimationState						= PASSENGER
			Animation						= Grabbed
				AnimationName				= GUMAArms_FLLA
				AnimationMode				= LOOP
			End
		End
		
		AnimationState						= THROWN_PROJECTILE
			Animation		   			= FlyA
				AnimationName		   		= GUMAARMS_FLYA
				AnimationMode	   		= LOOP
			End
			Animation		   			= FlyB
				AnimationName	   		= GUMAARMS_FLYB
				AnimationMode	   		= LOOP
			End
			Animation		   			= FlyC
				AnimationName	   		= GUMAARMS_FLYC
				AnimationMode	   		= LOOP
			End
			Animation		   			= FlyD
				AnimationName	   		= GUMAARMS_FLYD
				AnimationMode	   		= LOOP
			End
			Flags			   			= RANDOMSTART
		End
		
		AnimationState						= FREEFALL
			Animation						= Falling
				AnimationName				= GUMAArms_FLYD
				AnimationMode				= LOOP
				AnimationBlendTime			= 10
			End
			Animation						= Falling
				AnimationName				= GUMAArms_FLYC
				AnimationMode				= LOOP
				AnimationBlendTime			= 10
				AnimationSpeedFactorRange	= 0.5	0.5
			End
		End

		
		
		AnimationState						= STUNNED_FLAILING 
			Animation		   			= FlyA
				AnimationName	   		= GUMAARMS_FLYA
				AnimationMode	   		= LOOP
				AnimationSpeedFactorRange	= 0.4 0.6
			End
			Animation		   			= FlyB
				AnimationName	   		= GUMAARMS_FLYB
				AnimationMode	   		= LOOP
				AnimationSpeedFactorRange	= 0.4 0.6
			End
			Animation		   			= FlyC
				AnimationName	   		= GUMAARMS_FLYC
				AnimationMode	   		= LOOP
				AnimationSpeedFactorRange	= 0.4 0.6
			End
			Animation		   			= FlyD
				AnimationName			   	= GUMAARMS_FLYD
				AnimationMode	   		= LOOP
				AnimationSpeedFactorRange	= 0.4 0.6
			End
			Flags			   			= RANDOMSTART
		End

		AnimationState						= DYING BURNINGDEATH
			Animation
				AnimationName				= GUManMocap_DIEB
				AnimationMode				= ONCE
				AnimationBlendTime			= 10
			End
			Animation
				AnimationName				= GUManMocap_DIEC
				AnimationMode				= ONCE
				AnimationBlendTime			= 10
			End
			Animation
				AnimationName				= GUManMocap_DIED
				AnimationMode				= ONCE
				AnimationBlendTime			= 10
			End
			Animation
				AnimationName				= GUManMocap_DIEE
				AnimationMode				= ONCE
				AnimationBlendTime			= 10
			End
		End
		AnimationState 						= DYING SPLATTED
			Animation 						= Splatted_On_Ground
				AnimationName 				= GUMAARMS_LNDA
				AnimationMode 				= ONCE
			End
			EnteringStateFX					= FX_OrcHitGround
		End
		AnimationState						= DYING AFLAME
			Animation						= MFDA
				AnimationName				= GUManMocap_MFDA
				AnimationMode				= LOOP
			End
		End
		AnimationState						= DYING
			//Animation						= DIEA
			
			//	AnimationName				= GUManMocap_DIEA
			//	AnimationMode				= ONCE
			//End
			Animation						= DIEB
				AnimationName				= GUManMocap_DIEB
				AnimationMode				= ONCE
			End
			Animation						= DIEC
				AnimationName				= GUManMocap_DIEC
				AnimationMode				= ONCE
			End
			Animation						= DIED
				AnimationName				= GUManMocap_DIED
				AnimationMode				= ONCE
			End
			Animation						= DIEE
				AnimationName				= GUManMocap_DIEE
				AnimationMode				= ONCE
			End
		End

		AnimationState						= BURNINGDEATH
			Animation
				AnimationName				= GUManMocap_MFDA
				AnimationMode				= LOOP
				Distance					= 50
			End
		End

		AnimationState						= PARALYZED
			Animation
				AnimationName				= GUManMocap_IDLB
				AnimationMode				= LOOP
			End
		End

//======= LANDING & STANDING

		AnimationState						= STUNNED_STANDING_UP
			Animation						= GTPA
				AnimationName				= GUMAArms_GTPA
				AnimationMode				= ONCE
				AnimationSpeedFactorRange	= 2.0 2.0
			End
			Animation						= GTPB
				AnimationName				= GUMAArms_GTPD
				AnimationMode				= ONCE
				AnimationSpeedFactorRange	= 2.0 2.0
			End
		End


	
		AnimationState			=	 STUNNED
			Animation			=	 Slatted_On_Ground
			AnimationName 				= GUMAARMS_LNDA
				AnimationMode 				= ONCE
			End
			EnteringStateFX					= FX_OrcHitGround

	   End 
	   
		AnimationState		= MOVING FIRING_OR_PREATTACK_A
			ShareAnimation		= Yes
			Animation		   = RunAndFire
				AnimationName	   = GUManMocap_ATRA
				AnimationMode	   = LOOP
			End
			Flags			   = RANDOMSTART  
		End
		
//====== TERROR
		
		AnimationState						= MOVING EMOTION_TERROR EMOTION_LOOK_TO_SKY
			//@@@KM Add distance
			Animation					= TerrorFromTheSky
				AnimationName			= GUManMocap_RUND
				AnimationMode			= LOOP
			End
			Animation					= TerrorFromTheSky
				AnimationName			= GUManMocap_RUNE
				AnimationMode			= LOOP
			End
			Flags = RANDOMSTART
		End
		AnimationState						= MOVING EMOTION_TERROR
			//@@@KM Add distance
			Animation						= TerrorFromTheSky
				AnimationName				= GUManMocap_RUND
				AnimationMode				= ONCE
			End
			Animation						= TerrorFromTheSky
				AnimationName				= GUManMocap_RUNE
				AnimationMode				= ONCE
			End
			Flags							= RESTART_ANIM_WHEN_COMPLETE
		End
		
//======= BACK UP
		
		AnimationState						= MOVING BACKING_UP
			//@@@KM Add distance
			Animation						= BAKA
				AnimationName				= GUManMocap_BAKA
				AnimationMode				= LOOP
			End
			Animation						= BAKB
				AnimationName				= GUManMocap_BAKB
				AnimationMode				= LOOP
			End
			Animation						= BAKC
				AnimationName				= GUManMocap_BAKC
				AnimationMode				= LOOP
			End
			Flags = RANDOMSTART
		End

		AnimationState						= MOVING PANICKING
			//@@@KM - Add Distance
			Animation						= MFDA
				AnimationName				= GUManMocap_MFDA
				AnimationMode				= LOOP
			End
			Flags							= RANDOMSTART
			//ParticleSysBone				= None InfantryDustTrails
		End
		
		AnimationState						= MOVING ATTACKING
			ShareAnimation					= Yes//
			Animation						= RUNA
				AnimationName				= GUManMocap_RUNA
				AnimationMode				= LOOP
				Distance					= 25
			End
			Flags							= RANDOMSTART
			//ParticleSysBone				= None InfantryDustTrails
		End
		
		AnimationState				= MOVING ALTERNATE_FORMATION
			Animation
				AnimationName				= GUMAArms_SPCA
				AnimationMode				= LOOP
				Distance					= 20
			End
			Flags							= RANDOMSTART
		End

		
		AnimationState						= MOVING
			//@@@KM - Add Distance
			ShareAnimation					= Yes//
			Animation						= RUNB
				AnimationName				= GUManMocap_RUNB
				AnimationMode				= LOOP
				Distance					= 30
			End
			Animation						= RUNC
				AnimationName				= GUManMocap_RUNC
				AnimationMode				= LOOP
				Distance					= 30
			End
			Flags							= RANDOMSTART
			//ParticleSysBone				= None InfantryDustTrails
		End
//======= UNCONTROLLABLY AFRAID
	// This is before Attacking so it overrides it.  Normal fear is below so you don't go to little-fear in between swings.
		AnimationState						= EMOTION_UNCONTROLLABLY_AFRAID
			Animation						= FERA
				AnimationName				= GUManMocap_FERA
				AnimationMode				= LOOP
			End 
			Animation						= FERB
				AnimationName				= GUManMocap_FERB
				AnimationMode				= LOOP
			End
			Animation						= FERC
				AnimationName				= GUManMocap_FERC
				AnimationMode				= LOOP
			End
			Animation						= FERD
				AnimationName				= GUManMocap_FERD
				AnimationMode				= LOOP
			End
			Animation						= FERE
				AnimationName				= GUManMocap_FERE
				AnimationMode				= LOOP
			End
			Animation						= FERF
				AnimationName				= GUManMocap_FERF
				AnimationMode				= LOOP
			End
		End
//---------------------- ATTACKING ----------------------------------------------------------------
		AnimationState						= FIRING_OR_PREATTACK_A
			Animation						= ATA1
				AnimationName				= GUManMocap_ATKA
				AnimationMode				= ONCE
				UseWeaponTiming				= Yes
			End
			//ParticleSysBone				= None MeleeDust
		End
		
	;AnimationState						= ATTACKING
	;	Animation						= ALERT_1
	;		AnimationName				= GUManMocap_IDLA
	;		AnimationMode				= LOOP
	;	End
	;End
//----------------- HIT REACTIONS -------------------------------------------------------------------------

;		AnimationState						= HIT_REACTION
			//Animation						= HITA
			//	AnimationName				= GUManMocap_HITA
			//	AnimationMode				= ONCE
			//End
;			Animation						= HITB
;				AnimationName				= GUManMocap_HITB
;				AnimationMode				= ONCE
;			End
;		End

//----------------- EMOTIONS ----------------------------------------------------------------
//======= APPREHENSIVE

		AnimationState						= EMOTION_ALERT EMOTION_AFRAID
			Animation						= APPA
				AnimationName				= GUManMocap_APPA
				AnimationMode				= ONCE
			End
			Animation						= APPB
				AnimationName				= GUManMocap_APPB
				AnimationMode				= ONCE
			End
			Flags							= RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
		End
		
//======= AFRAID

		AnimationState						= EMOTION_AFRAID
			Animation						= FERA
				AnimationName				= GUManMocap_FERA
				AnimationMode				= LOOP
			End 
			Animation						= FERB
				AnimationName				= GUManMocap_FERB
				AnimationMode				= LOOP
			End
			Animation						= FERC
				AnimationName				= GUManMocap_FERC
				AnimationMode				= LOOP
			End
			Animation						= FERD
				AnimationName				= GUManMocap_FERD
				AnimationMode				= LOOP
			End
			Animation						= FERE
				AnimationName				= GUManMocap_FERE
				AnimationMode				= LOOP
			End
			Animation						= FERF
				AnimationName				= GUManMocap_FERF
				AnimationMode				= LOOP
			End
			Flags							= RANDOMSTART
		End
		
//======== POINTING

		AnimationState						= EMOTION_POINTING
			Animation						= Pointing1
				AnimationName				= GUManMocap_RCTA
				AnimationMode				= LOOP
			End
			Flags							= RANDOMSTART
		End
		
//======= TAUNTING

		AnimationState						= EMOTION_TAUNTING
			Animation						= Taunting1
				AnimationName				= GUManMocap_TNTA
				AnimationMode				= ONCE
			End
			Animation						= Taunting2
				AnimationName				= GUManMocap_TNTB
				AnimationMode				= ONCE
			End
			Animation						= Taunting3
				AnimationName				= GUManMocap_TNTC
				AnimationMode				= ONCE
			End
			Animation						= Taunting4
				AnimationName				= GUManMocap_IDLC
				AnimationMode				= ONCE
			End
			Animation						= Taunting5
				AnimationName				= GUManMocap_IDLA
				AnimationMode				= ONCE
			End
			Animation						= Taunting6
				AnimationName				= GUManMocap_IDLH
				AnimationMode				= ONCE
			End
			Flags							= RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
		End

//======= CELEBRATING

		AnimationState						= EMOTION_CELEBRATING
			Animation						= CHRB
				AnimationName				= GUManMocap_CHRB
				AnimationMode				= ONCE
			End
			Animation						= CHRC
				AnimationName				= GUManMocap_CHRC
				AnimationMode				= ONCE
			End
			Animation						= IDLD
				AnimationName				= GUManMocap_IDLD
				AnimationMode				= ONCE
			End
			Flags							=	RESTART_ANIM_WHEN_COMPLETE
		End

//----------------- ALERT STATE ---------------------------------------------------------------------------

		AnimationState						= ATTACKING
			Animation						= ALERT_1
				AnimationName				= GUManMocap_IDLA
				AnimationMode				= LOOP
			End
		End	

		AnimationState						= EMOTION_ALERT
			Animation						= ALERT_1
				AnimationName				= GUManMocap_IDLA
				AnimationMode				= LOOP//ONCE
				AnimationPriority			= 10
			End
			Flags							= RESTART_ANIM_WHEN_COMPLETE // acts like an idle animation & keeps running the animations.
		End
		
		AnimationState						= RAISING_FLAG
			Animation						= CHRB
				AnimationName				= GUManMocap_CHRB
				AnimationMode				= ONCE
				AnimationSpeedFactorRange	= 0.9 1.1
			End
			Animation						= CHRC
				AnimationName				= GUManMocap_CHRC
				AnimationMode				= ONCE
				AnimationSpeedFactorRange	= 0.9 1.1
			End
			Flags							=	RESTART_ANIM_WHEN_COMPLETE
		End
		
//----------------- SELECTED STATES -----------------------------------------------------------------------
		AnimationState		= SELECTED
			StateName		   = STATE_Selected
			Animation		   = ATNB
				AnimationName	 = GUManMocap_ATNB
				AnimationMode	 = LOOP
			End
			
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "STATE_Idle" 
				then 
					CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") 
				end
				if CurDrawableModelcondition("ATTACKING")
				then
					return "IDLA"
				else
					return "ATNA"
				end
			EndScript
			
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "STATE_Idle" then CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") end
			EndScript
		End
		
//----------------- IDLE STATES ---------------------------------------------------------------------------
		AnimationState				= WEAPONSET_PLAYER_UPGRADE
			StateName				= STATE_Idle
			Animation				= IDLI
				AnimationName	   = GUManMocap_IDLH
				AnimationMode	   = ONCE
				AnimationSpeedFactorRange = 0.9 1.1
			End
			Animation				= IDLD
				AnimationName	   = GUManMocap_IDLD
				AnimationMode	   = ONCE
				AnimationSpeedFactorRange = 0.9 1.1
			End
			Animation				= IDLH
				AnimationName	   = GUManMocap_IDLH
				AnimationMode	   = ONCE
				AnimationSpeedFactorRange = 0.9 1.1
			End
			Animation				= CHRB
				AnimationName	   = GUManMocap_CHRB
				AnimationMode	   = ONCE
				AnimationSpeedFactorRange = 0.9 1.1
			End
			Animation				= CHRC
				AnimationName	   = GUManMocap_CHRC
				AnimationMode	   = ONCE
				AnimationSpeedFactorRange = 0.9 1.1
			End
			Flags					= RESTART_ANIM_WHEN_COMPLETE			
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
			EndScript
		End		
		AnimationState				= USER_3
			StateName				= STATE_User_3
			Animation				= GUARD_STANCE
				AnimationName		= GUManMocap_IDLA
				AnimationMode		= LOOP
			End
		End
		IdleAnimationState
			StateName				= STATE_Idle
			Animation				= IDLB
				AnimationName	   = GUManMocap_IDLB
				AnimationMode	   = ONCE
				AnimationPriority   = 20
				AnimationSpeedFactorRange = 0.9 1.1
				AnimationBlendTime	= 15
			End
			Animation				= IDLF
				AnimationName	   = GUManMocap_IDLF
				AnimationMode	   = ONCE
				AnimationPriority   = 1
				AnimationSpeedFactorRange = 0.9 1.1
				AnimationBlendTime	= 15
			End
			Animation				= IDLG
				AnimationName	   = GUManMocap_IDLG
				AnimationMode	   = ONCE
				AnimationPriority   = 1
				AnimationSpeedFactorRange = 0.9 1.1
				AnimationBlendTime	= 15
			End
			Animation				= IDLJ
				AnimationName	   = GUManMocap_IDLJ
				AnimationMode	   = ONCE
				AnimationPriority   = 1
				AnimationSpeedFactorRange = 0.9 1.1
				AnimationBlendTime	= 15
			End
			Animation				= IDLK
				AnimationName	   = GUManMocap_IDLK
				AnimationMode	   = ONCE
				AnimationPriority   = 1
				AnimationSpeedFactorRange = 0.9 1.1
				AnimationBlendTime	= 15
			End
			Animation				= IDLL
				AnimationName	   = GUManMocap_IDLL
				AnimationMode	   = ONCE
				AnimationPriority   = 1
				AnimationSpeedFactorRange = 0.9 1.1
				AnimationBlendTime	= 15
			End
			Animation				= IDLN
				AnimationName	   = GUManMocap_IDLN
				AnimationMode	   = ONCE
				AnimationPriority   = 1
				AnimationSpeedFactorRange = 0.9 1.1
				AnimationBlendTime	= 15
			End
			Animation				= IDLO
				AnimationName	   = GUManMocap_IDLO
				AnimationMode	   = ONCE
				AnimationPriority   = 1
				AnimationSpeedFactorRange = 0.9 1.1
				AnimationBlendTime	= 15
			End
			Animation				= IDLP
				AnimationName	   = GUManMocap_IDLP
				AnimationMode	   = ONCE
				AnimationPriority   = 1
				AnimationSpeedFactorRange = 0.9 1.1
				AnimationBlendTime	= 15
			End		
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
			EndScript
		End
//--------------- TRANSITIONS ---------------------------------------------------------------------------
		TransitionState	   = TRANS_TO_USER_1
			Animation
				AnimationName	 = GUManMocap_RCTA
				AnimationMode	 = ONCE
			End
		End
		TransitionState	   = TRANS_IdleToSelected
			Animation		   = ATNA
				AnimationName	 = GUManMocap_ATNA
				AnimationMode	 = ONCE
				AnimationSpeedFactorRange = 0.9 1.0
				
			End
		End
		TransitionState		= TRANS_SelectedToIdle
			Animation			= ATND
				AnimationName	= GUManMocap_ATND
				AnimationMode	= ONCE
				AnimationSpeedFactorRange = 0.9 1.0
			End
		End
//-----------------------------------------------------------------------------------------------------------
	End
	
	#include "..\..\..\includes\StunDrawModuleSmall.inc"

	// ***DESIGN parameters ***
	Side 		= Rohan
	EditorSorting 	= UNIT

	ThreatLevel 	= 1.0

	ThingClass 	= HORDE_UNIT
	CommandPoints 	= 4
	BountyValue 	= GONDOR_SOLDIER_BOUNTY_VALUE
	
	EmotionRange 	= 240 // Make sure this value is greater than the fear distribution range. 

	TransportSlotCount = TRANSPORTSLOTCOUNT_UNIT
	
	//// WEAPON SETS ////
	WeaponSet
		Conditions		= None 
		Weapon			= PRIMARY	GondorSword
		AutoChooseSources	= PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
	End
	WeaponSet
		Conditions		= PLAYER_UPGRADE
		Weapon			= PRIMARY	GondorSwordUpgraded
		AutoChooseSources	= PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
	End

	//// ARMOUR SETS ////
	ArmorSet
		Conditions	  = None
		Armor		   = SoldierArmor
		DamageFX		= NormalDamageFX
	End
	ArmorSet
		Conditions	  = PLAYER_UPGRADE
		Armor		   = SoldierHeavyArmor
		DamageFX		= NormalDamageFX
	End
	
	ShroudClearingRange = SHROUD_CLEAR_STANDARD	   
	VisionRange = GONDOR_SOLDIER_VISION_RANGE
	
	VisionSide = 35%
	VisionRear = 25%
	
	MaxVisionBonusPercent = 300%
	VisionBonusTestRadius = 200
	VisionBonusPercentPerFoot = 2.0%
					

	DisplayName = OBJECT:RohanFighter
	CrushableLevel = 0  //What am I?:		0 = for infantry, 1 = for trees, 2 = general vehicles
	CrushRevengeWeapon = BasicInfantryCrushRevenge
	
	CommandSet = RohanFighterCommandSet


	// *** AUDIO Parameters ***//

;VoiceAmbushed				= GondorSoldierVoiceAmbushed		  OBSOLETE VOICE
	VoiceAttack					= GondorSoldierVoiceAttack
	VoiceAttackCharge				= GondorSoldierVoiceAttackCharge
	VoiceAttackMachine			= GondorSoldierVoiceAttack
	VoiceAttackStructure			= GondorSoldierVoiceAttackBuilding
	VoiceEnterStateAttack			= GondorSoldierVoiceEnterStateAttack
	VoiceEnterStateAttackCharge		= GondorSoldierVoiceEnterStateAttackCharge
	VoiceEnterStateAttackMachine		= GondorSoldierVoiceEnterStateAttackBuilding
	VoiceEnterStateAttackStructure	= GondorSoldierVoiceEnterStateAttackBuilding
	VoiceCreated				= GondorSoldierVoiceSalute
	VoiceFullyCreated 			= GondorSoldierVoiceSalute				//GondorSoldierVoiceCreated
	VoiceGuard					= GondorSoldierVoiceMove
	VoiceMove					= GondorSoldierVoiceMove
	VoiceMoveToCamp				= GondorSoldierVoiceMoveCamp
	VoiceMoveWhileAttacking			= GondorSoldierVoiceDisengage				//TEMP_GondorSoldierVoiceMoveWhileAttacking_TEMP
	VoicePriority				= 49
	VoiceRetreatToCastle			= GondorSoldierVoiceRetreat
	VoiceSelect					= GondorSoldierVoiceSelectMS
	VoiceSelectBattle 			= GondorSoldierVoiceSelectBattle
	VoiceEnterStateMove			= GondorSoldierVoiceEnterStateMove
	VoiceEnterStateMoveToCamp		= GondorSoldierVoiceEnterStateMoveCamp
	VoiceEnterStateMoveWhileAttacking	= GondorSoldierVoiceEnterStateDisengage
	VoiceEnterStateRetreatToCastle	= GondorSoldierVoiceEnterStateRetreat

	SoundImpact					= ImpactHorse

	UnitSpecificSounds
		VoiceGarrison							= GondorSoldierVoiceGarrison			  
		VoiceDesperateAttack						= GondorSoldierVoiceDesperateCharge 
		VoiceAttackUnitWebbedHumanoidWithGondorFighterInside	= GondorSoldierVoiceAttackWebbedSoldier
		VoiceAttackUnitWebbedHumanoidWithGondorArcherInside	= GondorSoldierVoiceAttackWebbedSoldier
		VoiceEnterUnitElvenTransportShip	= GondorSoldierVoiceMove
		VoiceInitiateCaptureBuilding		= GondorSoldierVoiceMove
	End

	CrowdResponseKey = GoodMen

	#include "..\..\..\includes\StandardUnitEvaEvents.inc"

	ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
		ModelCondition = Required:RAISING_FLAG			Excluded:DYING ENGAGED	Sound:EmotionMenGoodCompilationBFME1and2VoxTauntSinglesLoop
	End

	Behavior = LargeGroupAudioUpdate ModuleTag_LGAU
		Key = Humanoid_Male Man Man_Male Unit Infantry Gondor_Soldier
	End
	
	ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
		MaxUpdateRangeCap = 800
		AnimationSound = Sound: TauntHumanHitShield	Animation:GUMAArms_SKL.GUManMocap_IDLC	Frames: 17 27
		AnimationSound = Sound: TauntHumanHitShield	Animation:GUMAArms_SKL.GUManMocap_TNTC	Frames: 74 82 94 125 139

		AnimationSound = Sound:BodyFallGeneric1		Animation:GUMAArms_SKL.GUManMocap_DIEB	Frames:89
		AnimationSound = Sound:BodyFallGeneric1		Animation:GUMAArms_SKL.GUManMocap_DIEC	Frames:71
		AnimationSound = Sound:BodyFallGeneric1		Animation:GUMAArms_SKL.GUManMocap_DIED	Frames:29
		AnimationSound = Sound:BodyFallGeneric1		Animation:GUMAArms_SKL.GUManMocap_DIEE	Frames:28
		AnimationSound = Sound:BodyFallGeneric1		Animation:GUMAArms_SKL.GUMAARMS_LNDA	Frames:0
	End


	// *** ENGINEERING Parameters ***

	RadarPriority = UNIT
	KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT ATTACK_NEEDS_LINE_OF_SIGHT NOTIFY_OF_PREATTACK GRAB_AND_DROP
	
	Body = ActiveBody ModuleTag_02
		CheerRadius 	  = EMOTION_CHEER_RADIUS
		MaxHealth		 = GONDOR_SOLDIER_HEALTH
		MaxHealthDamaged  = GONDOR_SOLDIER_HEALTH_DAMAGED
		BurningDeathBehavior = Yes
		BurningDeathFX	   = FX_InfantryBurningFlame
	End
	
	Behavior = WeaponSetUpgrade WeaponSetUpgradeModuleTag
		TriggeredBy = Upgrade_GondorForgedBlades
	End

	Behavior = ArmorUpgrade ArmorUpgradeModuleTag
		TriggeredBy = Upgrade_GondorHeavyArmor
		ArmorSetFlag			= PLAYER_UPGRADE
	End
	
	//-------------------------------------------------------------------------
	//
	//	Sub object upgrading.
	//
	Behavior = SubObjectsUpgrade Armor_Upgrade
		TriggeredBy		= Upgrade_GondorHeavyArmor
		UpgradeTexture	= ruspearman.tga 0 ruspearman.tga
		UpgradeTexture	= exlnzflar2.tga 0 ruwarweap.tga
		UpgradeTexture	= rushield.tga 0 rushield.tga
		RecolorHouse	= Yes
		ExcludeSubobjects = Forged_Blade
	End
	
	Behavior = SubObjectsUpgrade ForgedBlade_Upgrade
		TriggeredBy		= Upgrade_GondorForgedBlades
		ShowSubObjects	= Forged_Blade
	End	
	//-------------------------------------------------------------------------
	
	Behavior = AIUpdateInterface ModuleTag_03
		AutoAcquireEnemiesWhenIdle	=	Yes ATTACK_BUILDINGS
		MoodAttackCheckRate			=	500
		AILuaEventsList				=	GondorFighterFunctions
		MinCowerTime				=	3000
		MaxCowerTime				=	5000
		AttackPriority				= 	AttackPriority_Infantry
		BurningDeathTime			=	BURNINGDEATH_DURATION_INFANTRY
	End

	LocomotorSet
		Locomotor = HumanLocomotor
		Condition = SET_NORMAL 
		Speed	 = NORMAL_FOOT_MED_MEMBER_SPEED
	End

	LocomotorSet
		Locomotor = BurningDeathLocomotorInfantry
		Condition = SET_BURNINGDEATH
		Speed	  = BURNINGDEATH_WANDERSPEED_INFANTRY
	End

	Behavior = PhysicsBehavior ModuleTag_04
		GravityMult = 1.0
		ShockStunnedTimeLow		= 1400	//msec
		ShockStunnedTimeHigh	= 2400	//msec
		ShockStandingTime		= 1233	//msec
	End 

	Behavior = AttributeModifierUpgrade ModuleTag_AMU
		TriggeredBy = Upgrade_GondorFighterFearless
		AttributeModifier = FearlessForever
	End
	 
	Behavior = SquishCollide ModuleTag_06
		//nothing
	End
	
	Behavior = HordeMemberCollide ModuleTag_HMC
		//nothing
	End
	
;	Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
;		HitReactionLifeTimer1 = 2500 // level 1 (light  damage)  hit reaction animations in ms
;		HitReactionLifeTimer2 = 2500 // level 2 (medium damage)  hit reaction animations in ms
;		HitReactionLifeTimer3 = 2500 // level 3 (heavy  damage)  hit reaction animations in ms

;		HitReactionThreshold1 = 5.0   // level 1 (light  damage) threshold trigger
;		HitReactionThreshold2 = 25.0  // level 2 (medium damage) threshold trigger
;		HitReactionThreshold3 = 50.0  // level 3 (heavy  damage) threshold trigger
		
;		FastHitsResetReaction = Yes	If set -- when hits occur faster than the reaction animations, it will reset the animation. (like getting riddled with machine gun bullets)
;	End

	Behavior = SlowDeathBehavior ModuleTag_05
		DeathTypes = ALL -KNOCKBACK -FADED
		SinkDelay = 3000
		SinkRate = 0.60	 // in Dist/Sec
		DestructionDelay = 10000
		Sound = INITIAL HumanVoiceDie //GondorSoldierVoiceDie
	End
	
	Behavior = SlowDeathBehavior ModuleTag_FadeDeath
		DeathTypes = NONE +FADED
		SinkDelay = 3000
		SinkRate = 0.60	 // in Dist/Sec
		DestructionDelay = 10000
		Sound = INITIAL SpellGenericUnsummonFasterMS
	End

	Behavior = SlowDeathBehavior ModuleTag_07
		// Same as normal death, but no sound (sound already played by SoundImpact = ... )
		DeathTypes = NONE +KNOCKBACK
		SinkDelay = 3000
		SinkRate = 0.60	 // in Dist/Sec
		DestructionDelay = 10000
	End

	Behavior = BezierProjectileBehavior ModuleTag_08 // Module starts asleep, and wakes up when thrown.
		// To tweak a Bezier path
		FirstHeight = 24  // Height of Bezier control points above highest intervening terrain
		SecondHeight = 24
		FirstPercentIndent = 30% // Percentage of shot distance control points are placed
		SecondPercentIndent = 70%
		TumbleRandomly = Yes

		CrushStyle = Yes // I don't detonate, I just hit
		DieOnImpact = Yes
		BounceCount = 1   // When I hit the ground, I'll arc again
		BounceDistance = 40 // this far
		BounceFirstHeight = 24  // Height of Bezier control points above highest intervening terrain
		BounceSecondHeight = 24
		BounceFirstPercentIndent = 20% // Percentage of shot distance control points are placed
		BounceSecondPercentIndent = 80%

		GroundHitFX	   = FX_ThrownRockGroundHit
		GroundBounceFX	= FX_ThrownRockBounceHit
	End

	Geometry = CYLINDER
	GeometryMajorRadius = 8.0
	GeometryMinorRadius = 8.0
	GeometryHeight = 19.2
	GeometryIsSmall = Yes

	Shadow = SHADOW_DECAL
	ShadowSizeX = 19//
	ShadowSizeY = 19//
	ShadowTexture = ShadowI
End

I added the texture but i think i added it in the wrong place.

rohanhordes.ini:
Object RohanFighterHorde

	// This is required for garrisoned objects - please put in all objects.
	ButtonImage		= WOR_GondorSoldier
	SelectPortrait		= UPGondor_Soldier

	Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
		DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER EMOTION_TERROR EMOTION_LOOK_TO_SKY EMOTION_TAUNTING EMOTION_POINTING SELECTED
		DefaultModelConditionState
			Model = None //InvisHrdeTmp5x2
		End

		ModelConditionState = HORDE_EMPTY
			Model = None
		End		
		
		ModelConditionState = WORLD_BUILDER
			Model = HordeMarkGUSol
		End		
	End
	
	Side = Rohan
	EditorSorting = UNIT
	EmotionRange = 240
	DisplayName = OBJECT:HordeRohanFighters
	DisplayNameStrategic = CONTROLBAR:LW_Unit_RohanFighterHorde
	DescriptionStrategic = CONTROLBAR:LW_ToolTip_RohanFighterHorde
	
	WeaponSet
		Conditions = None 
		Weapon = PRIMARY	NormalMeleeHordeRangefinder
	End

	// *** AUDIO Parameters ***//
	// Note: Don't put voice parameters here -- they will be ignored. Voice play requests
	// are always passed through to members
	#include "..\..\..\includes\StandardHordeEvaEvents.inc"

	UnitSpecificSounds
		VoiceDesperateAttack  = GondorSoldierVoiceDesperateCharge 
	End

	BuildCost = GONDOR_SOLDIER_BUILDCOST
	BuildTime = GONDOR_SOLDIER_BUILDTIME
	ShroudClearingRange = GONDOR_SOLDIER_HORDE_SHROUD_RANGE	   
	VisionRange = GONDOR_SOLDIER_HORDE_VISION_RANGE
	VisionSide = 50%
	VisionRear = 25%
	MaxVisionBonusPercent = 300%
	VisionBonusTestRadius = 200
	VisionBonusPercentPerFoot = 1.0%
	CommandPoints = 60
	
	FormationWidth = 2 // Width it occupies in formations. Current choices are 1 or 2.
	FormationDepth = 1 // Depth it occupies in formations. Current choices are 1 or 2.
	
 	CrushableLevel = 0  //What am I?:		0 = for infantry, 1 = for trees, 2 = general vehicles
	CrusherLevel = 0
	 
	TransportSlotCount = TRANSPORTSLOTCOUNT_SMALL_HORDE
	KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE MELEE_HORDE NOTIFY_OF_PREATTACK ARMY_SUMMARY LARGE_RECTANGLE_PATHFIND //UNATTACKABLE 

	ThreatLevel = GONDOR_FIGHTER_HORDE_THREAT
	ThreatBreakdown GondorFighterHorde_DetailedThreat
		AIKindOf = INFANTRY
	End
	
	Body = ImmortalBody ModuleTag_ImmortalBody
		MaxHealth = 1
	End

	#include "..\..\..\includes\CaptureBuilding.inc"
	
	Behavior = StancesBehavior ModuleTag_StancesBehavior
		StanceTemplate = FighterHorde
	End
	
	Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
		AutoAcquireEnemiesWhenIdle	= Yes ATTACK_BUILDINGS
		MoodAttackCheckRate			= 500
		MaxCowerTime				= 5000
		MinCowerTime				= 3000
		AILuaEventsList				= InfantryFunctions
		AttackPriority				= AttackPriority_Infantry
	End

	Behavior = HordeContain ModuleTag_HordeContain
		FrontAngle = 270
		FlankedDelay = 2000
		ObjectStatusOfContained = 
		InitialPayload = RohanFighter GOOD_MEN_GIANT_HORDE_SIZE
		Slots = 15
		PassengerFilter	= NONE +INFANTRY
		ShowPips = No
		ThisFormationIsTheMainFormation = Yes	//Used to determine which armorset to use (and anything else we want!)
		RandomOffset=X:0 Y:0
		MeleeBehavior = Amoeba
		End

		// Banner Carrier info		
		BannerCarriersAllowed	= GondorInfantryBanner										// types of units that are allowed as banner carriers
		BannerCarrierPosition	= UnitType:RohanFighter	Pos:X:70.0 Y:0.0		// (DEFAULT) position of banner carrier
		
		RankInfo = RankNumber:1 UnitType:RohanFighter Position:X:50 Y:0			Position:X:50 Y:20				Position:X:50 Y:-20				Position:X:50 Y:40				Position:X:50 Y:-40 
		RankInfo = RankNumber:2 UnitType:RohanFighter Position:X:30 Y:0 Leader 1 0	Position:X:30 Y:20 Leader 1 1	Position:X:30 Y:-20 Leader 1 2	Position:X:30 Y:40 Leader 1 3	Position:X:30 Y:-40 Leader 1 4
		RankInfo = RankNumber:3 UnitType:RohanFighter Position:X:10 Y:0 Leader 2 0	Position:X:10 Y:20 Leader 2 1	Position:X:10 Y:-20 Leader 2 2	Position:X:10 Y:40 Leader 2 3	Position:X:10 Y:-40 Leader 2 4
		
		RanksToReleaseWhenAttacking = 1 

		AlternateFormation = GondorFighterHordeBlock
		MeleeAttackLeashDistance = 1   //How far the hordes	can	move from the center of	the	horde when melee attacking.				  
		BackUpMinDelayTime		 = 1	//The minimum amount of	time to	delay before backing up
		BackUpMaxDelayTime		 = 3000	//The maximum amount of	time to	delay before backing up
		BackUpMinDistance		 = 1	//The minimum number of	cells to backup
		BackUpMaxDistance		 = 3	//The maximum number of	cells to backup
		BackupPercentage		 = 80%	//The amount of	chance that	a unit will	back up.
	End

	Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
		GravityMult = 1.0
	End
	
	Behavior = CommandButtonHuntUpdate ModuleTag_CommandButtonHuntUpdate
	End
  
   	Behavior = EmotionTrackerUpdate	Module_EmotionTracker
		TauntAndPointDistance	 = INFANTRY_TAUNT_POINT_RADIUS	   // max distance to taunted/pointed objet
		TauntAndPointUpdateDelay = 1000		   // how often	scan (milliseconds)
		TauntAndPointExcluded	 = NONE
		AfraidOf				 = EMOTION_AFRAIDOF_OBJECTFILTER
		AlwaysAfraidOf			 = EMOTION_ALWAYS_AFRAIDOF_OBJECTFILTER
		PointAt					 = EMOTION_POINTAT_OBJECTFILTER
		HeroScanDistance		 = 150
		FearScanDistance		 = INFANTRY_FEAR_SCAN_RADIUS

		AddEmotion			=	Terror_Base
		AddEmotion			=	Doom_Base				//OVERRIDE
			//StartFXList		=	FX_GondorSoldierDoom			//these have been hooked up in the FXList.INI
			//End

		AddEmotion			=   BraceForBeingCrushed_Base
		
		AddEmotion			=	UncontrollableFear_Base			//OVERRIDE
			//StartFXList		=	FX_GondorSoldierFear
			//End
		
		AddEmotion			=	FearIdle_Base				//OVERRIDE
			//StartFXList		=	FX_GondorSoldierFear
			//End
		
		AddEmotion			=	FearBusy_Base				//OVERRIDE
			//StartFXList		=	FX_GondorSoldierFear
			//End
	
		AddEmotion			=	Point_Base				//OVERRIDE
			//Duration		=	13980
			//StartFXList		=	FX_GondorSoldierPoint
			//End
		
		AddEmotion			=	Taunt_Base				//OVERRIDE
 			//AttributeModifier	=	GondorFighterTaunt
 			//End		
 		
 		AddEmotion			=	CheerIdle_Base
		AddEmotion			=	CheerBusy_Base
		AddEmotion			=	HeroCheerIdle_Base
		AddEmotion			=	HeroCheerBusy_Base
		AddEmotion			=	Alert_Base
	End
	
	Behavior = PickupStuffUpdate ModuleTag_PickupStuffUpdate
		SkirmishAIOnly = Yes
		StuffToPickUp = NONE +CRATE
		ScanRange = 200
		ScanIntervalSeconds = 0.5
	End
  
	LocomotorSet
		Locomotor	 = NormalMeleeHordeLocomotor
		Condition	 = SET_NORMAL
		Speed		 = NORMAL_FOOT_MED_HORDE_SPEED	; RotWK originally NORMAL_FOOT_SLOW_HORDE_SPEED
	End
	
	LocomotorSet
		Locomotor	 = ScaredMeleeHordeLocomotor
		Condition	 = SET_SCARED
		Speed		 = NORMAL_FOOT_MED_HORDE_SPEED
	End
	
	Behavior = ProductionUpdate ProductionUpdateModuleTag
		GiveNoXP = Yes
	End

	Behavior = LevelUpUpgrade ModuleTag_BasicTraining
		TriggeredBy = Upgrade_GondorBasicTraining
		LevelsToGain = 1
		LevelCap = 2
	End
	
	Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality
		TriggeredBy = Upgrade_GondorForgedBlades
	End
	
	Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality2
		TriggeredBy = Upgrade_GondorHeavyArmor
	End
	
	
	/////////////////////
	// AISpecialPowers
	/////////////////////
	
	Behavior = AISpecialPowerUpdate RohanFighterHordeCaptureBuildingAI
		CommandButtonName = Command_CaptureBuilding
		SpecialPowerAIType = AI_SPECIAL_POWER_CAPTURE_BUILDING
	End
	
	Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle
		CommandButtonName = Command_SetStanceBattle
		SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE
	End

	Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive
		CommandButtonName = Command_SetStanceAggressive
		SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE
	End

	Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround
		CommandButtonName = Command_SetStanceHoldGround
		SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND
	End
	
	CommandSet = RohanFighterHordeCommandSet

	Geometry = BOX
	GeometryMajorRadius = 30.0
	GeometryMinorRadius = 45.0
	GeometryHeight = 20.0
	GeometryIsSmall = No
	
	
	//-------------------------------------------------------------------------------------------------
	// World Map specific data
	//-------------------------------------------------------------------------------------------------
	
	// *** AUTO RESOLVE DATA ***
	AutoResolveUnitType = AutoResolveUnit_Soldier
	AutoResolveCombatChain = AutoResolve_SoldierCombatChain
	
	AutoResolveBody = AutoResolve_GondorFighterHordeBody

	AutoResolveArmor
		RequiredUpgrades = Upgrade_GondorHeavyArmor
		Armor = AutoResolve_GondorSoldierHeavyArmor
	End

	AutoResolveArmor
		ExcludedUpgrades = Upgrade_GondorHeavyArmor
		Armor = AutoResolve_GondorSoldierArmor
	End

	AutoResolveWeapon
		RequiredUpgrades = Upgrade_GondorForgedBlades
		Weapon = AutoResolve_GondorSoldierUpgradedWeapon
	End

	AutoResolveWeapon
		ExcludedUpgrades = Upgrade_GondorForgedBlades
		Weapon = AutoResolve_GondorSoldierWeapon
	End

	WorldMapArmoryUpgradesAllowed = Upgrade_GondorBasicTraining Upgrade_GondorForgedBlades Upgrade_GondorHeavyArmor
End

ChildObject RohanFighterHorde_Summoned RohanFighterHorde
	IsTrainable	=	No
	CommandPoints 	=	0
	CommandSet	=	RohanFighterHordeCommandSet_Summoned
	EquivalentTo	  =	RohanFighterHorde

	DisplayName  =  OBJECT:HordeRohanSoldier

	KindOf = SUMMONED SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE MELEE_HORDE NOTIFY_OF_PREATTACK ARMY_SUMMARY LARGE_RECTANGLE_PATHFIND //UNATTACKABLE 

	Behavior = HordeContain ModuleTag_HordeContain
		FrontAngle 	= 270
		FlankedDelay 	= 2000
		ObjectStatusOfContained = 
		InitialPayload 	= GondorFighter_Summoned GOOD_MEN_GIANT_HORDE_SIZE
		Slots 		= 15
		PassengerFilter	= NONE +INFANTRY
		ShowPips 	= No
		ThisFormationIsTheMainFormation = Yes			//Used to determine which armorset to use (and anything else we want!)
		RandomOffset	= X:0 Y:0
		MeleeBehavior 	= Amoeba
		End

		RankInfo = RankNumber:1 UnitType:GondorFighter_Summoned Position:X:50 Y:0			Position:X:50 Y:20				Position:X:50 Y:-20				Position:X:50 Y:40				Position:X:50 Y:-40 
		RankInfo = RankNumber:2 UnitType:GondorFighter_Summoned Position:X:30 Y:0 Leader 1 0	Position:X:30 Y:20 Leader 1 1	Position:X:30 Y:-20 Leader 1 2	Position:X:30 Y:40 Leader 1 3	Position:X:30 Y:-40 Leader 1 4
		RankInfo = RankNumber:3 UnitType:GondorFighter_Summoned Position:X:10 Y:0 Leader 2 0	Position:X:10 Y:20 Leader 2 1	Position:X:10 Y:-20 Leader 2 2	Position:X:10 Y:40 Leader 2 3	Position:X:10 Y:-40 Leader 2 4
		
		RanksToReleaseWhenAttacking = 1 

		AlternateFormation = GondorFighterHordeBlock
		MeleeAttackLeashDistance = 1   //How far the hordes	can	move from the center of	the	horde when melee attacking.				  
		BackUpMinDelayTime		 = 1	//The minimum amount of	time to	delay before backing up
		BackUpMaxDelayTime		 = 3000	//The maximum amount of	time to	delay before backing up
		BackUpMinDistance		 = 1	//The minimum number of	cells to backup
		BackUpMaxDistance		 = 3	//The maximum number of	cells to backup
		BackupPercentage		 = 80%	//The amount of	chance that	a unit will	back up.
	End
	
	Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate
	// This one displays the timer, but the one in the uint does the work 
		MinLifetime		= CREATE_A_HERO_REINFORCEMENT_LIFETIME
		MaxLifetime		= CREATE_A_HERO_REINFORCEMENT_LIFETIME
		DeathType		= FADED
	End	

End

//------------------------------------------------------------------------------
ChildObject RohanFighterHordeBlock RohanFighterHorde

	// Note - for alternate formations, all info outside of the Contain Behavior module is ignored.
	// Any modifications need to be done via the Attribute Modifiers in the contain module. 
	Behavior = HordeContain ModuleTag_HordeContain
		FrontAngle						= 270
		FlankedDelay					= 2000
		ObjectStatusOfContained			= 
		InitialPayload					= GondorFighter GOOD_MEN_GIANT_HORDE_SIZE
		Slots							= 15
		PassengerFilter					= NONE +INFANTRY
		ShowPips						= No
		ThisFormationIsTheMainFormation = No	//Used to determine which armorset to use (and anything else we want!)
		AttributeModifiers				= GondorFighterBlock
		RandomOffset					= X:0 Y:0
		MeleeBehavior = Amoeba
		End
		
		// Banner Carrier info		
		BannerCarriersAllowed	= GondorInfantryBanner										// types of units that are allowed as banner carriers
		BannerCarrierPosition	= UnitType:RohanFighter	Pos:X:46.0 Y:0.0		// (DEFAULT) position of banner carrier
		
		RankInfo = RankNumber:1 UnitType:RohanFighter Position:X:34 Y:0			Position:X:34 Y:10				Position:X:34 Y:-10				Position:X:34 Y:20				Position:X:34 Y:-20
		RankInfo = RankNumber:2 UnitType:RohanFighter Position:X:22 Y:0 Leader 1 0	Position:X:22 Y:10 Leader 1 1	Position:X:22 Y:-10 Leader 1 2	Position:X:22 Y:20 Leader 1 3	Position:X:22 Y:-20 Leader 1 4
		RankInfo = RankNumber:3 UnitType:RohanFighter Position:X:10 Y:0 Leader 2 0	Position:X:10 Y:10 Leader 2 1	Position:X:10 Y:-10 Leader 2 2	Position:X:10 Y:20 Leader 2 3	Position:X:10 Y:-20 Leader 2 4
		
		RanksToReleaseWhenAttacking = 1
				
		AlternateFormation = RohanFighterHorde
		MeleeAttackLeashDistance = 1   //How far the hordes	can	move from the center of	the	horde when melee attacking.				  
		BackUpMinDelayTime		 = 1	//The minimum amount of	time to	delay before backing up
		BackUpMaxDelayTime		 = 3000	//The maximum amount of	time to	delay before backing up
		BackUpMinDistance		 = 1	//The minimum number of	cells to backup
		BackUpMaxDistance		 = 3	//The maximum number of	cells to backup
		BackupPercentage		 = 80%	//The amount of	chance that	a unit will	back up.		
	End
End


#2 Pixel

Pixel

  • Hosted
  • 2,451 posts
  • Location:London, UK

Posted 30 September 2008 - 03:24 AM

Model will still appear if the texture isnt in the asset, It will just show pink. Maybe you should upload your big file or asset.dat?

The circle around the units is controlled by experience levels, You need to create them.

Models go inside a directory alike so, art/w3d/00/modelhere (00 Being replaced by the first two letters of your model name)

Textures go inside a directory alike so, art/compiledtextures/00/texturehere (00 Being replaced by the first two letters of your texture name)

Each model and texture with a different names must have seperate folders for example,
guaragorn.tga = art/compiledtextures/gu/guaragorn.tga
ruLegolas.ga = art/compiledtextures/ru/rulegolas.tga

#3 TheWickedOne

TheWickedOne

    The Unforgivable One

  • Project Team
  • 422 posts
  • Location:U.S.A
  • Projects:View "About Me" Page
  •  Game Coder

Posted 30 September 2008 - 03:53 AM

You were right, it was the asset, i don't know why it the textures and W3D file did not going in before when i did it.

The Shield texture is not appearing so i'm gonna check if i typed it wrong or something but the thing is the forged blades upgrade, when i equiped it on them their swords get like a box around it. I uploaded the picture.

Attached Files



#4 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 30 September 2008 - 01:31 PM

I guess that the fx that should appear when the forged blades is made is done incorrectly or you might not have the correct texture for it :shiftee:
Ridder Geel

#5 TheWickedOne

TheWickedOne

    The Unforgivable One

  • Project Team
  • 422 posts
  • Location:U.S.A
  • Projects:View "About Me" Page
  •  Game Coder

Posted 30 September 2008 - 06:27 PM

I'm gonna try using the Men texture, just to see what happens.

#6 TheWickedOne

TheWickedOne

    The Unforgivable One

  • Project Team
  • 422 posts
  • Location:U.S.A
  • Projects:View "About Me" Page
  •  Game Coder

Posted 30 September 2008 - 08:14 PM

I used the men texture for upgraded blades and it looks good cause it does not have the box around it, the shields don't appear though, i think i might have put them on the wrong place

//-------------------------------------------------------------------------
	//
	//	Sub object upgrading.
	//
	Behavior = SubObjectsUpgrade Armor_Upgrade
		TriggeredBy		= Upgrade_GondorHeavyArmor
		UpgradeTexture	= ruspearman.tga 0 ruspearman.tga
		UpgradeTexture	= GUManAtArms.tga 0 ruwarweap.tga
		UpgradeTexture	= rushield04.tga 0 rushield.tga
		RecolorHouse	= Yes
		ExcludeSubobjects = Forged_Blade
	End
	
	Behavior = SubObjectsUpgrade ForgedBlade_Upgrade
		TriggeredBy		= Upgrade_GondorForgedBlades
		ShowSubObjects	= Forged_Blade
	End	
	//-------------------------------------------------------------------------


I wanted to make it so that when you buy the Rohan Fighters, they would have a simple shield and when you upgrade them, their shield changes.

Shield Download Page: Here

I wanted rushield04.tga for upgraded and rushield.tga for non-upgraded.

#7 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 30 September 2008 - 08:55 PM

Do you upgrade the units with
Upgrade_GondorHeavyArmor
or with the Rohan version?
it makes a big difference :shiftee:
Ridder Geel

#8 TheWickedOne

TheWickedOne

    The Unforgivable One

  • Project Team
  • 422 posts
  • Location:U.S.A
  • Projects:View "About Me" Page
  •  Game Coder

Posted 30 September 2008 - 09:24 PM

I don't really know if i did, the code is at the top, i don't think i took out the UpgradeGondorHeavyArmor code out, i can still give them the upgrade, it just dos not do anything to the texture. They appear without a shield and when they are upgrade, they get no shield.

#9 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 30 September 2008 - 09:35 PM

so the button in their command set upgrades the unit with this upgrade: Upgrade_GondorHeavyArmor ?
Check this, it might be the problem :shiftee:
Ridder Geel

#10 TheWickedOne

TheWickedOne

    The Unforgivable One

  • Project Team
  • 422 posts
  • Location:U.S.A
  • Projects:View "About Me" Page
  •  Game Coder

Posted 30 September 2008 - 09:59 PM

Yep, here is the code:
CommandSet RohanFighterHordeCommandSet
	1 	= Command_ToggleStance	
	2	= Command_ToggleFormationGondorFighter
	3 	= Command_PurchaseUpgradeGondorForgedBlades
	4	= Command_PurchaseUpgradeGondorHeavyArmor
	5	= Command_PurchaseUpgradeGondorBasicTraining
	12	= Command_CaptureBuilding
	13	= Command_AttackMove
	14	= Command_Stop
	16	  = Command_SetStanceBattle
	17	  = Command_SetStanceAggressive
	18	  = Command_SetStanceHoldGround
End

Are you sure though, i have the textures on the right place. The rohanfighter.ini is in the first post.

#11 TheWickedOne

TheWickedOne

    The Unforgivable One

  • Project Team
  • 422 posts
  • Location:U.S.A
  • Projects:View "About Me" Page
  •  Game Coder

Posted 01 October 2008 - 02:02 AM

I have tried everything i could think off and still nothing.

#12 Wolf

Wolf
  • Members
  • 31 posts
  • Location:New York
  • Projects:Ages of Middle Earth
  •  Game & Program Coder, Website Designer

Posted 02 October 2008 - 12:51 AM

hm, i've never had the problem. Send theDeadPlayer a message with the problem, he might help out, as for the rest, i can't help you Wicked, sorry.
Posted Image
Posted Image




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users