E_Wofle
  • E_Wofle
  • 55.25% (Neutral)
  • Private Topic Starter
18 years ago
I've been making a squad unit for china, based off the angry mob and red guard code, however whenever these additions are being used, they cause the "serious error" message when attempting to start ZH. The crash says:

; Reason Error parsing INI file 'Data\INI\Object\ChinaInfantry.ini' (Line: 'Object ChinaInfantryFireTeamNexus ')

I've looked through several guides and tutorials, and the code seems to be fine. Any ideas what might be causing it?
Sponsor
CG Apollos
18 years ago
Regardless, can you post the code from all created/modified INIs for us to look over? There has to be something wrong with it.
E_Wofle
  • E_Wofle
  • 55.25% (Neutral)
  • Private Topic Starter
18 years ago
That's all the code that's been done anything with.

**Start of code**

-*From Locomotor.ini*-

Locomotor ChinaFireTeamNexusLocomotor
Surfaces = GROUND RUBBLE CLIFF
Speed = 13 ; in dist/sec
SpeedDamaged = 9 ;10 ;30 ; in dist/sec
TurnRate = 360 ; in degrees/sec
TurnRateDamaged = 350 ; in degrees/sec
Acceleration = 100 ; in dist/(sec^2)
AccelerationDamaged = 50 ; in dist/(sec^2)
Braking = 100 ; in dist/(sec^2)
MinTurnSpeed = 0 ; in dist/sec
ZAxisBehavior = NO_Z_MOTIVE_FORCE
Appearance = TWO_LEGS
StickToGround = Yes ; walking guys aren't allowed to catch huge (or even small) air.
End
;------------------------------------------------------------------------------
Locomotor ChinaFireTeamNormalLocomotor
Surfaces = GROUND RUBBLE CLIFF
Speed = 15 ;30 ; in dist/sec
SpeedDamaged = 10 ;30 ; in dist/sec
TurnRate = 500 ; in degrees/sec
TurnRateDamaged = 500 ; in degrees/sec
Acceleration = 100 ; in dist/(sec^2)
AccelerationDamaged = 50 ; in dist/(sec^2)
Braking = 100 ; in dist/(sec^2)
MinTurnSpeed = 0 ; in dist/sec
ZAxisBehavior = NO_Z_MOTIVE_FORCE
Appearance = TWO_LEGS
StickToGround = Yes ; walking guys aren't allowed to catch huge (or even small) air.
GroupMovementPriority = MOVES_FRONT; Moves in the front of a group, behind small arms, ahead of artillery
End

-*From CommandSet.ini*-

CommandSet ChinaInfantryFireTeamCommandSet
11 = Command_AttackMove
13 = Command_Guard
14 = Command_Stop
End

CommandSet ChinaTroopCrawlerCommandSet
1 = Command_TransportExit
2 = Command_TransportExit
3 = Command_TransportExit
4 = Command_TransportExit
5 = Command_TransportExit
6 = Command_TransportExit
7 = Command_TransportExit
8 = Command_TransportExit
9 = Command_TransportExit
10 = Command_TransportExit
11 = Command_EmptyCrawler
12 = Command_AttackMove
14 = Command_Stop
End


CommandSet ChinaBarracksCommandSet
1 = Command_ConstructChinaInfantryRedguard
2 = Command_ConstructChinaInfantryTankHunter
3 = Command_ConstructChinaInfantryHacker
4 = Command_ConstructChinaInfantryBlackLotus
5 = Command_ConstructChinaInfantryFireTeam
7 = Command_UpgradeChinaRedguardCaptureBuilding
12 = Command_UpgradeChinaMines
13 = Command_SetRallyPoint
14 = Command_Sell
End

-*From CommandButton.ini*-
CommandButton Command_ConstructChinaInfantryFireTeam
Command = UNIT_BUILD
Object = ChinaInfantryFireTeamNexus
TextLabel = CONTROLBAR:ConstructChinaInfantryFireTeam
ButtonImage = SNRedGuard
ButtonBorderType = BUILD
DescriptLabel = CONTROLBAR:ToolTipChinaBuildFireteam
End

-*From ChinaInfantry.ini*-

Object ChinaInfantryFireTeamNexus

;**** ART Parameters **************************
SelectPortrait = SURedguard_L
ButtonImage = SURedguard

