1.1.1 - Open Up Ur Model
1.1.2a - Attach The Parts With Their Mothers If They Are Useless Alone ... That Means If There Are Any Thing On The Turret Other Than Housecolors Attach It To The Turret (BUT DONT ATTACH THE HOUSECOLORS) ... There Should Be Those Parts : Chassis, Turret, Barrel, Housecolors, And Treads
1.1.2b - Name The Parts As Following : The Chassis (big-part below the turret) as CHASSIS, The Turret as TURRET, The Treads As TREADS01 TREADS02 Or Attach Them With The Chassis, The Barrel As BARREL And The HouseColors As HOUSECOLOR01 HOUSECOLOR02 etc ...
1.1.3 - Link All Parts To Their Mothers ... That Means : Link The Turret And The Treads To The Chassis By Clicking On the "Select And Link" Button Then Select the Part U Want To Link To Its Mother Then Press "h" And Double-Click On The Mother-Part Do The Same For The Housecolors And Barrel ... (Link The Barrel With The Turret)
1.1.4 - When U Finish This Step press "h" then Display Subtree To Be Sure That U Linked Them right
1.1.5 - Fix The Pivot ... that means Telling The Game Where is The Top, Left, Front Of The Unit And Thats by Selecting All Objects, Then Clicking On hierarchy Then Affect Pivot Only And Then Allign To World, Red Arrow Should Be The Front, Blue Arrow Should be The Top And Green Should be The Left ... rotate the model until u have these fixed
Note : Select The Turret Then Hierarchy / Affect Pivot Only Then Center To Object ... and Like That The Turret Will Turn Correctly in-game Also Do That For Every Part Especially The chassis And The Turret
Now U Need To Add The Bones :
1.2.1 - First The Muzzle (Where The Weapon Come From) ... Create A 4-sided-sphere And Name It MUZZLE (or whatever but dont forget that name ) And Put It In The Right Place (At The End Of The Barrel) then Link It To The Barrel
1.2.2 - Then Where The Treads Tracks Begin ... Create a 4 sided sphere again And put one in the middle of each treads Then Call it TREADSFX01 And TREADSFX02 then Link Each One To The Right Tread
1.2.3 - The Smoke Bones These Bones Are Where The Smoke Come From When The Unit Is Damaged Put It Anywhere u want but Call It SMOKE01 SMOKE02 Etc... and dont forget to link it to the right part
1.2.4 - Now For The Muzzlefx thats the fire that come from the barrel when firing take it from the crusader model then put it in the end of the model And Link It to The Barrel
Now Select All The Bones ( Muzzle, MuzzleFX, Smoke, Treadsfx ) Click On The Utilities Button ( Look Like A Hammer ) Then Un-check the Export Geometry Checkbox And Export The Model As W3D And Put It In Game Directory\Art\W3D\
Note : If U Skinned it put the skin file in game directory\Art\Textures
Note 2 : The Skin Should be *.tga or *.dds
That Should Be Everything For Bonning ... For Pics And More Infos Go To : http://www.killasmods.gamemod.net
Now For Coding :
U Need First A Bigexporter Like FinalBig Or Something Like That To Extract The INI Files U Need From INIZH.big File
Extract commandset.ini ; commandbutton.ini To (Game Directory)\Data\Ini
2.1.1 - Open Up Notepad
2.1.2 - Paste This Code : And Read The Comments ( After ";" )
;------------------------------------------------------------------------------ Object AmericaNewUnit; <------------- Here Is The Name Of The Unit NAme It Whatever U Want ; *** ART Parameters *** SelectPortrait = SACLeopard_L ; <---------- The Image Of The Unit when u select it ButtonImage = SACLeopard ; <---------- The Image That Show When U Build It At The Warfactory UpgradeCameo1 = Upgrade_AmericaBattleDrone ; UpgradeCameo2 = Upgrade_AmericaScoutDrone ; UpgradeCameo3 = Upgrade_AmericaHellfireDrone ; <-- Here Are The Upgrades That The Unit Could Be Upgraded With UpgradeCameo4 = Upgrade_AmericaAdvancedTraining ; UpgradeCameo5 = Upgrade_AmericaCompositeArmor ; Draw = W3DTankDraw ModuleTag_01 DefaultConditionState Model = AVLeopard ; <-- The Model Name ( without .w3d ... Obviously :P ) Turret = Turret ; <-- What Did U Call The Turret ??? put it here :D WeaponFireFXBone = PRIMARY TurretMS ; <-- Where The Weapon Come From ... U called it Muzzle Remember ? :D ... so u should now call it here Muzzle WeaponRecoilBone = PRIMARY Barrel ; <-- The Barrel ... What Did u call it in the model ??? Put here its name WeaponMuzzleFlash = PRIMARY TurretFX ; <-- The Fire That Comes From The Barrel When Firing WeaponLaunchBone = PRIMARY TurretMS ; <-- Where The Weapon Come From ... U called it Muzzle Remember ? :D ... so u should now call it here Muzzle End ConditionState = REALLYDAMAGED Model = AVLeopard_D ; <-- Damaged Model Name End ConditionState = RUBBLE Model = AVLeopard_D ; <-- Very Damaged Model Name End TrackMarks = EXTnkTrack.tga TreadAnimationRate = 2.0 ; amount of tread texture to move per second TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving. TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting. OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = OBJECT:Crusader; <-- Csf Stuff When U Put The Cursor On The Unit Side = America ; <-- Which Side It Belongs to EditorSorting = VEHICLE ; <-- What Is It ? Infantry ? Tank ? Vehicle ? TransportSlotCount = 3 WeaponSet Conditions = None Weapon = PRIMARY CrusaderTankGun; <-- Here Is The Weapon It Will Use ... Extract The Weapon.ini From The INIZH.big If U want To Change End ArmorSet Conditions = None Armor = TankArmor ; <-- The Armor That The Unit Use ... Extract The Armor.ini From The INIZH.big If U want To Change DamageFX = TankDamageFX End BuildCost = 900 ; <-- How Much It Costs BuildTime = 10.0 ; <-- How Much Time It Takes To Be Built (In seconds) VisionRange = 150 ; <-- the Range Of The Guard Button ShroudClearingRange = 300 ; <-- how much does it see when moving Prerequisites Object = AmericaWarFactory ; <-- What Does It Need To Be Built End ExperienceValue = 100 100 200 400;Experience point value at each level ExperienceRequired = 0 200 300 600;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = AmericaTankCrusaderCommandSet ; *** AUDIO Parameters *** VoiceSelect = CrusaderTankVoiceSelect; VoiceMove = CrusaderTankVoiceMove ; VoiceGuard = CrusaderTankVoiceMove ; What Are The Sounds It Uses ... Extract The Speech.ini if U want To Change VoiceAttack = CrusaderTankVoiceAttack; SoundMoveStart = CrusaderTankMoveStart ; SoundMoveStartDamaged = CrusaderTankMoveStart ; UnitSpecificSounds ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs VoiceCreate = CrusaderTankVoiceCreate VoiceEnter = CrusaderTankVoiceMove TurretMoveStart = NoSound TurretMoveLoop = TurretMoveLoop SoundEject = PilotSoundEject VoiceEject = PilotVoiceEject VoiceCrush = CrusaderTankVoiceCrush End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE Body = ActiveBody ModuleTag_02 MaxHealth = 480; <-- Its Health InitialHealth = 480; <-- Its Health When U Build It ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 960 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 50 End Behavior = AIUpdateInterface ModuleTag_03 Turret TurretTurnRate = 180;60 // turn rate, in degrees per sec ControlledWeaponSlots= PRIMARY ; What Are The Weapon This Turn rate For End AutoAcquireEnemiesWhenIdle = Yes End Locomotor = SET_NORMAL CrusaderLocomotor ; Its Locomotor ( The Way It Moves ) Behavior = PhysicsBehavior ModuleTag_04 Mass = 50.0 End Behavior = ObjectCreationUpgrade ModuleTag_05 UpgradeObject = OCL_AmericanBattleDrone TriggeredBy = Upgrade_AmericaBattleDrone ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_06 UpgradeObject = OCL_AmericanScoutDrone TriggeredBy = Upgrade_AmericaScoutDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone End Behavior = ObjectCreationUpgrade ModuleTag_20 UpgradeObject = OCL_AmericanHellfireDrone TriggeredBy = Upgrade_AmericaHellfireDrone ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone End Behavior = ProductionUpdate ModuleTag_07 MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame End Behavior = ExperienceScalarUpgrade ModuleTag_08 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0;Increases experience gained by an additional 100% End Behavior = MaxHealthUpgrade ModuleTag_09 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End ; Turret fly off death Behavior = SlowDeathBehavior ModuleTag_10 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 500 DestructionDelayVariance = 100 FX = INITIAL FX_GenericTankDeathEffect OCL = MIDPOINT OCL_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion OCL = FINAL OCL_CrusaderTurret End ; Catch fire, and explode death Behavior = SlowDeathBehavior ModuleTag_11 DeathTypes = ALL -CRUSHED -SPLATTED ProbabilityModifier = 50 DestructionDelay = 2000 DestructionDelayVariance = 300 FX = INITIAL FX_CrusaderCatchFire OCL = FINAL OCL_GenericTankDeathEffect FX = FINAL FX_GenericTankDeathExplosion End Behavior = TransitionDamageFX ModuleTag_12 ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition End Behavior = DestroyDie ModuleTag_13 DeathTypes = NONE +CRUSHED +SPLATTED End ; A crushing defeat Behavior = FXListDie ModuleTag_14 DeathTypes = NONE +CRUSHED +SPLATTED DeathFX = FX_CarCrush End Behavior = CreateObjectDie ModuleTag_15 DeathTypes = NONE +CRUSHED +SPLATTED CreationList = OCL_CrusaderTank_CrushEffect End Behavior = CreateCrateDie ModuleTag_CratesChange CrateData = SalvageCrateData ;CrateData = EliteTankCrateData ;CrateData = HeroicTankCrateData End Behavior = EjectPilotDie ModuleTag_17 GroundCreationList = OCL_EjectPilotOnGround AirCreationList = OCL_EjectPilotViaParachute ExemptStatus = HIJACKED VeterancyLevels = ALL -REGULAR;only vet+ gives pilot End Behavior = MaxHealthUpgrade ModuleTag_18 TriggeredBy = Upgrade_AmericaCompositeArmor AddMaxHealth = 100.0 ChangeType = ADD_CURRENT_HEALTH_TOO ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH End Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Geometry = BOX ; Could be Cylinder Or Sphere GeometryMajorRadius = 15.0 GeometryMinorRadius = 10.0 GeometryHeight = 10.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length End
Note :If U Want To Understand Each Module ... Download Chris' Module List It's Good
2.1.3 - Now Save That As Anything.ini And put it in game directory\data\ini\object
2.1.4 - Now Open Commandset.ini And Search For : CommandSet AmericaWarFactoryCommandSet :
CommandSet AmericaWarFactoryCommandSet 1 = Command_ConstructAmericaTankCrusader 2 = Command_ConstructAmericaVehicleTomahawk 3 = Command_ConstructAmericaVehicleHumvee 4 = Command_ConstructAmericaVehicleMedic 5 = Command_ConstructAmericaVehiclePaladin 6 = Command_ConstructAmericaVehicleSentryDrone 7 = Command_ConstructAmericaVehicleAvenger 8 = Command_ConstructAmericaVehicleMicrowave 9 = Command_UpgradeAmericaSentryDroneGun 10 = Command_ConstructNewUnit; <------------------------------ Add This And Call It Watever U want And Copy It 11 = Command_UpgradeAmericaTOWMissile 13 = Command_SetRallyPoint 14 = Command_Sell End
2.1.5 - Now Open CommandButton.ini And Add This Anywhere :
CommandButton Command_ConstructNewUnit; <------------ Paste The Name U Used Here Command = UNIT_BUILD ; <------------ What Type is this button ? Build ? Upgrade ? Object = AmericaNewUnit ; <------------ Put Here The Name Of The Object U Put In The Anything.ini Remember :D TextLabel = CONTROLBAR:ConstructAmericaTankCrusader; <------- CSF Stuff ButtonImage = SACLeopard ; <------- Its Cameo ButtonBorderType = BUILD; Identifier for the User as to what kind of button this is DescriptLabel = CONTROLBAR:ToolTipUSABuildCrusader; <------- CSF Stuff End
Also If U Need More Infos About The Codes Read Bob's tutorial
Now Ure Done ... If Uve Done All This Right U Should Have Everything Running OK unless I made Any Error And I Hope Not
I hope U Appreciate This Tutorial It Took Me A While To Make