Hey, can someone plz help me with some annoying problems?
Here goes:
1)
I've modded the Boss general to produce Superhackers and Minigunner infantry; all fine.
They come out of the barracks fine w/o chem suit upgrade.
They upgrade fine when it is researched.
But it only crashes when more are trained with the chem suit upgrade researched
???
I'll be happy to post both unit's codes if needed
2)
I added the SpyDrone and SpySatellite to the Boss; in shortcut, general upgrades, and command center in the CommandSets.ini. And added
Behavior = OCLSpecialPower ModuleTag_23
SpecialPowerTemplate = SpecialPowerSpySatellite
OCL = SUPERWEAPON_SpySatellite
CreateLocation = CREATE_AT_LOCATION
End
to the command center in BossGeneral.ini
only the spysatellite works
the other one has the red no entry cursor
Thanks in advance
Someone plz help a new modder!
Started by MatthewH86, Dec 29 2004 12:48 AM
6 replies to this topic
#1
Posted 29 December 2004 - 12:48 AM
#2
Posted 29 December 2004 - 10:21 AM
1) Try opening World Builder and see if it produces an error. Other than that I can only suggest posting the code.
2) You'll also need a behavior tag for the Spy Drone. Something along these lines
GT
2) You'll also need a behavior tag for the Spy Drone. Something along these lines
Behavior = OCLSpecialPower ModuleTag_Drone SpecialPowerTemplate = SpecialPowerSpyDrone OCL = SUPERWEAPON_SpyDrone CreateLocation = CREATE_ABOVE_LOCATION End
GT
#3
Posted 30 December 2004 - 05:38 PM
Hacker Code:
search for "Commented out b/c it crashes" without quotes
search for "Commented out b/c it crashes" without quotes
Object Boss_InfantryHacker ; *** ART Parameters *** SelectPortrait = SNHacker2_L ButtonImage = SNHacker2 ;UpgradeCameo1 = NONE ;UpgradeCameo2 = NONE ;UpgradeCameo3 = NONE UpgradeCameo4 = Upgrade_AmericaChemicalSuits ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;NORMAL STANDING DefaultConditionState Model = NIHCKR_SKN IdleAnimation = NIHCKR_SKL.NIHCKR_STA 0 25 ;Regular spice animations IdleAnimation = NIHCKR_SKL.NIHCKR_IDA IdleAnimation = NIHCKR_SKL.NIHCKR_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Bone_SatCom TransitionKey = TRANS_Stand End AliasConditionState = REALLYDAMAGED ConditionState = MOVING Animation = NIHCKR_SKL.NIHCKR_RNA 14 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING UNPACKING AliasConditionState = MOVING UNPACKING REALLYDAMAGED ConditionState = UNPACKING Animation = NIHCKR_SKL.NIHCKR_ATB1 AnimationMode = ONCE End AliasConditionState = UNPACKING FIRING_A AliasConditionState = UNPACKING REALLYDAMAGED AliasConditionState = UNPACKING FIRING_A REALLYDAMAGED ;HACKING ATTACK ConditionState = FIRING_A Animation = NIHCKR_SKL.NIHCKR_ATB2 AnimationMode = LOOP TransitionKey = TRANS_FiringA End AliasConditionState = FIRING_A REALLYDAMAGED ConditionState = PACKING Animation = NIHCKR_SKL.NIHCKR_ATB3 AnimationMode = ONCE End AliasConditionState = PACKING FIRING_A AliasConditionState = PACKING REALLYDAMAGED AliasConditionState = PACKING FIRING_A REALLYDAMAGED TransitionState = TRANS_FiringA TRANS_Stand; I was stopped by a stop command, so I get no proper PACKING state Animation = NIHCKR_SKL.NIHCKR_ATB3 AnimationMode = ONCE End ConditionState = FREEFALL Animation = NIHCKR_SKL.NIHCKR_PFL AnimationMode = LOOP TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NIHCKR_SKL.NIHCKR_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 ConditionState = DYING Animation = NIHCKR_SKL.NIHCKR_DTA Animation = NIHCKR_SKL.NIHCKR_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NIHCKR_SKL.NIHCKR_ADTG1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NIHCKR_SKL.NIHCKR_ADTG2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NIHCKR_SKL.NIHCKR_ADTG3 AnimationMode = ONCE TransitionKey = None End ConditionState = SPECIAL_CHEERING Animation = NIHCKR_SKL.NIHCKR_CHA AnimationMode = LOOP End TransitionState = TRANS_Falling TRANS_Chute Animation = NIHCKR_SKL.NIHCKR_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 = NIHCKR_SKL.NIHCKR_PTD AnimationMode = ONCE End End ; ***DESIGN parameters *** DisplayName = OBJECT:Hacker Side = Boss EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) ArmorSet Conditions = None Armor = InfGen_HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = None End VisionRange = 150 ShroudClearingRange = 300 Prerequisites Object = Boss_Barracks End BuildCost = 625 BuildTime = 20.0 ;in seconds ExperienceValue = 50 100 150 400 ;Experience point value at each level ExperienceRequired = 0 100 300 500 ;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 = Infa_ChinaInfantryHackerCommandSet ; *** AUDIO Parameters *** VoiceSelect = SuperHackerVoiceSelect VoiceMove = HackerVoiceMove VoiceAttack = NoSound VoiceGuard = HackerVoiceMove VoiceFear = HackerVoiceFear VoiceTaskComplete = HackerVoiceHackComplete UnitSpecificSounds VoiceGarrison = HackerVoiceGarrison VoiceCreate = SuperHackerVoiceCreate UnitPack = HackerPack UnitUnpack = HackerUnpack UnitCashPing = HackerCashPing VoiceEnter = HackerVoiceMove ;VoiceStealCashComplete = SuperHackerVoiceCashComplete VoiceDisableVehicleComplete = SuperHackerVoiceDisableComplete ;VoiceCaptureBuildingComplete = SuperHackerVoiceCaptureComplete VoiceEnterHostile = HackerVoiceMove VoiceGetHealed = HackerVoiceMove VoiceHackInternet = HackerVoiceModeInternet End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE IGNORES_SELECT_ALL MONEY_HACKER Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End ; Commented out b/c it crashes ; Behavior = ArmorUpgrade ModuleTag_Armor01 ; TriggeredBy = Upgrade_AmericaChemicalSuits ; End Behavior = HackInternetAIUpdate ModuleTag_03 UnpackTime = 7300;animation time is 7300 (changing this will scale anim speed) PackTime = 5133;animation time is 5133 (changing this will scale anim speed) CashUpdateDelay = 2000 CashUpdateDelayFast = 1600 ; Fast speed used inside a container (can only hack inside an Internet Center) RegularCashAmount = 5 VeteranCashAmount = 6 EliteCashAmount = 8 HeroicCashAmount = 10 XpPerCashUpdate = 1 PackUnpackVariationFactor = 0.5;Adds + or - 20% to pack and unpack time randomly. End Locomotor = SET_NORMAL BasicHumanLocomotor Behavior = SpecialAbility ModuleTag_04 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding UpdateModuleStartsAttack = Yes InitiateSound = HackerVoiceHack End Behavior = SpecialAbilityUpdate ModuleTag_05 SpecialPowerTemplate = SpecialAbilityHackerDisableBuilding StartAbilityRange = 150.0 UnpackTime = 7300;animation time is 7300 (changing this will scale anim speed) PackTime = 5133;animation time is 5133 (changing this will scale anim speed) PreparationTime = 3000 ;PersistentPrepTime = 500; old setting PersistentPrepTime = 333; NOTE! This drives how often the disable effect gets triggered ; This is also how often a new particle system effect is spawned EffectDuration = 2000 SpecialObject = BinaryDataStream DisableFXParticleSystem = DisabledEffectBinaryShower0 PackSound = HackerPack UnpackSound = HackerUnpack PrepSoundLoop = HackerPrepLoop AwardXPForTriggering = 0 ;Careful, this is persistant so it's a DoT xp gain! ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = PhysicsBehavior ModuleTag_06 Mass = 5.0 End Behavior = SquishCollide ModuleTag_08 ;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_HackerDie 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_HackerDie 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_DieByToxinGLA OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_11 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_12 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack UpdateModuleStartsAttack = Yes InitiateSound = SuperHackerVoiceHackVehicle End Behavior = SpecialAbilityUpdate ModuleTag_13 SpecialPowerTemplate = SpecialAbilityBlackLotusDisableVehicleHack StartAbilityRange = 150.0 UnpackTime = 2000;6730;animation time is 6730 (changing this will scale anim speed) PackTime = 1000;2800;animation time is 5800 (changing this will scale anim speed) PreparationTime = 2000;time to complete hack once prepared (unpacked) EffectDuration = 15000;duration vehicle is disabled (30 seconds) DisableFXParticleSystem = DisabledEffectBinaryShower0 SpecialObject = BinaryDataStream PackSound = BlackLotusPack UnpackSound = BlackLotusUnpack TriggerSound = BlackLotusTrigger PrepSoundLoop = BlackLotusPrepLoop AwardXPForTriggering = 0 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = StealthUpdate ModuleTag_14 StealthDelay = 2500; msec StealthForbiddenConditions = USING_ABILITY HintDetectableConditions = USING_ABILITY InnateStealth = Yes OrderIdleEnemiesToAttackMeUponReveal = Yes End ; Behavior = VeterancyGainCreate ModuleTag_15 ; StartingLevel = VETERAN ; 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
Edited by MatthewH86, 30 December 2004 - 05:44 PM.
#4
Posted 30 December 2004 - 05:40 PM
Converted Ranger to Minigunner Code
(He has flashbang too, quite happy with that)
Search for "commented b/c it crashes" without quotes
(He has flashbang too, quite happy with that)
Search for "commented b/c it crashes" without quotes
Object Boss_InfantryRanger ; *** ART Parameters *** SelectPortrait = SNMiniGunner_L ButtonImage = SNMiniGunner UpgradeCameo1 = Upgrade_Nationalism UpgradeCameo2 = Upgrade_AmericaAdvancedTraining UpgradeCameo3 = Upgrade_InfantryCaptureBuilding UpgradeCameo4 = Upgrade_AmericaChemicalSuits UpgradeCameo5 = Upgrade_AmericaRangerFlashBangGrenade 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 = NICNSCI_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 ConditionState = USING_WEAPON_B Animation = NICNSC_SKL.NICNSC_ATA2 AnimationMode = LOOP ; TransitionKey = TRANS_Firing End ConditionState = USING_WEAPON_B REALLYDAMAGED Animation = NICNSC_SKL.NICNSC_ATC2 AnimationMode = LOOP ; TransitionKey = TRANS_FiringDamaged End ; --- attacking (Grenade Launcher) ConditionState = PREATTACK_B Animation = AIRngr_SKL.AIRngr_ATBA AnimationMode = ONCE TransitionKey = TRANS_FiringB End AliasConditionState = PREATTACK_B MOVING AliasConditionState = PREATTACK_B FIRING_B AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B ConditionState = FIRING_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = ONCE TransitionKey = TRANS_FiringB End ConditionState = BETWEEN_FIRING_SHOTS_B Animation = AIRngr_SKL.AIRngr_ATBB AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringB WaitForStateToFinishIfPossible = TRANS_FiringB End AliasConditionState = RELOADING_B TransitionState = TRANS_Stand TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATBST1 AnimationMode = ONCE End TransitionState = TRANS_FiringB TRANS_Stand Animation = AIRngr_SKL.AIRngr_ATBST2 AnimationMode = ONCE End ConditionState = PREATTACK_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2A AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED ConditionState = FIRING_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = ONCE TransitionKey = TRANS_FiringBInjured End ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED Animation = AIRngr_SKL.AIRngr_ATB2B AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = TRANS_FiringBInjured WaitForStateToFinishIfPossible = TRANS_FiringBInjured End AliasConditionState = RELOADING_B REALLYDAMAGED TransitionState = TRANS_StandInjured TRANS_FiringBInjured Animation = AIRngr_SKL.AIRngr_ATB2ST1 AnimationMode = ONCE End TransitionState = TRANS_FiringBInjured TRANS_StandInjured Animation = AIRngr_SKL.AIRngr_ATB2ST2 AnimationMode = ONCE End ; -- cross-attack transitions TransitionState = TRANS_FiringA TRANS_FiringB Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE AnimationSpeedFactorRange = 4 4 End TransitionState = TRANS_FiringB TRANS_FiringA Animation = AIRngr_SKL.AIRngr_ATA2AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 4 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:MiniGunner Side = Boss EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY Infa_MiniGunnerGun Weapon = SECONDARY Infa_MiniGunnerGunAir PreferredAgainst = SECONDARY AIRCRAFT End WeaponSet Conditions = PLAYER_UPGRADE Weapon = PRIMARY Infa_MiniGunnerGun Weapon = SECONDARY RangerFlashBangGrenadeWeapon AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI WeaponLockSharedAcrossSets = Yes; This set is so similar to the default set that it can hold the weapon lock Weapon = TERTIARY Infa_MiniGunnerGunAir PreferredAgainst = TERTIARY AIRCRAFT End ArmorSet Conditions = None Armor = InfGen_HumanArmor DamageFX = InfantryDamageFX End ArmorSet Conditions = PLAYER_UPGRADE Armor = ChemSuitHumanArmor DamageFX = None End VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Boss_Barracks End BuildCost = 350 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 = AmericaInfantryRangerCommandSet ; *** AUDIO Parameters *** VoiceSelect = RedMinigunnerVoiceSelect VoiceMove = RedGuardVoiceMove VoiceGuard = RedGuardVoiceMove VoiceAttack = RedMinigunnerVoiceAttack VoiceGroupSelect = BattleCrySound VoiceFear = RedGuardVoiceFear VoiceTaskComplete = RedGuardVoiceCaptureComplete UnitSpecificSounds VoiceMelee = RedGuardVoiceAttackBayonet VoiceGarrison = RedGuardVoiceGarrison VoiceCreate = RedMinigunnerVoiceCreate 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 Body = ActiveBody ModuleTag_01 MaxHealth = 120.0 InitialHealth = 120.0 End ; Commented out b/c it crashes ; Behavior = ArmorUpgrade ModuleTag_Armor01 ; TriggeredBy = Upgrade_AmericaChemicalSuits ; End Behavior = ExperienceScalarUpgrade ModuleTag_02 TriggeredBy = Upgrade_AmericaAdvancedTraining AddXPScalar = 1.0;Increases experience gained by an additional 100% End ; Behavior = VeterancyGainCreate ModuleTag_03 ; StartingLevel = VETERAN ; End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_05; allows use of command button hunt script with this unit. End Behavior = AutoFindHealingUpdate ModuleTag_06; This update will have the unit go to a healing station if injured. jba ScanRate = 1000; once a second. ScanRange = 300; NeverHeal = 0.85; don't heal if we are > 85% healthy. AlwaysHeal = 0.25; if we get below 25%, find healing right away. End Behavior = VeterancyGainCreate ModuleTag_07 StartingLevel = VETERAN ScienceRequired = SCIENCE_RedGuardTraining End Locomotor = SET_NORMAL RedguardLocomotor Behavior = HordeUpdate ModuleTag_08 RubOffRadius = 100 ; 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_09 Mass = 5.0 End Behavior = WeaponSetUpgrade ModuleTag_10 TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade 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 = SpecialAbilityRangerCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = RedGuardVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_17 SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding 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 = SpecialAbilityRangerCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = LockWeaponCreate ModuleTag_21 SlotToLock = PRIMARY; Prevents indeterminate state plus two unpickable weapons equaling no attack. 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
Edited by MatthewH86, 30 December 2004 - 05:45 PM.
#5
Posted 30 December 2004 - 06:19 PM
I cant see any reason why it would cause a crash. The only thing I can think of is the use of a tab but that should crash it outright. Check you havent used a tab anywhere (you can copy and paste a tab into the find).
Other than that does WorldBuilder produce any errors when you run it?
Other than that does WorldBuilder produce any errors when you run it?
#6
Posted 30 December 2004 - 07:09 PM
ASSERTION FAILURE: addModuleInfo - ERROR defining module 'ActiveBody' on thing template 'Boss_InfantryRanger'. The module 'ActiveBody' has the tag 'ModuleTag_01' which must be unique among all modules for this object, but the tag 'ModuleTag_01' is also already on module 'W3DModelDraw' within this object.
Please make unique tag names within an object definition
Stack Dump:
<Unknown>(-1) : <Unknown> 0x0067F27F
<Unknown>(-1) : <Unknown> 0x006E21B2
<Unknown>(-1) : <Unknown> 0x0012A734
<Unknown>(-1) : <Unknown> 0x00180001
<Unknown>(-1) : <Unknown> 0x6F426576
[Ignore]
ASSERTION FAILURE: [LINE: 16871 - FILE: 'Data\INI\Object\BossGeneral.ini'] Error reading field 'End' of block 'Object'
Stack Dump:
<Unknown>(-1) : <Unknown> 0x0067F27F
<Unknown>(-1) : <Unknown> 0x0074CC22
<Unknown>(-1) : <Unknown> 0x0074C9F8
[Ignore]
ASSERTION FAILURE: Error parsing block ' End' in INI file 'Data\INI\Object\BossGeneral.ini'
Stack Dump:
<Unknown>(-1) : <Unknown> 0x0067F27F
<Unknown>(-1) : <Unknown> 0x0074A4AD
<Unknown>(-1) : <Unknown> 0x00749F2D
<Unknown>(-1) : <Unknown> 0x0067E546
[Ignore]
Please make unique tag names within an object definition
Stack Dump:
<Unknown>(-1) : <Unknown> 0x0067F27F
<Unknown>(-1) : <Unknown> 0x006E21B2
<Unknown>(-1) : <Unknown> 0x0012A734
<Unknown>(-1) : <Unknown> 0x00180001
<Unknown>(-1) : <Unknown> 0x6F426576
[Ignore]
ASSERTION FAILURE: [LINE: 16871 - FILE: 'Data\INI\Object\BossGeneral.ini'] Error reading field 'End' of block 'Object'
Stack Dump:
<Unknown>(-1) : <Unknown> 0x0067F27F
<Unknown>(-1) : <Unknown> 0x0074CC22
<Unknown>(-1) : <Unknown> 0x0074C9F8
[Ignore]
ASSERTION FAILURE: Error parsing block ' End' in INI file 'Data\INI\Object\BossGeneral.ini'
Stack Dump:
<Unknown>(-1) : <Unknown> 0x0067F27F
<Unknown>(-1) : <Unknown> 0x0074A4AD
<Unknown>(-1) : <Unknown> 0x00749F2D
<Unknown>(-1) : <Unknown> 0x0067E546
[Ignore]
#7
Posted 30 December 2004 - 07:42 PM
sorted both problems
thanks to AdmiralGT
thanks to AdmiralGT
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users