Jump to content


some help with .ini files


14 replies to this topic

#1 moetah

    Newbie

  • Member
  • 13 posts

Posted 19 September 2008 - 18:38

Hey. I'm trying to edit some units in Zero Hour(giving them other attacks and decrease the building time and things like that). So i downloaded XCC and opened some .ini files, and i changed some stuff, but I really dont know what do next. Could someone please explain me how to make the changes happen? Thanks in advance

#2 Zeke

    The X General

  • Project Team
  • 3504 posts
  • Projects: Deep Impact (formerly EC)

Posted 20 September 2008 - 05:56

save then exit?

Also you could just extract the INIs into your ZH directory in the Data/INI folder then use notepad to edit them. It's much easier.

Though doing this interferes with with online play and any mod you have installed.

#3 moetah

    Newbie

  • Member
  • 13 posts

Posted 23 September 2008 - 20:38

Thanks for the answere.

I copied all my zero hour files c:program files/ ea games so i won't fuck up my original game. And after that i extracted the .ini file for airforce general and changed the attack of a comanche. So when i start general from this directory i get a technical difficulties error now. What went wrong?

#4 Zeke

    The X General

  • Project Team
  • 3504 posts
  • Projects: Deep Impact (formerly EC)

Posted 24 September 2008 - 00:45

If you get a "technical difficulties" error it means you've fucked up somewhere, to find out where open worldbuilder it'll tell you where the error is then post the ini in question here, only then can we help you

#5 jend_maggot

    Newbie

  • Member
  • 17 posts

Posted 25 September 2008 - 02:35

sorry i post here...

i have some problem with .INI files too when i try to add a new item..

this is my .INI code:
CommandButton.INI
CommandButton Spec_Command_ConstructGLAInfantryJarmenKell
  Command       = UNIT_BUILD
  Object        = Spec_GLAInfantryJarmenKell
  TextLabel     = CONTROLBAR:ConstructGLAInfantryJarmenKell
  ButtonImage   = SUJarmenKell1    ;NOTE: Asset spelling mistake
  ButtonBorderType        = BUILD ; Identifier for the User as to what kind of button this is
  DescriptLabel           = CONTROLBAR:ToolTipGLABuildJarmenKell


CommandSet.INI
CommandSet Spec_ChinaBarracksCommandSet
  1 = Spec_Command_ConstructChinaInfantryRedguard
  2 = Spec_Command_ConstructChinaInfantryTankHunter
  3 = Spec_Command_ConstructChinaInfantryFlameThrower
  4 = Spec_Command_ConstructChinaInfantryHacker
  5 = Spec_Command_ConstructChinaInfantryBlackLotus
  6 = Spec_command_ConstructAmericaInfantryPathfinder
  7 = Spec_command_constructGLAInfantryJarmenKell
 11 = Command_GLAUpgradeKVSKRifle
 12 = Command_UpgradeChinaRedguardCaptureBuilding
 13 = Command_UpgradeChinaMines
 14 = Command_Sell 
End


