-
Content count
305 -
Joined
-
Last visited
Everything posted by Stygs
-
TT Nod Cobra is making problems
Stygs replied to Stygs's topic in Tiberium Wars / Kane's Wrath Maps & Modding
There is nothing I can do right now I am afraid, Madin is totally right. As long as CirclesForAttack is true, the attack is bugged. If I change that, the unit attacks fine, but forcefiring on the ground causes the unit to fly backwards/sideways until its directly above the target position. Guess I have to get rid of the turret. EDIT: If I use the gun als Secondary, it seems to work better. -
I tried to add the CnC4 Nod Cobra as a ground attack plane, but for some reasons it doenst seem to work - the plane flies towards the target, but it hardly uses its gun (even when the turret seems to aim at the target). Even if I aim at the ground, it seems like the plane just flies back and forth without attacking. Any idea where I screwed up? <WeaponTemplate id="CABALCobraCannon" AttackRange="200.0" WeaponSpeed="1250" AcceptableAimDelta="=$ACCEPTABLE_AIM_DELTA" FireSound="NOD_ScorpionTank_CannonFire" FireFX="FX_NOD_ScorpionTankGun" FireVeteranFX="FX_NOD_ScorpionTankGunHeroic" RadiusDamageAffects="ALLIES ENEMIES NEUTRALS" ClipSize="1" CanFireWhileMoving="true"> <FiringDuration MinSeconds="0.3s" MaxSeconds="0.3s" /> <ClipReloadTime MinSeconds="1.9s" MaxSeconds="2.1s" /> <Nuggets> <ProjectileNugget WarheadTemplate="CABALCobraCannonWarhead" ProjectileTemplate="NODScorpionTankShell"> <VeterancyProjectiles VeterancyLevel="HEROIC" ProjectileTemplate="NODScorpionTankShell_Veteran"/> </ProjectileNugget> </Nuggets> <ScatterRadiusVsType Radius="25.0"> <Filter Rule="NONE" Include="INFANTRY" /> </ScatterRadiusVsType> </WeaponTemplate> <WeaponTemplate id="CABALCobraCannonWarhead" ProjectileCollidesWith="ALLIES ENEMIES NEUTRAL STRUCTURES WALLS" RadiusDamageAffects="ALLIES ENEMIES NEUTRALS"> <Nuggets> <DamageNugget Damage="500.0" Radius="5.0" DamageType="PIERCE" DamageFXType="GDI_CANNON" DeathType="EXPLODED" /> <SuppressionNugget Radius="10.0" Suppression="20" DurationSeconds="= $SUPPRESSION_LOW" /> </Nuggets> </WeaponTemplate> <GameObject id="CABALCobra" inheritFrom="BaseAircraft" SelectPortrait="Portrait_GDIFirehawk" ButtonImage="Portrait_GDIFirehawk" Side="NOD" EditorSorting="UNIT" TransportSlotCount="0" BuildCost="=$GDI_FIREHAWK_BUILDCOST" BuildTime="= $GDI_FIREHAWK_BUILDCOST * $BUILDTIME_MULTIPLIER_UNIT" BountyValue="= $GDI_FIREHAWK_BUILDCOST" CommandSet="NODAircraftCommandSet" CommandPoints="100" KindOf="PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE SCORE AIRCRAFT VEHICLE ASSAULT_AIRCRAFT ATTACK_NEEDS_LINE_OF_SIGHT LINE_OF_SIGHT_IGNORES_BUILDINGS NO_COLLIDE CAN_BE_FAVORITE_UNIT" RadarPriority="UNIT" ProductionQueueType="AIRCRAFT" UnitCategory="AIRCRAFT" WeaponCategory="CANNON" ThreatLevel="= $GDI_FIREHAWK_BUILDCOST / 10" VoicePriority="144" Description="Desc:CABALCobra" TypeDescription="Type:CABALCobra"> <DisplayName xai:joinAction="Replace">Name:CABALCobra</DisplayName> <!-- <GameDependency> <RequiredObject>GDIArmory</RequiredObject> </GameDependency> --> <ArmorSet Armor="HeavyAircraftArmor" DamageFX="VehicleDamageFX" /> <LocomotorSet id="Locomotor_Taxi" Locomotor="BasicHelicopterTaxiLocomotor" Condition="TAXIING" Speed="30" /> <LocomotorSet id="Locomotor_Normal" Locomotor="FirehawkLocomotor" Condition="NORMAL" Speed="150.0" /> <SkirmishAIInformation UnitBuilderStandardCombatUnit="true" ConquerMetricsOverrideDPS="100" ConquerMetricsOverrideDamageType="GRENADE" /> <Draws> <ScriptedModelDraw id="ModuleTag_Draw" OkToChangeModelColor="true"> <ModelConditionState ParseCondStateType="PARSE_DEFAULT"> <Model Name="NUM_AircraftD_SKN" /> <WeaponFireFXBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="fxweapon01" /> <WeaponLaunchBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="fxweapon01" /> <Turret TurretNameKey="nad_gun_a" TurretPitch="nad_gun_b" TurretID="1" /> </ModelConditionState> </ScriptedModelDraw> </Draws> <Behaviors> <WeaponSetUpdate id="ModuleTag_WeaponSetUpdate"> <WeaponSlotTurret ID="1" AllowInterleavedFiring="true" InterleavedStyle="INTERLEAVE_FIRST_AVAILABLE" WeaponChoiceCriteria="PREFER_MOST_DAMAGE"> <Weapon Ordering="PRIMARY_WEAPON" Template="CABALCobraCannon" /> <TurretSettings TurretTurnRate="500" TurretPitchRate="400" AllowsPitch="true" MinIdleScanTime="1.0s" MaxIdleScanTime="5.0s" MinIdleScanAngle="0.0" MaxIdleScanAngle="90.0"> <TurretAITargetChooserData CanAcquireDynamicIfAssignedOutOfRange="true" /> </TurretSettings> </WeaponSlotTurret> </WeaponSetUpdate> <Physics id="ModuleTag_Physics" /> <ProductionUpdate id="ModuleTag_Production" /> <SlowDeath id="ModuleTag_Death" SinkDelay="0s" SinkRate="0.5" DestructionDelay="0s"> <OCL Type="INITIAL"> <OCL>OCL_GDIFireHawkDebris</OCL> </OCL> <DieMuxData DeathTypes="ALL" DeathTypesForbidden="SUPERNATURAL" /> <FX Type="INITIAL"> <FX>FX_GDI_FireHawk_VoiceDie</FX> </FX> </SlowDeath> <SlowDeath id="ModuleTag_SuckedIntoTheVoid"> <DieMuxData DeathTypes="SUPERNATURAL" /> <Sound Type="INITIAL" List="GDI_FireHawk_VoiceDie" /> </SlowDeath> <FXListBehavior id="ModuleTag_FXList"> <DieMuxData DeathTypes="ALL" DeathTypesForbidden="SUPERNATURAL" /> <Event Index="onDeath" FX="FX_GDIAirVehicleExplode" /> </FXListBehavior> <xi:include href="DATA:Includes/ReturnToProducer.xml" /> </Behaviors> <AI> <!-- ReturnToBaseIdleTime="= $GENERIC_AIRCRAFT_IDLE_TIME" --> <JetAIUpdate id="ModuleTag_JetAIUpdate" AutoAcquireEnemiesWhenIdle="YES" NeedsRunway="false" KeepsParkingSpaceWhenAirborne="true" OutOfAmmoDamagePerSecond="1.5" MinHeight="5" CirclesForAttack="true" ReturnToBaseWhenVictimDead="true" AILuaEventsList="GDIFirehawkFunctions"> <UnitAITargetChooserData SympathyRange="100.0" /> <LockonInfo /> <!-- KLappt nicht <LockonInfo LockonTime="10" LockonCursor="SCCChargeDefenses" LockonInitialDist="100" LockonFreq="0.5" LockonAngleSpin="720d" LockonBlinky="false"/> --> </JetAIUpdate> </AI> <Body> <ActiveBody id="ModuleTag_Body" MaxHealth="3500" /> </Body> <ClientBehaviors> <ModelConditionAudioLoopClientBehavior id="ModuleTag_LandLift"> <ModelConditionSound Sound="FireHawkMoveStart" RequiredFlags="LANDING" /> <ModelConditionSound Sound="FireHawkMoveStart" RequiredFlags="TAKING_OFF" /> <ModelConditionSound Sound="FireHawkMoveLoop" ExcludedFlags="LOCOMOTOR_TAXIING" /> </ModelConditionAudioLoopClientBehavior> </ClientBehaviors> <Geometry IsSmall="false"> <Shape Type="BOX" MajorRadius="24.0" MinorRadius="22.0" Height="8.0" ContactPointGeneration="VEHICLE" /> </Geometry> <AudioArrayVoice> <AudioEntry Sound="GDI_Firehawk_VoiceAttack" AudioType="voiceAttack" /> <AudioEntry Sound="GDI_Firehawk_VoiceAttackBuildingClear" AudioType="voiceAttackGarrisonedStructure" /> <AudioEntry Sound="GDI_Firehawk_VoiceCreate" AudioType="voiceCreated" /> <AudioEntry Sound="GDI_Firehawk_VoiceMove" AudioType="voiceMove" /> <AudioEntry Sound="GDI_Firehawk_VoiceMove" AudioType="voiceGuard" /> <AudioEntry Sound="GDI_Firehawk_VoiceMoveAirfield" AudioType="voiceDock" /> <AudioEntry Sound="GDI_Firehawk_VoiceMoveAirfield" AudioType="voiceEnter" /> <AudioEntry Sound="GDI_Firehawk_VoiceMoveAirfield" AudioType="voiceSendToSlaughterhouse" /> <AudioEntry Sound="GDI_Firehawk_VoiceRetreat" AudioType="voiceRetreatToCastle" /> <AudioEntry Sound="GDI_Firehawk_VoiceSelectMS" AudioType="voiceSelect" /> <NamedEntry Sound="GDI_Firehawk_VoiceElevate" Name="InitiateFirehawkStratoFighter" /> <NamedEntry Sound="GDI_Firehawk_VoiceMoveAirfield" Name="ReturnToProducer" /> <NamedEntry Sound="GDI_Firehawk_VoiceRetreat" Name="ReturnToProducerWhileUnderAttack" /> </AudioArrayVoice> <ShadowInfo Type="VOLUME" /> <VisionInfo VisionRange="450" ShroudClearingRange="450" /> </GameObject>
-
Trapped in SpotTargetBombard
Stygs replied to ztz2019's topic in Tiberium Wars / Kane's Wrath Maps & Modding
As far as I know, that NOT how ObjectFilter work. The Rule= defines if you need all, none or any of the kindofs from Include=/Exclude=. IncludeThing is totally indepent from that. The Amount also doenst matter - either there is a unit on the map that fits the conditions or there isnt, there is no way to check for the amount of units. So, if you only want to include the 3 units, it should look like this: <ObjectFilter Relationship="ALLIES" Rule="NONE"> <IncludeThing>GDISniperSquad</IncludeThing> <IncludeThing>GDIOrcaSensorPod</IncludeThing> <IncludeThing>GDIOrcaSensorStickyPod</IncludeThing> </ObjectFilter> That way, the abillity will be addvaible if any of the 3 exists. If you want the abillity to require all the units before it can be used, you need RequiredObject= instead of ObjectFilter. -
TT Nod Cobra is making problems
Stygs replied to Stygs's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Because CABAL allready has way to much laser, Because its way cooler with an explosion. Because the model looks a lot more like a cannon than a Cnc4 style laser cannon. EDIT: Well, guess I need to find a new use for the unit as Madin is right. -
TT Nod Cobra is making problems
Stygs replied to Stygs's topic in Tiberium Wars / Kane's Wrath Maps & Modding
The projectil has nothing to do with it, allready checked it. Clipsize is also unimportant as its just a simple tank gun and 5 Cobras didnt even manage to fire once 1. 10d 2. Good point, I give it a try. Guess I should check the MinimumPitch in the weapon, too. Wow, sometimes I really hate this engine >_> No need to spend your time looking for a workaround - if I cant get the turret working, I turn it into a A-10 style ground attack craft. -
How to attach weapon to FX?
Stygs replied to Egozi44's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Souldnt DelayTimeSecond work here to? -
Not sure about the HijackerUpdate - I dont think it works anymore. I just used a EngineerContain for my Hijacker. InfiltratorContain certainly works (also using it for my Hijacker). However, I think someone once told me that it was bugged in TWA, but I cant remember how exactly. But since I never removed it, I guess it wasnt that bad (I believe it was somehow releated to stealing money).
- 2 replies
-
- 1
-
-
- HijackerUpdate
- InfiltratorContain
-
(and 1 more)
Tagged with:
-
Some further questions
Stygs replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
1. No idea 2. See Laurens post. 3. Feels like I saw it once (maybe in one for Deezires mods for Gen or BFME) but no idea if it still works. The fact that it refers to ModuleId instead of Meduletag shows that they did atleast some work on it.- 3 replies
-
- 1
-
-
- GettingBuiltBehavior
- GiveUpgradeUpdate
- (and 1 more)
-
How to attach weapon to FX?
Stygs replied to Egozi44's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Thats kinda hard since the weapon has no projectule and thus hits the targets instantly. I suggest either adding DelayTimeSeconds to the damagenugget or maybe a preattackdelay. -
animation verticies not attaching to the bones
Stygs replied to Fandore's topic in Tiberium Wars / Kane's Wrath Maps & Modding
If you linked the WWSkin correctly to the model, a "WWSkin Binding" modifer should appear in the list on the right side of the screen after selecting the mesh. Click on the "+" before the name and the "Verticles" option should show up. Use this to select the verticles, then use the setting on the right side of the screen to link them. In theory, you can also use a normal Skin modifer and convert it to WWSkin afterwards. -
I would asume Reaction is fired once after entering the state while the others are fired continuouly as long as the unit is in that state. No idea about the other stuff.
-
Generals Defector + BFME Deflector questions
Stygs replied to Madin's topic in Tiberium Wars / Kane's Wrath Maps & Modding
It usually had no setting in BFME as it dindnt have any special animation or anything - you pressed it and it was active. However, the projectiles needed KindOf DEFLECT_BY_SPECIAL_POWER to be affected by it. No idea if it still works. As far as I remeber, the DefectorSpecialPower was a leftover from the CnC Generals Beta. I cant image it working after all these changes that were done to the engine over the years, not to mention that its role was pretty much replaced by TemporaryOwnerSpecialPower & DominateEnemySpecialPower. No, redemtpion works with a new setting, OnDeathBehavior for Hordecontain. Its basicly a setting that spawns a new horde if the old one has no members left. DamageFilteredCreateObjectDie was used here in BFME: InheritableModule Behavior = DamageFilteredCreateObjectDie ModuleTag_BecomeUndeadWhenKilled DamageTypeTriggersInstantly = BECOME_UNDEAD DamageTypeTriggersForDuration = BECOME_UNDEAD PostFilterTriggeredDuration = 10000 CreationList = OCL_BecomeUndead End End InheritableModule Behavior = DamageFilteredCreateObjectDie ModuleTag_BecomeUndeadOnceWhenKilled DamageTypeTriggersInstantly = BECOME_UNDEAD_ONCE DamageTypeTriggersForDuration = BECOME_UNDEAD_ONCE PostFilterTriggeredDuration = 10000 CreationList = OCL_BecomeLesserUndead End End DOTNugget // A basic Nugget that just does damage Damage = 5 AcceptDamageAdd = No Radius = ANGMAR_NECRO_WELL_OF_SOULS_ATTACK_RADIUS DelayTime = 0 DamageType = POISON DamageSubType = BECOME_UNDEAD_ONCE DamageFXType = POISON DeathType = NORMAL DamageInterval = 1000 DamageDuration = 10000 SpecialObjectFilter = AFFECTED_BY_POISON_OBJECTFILTER End AFAIK it triggered an ocl when the unit was killed by a specific DamageSubType. I guess it should still work, but DamageAndSpawnNugget seems like an easier way to archive an similiar effect. -
So, that's what puzzled me about the Tick Tank
Stygs replied to ztz2019's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Why should they crash? Model, skeleton and animations usually have different names (_SKN, _SKL, or whatever), but thats only for making them easier to find for humans. Just like you can have multiple GameObjects in the same xml file, you can have multiple model objects (animtion, models) in the same w3x file. Its basicly just a container. For the game, models, animations and skeletons are all different objects so it doesnt matter if a model has the same name as an animation (however, having 2 models with the same name would be different). And if you have a model in 3dsmax that only has one animation and doenst need an external skeleton, you can export everything into a single w3x, thus ending up with everything having the same name. -
My Tank deployed mode goes wrong
Stygs replied to ztz2019's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Ravendark allready pointed out what your mistake is: Your using the DEPLOYED modelcondition but there is nothing to trigger it. So either use a spcialpower to set it or trigger it with an upgrade. -
First of all: It will not work because the AUPACARRIERION model is missing the engine effect. I checked the KW model, they are just not there. Second: You can remove most of the animation states for the last two draws as they contain nothing important. DEFAULT, DECELERATE, ACCELERATE and USER_6 MOVING are the only important ones, everything else is covered by them. In fact, you could propably merge both Draws into one.
-
Bug with TWA Epics and Cover
Stygs replied to Stygs's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Works, but has a some drawbacks: The soldiers in cover disappear a bit later than the rest and if they are currently running into cover, they are finishing their movement before dissapearing. Also, I still need to delete the squad object or I end up with a squad without any soldiers (kinda weird thing to happen). Could work, but since I dont know what else could be affected, I dindt try it. Thats basicly the solution DetoNato used in his mod - the infantry grants an upgrade to the MARV and then use a ChainedCommand to replace themself with a dummy. And while I dont like to add another CommandButton for all Squads, the ReplaceSelf method works suprisingly well so far and requires only minor changes to my existing code (ie another module in the BaseObject and a couple more lines in the LUA scripts). -
I recently tried to fix an old bug with the Epic units in TWA, but no matter what I try, i cant get rid of it. Maybe someone else has an idea: Basicly, when you use the "Absorb infantry" abillity from the TWA epics, it triggers a couple of LUA script that determine the target and what upgrade the Epic should get. Works pretty reliable so far. After that the infantry squad executes a LUA script to remove itself from the game [ExecuteAction("NAMED_DELETE", self)]. And this is where the problems start: If any member of the target squad is taking cover near a building, they will not be removed with the rest of the squad. Instead, it will stay at its position for ever (even if you sell the builiding). They can also be selected, but ignore every command. So, basicly I am looking for ideas to either remove the Cover state somehow when using the "Absorb Infantry" abillity or reliable kill/remove the remaing soldiers. My latest idea was to prevent the special abillity from targeting units in cover, but that didnt work very well since you can still target the squad member that are not taking cover. Any suggestions?
-
is DamageIncoming script still working in c&c3?
Stygs replied to ravage's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Judging by the name, it would detect if the unit is about to be hit and trigger an effect if the amount is over an certain threshold. -
You could try to define the Experience levels as normal (4 levels) and just grant the unit an upgrade that promotes it as soon as it is build (like the GDI reinforcement special powers). (you might want to leave LevelUpFxList & LevelUpTintColor out from the fourth level to prevent showing the LevelUP effecs when they leave the barracks) I cant check right now, but I would not be surprised if EA just never added the effects for the Ion Storm models.
-
PAC is the short name for the Planetary Assault Carrier that the Scrin can build.
-
You should add it to EVERY Modelcontionstate for the PAC on both Draw modules. It has absolutly no drawbacks (as far as I know) so there is little reason not to have it. Makes me wonder why EA didnt add it as default setting.
-
from what I can see in the xml: 1. You should add RetainSubObjects= true to basicly every modelconditionstate. Especially the USER_6 ones (they are the ones used after the upgrade). 2. For the Engine draw module, try something like this: <ModelConditionState ParseCondStateType="PARSE_DEFAULT" PortraitImage="" ButtonImage="" RetainSubObjects="False"> <Model Name="" ExtraMesh="False" /> </ModelConditionState> <AnimationState ParseCondStateType="PARSE_DEFAULT" EnteringStateFX="" FrameForPristineBonePositions="0" ShareAnimation="False" AllowRepeatInRandomPick="False" SimilarRestart="False"> <Script> CurDrawableHideSubObject("TravEng01") CurDrawableHideSubObject("TravEng02") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DECELERATE"> <Script> CurDrawableHideSubObject("TravEng01") CurDrawableHideSubObject("TravEng02") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ACCELERATE"> <Script> CurDrawableHideSubObject("TravEng01") CurDrawableHideSubObject("TravEng02") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="USER_6 MOVING" EnteringStateFX="" FrameForPristineBonePositions="0" ShareAnimation="False" AllowRepeatInRandomPick="False" SimilarRestart="False"> <Script> CurDrawableShowSubObject("TravEng01") CurDrawableShowSubObject("TravEng02") </Script> </AnimationState> </ScriptedModelDraw> If the state is USER_6 (aka upgrade purchased) and the unit is moving show the engine, otherwise allways hide them.
-
Bug with TWA Epics and Cover
Stygs replied to Stygs's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Wow, cant belive I didnt notice the message >_> Thank you very much, now I just have to figure what parts of it I need and how it works -
Bug with TWA Epics and Cover
Stygs replied to Stygs's topic in Tiberium Wars / Kane's Wrath Maps & Modding
Pretty sure it was only a small part of the code as I cant remember seeing anything that actually explaind what happend to the targeted infantry. -
Pretty sure the Traveler Engine bug is because the Scrin ships are missing RetainSubObjects="true" in their condition states
