Jump to content


Request a Tutorial


37 replies to this topic

#26 CJ

    Rocket soldier

  • Member Test
  • 2,144 posts
  • Projects: Nothing yet

Posted 08 May 2009 - 13:36

IMHO, there should be a bit more tutorials about modeling.
I mean, the few ones available on this site have either dead links or are inaccurate, and this makes it impossible to new users to learn how to model (and maybe to help on some projects then... )

View PostChyros, on 11 November 2013 - 18:21, said:

I bet I could program an internet


#27 Pav:3d

    YOUR WORLDS WILL BECOME OUR LABORATORIES

  • Project Leader
  • 7,224 posts
  • Projects: EC, CORE, ER

Posted 08 May 2009 - 14:59

View PostWizard, on 8 May 2009, 14:10, said:

TBH Pav3d, based on some of your recent work, you really should make a few skinning tutorials. Bob's is good, but it never hurts to have more. Our modding tutorials are older than 50% of the members.

Ive been meaning to make one for a while, so here it is. It may be a bit all over the place since there is alot to cram in 8|

Posted Image

Posted Image

#28 JJ

    Half dead member

  • Project Leader
  • 3,294 posts
  • Projects: Real life things, personal RA3 mod

Posted 09 May 2009 - 02:42

View PostPav3d, on 8 May 2009, 20:39, said:

And something that no-one seems to point out, benevel and emboss is the most useful blending option ever when it comes to ZH skinning.

Yes Pav3d, forgot to mention that. It is indeed very useful, I use it for every single face on the model.

#29 cccdfern

    Professional

  • Member
  • 312 posts
  • Projects: FoxMod

Posted 14 September 2009 - 23:12

Are you able to tell me why this unit I've added can't be built?
Heres the coding i've used:



;------------------------------------------------------------------------------
Object AmericaTechJeep

; *** ART Parameters ***
  SelectPortrait         = SUTechnical_L 
  ButtonImage            = SUTechnical