SpecialWeaponGeneral.INI
;----------------------------------------------------------------------------
Object Spec_GLAInfantryJarmenKell

  Behavior = AutoHealBehavior ModuleTag_workaroundbecausestupidautohealdoesntwork
    HealingAmount = 4
    HealingDelay = 600 ; msec
    HealingDelay = 1000
    TriggeredBy = Upgrade_Veterancy_ELITE
  End

  ; *** ART Parameters ***
  SelectPortrait         = SUDemoJarmenKell_L
  ButtonImage            = SUDemoJarmenKell
  
  UpgradeCameo1 = Upgrade_GLAAPBullets
  UpgradeCameo2 = Upgrade_GLAKellBetterRifle
  ;UpgradeCameo3 = NONE
  ;UpgradeCameo4 = NONE
  ;UpgradeCameo5 = NONE
  
  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes

    ; --- idle
    DefaultConditionState
      Model             = UIHERO_SKN
      IdleAnimation     = UIHERO_SKL.UIHERO_STA 0 21
      IdleAnimation     = UIHERO_SKL.UIHERO_IDA
      IdleAnimation     = UIHERO_SKL.UIHERO_IDB
      AnimationMode     = ONCE
      WeaponFireFXBone  = PRIMARY Muzzle
      WeaponMuzzleFlash = PRIMARY MuzzleFX
      WeaponFireFXBone  = SECONDARY Muzzle
      WeaponMuzzleFlash = SECONDARY MuzzleFX
      TransitionKey     = TRANS_Stand
    End

    ConditionState      = REALLYDAMAGED
      IdleAnimation     = UIHERO_SKL.UIHERO_ISTA 0 30
      IdleAnimation     = UIHERO_SKL.UIHERO_IIDA
      IdleAnimation     = UIHERO_SKL.UIHERO_IIDB
      AnimationMode     = ONCE
      TransitionKey     = TRANS_StandInjured
    End

    TransitionState     = TRANS_Stand TRANS_StandInjured
      Animation         = UIHERO_SKL.UIHERO_ISTAHIT
      AnimationMode     = ONCE
    End

    ; --- attack

    ConditionState      = FIRING_A 
      Animation         = UIHERO_SKL.UIHERO_ATA 
      AnimationMode     = ONCE
      TransitionKey     = TRANS_FiringA
      AnimationSpeedFactorRange = 1.5 1.5
    End

    ConditionState      = BETWEEN_FIRING_SHOTS_A
      Animation         = UIHERO_SKL.UIHERO_ATA 
      AnimationMode     = MANUAL
      Flags             = START_FRAME_LAST
      WaitForStateToFinishIfPossible = TRANS_FiringA
    End
    AliasConditionState = RELOADING_A
  
    ConditionState      = FIRING_A REALLYDAMAGED
      Animation         = UIHERO_SKL.UIHERO_IATA2
      AnimationMode     = ONCE
      TransitionKey     = TRANS_FiringAInjured
      AnimationSpeedFactorRange = 1.5 1.5
    End

    ConditionState      = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
      Animation         = UIHERO_SKL.UIHERO_IATA2
      AnimationMode     = MANUAL
      Flags             = START_FRAME_LAST
      WaitForStateToFinishIfPossible = TRANS_FiringAInjured
    End
    AliasConditionState = RELOADING_A REALLYDAMAGED

    TransitionState     = TRANS_FiringA TRANS_FiringAInjured
      Animation         = UIHERO_SKL.UIHERO_IATAHIT
      AnimationMode     = ONCE
    End

    ; --- attack with sniper vehicle kill weapon

    ConditionState      = FIRING_B 
      Animation         = UIHERO_SKL.UIHERO_ATA 
      AnimationMode     = ONCE
      TransitionKey     = TRANS_FiringB
      AnimationSpeedFactorRange = 1.5 1.5
    End
    AliasConditionState = FIRING_C

    ConditionState      = BETWEEN_FIRING_SHOTS_B
      Animation         = UIHERO_SKL.UIHERO_ATA 
      AnimationMode     = MANUAL
      Flags             = START_FRAME_LAST
      WaitForStateToFinishIfPossible = TRANS_FiringB
    End
    AliasConditionState = RELOADING_B
    AliasConditionState = BETWEEN_FIRING_SHOTS_C
    AliasConditionState = RELOADING_C
  
    ConditionState      = FIRING_B REALLYDAMAGED
      Animation         = UIHERO_SKL.UIHERO_IATA2
      AnimationMode     = ONCE
      TransitionKey     = TRANS_FiringAInjuredB
      AnimationSpeedFactorRange = 1.5 1.5
    End
    AliasConditionState = FIRING_C REALLYDAMAGED

    ConditionState      = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
      Animation         = UIHERO_SKL.UIHERO_IATA2
      AnimationMode     = MANUAL
      Flags             = START_FRAME_LAST
      WaitForStateToFinishIfPossible = TRANS_FiringAInjuredB
    End
    AliasConditionState = RELOADING_B REALLYDAMAGED
    AliasConditionState = BETWEEN_FIRING_SHOTS_C REALLYDAMAGED
    AliasConditionState = RELOADING_C REALLYDAMAGED

    TransitionState     = TRANS_FiringB TRANS_FiringAInjuredB
      Animation         = UIHERO_SKL.UIHERO_IATAHIT
      AnimationMode     = ONCE
    End


    ; --- moving
    ConditionState      = MOVING
      Animation         = UIHERO_SKL.UIHERO_RNA2 30
      AnimationMode     = LOOP
      Flags             = RANDOMSTART
      TransitionKey     = None
      ParticleSysBone   = None InfantryDustTrails
    End
    AliasConditionState = MOVING FIRING_A
    AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
    AliasConditionState = MOVING RELOADING_A

    ConditionState      = MOVING REALLYDAMAGED
      Animation         = UIHERO_SKL.UIHERO_IRNA 30
      AnimationMode     = LOOP
      Flags             = RANDOMSTART
      TransitionKey     = None
      ParticleSysBone   = None InfantryDustTrails
    End
    AliasConditionState = MOVING FIRING_A REALLYDAMAGED
    AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
    AliasConditionState = MOVING RELOADING_A REALLYDAMAGED
    
    ; --- cheering
    ConditionState      = SPECIAL_CHEERING
      Animation         = UIHERO_SKL.UIHERO_CHA
      AnimationMode     = LOOP
    End

    ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
      Animation         = UIHERO_SKL.UIHERO_ICHA
      AnimationMode     = LOOP
    End
    
    ; --- dying
    ConditionState      = DYING
      Animation         = UIHERO_SKL.UIHERO_DTA
      Animation         = UIHERO_SKL.UIHERO_DTB
      Animation         = UIHERO_SKL.UIHERO_IDTA
      Animation         = UIHERO_SKL.UIHERO_IDTB
      AnimationMode     = ONCE
      TransitionKey     = TRANS_Dying
    End

    TransitionState     = TRANS_Dying TRANS_Flailing
      Animation         = UIHERO_SKL.UIHERO_ADTG21
      AnimationMode     = ONCE
    End

    ConditionState      = DYING EXPLODED_FLAILING
      Animation         = UIHERO_SKL.UIHERO_ADTG22
      AnimationMode     = LOOP
      TransitionKey     = TRANS_Flailing
    End

    ConditionState      = DYING EXPLODED_BOUNCING
      Animation         = UIHERO_SKL.UIHERO_ADTG23
      AnimationMode     = ONCE
      TransitionKey     = None
    End
    
    ; --- falling
    ConditionState      = FREEFALL
      Animation         = UIHERO_SKL.UIHERO_PFL
      AnimationMode     = LOOP
      TransitionKey     = TRANS_Falling
    End
    AliasConditionState = FREEFALL REALLYDAMAGED
    AliasConditionState = FREEFALL DYING

    ConditionState      = PARACHUTING
      Animation         = UIHERO_SKL.UIHERO_PHG
      AnimationMode     = LOOP
      Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
      TransitionKey     = TRANS_Chute
    End
    AliasConditionState = PARACHUTING REALLYDAMAGED
    AliasConditionState = PARACHUTING DYING

    TransitionState     = TRANS_Falling TRANS_Chute
      Animation         = UIHERO_SKL.UIHERO_POP
      AnimationMode     = ONCE
      Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
    End

    TransitionState     = TRANS_Chute TRANS_Stand
      Animation         = UIHERO_SKL.UIHERO_PTD
      AnimationMode     = ONCE
    End

    TransitionState     = TRANS_Chute TRANS_StandInjured
      Animation         = UIHERO_SKL.UIHERO_PTD
      AnimationMode     = ONCE
    End
    
  End

  ; ***DESIGN parameters ***
  DisplayName           = OBJECT:JarmenKell
  Side                  = ChinaSpecialWeaponsGeneral
  EditorSorting         = INFANTRY
  TransportSlotCount    = 1                 ;how many "slots" we take in a transport (0 == not transportable)
  
  MaxSimultaneousOfType = 1
  MaxSimultaneousLinkKey = Jarmen
 
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY GLAJarmenKellRifle
    Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle
    Weapon = TERTIARY GLAJarmenKellHelicopterPilotSniperRifle
    AutoChooseSources = SECONDARY NONE
    AutoChooseSources = TERTIARY NONE
  End

  WeaponSet
    Conditions = PLAYER_UPGRADE 
    Weapon = PRIMARY GLAJarmenKellRifle
    Weapon = SECONDARY GLAJarmenKellKVSKVehiclePilotSniperRifle
    Weapon = TERTIARY GLAJarmenKellHelicopterPilotSniperRifle
    AutoChooseSources = SECONDARY NONE
    AutoChooseSources = TERTIARY NONE
  End

  ArmorSet
    Conditions      = None
    Armor           = HumanArmor
    DamageFX        = InfantryDamageFX
  End
  VisionRange         = 400
  ShroudClearingRange = 400
  Prerequisites
    Object = Spec_ChinaBarracks
  End
  BuildCost = 1500
  BuildTime = 10.0          ;in seconds  

  ExperienceValue     = 50 50 100 150    ;Experience point value at each level
  ExperienceRequired  = 0 100 200 400  ;Experience points needed to gain each level
  IsTrainable         = Yes             ;Can gain experience
  CrushableLevel      = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  CommandSet          = Spec_GLAInfantryJarmenKellCommandSet

  ; *** AUDIO Parameters ***
  VoiceSelect = DemoKellVoiceSelect
  VoiceMove = JarmenKellVoiceMove
  VoiceGuard = JarmenKellVoiceMove
  VoiceAttack = JarmenKellVoiceAttack
  VoiceFear = JarmenKellVoiceFear
  SoundStealthOn = StealthOn
  SoundStealthOff = StealthOff
  
  UnitSpecificSounds
    VoiceCreate          = DemoKellVoiceCreate
    VoiceSnipePilot      = JarmenKellVoiceSnipe
    VoiceGarrison = JarmenKellVoiceGarrison
    VoiceEnter = JarmenKellVoiceMove
    VoiceEnterHostile = JarmenKellVoiceMove
    VoiceGetHealed      = JarmenKellVoiceMove
  End


  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO CANNOT_RETALIATE

  Body = ActiveBody ModuleTag_02
    MaxHealth       = 200.0
    InitialHealth   = 200.0
  End

  Behavior = AIUpdateInterface ModuleTag_03
    AutoAcquireEnemiesWhenIdle = Yes
  End
  Locomotor = SET_NORMAL JarmenKellLocomotor

  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 5.0
  End
  
    Behavior = SpecialAbility ModuleTag_Power01
    SpecialPowerTemplate = SpecialAbilityKellDisableBuilding
    UpdateModuleStartsAttack = Yes
    StartsPaused             = Yes
  End

  Behavior = SpecialAbilityUpdate ModuleTag_Power02
    SpecialPowerTemplate = SpecialAbilityKellDisableBuilding
    StartAbilityRange = 225.0
    UnpackTime      = 1000
    PackTime        = 0
    PreparationTime = 1
    PersistentPrepTime = 1
    EffectDuration = 20000
    UnpackSound     = JarmenKellVoiceSnipe
    PrepSoundLoop   = JarmenKellKVSKWeaponSnipe
  End

  Behavior = UnpauseSpecialPowerUpgrade ModuleTag_Power03
    SpecialPowerTemplate = SpecialAbilityKellDisableBuilding
    TriggeredBy = Upgrade_GLAKellBetterRifle
  End
 
  Behavior = StealthUpdate ModuleTag_06
    StealthDelay                = 2000 ; msec
    StealthForbiddenConditions  = ATTACKING
    InnateStealth               = Yes
    OrderIdleEnemiesToAttackMeUponReveal  = Yes
    EnemyDetectionEvaEvent      = EnemyJarmenKellDetected
    OwnDetectionEvaEvent        = OwnJarmenKellDetected
  End

  Behavior = CommandButtonHuntUpdate  ModuleTag_07 ; allows use of command button hunt script with this unit. 
  End

  Behavior = WeaponBonusUpgrade ModuleTag_08
    TriggeredBy = Upgrade_GLAAPBullets
  End
 
  ;Hero units can't be squished!
  ;Behavior = SquishCollide ModuleTag_09
  ;  ;nothing
  ;End