UpgradeCameo1 = Upgrade_ChinaNationalism
;UpgradeCameo2 = Upgrade_ChinaFireTeamTankhunter
;UpgradeCameo3 = Upgrade_ChinaFireTeamFlamethrower
;UpgradeCameo4 = Upgrade_ChinaApExpRounds
UpgradeCameo5 = Upgrade_CaptureBuilding

Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
DefaultConditionState
Model = None
; Model = AVBomber_B
End
End


;****DESIGN parameters **************************

DisplayName = OBJECT:FireTeamNexus
Side = China

RadarPriority = NOT_ON_RADAR

EditorSorting = INFANTRY
TransportSlotCount = 5 ;how many "slots" we take in a transport (0 == not transportable)

WeaponSet
Conditions = None
Weapon = PRIMARY ChinaInfantryFireTeamHarmlessWeapon
Weapon = SECONDARY ChinaInfantryFireTeamHarmlessWeapon
Weapon = TERTIARY ChinaInfantryFireTeamHarmlessWeapon
End


ArmorSet
Conditions = None
Armor = InvulnerableAllArmor
DamageFX = None
End

BuildCost = 500
BuildTime = 5.0 ;in seconds
VisionRange = 150 ; it can scout for the spawn
ShroudClearingRange = 0

Prerequisites
Object = ChinaBarracks
End

ExperienceValue = 5 5 5 5 ;Experience point value at each level

IsTrainable = No



CommandSet = ChinaInfantryFireTeamCommandSet;

;**** AUDIO Parameters *****************************
VoiceSelect = RedGuardVoiceSelect
VoiceMove = RedGuardVoiceMove
VoiceGuard = RedGuardVoiceMove
VoiceAttack = RedGuardVoiceAttack
SoundMoveStart = NoSound
SoundAmbient = RedGuardAmbientLoop
SoundAmbientRubble = NoSound
UnitSpecificSounds
VoiceMelee = RedGuardVoiceAttackBayonet
VoiceGarrison = RedGuardVoiceGarrison
VoiceCreate = RedGuardVoiceCreate
VoiceSubdue = RedGuardVoiceSubdue
VoiceEnter = RedGuardVoiceMove
VoiceEnterHostile = RedGuardVoiceMove
VoiceGetHealed = RedGuardVoiceMove
End


;**** ENGINEERING Parameters ******************************

RadarPriority = UNIT
KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE
Body = ImmortalBody ModuleTag_02
MaxHealth = 99999.0
InitialHealth = 99999.0
End

Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes
End

Locomotor = SET_NORMAL ChinaFireTeamNormalLocomotor ;Important! don't make the Nexus any faster!
Locomotor = SET_WANDER ChinaFireteamWanderLocomotor

; Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster!
; Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster!
; Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster!

Behavior = PhysicsBehavior ModuleTag_04
Mass = 50.0
End

Behavior = SpawnBehavior ModuleTag_05
SpawnNumber = 5
; SpawnReplaceDelay = 30000 ; 30 seconds

SpawnTemplateName = ChinaInfantryFireTeamRedguard



ExitByBudding = Yes;!

InitialBurst = 5 ; the first set of 5 will not delay
OneShot = yes
AggregateHealth = no
SlavesHaveFreeWill = No
End

Behavior = QueueProductionExitUpdate ModuleTag_06
UnitCreatePoint = X: 0.0 Y: 0.0 Z:0.0
NaturalRallyPoint = X: 0.0 Y: 0.0 Z:0.0
ExitDelay = 5000 ; 5 sec
InitialBurst = 5 ; the first set of 5 will not delay
End

Behavior = DestroyDie ModuleTag_07
DeathTypes = ALL
End

Geometry = CYLINDER
GeometryMajorRadius = 1.0
GeometryMinorRadius = 1.0
GeometryHeight = 1.0
GeometryIsSmall = Yes
Shadow = SHADOW_VOLUME

End





;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
Object ChinaInfantryFireTeamRedguard

; *** ART Parameters ***
SelectPortrait = SNRedGuard_L
ButtonImage = SNRedGuard_L

;UpgradeCameo1 = Upgrade_Nationalism
;UpgradeCameo2 = Upgrade_InfantryCaptureBuilding
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE

Draw = W3DModelDraw ModuleTag_01

OkToChangeModelColor = Yes

; this says "we don't use these condition states at all, so completely
; ignore them for purposes of matchmaking"... this is useful to help
; reduce the number of AliasConditionState clauses you must add in
; order to avoid ambiguity in some cases.
IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A