;UpgradeCameo1 = Upgrade_GLAAPBullets
;UpgradeCameo2 = Upgrade_GLAJunkRepair
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE

  Draw = W3DTruckDraw ModuleTag_01

    ExtraPublicBone = Dum_Turret 

    DefaultConditionState
      Model         = UVTechJeep
    End
    ConditionState  = REALLYDAMAGED
      Model         = UVTechJeep_d
    End
    ConditionState  = RUBBLE
      Model         = UVTechJeep_d
    End

    OkToChangeModelColor        = Yes
    TrackMarks                  = EXTireTrack.tga
    Dust                        = TechnicalDust
    DirtSpray                   = RocketBuggyDirtSpray
    PowerslideSpray             = RocketBuggyDirtPowerSlide

   ; These parameters are only used if the model has a separate suspension, 
   ; and the locomotor has HasSuspension = Yes.
    LeftFrontTireBone           = Tire01
    RightFrontTireBone          = Tire02
    LeftRearTireBone            = Tire03
    RightRearTireBone           = Tire04
    TireRotationMultiplier      = 0.2       ; this * speed = rotation.
    PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
  End

  Draw = W3DModelDraw ModuleTag_02

    OkToChangeModelColor        = Yes
    AttachToBoneInAnotherModule = Dum_Turret

   ; ------------------ basic technical ------------------------
    DefaultConditionState
      Model = UITech_SKN
      Turret = Dum-TurManMVR
      TurretArtAngle = 180 ; this turret has art pointed 180 degrees backward
      HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03
      IdleAnimation = UITech_SKL.UITech_STA 0 6
      IdleAnimation = UITech_SKL.UITech_IDA
      IdleAnimation = UITech_SKL.UITech_IDB
      AnimationMode = ONCE
      ShowSubObject = 20Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone = PRIMARY Muzzle01
    End

    ConditionState = RUBBLE MOVING TURRET_ROTATE
      Animation = None
      HideSubObject = UITech-SKN
      ShowSubObject = 20Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone = PRIMARY Muzzle01
    End

    ConditionState = MOVING
      Animation = UITech_SKL.UITech_MVB
      AnimationMode = LOOP
      ShowSubObject = 20Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone = PRIMARY Muzzle01
    End

    ConditionState = TURRET_ROTATE
      Animation = UITech_SKL.UITech_TNA
      AnimationMode = LOOP
      ShowSubObject = 20Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone = PRIMARY Muzzle01
    End
    AliasConditionState = TURRET_ROTATE MOVING
    AliasConditionState = TURRET_ROTATE FIRING_A
    AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
    AliasConditionState = TURRET_ROTATE RELOADING_A
    AliasConditionState = TURRET_ROTATE MOVING FIRING_A
    AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
    AliasConditionState = TURRET_ROTATE MOVING RELOADING_A

    ConditionState = FIRING_A 
      Animation = UITech_SKL.UITech_ATA
      AnimationMode = LOOP
      ShowSubObject = 20Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX01
      WeaponFireFXBone = PRIMARY Muzzle01
    End

   ; AliasConditionState is a new keyword that says,
   ; "give me another ConditionState exactly like the previous
   ; one, except with different conditions". Useful when you
   ; have several states that are the same with only different condition bits.
    AliasConditionState = BETWEEN_FIRING_SHOTS_A
    AliasConditionState = RELOADING_A

   ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
    AliasConditionState = MOVING FIRING_A
    AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
    AliasConditionState = MOVING RELOADING_A

   ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------
    ConditionState = WEAPONSET_CRATEUPGRADE_ONE
      IdleAnimation = UITech_SKL.UITech_STA 0 6
      IdleAnimation = UITech_SKL.UITech_IDA
      IdleAnimation = UITech_SKL.UITech_IDB
      AnimationMode = ONCE
      ShowSubObject = 50Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX02
      WeaponFireFXBone = PRIMARY Muzzle02
      WeaponLaunchBone = PRIMARY Muzzle02
    End

    ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE
      Animation = None
      HideSubObject = UITech-SKN
      ShowSubObject = 50Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX02
      WeaponFireFXBone = PRIMARY Muzzle02
      WeaponLaunchBone = PRIMARY Muzzle02
    End

    ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE
      Animation = UITech_SKL.UITech_MVB
      AnimationMode = LOOP
      ShowSubObject = 50Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX02
      WeaponFireFXBone = PRIMARY Muzzle02
      WeaponLaunchBone = PRIMARY Muzzle02
    End

    ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE
      Animation = UITech_SKL.UITech_TNA
      AnimationMode = LOOP
      ShowSubObject = 50Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX02
      WeaponFireFXBone = PRIMARY Muzzle02
      WeaponLaunchBone = PRIMARY Muzzle02
    End
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A

    ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 
      Animation = UITech_SKL.UITech_ATA
      AnimationMode = LOOP
      ShowSubObject = 50Cal
      WeaponMuzzleFlash = PRIMARY MuzzleFX02
      WeaponFireFXBone = PRIMARY Muzzle02
      WeaponLaunchBone = PRIMARY Muzzle02
    End

   ; AliasConditionState is a new keyword that says,
   ; "give me another ConditionState exactly like the previous
   ; one, except with different conditions". Useful when you
   ; have several states that are the same with only different condition bits.
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A

   ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A
    AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A
  End

; ***DESIGN parameters ***
  DisplayName         = OBJECT:TechJeep
  Side                = America
  EditorSorting       = VEHICLE
  TransportSlotCount  = 3                ;how many "slots" we take in a transport (0 == not transportable)

  WeaponSet
    Conditions = None 
    Weapon = PRIMARY MilitiaTankGunWeapon
  End
  ArmorSet
    Conditions      = None
    Armor           = TruckArmor
    DamageFX        = TruckDamageFX
  End
;update cost and time fields in Object GLAVehicleTechnical, or else they won't work
;BuildCost            = 300
;BuildTime            = 5.0         ;in seconds    
  VisionRange           = 150
  ShroudClearingRange   = 300
  Prerequisites
    Object = AmericaSupplyCenter
  End

  ExperienceValue         = 25 25 50 100   ;Experience point value at each level
  ExperienceRequired      = 0 50 75 150 ;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              = GLAVehicleTechnicalCommandSet

; *** AUDIO Parameters ***
  VoiceSelect = TechnicalVoiceSelect
  VoiceMove = TechnicalVoiceMove
  VoiceGuard = TechnicalVoiceMove
  VoiceAttack = TechnicalVoiceAttack
  SoundMoveStart = TechnicalMoveStart
  SoundMoveStartDamaged = TechnicalMoveStart
  SoundEnter = HumveeEnter
  SoundExit = HumveeExit

  UnitSpecificSounds
; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
    VoiceCreate          = TechnicalVoiceCreate
    TurretMoveStart = NoSound
    TurretMoveLoop = TurretMoveLoop
    TruckLandingSound = RocketBuggyLand
    TruckPowerslideSound = RocketBuggyPowerslide
    VoiceSalvage = TechnicalVoiceSalvage
    VoiceCrush      = TechnicalVoiceCrush
    VoiceUnload     = TechnicalVoiceUnload
    VoiceEnter = TechnicalVoiceMove
  End

; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT

  Body = ActiveBody ModuleTag_04
    MaxHealth       = 280
    InitialHealth   = 280

   ; 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 = 360
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 50
  End
  Behavior = AIUpdateInterface ModuleTag_05
    Turret
      TurretTurnRate = 240      ; turn rate, in degrees per sec
      NaturalTurretAngle = 0
      MinIdleScanAngle = 30     ; in degrees off the natural turret angle
      MaxIdleScanAngle = 60     ; in degrees off the natural turret angle
      MinIdleScanInterval = 5000; in milliseconds
      MaxIdleScanInterval = 10000; in milliseconds
      ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
    End
    AutoAcquireEnemiesWhenIdle = Yes
  End
  Locomotor = SET_NORMAL TechnicalLocomotor
  Behavior = PhysicsBehavior ModuleTag_06
    Mass = 40.0
  End
  Behavior = AutoHealBehavior ModuleTag_07
    HealingAmount = 2
    HealingDelay = 1000; msec
    TriggeredBy = Upgrade_GLAJunkRepair
  End

  Behavior = FlammableUpdate ModuleTag_09
    AflameDuration = 5000        ; If I catch fire, I'll burn for this long...
    AflameDamageAmount = 3      ; taking this much damage...
    AflameDamageDelay = 500      ; this often.
  End

  Behavior                 = TransitionDamageFX ModuleTag_10
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
  End

  Behavior = DestroyDie ModuleTag_11
    DeathTypes = NONE +CRUSHED +SPLATTED
  End

; A crushing defeat
  Behavior = FXListDie ModuleTag_12
    DeathTypes = NONE +CRUSHED +SPLATTED
    DeathFX = FX_CarCrush
  End
  Behavior = CreateObjectDie ModuleTag_13
    DeathTypes = NONE +CRUSHED +SPLATTED
    CreationList = OCL_TechnicalJeep_CrushEffect
  End
  Behavior = CreateCrateDie ModuleTag_14
    CrateData = SalvageCrateData
   ;CrateData = EliteTankCrateData
   ;CrateData = HeroicTankCrateData
  End

  Behavior = SlowDeathBehavior ModuleTag_15
    DeathTypes = ALL -CRUSHED -SPLATTED
    DestructionDelay = 500
    DestructionDelayVariance = 1500
    OCL = INITIAL OCL_TechnicalAirDeathStart
    FX = INITIAL FX_TechnicalAirDeathGroundPart
    OCL = FINAL OCL_RocketBuggyAirDeath
    FX = FINAL FX_RocketBuggyAirDeathAirPart   ; This happens in the air
  End

  Behavior = TransportContain ModuleTag_16
    Slots = 5
    AllowInsideKindOf   = INFANTRY
    DamagePercentToUnits = 10%
    GoAggressiveOnExit = Yes; AI Will tell people to set their mood to Aggressive on exiting
   End

  Behavior = WeaponBonusUpgrade ModuleTag_17; Not a full weapon set switch, just a number tweak reflected in a weapon. 
    TriggeredBy = Upgrade_GLAAPBullets
  End 

  Geometry = BOX
  GeometryMajorRadius = 18.0
  GeometryMinorRadius = 9.0
  GeometryHeight = 7.5     
  GeometryIsSmall = No    
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length

End

;------------------------------------------------------------------------------



CommandSet AmericaSupplyCenterCommandSet
  1 = Command_ConstructAmericaVehicleChinook
  2 = Command_ConstructAmericaVehicleSupplyTruck
  3 = Command_ConstructAmericaVehicleTechJeep
13 = Command_SetRallyPoint
14 = Command_Sell   
End





CommandButton Command_ConstructAmericaVehicleTechJeep
  Command       = UNIT_BUILD
  Object        = AmericaVehicleTechJeep
  TextLabel     = CONTROLBAR:ConstructAmericaVehicleTechJeep
  ButtonImage   = SUTechnical
  ButtonBorderType        = BUILD; Identifier for the User as to what kind of button this is
  DescriptLabel           = CONTROLBAR:ToolTipGLABuildTechnical
End

To listen and learn, or contribute and teach.

#30 Ion Cannon!

    Mountain Maniac

  • Gold Member
  • 5,812 posts
  • Projects: European Conflict - Particle FX & Coder

Posted 15 September 2009 - 02:04

Yes, your commandbutton tells it to build AmericaVehicleTechJeep but the object is actually called AmericaTechJeep.