; --- begin Death modules ---
  Behavior = SlowDeathBehavior ModuleTag_Death01
    DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
    SinkDelay           = 3000
    SinkRate            = 0.5     ; in Dist/Sec
    DestructionDelay    = 8000
    FX                  = INITIAL FX_JarmenKellDie
  End
  Behavior = SlowDeathBehavior ModuleTag_Death02
    DeathTypes          = NONE +CRUSHED +SPLATTED
    SinkDelay           = 3000
    SinkRate            = 0.5     ; in Dist/Sec
    DestructionDelay    = 8000
    FX                  = INITIAL FX_GIDieCrushed
  End
  Behavior = SlowDeathBehavior ModuleTag_Death03
    DeathTypes          = NONE +EXPLODED
    SinkDelay           = 3000
    SinkRate            = 0.5     ; in Dist/Sec
    DestructionDelay    = 8000
    FX                  = INITIAL FX_JarmenKellDie
    FlingForce          = 8
    FlingForceVariance  = 3
    FlingPitch          = 60
    FlingPitchVariance  = 10
  End
  Behavior = SlowDeathBehavior ModuleTag_Death04
    DeathTypes          = NONE +BURNED
    DestructionDelay    = 0
    FX                  = INITIAL FX_DieByFireGLA
    OCL                 = INITIAL OCL_FlamingInfantry
  End
  Behavior = SlowDeathBehavior ModuleTag_Death05
    DeathTypes          = NONE +POISONED
    DestructionDelay    = 0
    FX                  = INITIAL FX_DieByToxinGLA
    OCL                 = INITIAL OCL_ToxicInfantry
  End
  Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
    DeathTypes          = NONE +POISONED_BETA
    DestructionDelay    = 0
    FX                  = INITIAL FX_DieByToxinGLA
    OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
  End
  Behavior = SlowDeathBehavior ModuleTag_Death07
    DeathTypes          = NONE +POISONED_GAMMA
    DestructionDelay    = 0
    FX                  = INITIAL FX_DieByToxinGLA
    OCL                 = INITIAL OCL_ToxicInfantryGamma
  End
