Jump to content
Sign in to follow this  
Egozi44

Need help modding

Recommended Posts

basicly the vein weapon uses a fireweapon special power and a ocl creation...i was thinking of using a airstrike like logic to deliver the vein weapon ocl instead of triggering it through a firewepon specialpower...ut make the carriering aircraft invisible and basicly hyper fast moving and untargetable.....that should mimic the delivery but keep the actuall weapon ocl...it would be a way to test if the money bug lies with the trigger specialpower or the ocl creation. seeing the orca bombing run works more or less correctly it wouldve been a nicebaseline to expirement with.

Share this post


Link to post

I would try this out myself out of curiousity, but i reinstalled my pc a while back....cant get Kw to work without reinstalling it...seeing as my previous version was a rip and i cant find the dl'ed files anymore. Im either stuck with getting the 5 buck origin version (but **** origin and EA...they still owe me for that ****ty collectors edition of DAI i bought and the horrible launch weeks/month of it, and in general i feel less and less sympathetic towards EA) or find a good DL for Kw somewhere.

 

All by all alot of effort for a game i hardly played. Always found KW a glorified patch who's content should've been inclued with TW. Most i ever used KW was for helping others on forums.

 

Otoh i could duplicate the tiberium vein weapon in TW, build it up from that airstrike logic maybe....

Share this post


Link to post

What horrible launch weeks for DAI? That game ran perfect for me from the start oO

Share this post


Link to post

What horrible launch weeks for DAI? That game ran perfect for me from the start oO

I really envey your experience then.

Mine kept crashing every 15 min or so. Had alot of connection issues with Origin aswell...but that is no suprise.

Got even worse when they released that patch 2 that messed with scars and hairs...i didnt have any of those issues but after that patch i had stutter issues and made it unbareble to play at all.

 

I really reached my **** you Bioware/EA point at that time.

 

I heared people who had no issues at all aswell...guess its the (bad) luck of the draw.

 

Always been a big bioware fan, but at that time i felt really let down.

 

In hindsight with the **** i had and the generaly lacking console ports that come out i should really start practicing what i preach and stay away from pre order, collectors editions etc....companies these days arent worth that extra investement anymore, the bonus' aren't worth it.

Edited by Ravendark

Share this post


Link to post

Really sorry for the delay

 