; ------- Standing-Around Animations

DefaultConditionState
Model = NICNSC_SKN
IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35
IdleAnimation = NICNSC_SKL.NICNSC_IDA
IdleAnimation = NICNSC_SKL.NICNSC_IDB
AnimationMode = ONCE
WeaponFireFXBone = PRIMARY Muzzle
WeaponMuzzleFlash = PRIMARY MuzzleFX
TransitionKey = TRANS_Stand
End

ConditionState = REALLYDAMAGED
IdleAnimation = NICNSC_SKL.NICNSC_STB
AnimationMode = ONCE
TransitionKey = TRANS_StandDamaged
End

; ------- Machine Gun Animations

ConditionState = USING_WEAPON_A
Animation = NICNSC_SKL.NICNSC_ATA
AnimationMode = LOOP
TransitionKey = TRANS_Firing
End

ConditionState = USING_WEAPON_A REALLYDAMAGED
Animation = NICNSC_SKL.NICNSC_ATC
AnimationMode = LOOP
TransitionKey = TRANS_FiringDamaged
End


; ------- Firing-related Transitions

TransitionState = TRANS_Firing TRANS_FiringDamaged
Animation = NICNSC_SKL.NICNSC_AA2AC
AnimationMode = ONCE
End

TransitionState = TRANS_Stand TRANS_Firing
Animation = NICNSC_SKL.NICNSC_SA2AA
AnimationMode = ONCE
End

TransitionState = TRANS_Firing TRANS_Stand
Animation = NICNSC_SKL.NICNSC_AA2SA
AnimationMode = ONCE
End

TransitionState = TRANS_StandDamaged TRANS_FiringDamaged
Animation = NICNSC_SKL.NICNSC_ATCST
AnimationMode = ONCE
End

TransitionState = TRANS_FiringDamaged TRANS_StandDamaged
Animation = NICNSC_SKL.NICNSC_ATCED
AnimationMode = ONCE
End


; ------------- Damage Transitions --------------------
TransitionState = TRANS_StandDamaged TRANS_RunDamaged
Animation = NICNSC_SKL.NICNSC_AA2AC
AnimationMode = ONCE
AnimationSpeedFactorRange = 2 2
End
TransitionState = TRANS_RunDamaged TRANS_StandDamaged
Animation = NICNSC_SKL.NICNSC_AA2AC
AnimationMode = ONCE_BACKWARDS
AnimationSpeedFactorRange = 2 2
Flags = START_FRAME_LAST
End
TransitionState = TRANS_Stand TRANS_StandDamaged
Animation = NICNSC_SKL.NICNSC_AA2SA
AnimationMode = ONCE_BACKWARDS
AnimationSpeedFactorRange = 4 5
Flags = START_FRAME_LAST
End




; ------- Bayonet Animations

ConditionState = PREATTACK_C
Animation = NICNSC_SKL.NICNSC_ATB1
AnimationMode = ONCE
TransitionKey = TRANS_Stab
End
AliasConditionState = PREATTACK_C MOVING
AliasConditionState = PREATTACK_C FIRING_C
AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C