; --- end Death modules ---

  Behavior = PoisonedBehavior ModuleTag_14
    PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
    PoisonDuration = 3000       ; ... for this long after last hit by poison damage
  End

  Behavior = SpecialAbility ModuleTag_18
    SpecialPowerTemplate = Demo_SpecialAbilityKellRemoteCharges
    UpdateModuleStartsAttack = Yes
    InitiateSound             = DemoKellVoiceAttackDemo
  End

  Behavior = SpecialAbilityUpdate ModuleTag_19
    SpecialPowerTemplate = Demo_SpecialAbilityKellRemoteCharges
    StartAbilityRange = 0.0
    PreparationTime = 0
    SpecialObject = RemoteC4Charge
    MaxSpecialObjects = 8
    SpecialObjectsPersistWhenOwnerDies = No ;Charges are removed instantly when owner dies (nobody can detonate).
    AlwaysValidateSpecialObjects = Yes      ;Coupled with the above setting, this one is necessary for code optimization.
    SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
    UniqueSpecialObjectTargets = Yes        ;This prevents multiple charges placed on the same object.
    UnpackTime              = 5500          ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge
    PackTime                = 0
    SkipPackingWithNoTarget = Yes           ;When yes, the packing/unpacking will be ignored when detonating charges.
    FlipOwnerAfterUnpacking = Yes
    FleeRangeAfterCompletion = 100.0         ;Runs away after finishing ability
    UnpackSound               = ColonelBurtonPlantCharge
    LoseStealthOnTrigger      = Yes
    PreTriggerUnstealthTime   = 5000 ; in milliseconds
  End

  Behavior = SpecialAbility ModuleTag_20
    SpecialPowerTemplate = Demo_SpecialAbilityDemoKellTimedCharges
    UpdateModuleStartsAttack = Yes
    InitiateSound             = DemoKellVoiceAttackDemo
  End

  Behavior = SpecialAbilityUpdate ModuleTag_11
    SpecialPowerTemplate = Demo_SpecialAbilityDemoKellTimedCharges
    StartAbilityRange = 0.0
    PreparationTime = 0
    SpecialObject = TimedC4Charge
    MaxSpecialObjects = 10
    SpecialObjectsPersistWhenOwnerDies = Yes 
    SpecialObjectsPersistent = Yes          ;Charges are persistent till lifetime expires or owner detonates them.
    UniqueSpecialObjectTargets = Yes        ;This prevents multiple charges placed on the same object.
    UnpackTime              = 5500          ;NOTE: Modifying this value will require modifying the delay for ColonelBurtonPlantCharge
    FlipOwnerAfterUnpacking = Yes
    FleeRangeAfterCompletion = 100.0         ;Runs away after finishing ability
    UnpackSound               = DemoKellVoiceAttackDemo
    LoseStealthOnTrigger      = Yes
    PreTriggerUnstealthTime   = 5000 ; in milliseconds
  End

  Behavior = WeaponSetUpgrade ModuleTag_agaffel
    TriggeredBy = Upgrade_GLAKellBetterRifle
  End 

  Geometry = CYLINDER
  GeometryMajorRadius = 10.0
  GeometryMinorRadius = 10.0
  GeometryHeight = 12.0
  GeometryIsSmall = Yes
  Shadow = SHADOW_DECAL
  ShadowSizeX = 14;
  ShadowSizeY = 14;
  ShadowTexture = ShadowI;
  BuildCompletion = APPEARS_AT_RALLY_POINT