I also like bioware (if you don't mind little old me getting into the conversation xD)

 

I played all ME games and dragon ages (still had to play DAI though)

 

I also think that EA mess Bio up

 

I had bad experience with DA2 from both the game's bugs, the patch, and the game itself which was just another way to show us how EA love money ;)

 

 

Anyway I may be able to help you in getting KW (don't get the Origin/steam ver since as you probably knows, they mess up the reg files) , but I still don't sure what I exactly need to do in order to fix the vein with the air strike, I need to look at the air strike again since I don't remember how it works but I need to know step by step what to do

 

Also how you planned to try the vain in TW? from other people mods? since TW didn't had the vain and I assume that the moded version may look/acts different from the original and don't bugged one bit

 

will be happy to get unbuged machamp gameobject as well :0

 

I tried him in other war factories and it still don't use rallys so it seem to be the machamp itself

Edited by Egozi44

Share this post


Link to post

Nah i don't take stuff from other mods....i enjoy the process of finding stuff out, brainstorming on forums more then actually completing a mod....hence why my own mod never gets released...i keep experimenting and altering stuff all the time.

 

The tiberium vein is basicly a generic fireweaponspecial power....it uses a dispatch module to trigger the power. the power spawns a ocl (wich contains most of the effects). I is your stereotypical one-click. At best you need to copy/reproduce some effects from KW and add them to a new specialpower...you can either go the ioncannon way and add the effects OCL to a weaponocl nugget in the weapon itself or go the airstrike way and have a container(aircraft) drop a bomb that spawns the ocl and effects etc.

 

When i have some more time i might give it a go of reproducing the Tib Vein weapon for TW. Il post the code aswell then.

 

The mechapede is basicly a horde. Its head is the banner carrier and the body parts are horde members. In theory you could even replicate it in TW if you understand how the mechapede is build up. It could be the rallypoint bug is unique to KW as again in theory the mechapede is just a infantry squad with its members being his body parts.

Share this post


Link to post

TibVein does use the flood thing to have the damage spread outward over time.

Share this post


Link to post

Thanks if you will be able to do so in your own time it will be great, I prefer to make it work like the original which means that I want it to trigger without any plan that drop a bomb on the field

 

I want to try it out but I don't sure what to do, Do I simply need to copy the Ion's specialpower and replace the ion with the Vein SP and OCL? Also I need to make "Vein2" that is based on other xml right?

 

 

I've noticed that the mechapede is horde, I tried to change it into Vehicle but don't it didn't change much, Also the bug don't seem to be present in ver 1.00 (Yea EA mess stuff up with the patchs rather then fix all bugs and added a few new bugs such as bugged Zocom's Predator exp (which I fixed) and the mechapede's rally points, I won't be surprise if the vein also wasn't bugged in ver 1.00)

 

 

I wish I would've know a way to force it to use rallys or make new model that works with them (I tried it but may done something wrong?)

Edited by Egozi44

Share this post


Link to post

1.2 was not made by the same team which did 1.1 and 1.0, also it uses only xml changes and ignores 1.1 nearly completely iirc.

Not even sure if 1.1 and 1.0 had the same teams as most of KW was done by Breakaway Games.

Edited by Lauren

Share this post


Link to post

TibVein does use the flood thing to have the damage spread outward over time.

 

Probably the easiest way to mimic that is using the ioncannon logic....having a fireweapon module with multiple delayed fireweapons and a cilindrical min and max radius.

 

Thanks if you will be able to do so in your own time it will be great, I prefer to make it work like the original which means that I want it to trigger without any plan that drop a bomb on the field

 

I want to try it out but I don't sure what to do, Do I simply need to copy the Ion's specialpower and replace the ion with the Vein SP and OCL? Also I need to make "Vein2" that is based on other xml right?

More or less yes.

 

Regarding the plane.

 

What you need to realise is that everything in 'video'games..is visual. Hide the plane, give it insane speed, hide the bomb and you can't make out the difference on what was the delivery method.

Or use the orca sensor pod method. Give it to the liquidation facility. Give the projectile insane speed. Hide the projectile. Let the projectile spawn the ocl+weapon effect.

 

There are several methods you could use to mimic the original vein weapon effect. It just has to visually believable...for all the coding cares you could have Dora the explorer hand deliver the vein weapon....aslong as you hide the correct meshes , show the right particle effects etc..it doesnt mather.

Share this post


Link to post

Lol Dora the explorer

 

 

So far I tried something and it didn't work

I don't really like the plane because I assume it will bring unwanted and random bugs such as air defense shooting invisible enemy and don't sure how to tell them to ignore it

 

I really need help in this one... never really created command that complicated

Share this post


Link to post

NOT_AUTOACQUIRABLE CANNOT_BE_DETECTED

 

that should do it.

 

The biggest issue will be with creating a new button...i havent figured out how to do that correctly in KW.

But we could probably just reuse the original Tib vein button and couple that to the new weapon.

Im abit short on time atm, might have a look at this over the weekend.

Share this post


Link to post

Just create a new PlayerPowerButtonTemplate. Unlike TW you don't need a store anymore.

Edited by Lauren

Share this post


Link to post

Well in KW SDK the buttons sometimes don't appear at all (that what happened in my tries with the vein... I may done something wrong though)

Share this post


Link to post

does this count for unit ability buttons aswell megumi?

because ive noticed that for some reason the buttons dont seem to work.

 

is it just enough to declare the playerpower or untiability button, save it in a xml and reference that in your static.xml?

Edited by Ravendark

Share this post


Link to post

Yes basically. Also for player powers you need to have an entry in your player spellbook.

Share this post


Link to post

Ok, so it seem that this post had been delayed for some months....

 

 

Here is the 3th thing I need help with (beside the engineer animation that you told me what to do and I was able to make it half working and the Vain bomb bug that I still need help with, eh eh)

 

 

The FireHawk engine effect bug

 

 

I was able to recover the files and Scripts from the old C&C forum thread which contain the info as for how to fix it, I don't really sure how to fix it myself and need help as for what need to be changed

 

Can someon take a look at them and tell me what I need to change one by one?

 

 

Here the scriptevents

 

<?xml version="1.0"?>
<SageLuaScriptSection xmlns="http://tempuri.org/ScriptEvents.xsd">
    <Events>
		<!-- All internal events have a first parameter of self, which is the object receiving the event.  They may have additial parameters, depending
			 on the specific event. -->
        <InternalEvent Name="OnDamaged" /> <!-- OnDamaged(self, other) other is attacking object, may be nil -->
        <InternalEvent Name="OnDestroyed" /> <!-- OnDestroyed(self) No parameters. Note that self is dead, but name and team are still valid. -->
        <InternalEvent Name="OnArrived" /> <!-- OnArrived(self) Arrived at the end of a waypoint path.  No parameters. -->
        <InternalEvent Name="OnUnitEntered" /> <!-- OnUnitEntered(self, areaName) Unit entered an area. Name of area is parameter. -->
        <!-- disabled since its really slow and nobody is using it... [mh, 5/7/2004]--><InternalEvent Name="OnTeamEntered" /> <!-- OnTeamEntered(self, areaName) Sent to the last unit of a team entering an area. -->
        <InternalEvent Name="OnUnitExited" /> <!-- OnUnitExited(self, areaName) Unit left an area. Name of area is parameter. -->
        <!-- disabled since its really slow and nobody is using it... [mh, 5/7/2004] --><InternalEvent Name="OnTeamExited" /> <!-- OnTeamExited(self, areaName) Sent to the last unit of a team leaving an area. -->
        <InternalEvent Name="OnTeamDestroyed" /> <!-- OnTeamDestroyed(self) Sent to the last unit of a team as it is destroyed. -->
        <InternalEvent Name="BeScary" /> <!-- Broadcast to a unit when he uses a power that makes him radiate scariness.. -->
		<InternalEvent Name="OnAflame" /> <!-- OnAflame(self) Broadcast to allies that I am on fire  -->
		<InternalEvent Name="OnQuenched" /> <!-- OnQuenched(self) Broadcast to allies that I am no longer on fire  -->
		<InternalEvent Name="OnCreated" /> <!-- OnCreated(self) sent when an object has been constructed -->
		<InternalEvent Name="OnBuildingComplete" /> <!--OnBuildingComplete sent when an object has completed building. IE construction complete-->
		<InternalEvent Name="DamageIncoming" /> <!-- DamageIncoming(self, other, delay, amount) other is shooter, delay is when the damage should hit, amount is how much.  So we can do a defense, or a "Oh heck" animation -->
        <InternalEvent Name="OnSlaughtered" /> <!-- OnSlaughtered(self, slaughterer). -->
        <InternalEvent Name="OnGenericEvent" /> <!-- self, string -->
		<InternalEvent Name="OnBuildVariation" /><!-- self, real -->
		<InternalEvent Name="OnClipEmpty" />
		<InternalEvent Name="OnClipFull" />
		<InternalEvent Name="OnPowerOutage" />
		<InternalEvent Name="OnPowerRestore" />

		<!-- Scripted events are of two kinds - first is one generated by the ObjectDispatchEvent or ObjectBroadcastEvent script.  The calling is
			DispatchedEvent(self, dispatchingObject, arbitraryString)  -->
        <ScriptedEvent Name="ExampleGuardMe" /> <!-- GuardMe(self, other, string) other is object generating the scripted event.  May be nil. -->
        <!-- Second kind of scripted event is a spy event. --> 
        <ScriptedEvent Name="ExampleSpyMoving" /> <!-- SpyMoving(self, spySelf, parameters...) spySelf is the object self is spying on, parameters is the spied event paramters, may be nil. -->
		
		<ScriptedEvent Name="BeAfraidOfRampage" /> <!-- Becoming afraid of rampage -->
		<ScriptedEvent Name="BeAfraidOfPhial" />
		<ScriptedEvent Name="BeUncontrollablyAfraid" /> <!-- Becoming afraid whether we like it or not -->
		<ScriptedEvent Name="BeAfraidOfGateDamaged" /> <!-- Be afraid of the gate being damaged -->
		<ScriptedEvent Name="BeTerrified" /> <!-- Run Away! -->
		
		<ScriptedEvent Name="ChantForUnit" />		<!-- Chant for a special unit! -->
		<ScriptedEvent Name="StopChantForUnit" />	<!-- Stop Chant for a special unit! -->
		<ScriptedEvent Name="BeginChanting" />		<!-- Begin Chanting! -->
		<ScriptedEvent Name="StopChanting" />		<!-- Stop Chanting! -->
		
		<!-- Cinematic Events -->
		<ScriptedEvent Name="CinematicRampageDamaged" />
		
		<!-- All ModelCondition and ObjectStatus events have a single parameter of self, which is the object matching the conditions. -->
        <ModelConditionEvent Name="OnFire"> <!-- OnFire(self) self is object matching the modelconditions specified. -->
            <Conditions>-DYING +AFLAME</Conditions>
        </ModelConditionEvent>
        <ModelConditionEvent Name="ExampleMovingDamaged">
            <Conditions>+MOVING +DAMAGED -AFLAME</Conditions>
        </ModelConditionEvent>
        <ModelConditionEvent Name="Moving">
            <Conditions>+MOVING</Conditions>
        </ModelConditionEvent>
		<ModelConditionEvent Name="ReallyDamaged">
			<Conditions>+REALLYDAMAGED</Conditions>
		</ModelConditionEvent>
	
		<ModelConditionEvent Name="RecoverFromTerror">
			<Conditions>-EMOTION_TERROR -DYING</Conditions>
		</ModelConditionEvent>
		
		<ModelConditionEvent Name="UsingSpecialOne">
			<Conditions>+SPECIAL_POWER_1 -UNPACKING -PACKING</Conditions>
		</ModelConditionEvent>
       
		<ModelConditionEvent Name="UsingSpecialTwo">
			<Conditions>+SPECIAL_POWER_2 -UNPACKING -PACKING</Conditions>
		</ModelConditionEvent>
		
		<ModelConditionEvent Name="UsingSpecialThree">
			<Conditions>+SPECIAL_POWER_3 -UNPACKING -PACKING</Conditions>
		</ModelConditionEvent>
		
		<ModelConditionEvent Name="CinematicRampageUser">
			<Conditions>+USER_4</Conditions>
		</ModelConditionEvent>
    </Events>
    
    <EventList Name="BaseScriptFunctions">
		<!-- If there are any events that need to apply to all units, put them here. jba -->
    </EventList>
    
    <EventList Name="GDIOrcaAirstrikeEventsList" Inherit="GDIAirstrikeOrcaWeapon">
		<EventHandler EventName="OnCreated" ScriptFunctionName="onCreatedGDIOrcaAirstrike" DebugSingleStep="false"/>
    </EventList>

	<EventList Name="AlienMCVUnpackingEventsList" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated" ScriptFunctionName="onCreatedAlienMCVUnpacking" DebugSingleStep="false"/>
	</EventList>

	<EventList Name="AlienMothershipEventsList" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated" ScriptFunctionName="OnAlienMotherShipCreated" DebugSingleStep="false"/>
	</EventList>
	
    <EventList Name="NeutralGarrisonableBuildingFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnNeutralGarrisonableBuildingCreated" DebugSingleStep="false"/>
		<EventHandler EventName="OnGenericEvent"	ScriptFunctionName="OnNeutralGarrisonableBuildingGenericEvent" DebugSingleStep="false"/>
    </EventList>
    
    <EventList Name="GDITechCenterFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDITechCenterCreated" DebugSingleStep="false"/>
		<EventHandler EventName="OnPowerOutage" ScriptFunctionName="onBuildingPowerOutage" DebugSingleStep="false"/>
		<EventHandler EventName="OnPowerRestore" ScriptFunctionName="onBuildingPowerRestored" DebugSingleStep="false"/>
    </EventList>

    <EventList Name="GDIMedicalBayFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIMedicalBayCreated" DebugSingleStep="false"/>
    </EventList>

    <EventList Name="GDIPowerPlantFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIPowerPlantCreated" DebugSingleStep="false"/>
		<EventHandler EventName="OnPowerOutage" ScriptFunctionName="onBuildingPowerOutage" DebugSingleStep="false"/>
		<EventHandler EventName="OnPowerRestore" ScriptFunctionName="onBuildingPowerRestored" DebugSingleStep="false"/>
    </EventList>
    
    <EventList Name="GDIZoneTrooperFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIZoneTrooperCreated" DebugSingleStep="false"/>
    </EventList>
    
    <EventList Name="GDIPredatorFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIPredatorCreated" DebugSingleStep="false"/>
    </EventList>
    
    <EventList Name="GDIMammothFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIMammothCreated" DebugSingleStep="false"/>
    </EventList>
    
    <EventList Name="GDIJuggernaughtFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIJuggernaughtCreated" DebugSingleStep="false"/>
    </EventList>

    <EventList Name="NODShredderFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnNODShredderCreated" DebugSingleStep="false"/>
    </EventList>

	<EventList Name="GDIWatchTowerFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIWatchTowerCreated" DebugSingleStep="false"/>
	</EventList>

	<EventList Name="GDIFirehawkFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIFirehawkCreated" DebugSingleStep="false"/>
    </EventList>

	<EventList Name="GDISniperSquadFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"		ScriptFunctionName="OnGDISniperSquadCreated" DebugSingleStep="false"/>
	</EventList>

		<EventList Name="OSR_SensorPodFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"		ScriptFunctionName="OnOSR_SensorPodCreated" DebugSingleStep="false"/>
	</EventList>
	

	<EventList Name="GDIOrcaFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"		ScriptFunctionName="OnGDIOrcaCreated" DebugSingleStep="false"/>
		<EventHandler EventName="OnClipEmpty"	ScriptFunctionName="OnGDIOrcaClipEmpty" DebugSingleStep="false"/>
		<EventHandler EventName="OnClipFull"	ScriptFunctionName="OnGDIOrcaClipFull" DebugSingleStep="false"/>
    </EventList>

	<EventList Name="GDIPitbullFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIPitbullCreated" DebugSingleStep="false"/>
	</EventList>

		<EventList Name="GDIV35Ox_SummonedForVehicleFunctions" Inherit="BaseScriptFunctions">
			<EventHandler EventName="OnCreated"	ScriptFunctionName="OnGDIV35Ox_SummonedForVehicleCreated" DebugSingleStep="false"/>
		</EventList>

    <EventList Name="NODRaiderTankFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnNODRaiderTankCreated" DebugSingleStep="false"/>
    </EventList>

	<EventList Name="NODAvatarFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"	ScriptFunctionName="OnNODAvatarCreated" DebugSingleStep="false"/>
	</EventList>
	
	<EventList Name="NODAvatarHuskFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"	ScriptFunctionName="OnNODAvatarCreated" DebugSingleStep="false"/>
		<EventHandler EventName="OnGenericEvent" ScriptFunctionName="OnNODAvatarGenericEvent" DebugSingleStep="false"/>
	</EventList>

	<EventList Name="NODScorpionBuggyFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"	ScriptFunctionName="OnNODScorpionBuggyCreated" DebugSingleStep="false"/>
	</EventList>

	<EventList Name="NODVenomFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"	ScriptFunctionName="OnNODVenomCreated" DebugSingleStep="false"/>
	</EventList>

	<EventList Name="NODTechAssembleyPlantFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"	ScriptFunctionName="OnNODTechAssembleyPlantCreated" DebugSingleStep="false"/>
	</EventList>

	<EventList Name="NODSecretShrineFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated"	ScriptFunctionName="OnNODSecretShrineCreated" DebugSingleStep="false"/>
		<EventHandler EventName="OnPowerOutage" ScriptFunctionName="OnNODSecretShrinePowerOutage" DebugSingleStep="false"/>
		<EventHandler EventName="OnPowerRestore" ScriptFunctionName="OnNODSecretShrinePowerRestored" DebugSingleStep="false"/>
	</EventList>

	<EventList Name="ControlPointFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnCreated" ScriptFunctionName="onCreatedControlPointFunctions" DebugSingleStep="false"/>
	</EventList>

	<EventList Name="BuildingPowerFunctions" Inherit="BaseScriptFunctions">
		<EventHandler EventName="OnPowerOutage" ScriptFunctionName="onBuildingPowerOutage" DebugSingleStep="false"/>
		<EventHandler EventName="OnPowerRestore" ScriptFunctionName="onBuildingPowerRestored" DebugSingleStep="false"/>
	</EventList>
    
	<!-- Generic keep Lua Event Lists -->
	<EventList Name="GarrisonableFunctions">
		<EventHandler EventName="OnCreated"	ScriptFunctionName="OnGarrisonableCreated" DebugSingleStep="false"/>
    </EventList>
    
    <EventList Name="RubbleDropshipFunctions" Inherit="BaseScriptFunctions">
        <EventHandler EventName="OnCreated"	ScriptFunctionName="OnRubbleDropshipCreated" DebugSingleStep="false"/>
    </EventList>
    
</SageLuaScriptSection>

 

Here the Scripts

 

--- define lua functions 
function NoOp(self, source)
end


function kill(self) -- Kill unit self.
	ExecuteAction("NAMED_KILL", self);
end

function RadiateUncontrollableFear( self )
	ObjectBroadcastEventToEnemies( self, "BeUncontrollablyAfraid", 350 )
end

function RadiateGateDamageFear(self)
	ObjectBroadcastEventToAllies(self, "BeAfraidOfGateDamaged", 200)
end

function OnNeutralGarrisonableBuildingCreated(self)
	ObjectHideSubObjectPermanently( self, "ARMOR", true )
end

function OnGDITechCenterCreated(self)
	ObjectHideSubObjectPermanently( self, "UG_Boost", true )
	ObjectHideSubObjectPermanently( self, "UG_Mortar", true )
	ObjectHideSubObjectPermanently( self, "B_MortarRound_1", true )
	ObjectHideSubObjectPermanently( self, "UG_Rail", true )
	ObjectHideSubObjectPermanently( self, "UG_Scan", true )
end

function OnGDIMedicalBayCreated(self)
	ObjectHideSubObjectPermanently( self, "UG_Armor", true )
	ObjectHideSubObjectPermanently( self, "UG_StealthDetector", true )
	ObjectHideSubObjectPermanently( self, "UG_StealthDetector01", true )
	ObjectHideSubObjectPermanently( self, "UG_Injector", true )
end

function OnGDIPowerPlantCreated(self)
	ObjectHideSubObjectPermanently( self, "Turbines", true )
	ObjectHideSubObjectPermanently( self, "TurbineGlows", true )
end

function OnGDIZoneTrooperCreated(self)
	ObjectHideSubObjectPermanently( self, "UGSCANNER", true )
	ObjectHideSubObjectPermanently( self, "UGJUMP", true )
	ObjectHideSubObjectPermanently( self, "UGINJECTOR", true )
end

function OnGDIPredatorCreated(self)
	ObjectHideSubObjectPermanently( self, "UGRAIL_01", true )
end

function OnGDIMammothCreated(self)
	ObjectHideSubObjectPermanently( self, "UGRAIL_01", true )
	ObjectHideSubObjectPermanently( self, "UGRAIL_02", true )
	ObjectHideSubObjectPermanently( self, "MuzzleFlash_01", true )
	ObjectHideSubObjectPermanently( self, "MuzzleFlash_02", true )
end

function OnGDIJuggernaughtCreated(self)
	ObjectHideSubObjectPermanently( self, "MuzzleFlash_01", true )
	ObjectHideSubObjectPermanently( self, "MuzzleFlash_02", true )
	ObjectHideSubObjectPermanently( self, "MuzzleFlash_03", true )
	
end

function OnGDIWatchTowerCreated(self)
	ObjectHideSubObjectPermanently( self, "MuzzleFlash_01", true )
	ObjectHideSubObjectPermanently( self, "MuzzleFlash_02", true )
end

function OnGDIFirehawkCreated(self)
	-- bomb load by default.
	ObjectGrantUpgrade( self, "Upgrade_SelectLoad_02" )
	ObjectHideSubObjectPermanently( self, "Plane04", true )
end

function OnGDIPitbullCreated(self)
	ObjectHideSubObjectPermanently( self, "MortorTube", true )
end

function OnGDIOrcaCreated(self)
	ObjectHideSubObjectPermanently( self, "UG_PROBE", true )
end

function OnGDISniperSquadCreated(self)
	ObjectSetObjectStatus( self, "CAN_SPOT_FOR_BOMBARD" )
end

function OnOSR_SensorPodCreated(self)
	ObjectSetObjectStatus( self, "CAN_SPOT_FOR_BOMBARD" )
end


function OnGDIOrcaClipEmpty(self)
	ObjectHideSubObjectPermanently( self, "MISSILE01", true )
end

function OnGDIOrcaClipFull(self)
	ObjectHideSubObjectPermanently( self, "MISSILE01", false )
end

function OnGDIV35Ox_SummonedForVehicleCreated(self)
	ObjectHideSubObjectPermanently( self, "LOADREF", true )
end

function OnNODShredderCreated(self)

end

function OnNODRaiderTankCreated(self)
	ObjectHideSubObjectPermanently( self, "Gun_Upgrade", true )
	ObjectHideSubObjectPermanently( self, "Turret2_Gun", true )
	ObjectHideSubObjectPermanently( self, "Turret2", true )
	ObjectHideSubObjectPermanently( self, "MuzzleFlash_01", true )
	ObjectHideSubObjectPermanently( self, "DOZERBLADE", true )
end

function OnNODAvatarCreated(self)
	ObjectHideSubObjectPermanently( self, "NUBEAM", true )
	ObjectHideSubObjectPermanently( self, "FLAMETANK", true )
	ObjectHideSubObjectPermanently( self, "S_DETECTOR", true )
	ObjectHideSubObjectPermanently( self, "S_GENERATOR", true )
end

function OnNODAvatarGenericEvent(self, data)

	local str = tostring( data )

	if str == "upgrades_copied" then
		ObjectRemoveUpgrade( self, "Upgrade_Veterancy_VETERAN" );
		ObjectRemoveUpgrade( self, "Upgrade_Veterancy_ELITE" );
		ObjectRemoveUpgrade( self, "Upgrade_Veterancy_HEROIC" );
	end
end

function OnNODScorpionBuggyCreated(self)
	ObjectHideSubObjectPermanently( self, "EMP", true )
end

function OnNODVenomCreated(self)
	ObjectHideSubObjectPermanently( self, "SigGen", true )
end

function OnNODTechAssembleyPlantCreated(self)
	ObjectHideSubObjectPermanently( self, "UG_EMP", true )
	ObjectHideSubObjectPermanently( self, "UG_Lasers", true )
	ObjectHideSubObjectPermanently( self, "UG_SigGen", true )
	ObjectHideSubObjectPermanently( self, "UG_DozerBlades", true )
end

function OnNODSecretShrineCreated(self)
	ObjectHideSubObjectPermanently( self, "GLOWS", true )	
	ObjectHideSubObjectPermanently( self, "ConfUpgrd", true )
end

function OnNODSecretShrinePowerOutage(self)	
	if ObjectHasUpgrade( self, "Upgrade_NODConfessorUpgrade" ) == 1 then
		ObjectHideSubObjectPermanently( self, "GLOWS", true )	
	end
end

function OnNODSecretShrinePowerRestored(self)		 
	if ObjectHasUpgrade( self, "Upgrade_NODConfessorUpgrade" ) == 1 then
		ObjectHideSubObjectPermanently( self, "GLOWS", false )	
	end
end

function onCreatedControlPointFunctions(self)
	ObjectHideSubObjectPermanently( self, "TB_CP_ALN", true )
	ObjectHideSubObjectPermanently( self, "TB_CP_GDI", true )
	ObjectHideSubObjectPermanently( self, "TB_CP_NOD", true )
	ObjectHideSubObjectPermanently( self, "LIGHTSF01", true )
	ObjectHideSubObjectPermanently( self, "100", false)
	ObjectHideSubObjectPermanently( self, "75", false)
	ObjectHideSubObjectPermanently( self, "50", false)
	ObjectHideSubObjectPermanently( self, "25", false )
end

function onBuildingPowerOutage(self)
	ObjectHideSubObjectPermanently( self, "LIGHTS", true )
	ObjectHideSubObjectPermanently( self, "FXLIGHTS05", true )
	ObjectHideSubObjectPermanently( self, "FXLIGHTS", true )
	ObjectHideSubObjectPermanently( self, "FXGLOWS", true )
	ObjectHideSubObjectPermanently( self, "FLASHINGLIGHTS", true )
	ObjectHideSubObjectPermanently( self, "MESH01", true )
	ObjectHideSubObjectPermanently( self, "POWERPLANTGLOWS", true )
	ObjectHideSubObjectPermanently( self, "LIGHTL", true )
	ObjectHideSubObjectPermanently( self, "LIGHTR", true )
	ObjectHideSubObjectPermanently( self, "LIGHTS1", true )
	ObjectHideSubObjectPermanently( self, "NBCHEMICALPTE1", true )
	ObjectHideSubObjectPermanently( self, "LINKS", true )
	ObjectHideSubObjectPermanently( self, "MESH28", true )
	ObjectHideSubObjectPermanently( self, "TURBINEGLOWS", true )
	ObjectHideSubObjectPermanently( self, "GLOWS", true )
end

function onBuildingPowerRestored(self)
	ObjectHideSubObjectPermanently( self, "LIGHTS", false )
	ObjectHideSubObjectPermanently( self, "FXLIGHTS05", false )
	ObjectHideSubObjectPermanently( self, "FXLIGHTS", false )
	ObjectHideSubObjectPermanently( self, "FXGLOWS", false )
	ObjectHideSubObjectPermanently( self, "FLASHINGLIGHTS", false )
	ObjectHideSubObjectPermanently( self, "MESH01", false )
	ObjectHideSubObjectPermanently( self, "POWERPLANTGLOWS", false )
	ObjectHideSubObjectPermanently( self, "LIGHTL", false )
	ObjectHideSubObjectPermanently( self, "LIGHTR", false )
	ObjectHideSubObjectPermanently( self, "LIGHTS1", false )
	ObjectHideSubObjectPermanently( self, "NBCHEMICALPTE1", false )
	ObjectHideSubObjectPermanently( self, "LINKS", false )
	ObjectHideSubObjectPermanently( self, "MESH28", false )
	ObjectHideSubObjectPermanently( self, "TURBINEGLOWS", false )
	ObjectHideSubObjectPermanently( self, "GLOWS", false )
end







function OnNeutralGarrisonableBuildingGenericEvent(self,data)
end

function onCreatedGDIOrcaAirstrike(self)
	ObjectForbidPlayerCommands( self, true )
end

function onCreatedAlienMCVUnpacking(self)
	ObjectForbidPlayerCommands( self, true )
end

function GoIntoRampage(self)
	ObjectEnterRampageState(self)
		
	--Broadcast fear to surrounding unit(if we actually rampaged)
	if ObjectTestModelCondition(self, "WEAPONSET_RAMPAGE") then
		ObjectBroadcastEventToUnits(self, "BeAfraidOfRampage", 250)
	end
end

function MakeMeAlert(self)
	ObjectEnterAlertState(self)
end

function BecomeUncontrollablyAfraid(self, other)
	if not ObjectTestCanSufferFear(self) then
		return
	end

	ObjectEnterUncontrollableCowerState(self, other)
end

function BecomeAfraidOfRampage(self, other)
	if not ObjectTestCanSufferFear(self) then
		return
	end

	ObjectEnterCowerState(self, other)
end

function RadiateTerror(self, other)
	ObjectBroadcastEventToEnemies(self, "BeTerrified", 180)
end
	
function RadiateTerrorEx(self, other, terrorRange)
	ObjectBroadcastEventToEnemies(self, "BeTerrified", terrorRange)
end
	

function BecomeTerrified(self, other)
	ObjectEnterRunAwayPanicState(self, other)
end

function BecomeAfraidOfGateDamaged(self, other)
	if not ObjectTestCanSufferFear(self) then
		return
	end

	ObjectEnterCowerState(self,other)
end


function ChantForUnit(self) -- Used by units to broadcast the chant event to their own side.
	ObjectBroadcastEventToAllies(self, "BeginChanting", 9999)
end

function StopChantForUnit(self) -- Used by units to stop the chant event to their own side.
	ObjectBroadcastEventToAllies(self, "StopChanting", 9999)
end

function SpyMoving(self, other)
	print(ObjectDescription(self).." spying movement of "..ObjectDescription(other));
end

function OnGarrisonableCreated(self)
	ObjectHideSubObjectPermanently( self, "GARRISON01", true )
	ObjectHideSubObjectPermanently( self, "GARRISON02", true )
end

function OnRubbleDropshipCreated(self)
	ObjectHideSubObjectPermanently( self, "Loadref", true )
end

function OnAlienMotherShipCreated(self)
	ObjectSetObjectStatus( self, "AIRBORNE_TARGET" )
end

 

Here the ready-to-use xmls and Scripts in files

(the provided ready-to-use xmls are for TW and lack some stuff that the FireHawk xml have in KW so simpley replace them is not a option for me)

 

Hope it will help other people who want it as well!

 

The credit not go for me though but for the user who made these xmls in the old C&C forum which not live anymore

 

 

scriptevents.txt

 

FireHawk.zip

 

GDIFireHawkCleaned.zip

 

GDIFireHawkCleanedBoosOnlyPow.zip

 

Scripts.txt

Edited by Egozi44

Share this post


Link to post

The firehawks whole draw needs a cleanup, EA messed it up so some of the conditions and animations show he afterburner plane(the mesh that makes up the exhaust flames) during the from animations and model conditions. There was a post by jvnck(iirc his name correctly) on the old EA forums, he fixed it.

 

The credit not go for me though but for the user who made these xmls in the old C&C forum which not live anymore.

 

There is a bit of misunderstanding regarding the authorship of those files. I know that Ravendark is a modest person, but he is the true intellectual author of those files. I only wrote down his instructions and applied the changes.

 

I am not sure where is your problem... since you have those files, you could use some program like winmerge to see the differences between the original EA files and the modded ones.

Share this post


Link to post

I never heard of winmerge :0

and as I said the files were made for TW

 

I modding KW

 

 

The Firehawks have more upgrades in KW and simply replacing the files is not a option, I rather add all what need to be added one by one but I don't sure what was added

 

I also never really messed with the Scripts and scriptevents before (happened to open them with a note once and saw that they relate to objects that appearing by the scripts (as the name "scripts" suggested) but that about it)

 

I need help in basic stuff since I noob in modding and prefer help in order to not mess stuff up xD

Edited by Egozi44

Share this post


Link to post

Thanks But I don't think that the tool going to help me in this one

(I extract the xmls in both Wrathed 1.07 and 1.08, both of them extract the files with more stuff or less stuff that the TW xml that you or Ravendark made , KW also have more lines they added to the firehawks like subobjects and upgrades, rather then touching them and ruin something I rather just add the new lines that fix the bug which I don't sure what they are (the post you guys explained what to do now dead...) )

 

I need to know one by one what lines were added and to where

 

that it

 

 

what lines to add to the gameobject , scripts, and the scriptevents

 

 

can you help me with it?

Edited by Egozi44

Share this post


Link to post

3. last thing

 

the GDI's Firehacek don't seem to show it's engine upgrade effect all the times

what can I do to fix it?

 

can someone help me out with it?

 

Thanks!"

 

 

Thanks But I don't think that the tool going to help me in this one

(I extract the xmls in both Wrathed 1.07 and 1.08, both of them extract the files with more stuff or less stuff that the TW xml that you or Ravendark made , KW also have more lines they added to the firehawks like subobjects and upgrades, rather then touching them and ruin something I rather just add the new lines that fix the bug which I don't sure what they are (the post you guys explained what to do now dead...) )

 

I need to know one by one what lines were added and to where

 

that it

 

 

what lines to add to the gameobject , scripts, and the scriptevents

 

 

can you help me with it?

 

 

Well first I had to look how the problem in KW is... (It took me like 5 minutes in a skirmish mode)

 

So:

 

-The code and the draw section has been handled better in KW than it was at TW.

-The firehawk shows the blue fire everytime it moves a high speed.

 

Nevertheless, my point of view of what you should do about this:

 

1) forget all firehawk TW files (both original and modded), they are useless to solve your problem.

2) forget about lua files cuz they solve the issue in KW, see:

function OnGDIFirehawkCreated(self)
	-- bomb load by default.
	-- comment out to fix harpoint subobject issue ObjectGrantUpgrade( self, "Upgrade_SelectLoad_02" )
	-- commented out because this is done through animation scripts ObjectHideSubObjectPermanently( self, "Plane04", true )
	ObjectHideSubObjectPermanently( self, "UG_Hardpoints", true )
end

3) Just focus on the draw section. In it, focus in animation state entries. And in those, focus in these type of lines (which hides blue fire + vapor):

					<Script>
						CurDrawableHideSubObject("Plane04")
						CurDrawableHideSubObject("exhaust02")
					</Script>

and (which shows blue fire + vapor):

					<Script>
						CurDrawableShowSubObject("Plane04")
						CurDrawableShowSubObject("exhaust02")
					</Script>

 

 

If you see in the behaviour section:

			<ModelConditionUpgrade
				id="F4034908"
				RequiresAllTriggers="False"
				RequiresAllConflictingTriggers="False"
				Permanent="False"
				WaypointMode="False"
				WaypointModeTerminal="True"
				AddConditionFlags="USER_1"
				RemoveConditionFlags=""
				AddTempConditionFlag="TOPPLED"
				TempConditionTime="0s">
				<TriggeredBy>Upgrade_FirehawkStratofighterBooster</TriggeredBy>
			</ModelConditionUpgrade>

This basically adds a condition flag "USER_1" to the model when the Stratofighter Booster upgrade is bought. So if want it to show visual effects all the time, in the draw section/ animation entries you will find these:

				<AnimationState
					ParseCondStateType="PARSE_DEFAULT"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Script>
						CurDrawableHideSubObject("Plane04")
						CurDrawableHideSubObject("exhaust02")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="USER_1 CLIMBING"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Script>
						CurDrawableHideSubObject("Plane04")
						CurDrawableHideSubObject("exhaust02")
					</Script>
				</AnimationState>

Change it to:

				<AnimationState
					ParseCondStateType="PARSE_DEFAULT"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Script>
						CurDrawableHideSubObject("Plane04")
						CurDrawableHideSubObject("exhaust02")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="USER_1 CLIMBING"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Script>
						CurDrawableShowSubObject("Plane04")
						CurDrawableShowSubObject("exhaust02")
					</Script>
				</AnimationState>

Also for always showing the effects (even with locomotor taxiing) change this:

				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DECELERATE USER_1"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Animation
						AnimationName="GUFIREHWK_FLYA"
						AnimationMode="LOOP"
						Distance="0"
						AnimationBlendTime="15"
						AnimationSpeedFactorMin="1"
						AnimationSpeedFactorMax="1"
						WeaponTimingOrdering="PRIMARY_WEAPON"
						WeaponTimingSlotID="1"
						AnimationPriority="1"
						FadeBeginFrame="-1"
						FadeEndFrame="-1"
						AnimationMustCompleteBlend="False"
						UseWeaponTiming="False"
						FadingIn="False" />
					<Script>
						CurDrawableShowSubObject("Plane04")
						CurDrawableShowSubObject("exhaust02")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="PACKING_TYPE_1 UNPACKING"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Animation
						AnimationName="GUFIREHWK_STRA"
						AnimationMode="ONCE"
						Distance="0"
						AnimationBlendTime="5"
						AnimationSpeedFactorMin="1"
						AnimationSpeedFactorMax="1"
						WeaponTimingOrdering="PRIMARY_WEAPON"
						WeaponTimingSlotID="1"
						AnimationPriority="1"
						FadeBeginFrame="-1"
						FadeEndFrame="-1"
						AnimationMustCompleteBlend="False"
						UseWeaponTiming="False"
						FadingIn="False" />
					<Script>
						CurDrawableHideSubObject("Plane04")
						CurDrawableHideSubObject("exhaust02")
					</Script>
				</AnimationState>

to:

				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DECELERATE USER_1"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Animation
						AnimationName="GUFIREHWK_FLYA"
						AnimationMode="LOOP"
						Distance="0"
						AnimationBlendTime="15"
						AnimationSpeedFactorMin="1"
						AnimationSpeedFactorMax="1"
						WeaponTimingOrdering="PRIMARY_WEAPON"
						WeaponTimingSlotID="1"
						AnimationPriority="1"
						FadeBeginFrame="-1"
						FadeEndFrame="-1"
						AnimationMustCompleteBlend="False"
						UseWeaponTiming="False"
						FadingIn="False" />
					<Script>
						CurDrawableShowSubObject("Plane04")
						CurDrawableShowSubObject("exhaust02")
					</Script>
				</AnimationState>
                                <!-- It should be at the end of USER_1 animations but before the rest-->
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="USER_1"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Script>
						CurDrawableShowSubObject("Plane04")
						CurDrawableShowSubObject("exhaust02")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="PACKING_TYPE_1 UNPACKING"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Animation
						AnimationName="GUFIREHWK_STRA"
						AnimationMode="ONCE"
						Distance="0"
						AnimationBlendTime="5"
						AnimationSpeedFactorMin="1"
						AnimationSpeedFactorMax="1"
						WeaponTimingOrdering="PRIMARY_WEAPON"
						WeaponTimingSlotID="1"
						AnimationPriority="1"
						FadeBeginFrame="-1"
						FadeEndFrame="-1"
						AnimationMustCompleteBlend="False"
						UseWeaponTiming="False"
						FadingIn="False" />
					<Script>
						CurDrawableHideSubObject("Plane04")
						CurDrawableHideSubObject("exhaust02")
					</Script>
				</AnimationState>

 

Hope this solve your issue.

Share this post


Link to post

Thanks I will give it ago, but what is the the locomotor taxiing? I recall it was the locomotor that relate to the transports that take inf and tanks but didn't really had any use in other air craft beside the hammerhead

 

I want to make it show the effect all the time after upgrade (not just when use second abilty)

 

So I just need to use the code you posted for it?

 

 

(This

 

				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DECELERATE USER_1"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Animation
						AnimationName="GUFIREHWK_FLYA"
						AnimationMode="LOOP"
						Distance="0"
						AnimationBlendTime="15"
						AnimationSpeedFactorMin="1"
						AnimationSpeedFactorMax="1"
						WeaponTimingOrdering="PRIMARY_WEAPON"
						WeaponTimingSlotID="1"
						AnimationPriority="1"
						FadeBeginFrame="-1"
						FadeEndFrame="-1"
						AnimationMustCompleteBlend="False"
						UseWeaponTiming="False"
						FadingIn="False" />
					<Script>
						CurDrawableShowSubObject("Plane04")
						CurDrawableShowSubObject("exhaust02")
					</Script>
				</AnimationState>
                                <!-- It should be at the end of USER_1 animations but before the rest-->
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="USER_1"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Script>
						CurDrawableShowSubObject("Plane04")
						CurDrawableShowSubObject("exhaust02")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="PACKING_TYPE_1 UNPACKING"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Animation
						AnimationName="GUFIREHWK_STRA"
						AnimationMode="ONCE"
						Distance="0"
						AnimationBlendTime="5"
						AnimationSpeedFactorMin="1"
						AnimationSpeedFactorMax="1"
						WeaponTimingOrdering="PRIMARY_WEAPON"
						WeaponTimingSlotID="1"
						AnimationPriority="1"
						FadeBeginFrame="-1"
						FadeEndFrame="-1"
						AnimationMustCompleteBlend="False"
						UseWeaponTiming="False"
						FadingIn="False" />
					<Script>
						CurDrawableHideSubObject("Plane04")
						CurDrawableHideSubObject("exhaust02")
					</Script>
				</AnimationState>

 

)

 

 

 

And can you please remind me what trigger the bug so I can test it?

 

(you said how to trigger it in your older thread but I forgotten)

Share this post


Link to post

but what is the the locomotor taxiing?

Is how you tell the game that the plane has landed...

 

Anyway:

-here is the xml extracted from wed of the firehawk

 

And here there are options to mod the draw section:

 

option 1 (always blue +vapor)

option 2 (idem 1 but no vapor in taxiing)

option 3 (idem 1 but no effects in taxiing)

 

 

Since I never compile anything with wrathed, not sure if there is something more to do in order to compile those files.

Share this post


Link to post

Many thanks but I still need to do it manually (and prefer to do it that way) since Zocom's and GDI's FireHawk have different upgrades,

 

I want it t show the upgrade effect All the time (On Air and on land) like how EA planned for it to be (I assume?)

 

 

So I need to use this one correct?

 

				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DECELERATE USER_1"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Animation
						AnimationName="GUFIREHWK_FLYA"
						AnimationMode="LOOP"
						Distance="0"
						AnimationBlendTime="15"
						AnimationSpeedFactorMin="1"
						AnimationSpeedFactorMax="1"
						WeaponTimingOrdering="PRIMARY_WEAPON"
						WeaponTimingSlotID="1"
						AnimationPriority="1"
						FadeBeginFrame="-1"
						FadeEndFrame="-1"
						AnimationMustCompleteBlend="False"
						UseWeaponTiming="False"
						FadingIn="False" />
					<Script>
						CurDrawableShowSubObject("Plane04")
						CurDrawableShowSubObject("exhaust02")
					</Script>
				</AnimationState>
                                <!-- It should be at the end of USER_1 animations but before the rest-->
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="USER_1"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Script>
						CurDrawableShowSubObject("Plane04")
						CurDrawableShowSubObject("exhaust02")
					</Script>
				</AnimationState>
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="PACKING_TYPE_1 UNPACKING"
					EnteringStateFX=""
					FrameForPristineBonePositions="0"
					ShareAnimation="False"
					AllowRepeatInRandomPick="False"
					SimilarRestart="False">
					<Animation
						AnimationName="GUFIREHWK_STRA"
						AnimationMode="ONCE"
						Distance="0"
						AnimationBlendTime="5"
						AnimationSpeedFactorMin="1"
						AnimationSpeedFactorMax="1"
						WeaponTimingOrdering="PRIMARY_WEAPON"
						WeaponTimingSlotID="1"
						AnimationPriority="1"
						FadeBeginFrame="-1"
						FadeEndFrame="-1"
						AnimationMustCompleteBlend="False"
						UseWeaponTiming="False"
						FadingIn="False" />
					<Script>
						CurDrawableHideSubObject("Plane04")
						CurDrawableHideSubObject("exhaust02")
					</Script>
				</AnimationState>

 

 

And can you please tell me how to trigger the bug? because I forgot and I need a way to see that it work

 

 

Thanks

Edited by Egozi44

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×