Announcement

Collapse
No announcement yet.

WAR-TiberianSun_UTVehicles[final beta released 8-21-09]

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    slow ... RL job is keeping me busy.

    Leave a comment:


  • replied
    sgtmay how is your project coming along, figured I would check in.

    Leave a comment:


  • replied
    I have never done a mutator before but i could look in to it.

    If you know any one who could quickly do it or if you would just like to use the code for it i could post it up in here and you could just change a name or two to modify it for your own use.

    Raptor rocket weapon.
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCVWeap_RaptorGun extends UTVWeap_RaptorGun
    	HideDropDown;
    
    
    defaultproperties
    {
       LockAim=0.930000
       ConsoleLockAim=0.900000
       LockRange=20000.000000
    
       VehicleClass=Class'UTGameContent.UTVehicle_ShieldedTurret_Rocket'
    
       FireInterval(0)=0.200000
       FireInterval(1)=0.700000
    
       ItemName="Raptor Rocket Turret"
    
       ObjectArchetype=UTVehicleWeapon'UTGame.Default__UTVehicleWeapon'
    }
    The turret.
    Code:
    /**
     *
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    
    class CnCVehicle_ShieldedTurret_Rocket extends UTVehicle_ShieldedTurret_Rocket;
    
    defaultproperties
    {
       Seats(0)=(GunClass=Class'CnCScripts.CnCVWeap_RaptorGun',GunSocket=("GunLeft","GunRight"),GunPivotPoints=("Seat"),WeaponEffects=((SocketName="GunLeft",Offset=(X=-35.000000,Y=-3.000000,Z=0.000000),Scale3D=(X=4.000000,Y=4.500000,Z=4.500000)),(SocketName="GunRight",Offset=(X=-35.000000,Y=-3.000000,Z=0.000000),Scale3D=(X=4.000000,Y=4.500000,Z=4.500000))),TurretControls=("PitchControl","LeftYawControl","RightYawControl"),CameraTag="CameraViewSocket",CameraBaseOffset=(X=0.000000,Y=0.000000,Z=50.000000),CameraOffset=-120.000000,CameraEyeHeight=5.000000,bSeatVisible=True,SeatBone="Seat",SeatOffset=(X=36.000000,Y=0.000000,Z=23.000000),SeatRotation=(Pitch=1820,Yaw=0,Roll=0),DriverDamageMult=0.400000,SeatMotionAudio=TurretTwistSound,SeatIconPOS=(X=0.470000,Y=0.650000))
    }
    And the factory for the turret.
    Code:
    /**
     *
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    
    
    class CnCVehicleFactory_ShieldedTurret_Rocket extends UTVehicleFactory_ShieldedTurret_Rocket;
    
    defaultproperties
    {
       VehicleClassPath="CnCScripts.CnCVehicle_ShieldedTurret_Rocket"
    }

    Leave a comment:


  • replied
    Could you do a turret replacement mutator for the Missile one yours? It will be very usefull in AirMars

    Leave a comment:


  • replied
    Yes I have the titan pack and the latest patch 2.1

    Yes if it happens again I will post a crash report.

    Leave a comment:


  • replied
    do you have the titan pack and all the latest patches installed?

    if it crashes again could you copy and paste the crash error report here for me?

    Leave a comment:


  • replied
    Played it few time and once it crashed my game half way in to it.

    Leave a comment:


  • replied
    Great work mate can't wait for the vehicles again nice.

    Leave a comment:


  • replied
    Final beta released for the UT vehicles version.
    Download is located in the first post in this thread.

    Next will be the implementation of the old public release reborn vehicles and a few of my own in to the game as new vehicle classes.

    GDI will get the Tiberian sun GDI Orca fighter and Orca bomber,Titan,Wolverine,Juggernaut(Firestorm),Hover MRLS,Sonic tank,And Mammoth Mk II

    Nod will get The Apache and the classic Scrin banshee,Stealth Tank,Flame Tank,Tick Tank,Deployable Artillary,Attack Cycle,Nod Buggy,and Cabal Core Defender.

    Plus some of the original base defense structures like the obelisk,nod AA,laser turrets, and GDI component towers with all the like components for GDI.

    Until then i will be burying my nose in developing vehicles which i will release as individual packages as i finish them.

    Enjoy.

    Leave a comment:


  • replied
    meh ..... its a work in progress .... i wont be happy until i get the vehicles in.

    Final beta release is coming soon with complete documentation for how to impliment this type of mod into a warfare style map.

    Leave a comment:


  • replied
    Wow this is certainly coming around very nicely good work sgtmay.

    Leave a comment:


  • replied
    there are now 4 different modes for this map.
    [screenshot]http://img525.imageshack.us/img525/8156/cnctsutvshot26.jpg[/screenshot]
    Default (all super weapons and power ups enabled)
    BaseVsBase (Redeemer and invulnerability disabled)
    [screenshot]http://img525.imageshack.us/img525/6060/cnctsutvshot23.jpg[/screenshot]
    TwoFronts (2 prime nodes,all powerups and super weapons enabled)
    [screenshot]http://img525.imageshack.us/img525/2858/cnctsutvshot24.jpg[/screenshot]
    ThreeFronts (4 prime nodes, all powerups and super weapons enabled)
    [screenshot]http://img135.imageshack.us/img135/3417/cnctsutvshot25.jpg[/screenshot]

    I now have some work to do with the prefabs so i can finalize the package work and then get the documentation completed.

    final beta release will be soon.
    -----------------------------------
    prefabs done.... now going through all 4 modes to check for bugs and do a final check of the bots to make sure they are able to navigate the map.

    I might have to change to the 40,000 health power core instead of the 20,000 health..... the deemer can be used for an instant core kill if it is a well placed strike(right on top of the power core inside of the building)
    it seems that the splash damage is transferred to the building which then transfers that extra damage back to the power core so the deemer and the titan death seem to maximize the power core damage if you are really close to the core when you die.

    Leave a comment:


  • replied
    [screenshot]http://img521.imageshack.us/img521/4963/cnctsutvshot18.jpg[/screenshot]

    put some trees in but now im getting a crashing problem and a referencing error when i do a build and check for errors XD

    i cant cook it with the trees in for some reason.

    [screenshot]http://img521.imageshack.us/img521/1964/cnctsutvshot19.jpg[/screenshot]

    fixed and populated with a few hundred trees..... now even more stuff to mess with before i can finish the map for release.
    ----------------------------------------------
    even more trees and some rocks in the upper right passage.
    [screenshot]http://img148.imageshack.us/img148/3426/cnctsutvshot20.jpg[/screenshot]

    perspective view of GDI base
    [screenshot]http://img148.imageshack.us/img148/1020/cnctsutvshot21.jpg[/screenshot]

    Perspective view of Nod base
    [screenshot]http://img208.imageshack.us/img208/6029/cnctsutvshot22.jpg[/screenshot]

    i am now working on some different node linking configurations besides just base vs base

    Leave a comment:


  • replied
    Originally posted by Doomgiver View Post
    Hi,

    it looks really good, but I miss vegetation, wreckeges, and other cover and I think you should add more lightning effects. It looks a bit too brown and dark.
    im having some trouble getting the buildings to cast shadows..... got used to using projectors to cast shadows and still haven't figured out what they did to produce building shadows with UT3

    i will add a few trees in and some rocks but im trying to keep the object count low for now until this map can be thoroughly tested in a server environment.

    as soon as i can get some server test feedback i will feel better about fleshing out the map for a final production.

    time for a code dump.

    Code:
    //For brett, a configurable power node
    //captainsnarf
    // Adapted for configurable/parent power core object by sgtmay
    // thanks cap'n
    
    class CnCPowerCore extends UTOnslaughtPowerCore_Content
    	PerObjectLocalized;
    
    var		CnCWarChildPowerCore NextPowerCore;
    
    simulated function RegisterChild(CnCWarChildPowerCore B)
    {
    	local CnCWarChildPowerCore Next;
    
    	if ( NextPowerCore == None )
    	{
    		NextPowerCore = B;
    	}
    	else
    	{
    		Next = NextPowerCore;
    		while ( Next.NextPowerCore != None )
    		{
    			Next = Next.NextPowerCore;
    		}
    		Next.NextPowerCore = B;
    	}
     }
    
    defaultproperties
    {
       Name="Default__CnCPowerCore"
    }
    Code:
    /**
     * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
     */
    class CnCPowerCore_Health10000 extends CnCPowerCore;
    
    defaultproperties
    {
       PanelHealthMax=133
       DamageCapacity=10000.000000
    
       Name="Default__CnCPowerCore_Health10000"
    }
    Code:
    /**
     * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
     */
    class CnCPowerCore_Health20000 extends CnCPowerCore;
    
    defaultproperties
    {
       PanelHealthMax=265
       DamageCapacity=20000.000000
       Name="Default__CnCPowerCore_Health20000"
    }
    Code:
    /**
     * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
     */
    class CnCPowerCore_Health30000 extends CnCPowerCore;
    
    defaultproperties
    {
       PanelHealthMax=398
       DamageCapacity=30000.000000
       Name="Default__CnCPowerCore_Health30000"
    }
    Code:
    /**
     * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
     */
    class CnCPowerCore_Health40000 extends CnCPowerCore;
    
    defaultproperties
    {
       PanelHealthMax=530
       DamageCapacity=40000.000000
       Name="Default__CnCPowerCore_Health40000"
    }
    Code:
    /**
     * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
     */
    class CnCWarChildPowerCore extends Actor
    	abstract
    	placeable;
    
    var()		CnCPowerCore ParentPowerCore;
    var			CnCWarChildPowerCore NextPowerCore;
    
    simulated event PostBeginPlay()
    {
    	local CnCPowerCore B;
    	local float NewDist, BestDist;
    
    	Super.PostBeginPlay();
    
    	if ( ParentPowerCore == None )
    	{
    		// find a PowerNode
    		LogInternal(self$" does not have parent PowerNode set!");
    		ForEach WorldInfo.AllNavigationPoints(class'CnCPowerCore', B)
    		{
    			NewDist = VSize(Location - B.Location);
    			if ( (ParentPowerCore == None) || (NewDist < BestDist) )
    			{
    				ParentPowerCore = B;
    				BestDist = NewDist;
    			}
    		}
    	}
    	if ( ParentPowerCore != None )
    	{
    		ParentPowerCore.RegisterChild(self);
    	}
    }
    
    event TakeDamage(int Damage, Controller InstigatedBy, vector HitLocation, vector Momentum, class<DamageType> DamageType, optional TraceHitInfo HitInfo, optional Actor DamageCauser)
    {
    	if ( ParentPowerCore != None )
    	{
    		ParentPowerCore.TakeDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType, HitInfo, DamageCauser);
    	}
    }
    
    //simulated function DisableBarricade()
    //{
    //	SetCollision(false, false);
    //	SetHidden(true);
    //	CollisionComponent.SetBlockRigidBody(false);
    //}
    
    //simulated function EnableBarricade()
    //{
    //	SetCollision(true, true);
    //	SetHidden(false);
    //	CollisionComponent.SetBlockRigidBody(true);
    //}
    
    defaultproperties
    {
       bNoDelete=True
       bMovable=False
       bCollideActors=True
       bBlockActors=True
       bProjTarget=True
       CollisionType=COLLIDE_CustomDefault
       Name="Default__CnCWarChildPowerCore"
       ObjectArchetype=Actor'Engine.Default__Actor'
    }
    Code:
    //adaption of programmable static mesh to damageable power core child by sgtmay
    class CnCWarChildPowerCore_StaticMesh extends CnCWarChildPowerCore;
    //        native
    //	placeable;
    
    var() const editconst StaticMeshComponent	StaticMeshComponent;
    
    
    event PreBeginPlay() {}
    
    defaultproperties
    {
       Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0 ObjName=StaticMeshComponent0 Archetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
          bAllowApproximateOcclusion=True
          bForceDirectLightMap=True
          bCastDynamicShadow=False
          Name="StaticMeshComponent0"
          ObjectArchetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
       End Object
       StaticMeshComponent=StaticMeshComponent0
       Components(0)=StaticMeshComponent0
       BlockRigidBody=True
       CollisionComponent=StaticMeshComponent0
       CollisionType=COLLIDE_BlockAll
       Name="Default__CnCWarChildPowerCore_StaticMesh"
    //   ObjectArchetype=StaticMeshActorBase'Engine.Default__StaticMeshActorBase'
    }
    Code:
    // script combined from Captainsnarf's ConfigPowerNode and sgtmay's CnCPowerNode
    // tweakable health and power node settings with the ability to link child class static mesh objects
    // to the power node that transfer damage to the parent
    
    class  CnCPowerNode extends UTOnslaughtPowernode_Content
    	PerObjectLocalized;
    
    
    var		CnCWarChildPowerNode NextPowerNode;
    var() int MaxHealth<tooltip=Overall node health>;
    var() float OrbInvulnerableRadius<tooltip=Distance in which orb shields node>;
    var() float OrbCaptureReturnRadius<tooltip=CaptureReturnRadius>;
    var() float OrbInvEffectZOffset<tooltip=Distance in which orb shields node in Z axis>;
    var() int OrbHealPerSecond<tooltip=How fast orb heals the node>;
    var() float TemporaryShieldDuration<tooltip=When captured, how long temporary shield stays up>;
    var() int NodeRotationRate<tooltip=YawRotationRate>;
    var() float HealMulti<tooltip=LinkHealMultiplier>;
    var() int MaxPanelHealth<tooltip=How much damage before a panel pops off>;
    
    simulated event PostBeginPlay()
    {
    	Super.PostBeginPlay();
    	DamageCapacity=MaxHealth;
    	InvulnerableRadius=OrbInvulnerableRadius;
    	CaptureReturnRadius=OrbCaptureReturnRadius;
    	InvEffectZOffset=OrbInvEffectZOffset;
    	OrbHealingPerSecond=OrbHealPerSecond;
    	OrbCaptureInvulnerabilityDuration=TemporaryShieldDuration;
    	YawRotationRate=NodeRotationRate;
    	LinkHealMult=HealMulti;
    	PanelHealthMax=MaxPanelHealth;
    }
    
    // cut/paste/edit from utwarfarebarricade
    simulated function RegisterChild(CnCWarChildPowerNode B)
    {
    	local CnCWarChildPowerNode Next;
    
    	if ( NextPowerNode == None )
    	{
    		NextPowerNode = B;
    	}
    	else
    	{
    		Next = NextPowerNode;
    		while ( Next.NextPowerNode != None )
    		{
    			Next = Next.NextPowerNode;
    		}
    		Next.NextPowerNode = B;
    	}
    }
    defaultproperties
    {
    	MaxHealth=2000
    	OrbInvulnerableRadius=1000.0
    	OrbCaptureReturnRadius=500.0
    	OrbInvEffectZOffset=16.0
    	OrbHealPerSecond=100
    	TemporaryShieldDuration=12.0
    	NodeRotationRate=20000
    	HealMulti=1.0
    	MaxPanelHealth=60
       Name="Default__CnCPowerNode"
    //   ObjectArchetype=UTOnslaughtPowernode'UTGame.Default__UTOnslaughtPowernode'
    }

    Programmable count down node class for a cnc themed map
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCWarCountdownNode extends CnCPowerNode
    	PerObjectLocalized;
    
    /** how long in seconds the controlling team must hold the node to gain the benefit */
    var() byte CountdownTime;
    /** how much longer controlling team needs to hold the node */
    var byte RemainingTime;
    /** special announcements played for various situations
     * if there is only one element in the array, that is played regardless of team control
     * otherwise, the announcement that corresponds with the team that controls the node is played
     */
    var(Announcements) array<ObjectiveAnnouncementInfo> BuiltAnnouncements, HalfTimeAnnouncements, TenSecondsLeftAnnouncements,
    						SuccessAnnouncements, DestroyedAnnouncements;
    /** whether the Kismet connected to this node succeeding will damage the core (so give higher priority for AI, etc) */
    var() bool bDamagesCore;
    
    replication
    {
    	if (bNetDirty)
    		RemainingTime;
    }
    
    simulated event PreBeginPlay()
    {
    	if (bDamagesCore)
    	{
    		DefensePriority = Max(DefensePriority, 5);
    	}
    
    	Super.PreBeginPlay();
    }
    
    simulated state ActiveNode
    {
    	simulated event RenderMinimap( UTMapInfo MP, Canvas Canvas, UTPlayerController PlayerOwner, float ColorPercent )
    	{
    		local float XL, YL;
    		local Font OldFont;
    		local string TimeStr;
    
    		OldFont = Canvas.Font;
    		Canvas.Font = class'UTHUD'.static.GetFontSizeIndex(2);
    		TimeStr = string(RemainingTime);
    		Canvas.StrLen(TimeStr, XL, YL);
    		Canvas.DrawColor = class'UTHUD'.default.BlackColor;
    		Canvas.SetPos(HUDLocation.X + 1 - XL * 0.25, HUDLocation.Y + 1 - YL * 0.25);
    		Canvas.DrawText(TimeStr);
    		Canvas.DrawColor = class'UTHUD'.default.WhiteColor;
    		Canvas.SetPos(HUDLocation.X - XL * 0.25, HUDLocation.Y - YL * 0.25);
    		Canvas.DrawText(TimeStr);
    		Canvas.Font = OldFont;
    	}
    	
    	simulated function DrawBeaconIcon(Canvas Canvas, vector IconLocation, float IconWidth, float IconAlpha, float BeaconPulseScale, UTPlayerController PlayerOwner)
    	{
    		local float XL, YL;
    		local Font OldFont;
    		local string TimeStr;
    
    		OldFont = Canvas.Font;
    		Canvas.Font = class'UTHUD'.static.GetFontSizeIndex(1);
    		TimeStr = string(RemainingTime);
    		Canvas.StrLen(TimeStr, XL, YL);
    		Canvas.SetPos(IconLocation.X - XL * 0.5, IconLocation.Y - YL * 0.5);
    		Canvas.DrawText(TimeStr,, BeaconPulseScale, BeaconPulseScale);
    		Canvas.Font = OldFont;
    	}
    
    	function Countdown()
    	{
    		RemainingTime--;
    		if (RemainingTime == 0)
    		{
    			TriggerEventClass(class'UTSeqEvent_CountdownNodeSucceeded', None);
    			BroadcastLocalizedMessage(class'UTCountdownNodeMessage', 30 + DefenderTeamIndex,,, self);
    
    			// go back to neutral
    			LastDamagedBy = None;
    			Scorers.length = 0;
    			Global.UpdateCloseActors();
    			DefenderTeamIndex = 2;
    			UTGame(WorldInfo.Game).ObjectiveDisabled(self);
    			FindNewObjectives();
    			GotoState('NeutralNode');
    		}
    		else if (RemainingTime == CountdownTime / 2)
    		{
    			BroadcastLocalizedMessage(class'UTCountdownNodeMessage', 10 + DefenderTeamIndex,,, self);
    		}
    		else if (RemainingTime == 10)
    		{
    			BroadcastLocalizedMessage(class'UTCountdownNodeMessage', 20 + DefenderTeamIndex,,, self);
    		}
    	}
    
    	function DisableObjective(Controller InstigatedBy)
    	{
    		BroadcastLocalizedMessage(class'UTCountdownNodeMessage', 40 + DefenderTeamIndex,,, self);
    
    		Global.DisableObjective(InstigatedBy);
    	}
    
    	simulated event BeginState(name PreviousStateName)
    	{
    		bDrawBeaconIcon = true;
    		bScriptRenderAdditionalMinimap = true;
    		if (Role == ROLE_Authority)
    		{
    			RemainingTime = CountdownTime;
    			SetTimer(1.0, true, 'Countdown');
    			BroadcastLocalizedMessage(class'UTCountdownNodeMessage', DefenderTeamIndex,,, self);
    		}
    
    		Super.BeginState(PreviousStateName);
    	}
    
    	simulated event EndState(name NextStateName)
    	{
    		bDrawBeaconIcon = false;
    		ClearTimer('Countdown');
    
    		Super.EndState(NextStateName);
    		bScriptRenderAdditionalMinimap = false;
    	}
    }
    
    defaultproperties
    {
       CountdownTime=60
       BuiltAnnouncements(0)=(AnnouncementSound=SoundNodeWave'A_Announcer_Status.Status.A_StatusAnnouncer_RedControlsTheCountdownNode',AnnouncementText="Red Controls the Countdown Node!")
       BuiltAnnouncements(1)=(AnnouncementSound=SoundNodeWave'A_Announcer_Status.Status.A_StatusAnnouncer_BlueControlsTheCountdownNode',AnnouncementText="Blue Controls the Countdown Node!")
       SuccessAnnouncements(0)=(AnnouncementText="Red Countdown Node Completed!")
       SuccessAnnouncements(1)=(AnnouncementText="Blue Countdown Node Completed!")
       DestroyedAnnouncements(0)=(AnnouncementSound=SoundNodeWave'A_Announcer_Status.Status.A_StatusAnnouncer_CountdownNodeDestroyed',AnnouncementText="Countdown Node Destroyed")
    //   Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0 ObjName=StaticMeshComponent0 Archetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:StaticMeshComponent0'
    //      ObjectArchetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:StaticMeshComponent0'
    //   End Object
    //   NodeBase=StaticMeshComponent0
    //   Begin Object Class=StaticMeshComponent Name=StaticMeshSpinner ObjName=StaticMeshSpinner Archetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:StaticMeshSpinner'
    //      ObjectArchetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:StaticMeshSpinner'
    //   End Object
    //   NodeBaseSpinner=StaticMeshSpinner
    //   Begin Object Class=CylinderComponent Name=CollisionCylinder2 ObjName=CollisionCylinder2 Archetype=CylinderComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:CollisionCylinder2'
    //      ObjectArchetype=CylinderComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:CollisionCylinder2'
    //   End Object
    //   EnergySphereCollision=CollisionCylinder2
    //   Begin Object Class=ParticleSystemComponent Name=CaptureSystem ObjName=CaptureSystem Archetype=ParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:CaptureSystem'
    //      ObjectArchetype=ParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:CaptureSystem'
    //   End Object
    //   OrbCaptureComponent=CaptureSystem
    //   Begin Object Class=ParticleSystemComponent Name=InvulnerableSystem ObjName=InvulnerableSystem Archetype=ParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:InvulnerableSystem'
    //      ObjectArchetype=ParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:InvulnerableSystem'
    //   End Object
    //   InvulnerableToOrbEffect=InvulnerableSystem
    //   Begin Object Class=AudioComponent Name=OrbNearbySoundComponent ObjName=OrbNearbySoundComponent Archetype=AudioComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:OrbNearbySoundComponent'
    //      ObjectArchetype=AudioComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:OrbNearbySoundComponent'
    //   End Object
    //   OrbNearbySound=OrbNearbySoundComponent
    //   Begin Object Class=StaticMeshComponent Name=NecrisCapturePipesLargeComp ObjName=NecrisCapturePipesLargeComp Archetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:NecrisCapturePipesLargeComp'
    //      ObjectArchetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:NecrisCapturePipesLargeComp'
    //   End Object
    //   NecrisCapturePipesLarge=NecrisCapturePipesLargeComp
    //   Begin Object Class=StaticMeshComponent Name=NecrisCapturePipesSmallComp ObjName=NecrisCapturePipesSmallComp Archetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:NecrisCapturePipesSmallComp'
    //      ObjectArchetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:NecrisCapturePipesSmallComp'
    //   End Object
    //   NecrisCapturePipesSmall=NecrisCapturePipesSmallComp
    //   Begin Object Class=UTParticleSystemComponent Name=NecrisCaptureComp ObjName=NecrisCaptureComp Archetype=UTParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:NecrisCaptureComp'
    //      ObjectArchetype=UTParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:NecrisCaptureComp'
    //   End Object
    //   PSC_NecrisCapture=NecrisCaptureComp
    //   Begin Object Class=UTParticleSystemComponent Name=NecrisGoodPuddleComp ObjName=NecrisGoodPuddleComp Archetype=UTParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:NecrisGoodPuddleComp'
    //      ObjectArchetype=UTParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:NecrisGoodPuddleComp'
    //   End Object
    //   PSC_NecrisGooPuddle=NecrisGoodPuddleComp
    //   Begin Object Class=SkeletalMeshComponent Name=SkeletalMeshComponent1 ObjName=SkeletalMeshComponent1 Archetype=SkeletalMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:SkeletalMeshComponent1'
    //      ObjectArchetype=SkeletalMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:SkeletalMeshComponent1'
    //   End Object
    //   PanelMesh=SkeletalMeshComponent1
    //   Begin Object Class=AudioComponent Name=AmbientComponent ObjName=AmbientComponent Archetype=AudioComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:AmbientComponent'
    //      ObjectArchetype=AudioComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:AmbientComponent'
    //   End Object
    //   AmbientSoundComponent=AmbientComponent
    //   Begin Object Class=StaticMeshComponent Name=StaticMeshComponent9 ObjName=StaticMeshComponent9 Archetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:StaticMeshComponent9'
    //      ObjectArchetype=StaticMeshComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:StaticMeshComponent9'
    //   End Object
    //   NodeBeamEffect=StaticMeshComponent9
    //   DefensePriority=4
    //   ObjectiveName="Countdown Node"
    //   Begin Object Class=CylinderComponent Name=CollisionCylinder ObjName=CollisionCylinder Archetype=CylinderComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:CollisionCylinder'
    //      ObjectArchetype=CylinderComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:CollisionCylinder'
    //   End Object
    //   CylinderComponent=CollisionCylinder
    //   Begin Object Class=ArrowComponent Name=Arrow ObjName=Arrow Archetype=ArrowComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:Arrow'
    //      ObjectArchetype=ArrowComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:Arrow'
    //   End Object
    //   Components(0)=Arrow
    //   Components(1)=CollisionCylinder
    //   Begin Object Class=PathRenderingComponent Name=PathRenderer ObjName=PathRenderer Archetype=PathRenderingComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:PathRenderer'
    //      ObjectArchetype=PathRenderingComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:PathRenderer'
    //   End Object
    //   Components(2)=PathRenderer
    //   Begin Object Class=LinkRenderingComponent Name=LinkRenderer ObjName=LinkRenderer Archetype=LinkRenderingComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:LinkRenderer'
    //      ObjectArchetype=LinkRenderingComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:LinkRenderer'
    //   End Object
    //   Components(3)=LinkRenderer
    //   Components(4)=AmbientComponent
    //   Begin Object Class=DynamicLightEnvironmentComponent Name=PowerNodeLightEnvironment ObjName=PowerNodeLightEnvironment Archetype=DynamicLightEnvironmentComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:PowerNodeLightEnvironment'
    //      ObjectArchetype=DynamicLightEnvironmentComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:PowerNodeLightEnvironment'
    //   End Object
    //   Components(5)=PowerNodeLightEnvironment
    //   Components(6)=StaticMeshComponent0
    //   Components(7)=StaticMeshSpinner
    //   Components(8)=SkeletalMeshComponent1
    //   Components(9)=CollisionCylinder2
    //   Begin Object Class=UTParticleSystemComponent Name=AmbientEffectComponent ObjName=AmbientEffectComponent Archetype=UTParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:AmbientEffectComponent'
    //      ObjectArchetype=UTParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:AmbientEffectComponent'
    //   End Object
    //   Components(10)=AmbientEffectComponent
    //   Begin Object Class=ParticleSystemComponent Name=ParticleSystemComponent1 ObjName=ParticleSystemComponent1 Archetype=ParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:ParticleSystemComponent1'
    //      ObjectArchetype=ParticleSystemComponent'UTGameContent.Default__UTOnslaughtPowernode_Content:ParticleSystemComponent1'
    //   End Object
    //   Components(11)=ParticleSystemComponent1
    //   Components(12)=StaticMeshComponent9
    //   Components(13)=OrbNearbySoundComponent
    //   Components(14)=CaptureSystem
    //   Components(15)=InvulnerableSystem
    //   Components(16)=NecrisGoodPuddleComp
    //   Components(17)=NecrisCaptureComp
    //   Components(18)=NecrisCapturePipesLargeComp
    //   Components(19)=NecrisCapturePipesSmallComp
    //   CollisionComponent=CollisionCylinder
       SupportedEvents(5)=Class'UTGameContent.UTSeqEvent_CountdownNodeSucceeded'
       Name="Default__CnCWarCountdownNode"
    //   ObjectArchetype=UTOnslaughtPowernode_Content'UTGameContent.Default__UTOnslaughtPowernode_Content'
    }
    Code:
    /**
     * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
     */
    class CnCWarChildPowerNode extends Actor
    	abstract
    	placeable;
    
    var()		CnCPowerNode ParentPowerNode;
    var			CnCWarChildPowerNode NextPowerNode;
    
    simulated event PostBeginPlay()
    {
    	local CnCPowerNode B;
    	local float NewDist, BestDist;
    
    	Super.PostBeginPlay();
    
    	if ( ParentPowerNode == None )
    	{
    		// find a PowerNode
    		LogInternal(self$" does not have parent PowerNode set!");
    		ForEach WorldInfo.AllNavigationPoints(class'CnCPowerNode', B)
    		{
    			NewDist = VSize(Location - B.Location);
    			if ( (ParentPowerNode == None) || (NewDist < BestDist) )
    			{
    				ParentPowerNode = B;
    				BestDist = NewDist;
    			}
    		}
    	}
    	if ( ParentPowerNode != None )
    	{
    		ParentPowerNode.RegisterChild(self);
    	}
    }
    
    event TakeDamage(int Damage, Controller InstigatedBy, vector HitLocation, vector Momentum, class<DamageType> DamageType, optional TraceHitInfo HitInfo, optional Actor DamageCauser)
    {
    	if ( ParentPowerNode != None )
    	{
    		ParentPowerNode.TakeDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType, HitInfo, DamageCauser);
    	}
    }
    
    //simulated function DisableBarricade()
    //{
    //	SetCollision(false, false);
    //	SetHidden(true);
    //	CollisionComponent.SetBlockRigidBody(false);
    //}
    
    //simulated function EnableBarricade()
    //{
    //	SetCollision(true, true);
    //	SetHidden(false);
    //	CollisionComponent.SetBlockRigidBody(true);
    //}
    
    defaultproperties
    {
       bNoDelete=True
       bMovable=False
       bCollideActors=True
       bBlockActors=True
       bProjTarget=True
       CollisionType=COLLIDE_CustomDefault
       Name="Default__CnCWarChildPowerNode"
       ObjectArchetype=Actor'Engine.Default__Actor'
    }
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCWarChildPowerNode_StaticMesh extends CnCWarChildPowerNode;
    //        native
    //	placeable;
    
    var() const editconst StaticMeshComponent	StaticMeshComponent;
    
    
    event PreBeginPlay() {}
    
    defaultproperties
    {
       Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0 ObjName=StaticMeshComponent0 Archetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
          bAllowApproximateOcclusion=True
          bForceDirectLightMap=True
          bCastDynamicShadow=False
          Name="StaticMeshComponent0"
          ObjectArchetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
       End Object
       StaticMeshComponent=StaticMeshComponent0
       Components(0)=StaticMeshComponent0
       BlockRigidBody=True
       CollisionComponent=StaticMeshComponent0
       CollisionType=COLLIDE_BlockAll
       Name="Default__CnCWarChildPowerCore_StaticMesh"
    //   ObjectArchetype=StaticMeshActorBase'Engine.Default__StaticMeshActorBase'
    }
    The new barricade code that allows assignable static meshes.
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCWarChildBaricade_StaticMesh extends UTWarfareChildBarricade;
    var() const editconst StaticMeshComponent	StaticMeshComponent;
    
    
    event PreBeginPlay() {}
    
    defaultproperties
    {
       Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0 ObjName=StaticMeshComponent0 Archetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
          bAllowApproximateOcclusion=True
          bForceDirectLightMap=True
          bCastDynamicShadow=False
          Name="StaticMeshComponent0"
          ObjectArchetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
       End Object
       StaticMeshComponent=StaticMeshComponent0
       Components(0)=StaticMeshComponent0
       BlockRigidBody=True
       CollisionComponent=StaticMeshComponent0
       CollisionType=COLLIDE_BlockAll
       Name="Default__CnCWarChildBaricade_StaticMesh"
       ObjectArchetype=UTWarfareChildBarricade'UTGame.Default__UTWarfareChildBarricade'
    }
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCVWeap_RaptorGun extends UTVWeap_RaptorGun
    	HideDropDown;
    
    
    defaultproperties
    {
       LockAim=0.930000
       ConsoleLockAim=0.900000
       LockRange=20000.000000
    
       VehicleClass=Class'UTGameContent.UTVehicle_ShieldedTurret_Rocket'
    
       FireInterval(0)=0.200000
       FireInterval(1)=0.700000
    
       ItemName="Raptor Rocket Turret"
    
       ObjectArchetype=UTVehicleWeapon'UTGame.Default__UTVehicleWeapon'
    }
    Code:
    /**
     *
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    
    
    class CnCVehicleFactory_ShieldedTurret_Rocket extends UTVehicleFactory_ShieldedTurret_Rocket;
    
    defaultproperties
    {
       VehicleClassPath="CnCScripts.CnCVehicle_ShieldedTurret_Rocket"
    }
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCUDamage extends UTUDamage;
    
    
    defaultproperties
    {
       TimeRemaining=120.000000
    }
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCInvulnerability extends UTInvulnerability;
    
    defaultproperties
    {
       TimeRemaining=120.000000
    }
    Code:
    /**
     *      By sgtmay
     * My simple extended time version of the invisibility power up.
     */
    
    
    class CnCInvisibility extends UTInvisibility;
    
    defaultproperties
    {
       TimeRemaining=120.000000
    }
    Code:
    /**
     *      By sgtmay
     * My simple extended time version of the Berserk power up.
     */
    
    
    class CnCBerserk extends UTBerserk;
    
    defaultproperties
    {
       TimeRemaining=120.000000
    }
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCPickupFactory_UDamage extends UTPickupFactory_UDamage;
    
    
    
    defaultproperties
    {
    
       InventoryType=Class'CnCScripts.CnCUDamage'
    
    }
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCPickupFactory_Invulnerability extends UTPickupFactory_Invulnerability;
    
    defaultproperties
    {
    InventoryType=Class'CnCScripts.CnCInvulnerability'
    }
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCPickupFactory_Invisibility extends UTPickupFactory_Invisibility;
    
    defaultproperties
    {
       InventoryType=Class'CnCScripts.CnCInvisibility'
    }
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     */
    class CnCPickupFactory_Berserk extends UTPickupFactory_Berserk;
    
    defaultproperties
    {
       InventoryType=Class'CnCScripts.CnCBerserk'
    }
    This concludes all of the scripting for the UT Vehicles version of the map.

    still working on tweaking little things here and there in the map..... and im gonna add in a few trees for doomgiver

    Leave a comment:


  • replied
    Hi,

    it looks really good, but I miss vegetation, wreckeges, and other cover and I think you should add more lightning effects. It looks a bit too brown and dark.

    Leave a comment:

Working...
X