End


and this error report:
Release Crash at Thu Sep 25 09:13:50 2008
; Reason Error parsing INI file 'Data\INI\CommandButton.ini' (Line: 'CommandButton Spec_Command_ConstructGLAInfantryJarmenKell')


Last error:


Current stack:

is somebody can help me pliz..

Edited by jend_maggot, 25 September 2008 - 02:36.


#6 Ion Cannon!

    Mountain Maniac

  • Gold Member
  • 5812 posts
  • Projects: European Conflict - Particle FX & Coder

Posted 25 September 2008 - 02:45

I've not modded ZH for ages, but does the commandbutton not need an end tag? I may be wrong, but you can try it anyway.
Posted Image

Posted Image

#7 jend_maggot

    Newbie

  • Member
  • 17 posts

Posted 25 September 2008 - 02:54

arrgghh i don't see it.. :stikattack2:

btw thank's for your help :crazydance:

but my barrack error now...

Release Crash at Thu Sep 25 09:51:48 2008
; Reason Error parsing INI file 'Data\INI\CommandSet.ini' (Line: 'CommandSet Spec_ChinaBarracksCommandSet ')


Last error:


Current stack:

Edited by jend_maggot, 25 September 2008 - 03:01.


#8 Ion Cannon!

    Mountain Maniac

  • Gold Member
  • 5812 posts
  • Projects: European Conflict - Particle FX & Coder