ConditionState = FIRING_C
Animation = NICNSC_SKL.NICNSC_ATB2
AnimationMode = ONCE
; this is basically a trick: this guy has a nontrivial animation for firing,
; and a long recycle time between shots. we want him to finish his fire animation
; (unless he's ordered to do something else), so this is just a handy trick that
; says, "if the previous state had this transition key, allow it to finish before
; switching to us, if possible".
WaitForStateToFinishIfPossible = TRANS_Stab
End
AliasConditionState = BETWEEN_FIRING_SHOTS_C
AliasConditionState = RELOADING_C

; ------- Parachuting Animations

ConditionState = FREEFALL
Animation = NICNSC_SKL.NICNSC_POP
AnimationMode = MANUAL
Flags = START_FRAME_FIRST
TransitionKey = TRANS_Falling
End
AliasConditionState = FREEFALL REALLYDAMAGED
AliasConditionState = FREEFALL DYING

ConditionState = PARACHUTING
Animation = NICNSC_SKL.NICNSC_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 = NICNSC_SKL.NICNSC_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 = NICNSC_SKL.NICNSC_PTD
AnimationMode = ONCE
End

; ------- Movement Animations

ConditionState = MOVING
Animation = NICNSC_SKL.NICNSC_RNA 26
AnimationMode = LOOP
Flags = RANDOMSTART
TransitionKey = None
ParticleSysBone = None InfantryDustTrails
End
AliasConditionState = MOVING ATTACKING

ConditionState = MOVING REALLYDAMAGED
Animation = NICNSC_SKL.NICNSC_RNB 28
AnimationMode = LOOP
Flags = RANDOMSTART
TransitionKey = TRANS_RunDamaged
TransitionKey = None
End
AliasConditionState = MOVING ATTACKING REALLYDAMAGED

; ------- Bldg-capture

ConditionState = UNPACKING
Model = NICNSC_F_SKN
Animation = NICNSC_F_SKL.NICNSC_F_FDP1
AnimationMode = ONCE
End
AliasConditionState = UNPACKING REALLYDAMAGED

ConditionState = RAISING_FLAG
Model = NICNSC_F_SKN
Animation = NICNSC_F_SKL.NICNSC_F_FDP2
AnimationMode = ONCE
TransitionKey = TRANS_Raising
End
AliasConditionState = RAISING_FLAG REALLYDAMAGED

ConditionState = PACKING
Model = NICNSC_F_SKN
Animation = NICNSC_F_SKL.NICNSC_F_FDP1
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
TransitionKey = TRANS_Packing
End
AliasConditionState = PACKING REALLYDAMAGED

TransitionState = TRANS_Raising TRANS_Packing
Model = NICNSC_F_SKN
Animation = NICNSC_F_SKL.NICNSC_F_FDP2
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
End

; ------- Dying Animations

ConditionState = DYING
Animation = NICNSC_SKL.NICNSC_DTA
Animation = NICNSC_SKL.NICNSC_DTB
AnimationMode = ONCE
TransitionKey = TRANS_Dying
End

TransitionState = TRANS_Dying TRANS_Flailing
Animation = NICNSC_SKL.NICNSC_ATDE1
AnimationMode = ONCE
End

ConditionState = DYING EXPLODED_FLAILING
Animation = NICNSC_SKL.NICNSC_ATDE2
AnimationMode = LOOP
TransitionKey = TRANS_Flailing
End

ConditionState = DYING EXPLODED_BOUNCING
Animation = NICNSC_SKL.NICNSC_ATDE3
AnimationMode = ONCE
TransitionKey = None
End

; ------- Misc Animations

ConditionState = SPECIAL_CHEERING
Animation = NICNSC_SKL.NICNSC_CHA
AnimationMode = LOOP
End

End

; ***DESIGN parameters ***
DisplayName = OBJECT:Redguard
Side = China
EditorSorting = INFANTRY
TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY RedguardMachineGun
End
ArmorSet
Conditions = None
Armor = HumanArmor
DamageFX = InfantryDamageFX
End
VisionRange = 100
ShroudClearingRange = 200
Prerequisites
Object = ChinaBarracks
End
BuildCost = 300
BuildTime = 10.0 ;in seconds

ExperienceValue = 5 5 10 20 ;Experience point value at each level
ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = ChinaInfantryRedguardCommandSet

; *** AUDIO Parameters ***
VoiceSelect = RedGuardVoiceSelect
VoiceMove = RedGuardVoiceMove
VoiceGuard = RedGuardVoiceMove
VoiceAttack = RedGuardVoiceAttack
VoiceGroupSelect = BattleCrySound
VoiceFear = RedGuardVoiceFear
VoiceTaskComplete = RedGuardVoiceCaptureComplete
UnitSpecificSounds
VoiceMelee = RedGuardVoiceAttackBayonet
VoiceGarrison = RedGuardVoiceGarrison
VoiceCreate = RedGuardVoiceCreate
VoiceSubdue = RedGuardVoiceSubdue
VoiceEnter = RedGuardVoiceMove
VoiceEnterHostile = RedGuardVoiceMove
VoiceGetHealed = RedGuardVoiceMove
End

; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE IGNORED_IN_GUI

Body = ActiveBody ModuleTag_02
MaxHealth = 120.0
InitialHealth = 120.0
End

Behavior = VeterancyGainCreate ModuleTag_03
StartingLevel = VETERAN
ScienceRequired = SCIENCE_RedGuardTraining
End

Behavior = AIUpdateInterface ModuleTag_04
AutoAcquireEnemiesWhenIdle = Yes
End

Behavior = MobMemberSlavedUpdate ModuleTag_04
MustCatchUpRadius = 40
NoNeedToCatchUpRadius = 15
Squirrelliness = 0.05
CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames
End

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

Locomotor = SET_NORMAL ChinaFireTeamNormalLocomotor ;Important! don't make the Nexus any faster!
Locomotor = SET_WANDER ChinaFireteamWanderLocomotor

Behavior = HordeUpdate ModuleTag_06
RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman
UpdateRate = 1000 ; how often to recheck horde status (msec)
Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so)
KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness
AlliesOnly = Yes ; do we only count allies towards horde status?
ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof)
Count = 5 ; how many units must be within Radius to grant us horde-ness
Action = HORDE ; when horde-ing, grant us the HORDE bonus
End
Behavior = PhysicsBehavior ModuleTag_07
Mass = 5.0
End

