

some help with .ini files
#1
Posted 19 September 2008 - 18:38
#2
Posted 20 September 2008 - 05:56
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
Posted 23 September 2008 - 20:38
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
Posted 24 September 2008 - 00:45
#5
Posted 25 September 2008 - 02:35
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.
#7
Posted 25 September 2008 - 02:54
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
Posted 25 September 2008 - 11:43
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.
#9
Posted 26 September 2008 - 08:52
#10
Posted 26 September 2008 - 09:06
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
Posted 02 October 2008 - 17:34
#12
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
Posted 05 October 2008 - 11:06
#14
Posted 05 October 2008 - 14:12
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
Posted 07 October 2008 - 15:34
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users