Posted 25 September 2008 - 11:43

On your commandset for the barracks, you haven't capitalised some parts. So it treats it as an invalid command button. To avoid it in future, copy your commandbutton name, then paste it.

IE this - 7 = Spec_command_constructGLAInfantryJarmenKell
Should be - 7 = Spec_Command_ConstructGLAInfantryJarmenKell

:Command buttons MUST be identical to the entry in the commandset.

Edited by Insomniac!, 25 September 2008 - 11:45.

Posted Image

Posted Image

#9 moetah

    Newbie

  • Member
  • 13 posts

Posted 26 September 2008 - 08:52

Ok I think i don't understand it very well. Can you explain me how to change an attack type by using .ini? The thing I do is opening the files to edit something for the entire game and not for any map. And then save it in the INI map of Zero Hour. But this is obviously wrong.

#10 Zeke

    The X General

  • Project Team
  • 3504 posts
  • Projects: Deep Impact (formerly EC)

Posted 26 September 2008 - 09:06

all weapons are defined in weapons.ini

the map .ini is only for editing the map and map conditions, not the whole game

Edited by Zeke, 26 September 2008 - 09:07.


#11 moetah

    Newbie

  • Member
  • 13 posts

Posted 02 October 2008 - 17:34

Ok i've tried a lot but i still dont get it:(. Could anyone explain me exactly how i can make a gattling tank fire comanche rockets? Sorry if i'm annoying.