Behavior = SquishCollide ModuleTag_10
;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_RedGuardDie
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_RedGuardDie
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = SlowDeathBehavior ModuleTag_Death04
DeathTypes = NONE +BURNED
DestructionDelay = 0
FX = INITIAL FX_DieByFireChina
OCL = INITIAL OCL_FlamingInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death05
DeathTypes = NONE +POISONED
DestructionDelay = 0
FX = INITIAL FX_DieByToxinChina
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_DieByToxinChina
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_DieByToxinChina
OCL = INITIAL OCL_ToxicInfantryGamma
End
; --- end Death modules ---

Behavior = PoisonedBehavior ModuleTag_15
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_16
SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = RedGuardVoiceCapture
End
Behavior = SpecialAbilityUpdate ModuleTag_17
SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding
StartAbilityRange = 5.0
UnpackTime = 3000 ; (changing this will scale anim speed)
PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
PackTime = 2000 ; (changing this will scale anim speed)
DoCaptureFX = Yes
AwardXPForTriggering = 4
;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values.
End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18
SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding
TriggeredBy = Upgrade_InfantryCaptureBuilding
End

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

End


**End of code**
CommieDog
18 years ago
It looks like you don't have a ChinaFireteamWanderLocomotor defined in your code.
UserPostedImage 
CommieDog: Because someone has to do your dirty work for you
E_Wofle
  • E_Wofle
  • 55.25% (Neutral)
  • Private Topic Starter
18 years ago
You're right, thanks for pointing that out. That doesn't solve the crashing issue, though, so must be something else.
fleetatks
18 years ago
I didn't see any where in the code that tells it to spawn red guards in the squad. I saw that it says to spawn 5 but it doesn't say to spawn them in the form of the red guard's model.
Email me if you ever need help (edited signature November 6th, 2014)
E_Wofle
  • E_Wofle
  • 55.25% (Neutral)
  • Private Topic Starter
18 years ago
I thought the SpawnTemplateName = ChinaInfantryFireTeamRedguard line did that.
fleetatks
18 years ago
Since you most likely don't have a model named "ChinaInfantryFireTeamRedguard" made, replace it with the name of the red guard and it should work, if not you'll have to look in the code and see if there's anything special about the angry mob objects that allow them to be in a squad and edit the red guard code and rename it (but remember that it needs the model to be that of the red guard's.)
Email me if you ever need help (edited signature November 6th, 2014)
E_Wofle
  • E_Wofle
  • 55.25% (Neutral)
  • Private Topic Starter
18 years ago
Well, the ChinaInfantryFireTeamRedguard is just a copy of the red guard code, so it should point to the red guard models. I've looked at the angry mob code as well, and can't find anything that indicates that my code shouldn't work.
fleetatks
18 years ago
In that case I don't know what's wrong with it, but I do know that (i think) the shockwave mod has infantry squads for infantry general, you can download it and look at the codes they have for it. It's either the shockwave mod or the boss generals mod.
Email me if you ever need help (edited signature November 6th, 2014)
randomperson
18 years ago
epic generals is a squad based mod, you could try looking at that
UserPostedImage
E_Wofle
  • E_Wofle
  • 55.25% (Neutral)
  • Private Topic Starter
18 years ago
I figured it out, and the solution was embarrasingly simple. The actual crash was caused by a few uppercase/lowercase errors, but the fact that I had the code appearing twice in ChinaInfantry.ini meant that I fixed half of the errors in each. That's what I get for modding at 4 am. Thanks for the help anyway, it's most appreciated.