Edited by Ion Cannon!, 15 September 2009 - 02:04.

Posted Image

Posted Image

#31 cccdfern

    Professional

  • Member
  • 312 posts
  • Projects: FoxMod

Posted 15 September 2009 - 03:42

delete post please

Edited by CCCD, 05 October 2009 - 20:22.

To listen and learn, or contribute and teach.

#32 GuardianTempest

    Regular

  • Member
  • 180 posts

Posted 03 July 2010 - 05:20

Making a new playable faction-done, simple enough with modified copy-pasta, now take it higher.
I want to know how to copy-paste an entire faction's worth of units to your own.
Once I did that, I'm going to replace and/or modify the units I just copied.
I'm going to copy....Laser Gen's units (Shw), that is.....how will I ever get to the INI's.
Going to have a try on Laser Gen's units in normal ZH.

And by that I also mean making INI files for them.

Edited by GuardianTempest, 03 July 2010 - 05:36.

OC's and stuff
DeviantArt
*RWUAAARAAUGHRWAGH!!*
--------------------------
Posted Image
"I am an artist of daydreams. With just a little material, be it a picture, audio or a simple thought, it could fuel a derivative masterpiece."
And I also do Walfas Comics...when I feel like it.

#33 Jordan

    Crazy Modder

  • Gold Member
  • 2,704 posts
  • Projects: C&C Crazy Mod Leader

Posted 04 July 2010 - 04:39

If you already have the factions, just copy/paste the unit coding, and then change the ObjectName and Side fields. Create new command buttons, which is just more copy/paste, create new command sets, again more copy/paste, add the command buttons to the command sets of your faction's buildings, and there you go.

Not really that much to it.

-Jordan

Edited by Jordan, 04 July 2010 - 04:39.

C&C Crazy Mod Version 0.55
^^^^The True Crazy Mod Starts Here^^^^
Posted Image

#34 GuardianTempest

    Regular

  • Member
  • 180 posts

Posted 04 July 2010 - 05:18

Thanks
OC's and stuff
DeviantArt
*RWUAAARAAUGHRWAGH!!*
--------------------------
Posted Image
"I am an artist of daydreams. With just a little material, be it a picture, audio or a simple thought, it could fuel a derivative masterpiece."
And I also do Walfas Comics...when I feel like it.

#35 pirate

    The friendly scourge of the seven seas

  • Project Leader
  • 1,256 posts
  • Projects: GenerationX, Forgotten Fury, European Conflict and more

Posted 06 July 2010 - 13:58

I would like a WND editing tutorial :P

coz simply removing buttons simply crashes the game. Ones that know what is more to it, please tell me :read:

(my goal was to remove the campaign and gen challenge buttons from the main menu)
Proud leader of Forgotten Fury and co-leader of European Conflict

Posted Image
Posted Image
Posted Image
Posted Image

#36 n5p29

    Lurker

  • Project Leader
  • 1,417 posts
  • Projects: NProject Mod, Recolonize, Tidal Wars

Posted 06 July 2010 - 15:57

View Postpirate, on 6 Jul 2010, 20:58, said:

(my goal was to remove the campaign and gen challenge buttons from the main menu)

there's a free downloadable WND that put Skirmish button on the main menu, replacing the Solo Play button.
CommieDog's "Skirmish on Main Menu" Utility

#37 VectorIV

    Casual

  • Member
  • 60 posts
  • Projects: C&C Generals Zero Hour : Enhanced
    Unannounced Red Alert 3 Project

Posted 23 August 2010 - 10:36

I would like a reflective water tutorial, anyone knows how to do it? Please tell me, I've been searching for this answer for a long time now. :P

#38 HawkBlade124

    Amateur

  • Member
  • 116 posts
  • Projects: C&C Generals Zero Hour: Forces Unknown

Posted 08 November 2010 - 20:06

I would like to know on how to make upgrades go from one side to another
Posted Image

If you want to join my mod team, click here C&C ZH: Forces Unkown

Marine: Oh say can you seeeeeeeeeeeee! By the dawn's early Life!
Commander: No its Light! Not life, how many times do i have to say it Private?
Marine: Uh, sorry sir, i won't fail you this time!
Commander: *whispers to him self* sure you will. Lets take it from the top! One, Two, Three!
Marine: Oh say can you seeeeeeeeeeeee! By the dawn's early Light! O'er the ramparts we watched, were so gallantly creaming.
Commander: No! *Sigh* what am i going to do with you soldier?





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users