#12 Zeke

    The X General

  • Project Team
  • 3504 posts
  • Projects: Deep Impact (formerly EC)

Posted 02 October 2008 - 17:48

;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
Weapon GattlingTankGun
PrimaryDamage = 50.0 ; damage, duh
PrimaryDamageRadius = 5.0 ; 0 primary radius means "hits only intended victim"
AttackRange = 150.0 ; range
DamageType = JET_MISSILE; damage type
DeathType = EXPLODED ; death type, how they die
WeaponSpeed = 300 ; speed of projectile, missiles don't really need this because they have locomoters
ProjectileObject = ComancheAntiTankMissile ; the missile used
FireFX = WeaponFX_GattlingTankMachineGunFire ; fire FX
VeterancyFireFX = HEROIC WeaponFX_GattlingTankMachineGunFireWithRedTracers ; HEROIC Fire FX
FireSound = ComancheMissileWeapon ; fire sound
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS ; what the weapon can hit
DelayBetweenShots = 400 ; time between shots in a clip, msec
ClipSize = 0 ; how many shots in a Clip (0 = infinite)
ClipReloadTime = 0 ; how long to reload a Clip, msec
ContinuousFireOne = 2; How many shots before getting "CONTINUOUS_FIRE_MEAN RATE_OF_FIRE" bonus
ContinuousFireTwo = 6; How many shots before getting "CONTINUOUS_FIRE_FAST RATE_OF_FIRE" bonus
ContinuousFireCoast = 1000; msec we can coast without firing before we lose Continuous Fire
WeaponBonus = CONTINUOUS_FIRE_MEAN RATE_OF_FIRE 200%; rate of fire increased by what "%"
WeaponBonus = CONTINUOUS_FIRE_FAST RATE_OF_FIRE 300%; ditto
WeaponBonus = PLAYER_UPGRADE DAMAGE 125%; ChainGun upgrade
AntiAirborneVehicle = No; ground weapon can't hit air
AntiAirborneInfantry = No; nor flying infantry
AntiGround = Yes; self explanatory
End

codes plus some explanation

Edited by Zeke, 02 October 2008 - 17:50.


#13 moetah

    Newbie

  • Member
  • 13 posts

Posted 05 October 2008 - 11:06

Ok thanks for the help but could you also explain me how and what i should open and how and where i got to save it? It seems that i'm doing that wrong. Thanks for all your help btw, i know i'm annoying:P

#14 Zeke

    The X General

  • Project Team
  • 3504 posts
  • Projects: Deep Impact (formerly EC)

Posted 05 October 2008 - 14:12

1. Get finalbig

2. Open INIZH.big and extract the contents into your main ZH directory.

3. In your main ZH directory there now should be a data/INI folder where all the INIs are located

4. Open weapon.INI with a text editor like notepad (but I recommend notepad++)

5. Replace the original gattling tank weapon with the one I posted (they should have the same name).

6. save your work then exit

7. open ZH and play

#15 moetah

    Newbie

  • Member
  • 13 posts

Posted 07 October 2008 - 15:34

Ok thank you a lot.



1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users