Announcement

Collapse
No announcement yet.

Help for a newb programmer

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

  • replied
    OMG!! i am well blind! iv only just noticed what the code is like - it's psuado-code!! i'm learnin that for my course at the min. lol that makes things alot easyer!!

    Thank you all for your time. I plan to post my new vehicles, weapons and the level i'm makin on the net soon as i'm done (prob month or so) i think you will be mildly impressed, bearing in mind it's my first real level (iv made bits before, but only really just box's with a few obsticles in it - nothing as big or as detailed and functional like this)

    Thank you all again (except Thisticstic. As Wendy from South Park said - "Don't $%^£ with ME!!!!" lol j/p m8 I love ya really)

    Leave a comment:


  • replied
    How on earth did you create a mesh if you didnt know how to even go about making meshes?
    lol never said i didn't know how to make mesh's!!

    CMan - thank you soo much m8, uve been well helpful. That code is much bigger than what it shows me on mine - i must be doin summit wrong.

    maya comes with UT2004 and yes it can animate very well. not sure if you can export the animations. check the animation window.
    shows how much i looked at the cd!! never even realised it came with maya. Iv got a full vers neway tho so ill get playin wiv that rite away.

    Virus, make sure you read all the resources people provide before asking some questions because they are clearly explained in detail in tutorials all over the net already. And also make sure you check ALL of something before you say "I cant find it"
    Tutorials aren't useful when you only need to know one or two things - u sit ther for hours reading it all jus to put a couple of bits together to do what you want. I appriciate no1 is gonna sit down and tell me everything there is to know about it, but that's not what im askin anyone to do. I had only a few q's, and i wouldve had to ask people to point me at the right tutorials anyway, so it was more efficient to just ask my few q's here. Plus garentee no single tutorial couldve answered ALL my q's at once.

    Leave a comment:


  • replied
    Well, I though I would add some more info for Virus to help him out.

    ***Sorry for the long post***

    Below is the code that controlls the Raptor. As you can see, there are the DefaultProperties that were mentioned. This is the way I modifiy vehicles, as I really hate UnrealED... So any property (and more) that are modifiable in unrealed, can be changed here. This is what is contained in the AttackCraft.uc
    (Pawn -> Vehicle -> SVehicle -> ONSVehicle -> ONSChopperCraft -> ONSAttackCraft.uc)


    Code:
    //-----------------------------------------------------------
    //
    //-----------------------------------------------------------
    class ONSAttackCraft extends ONSChopperCraft
        placeable;
    
    #exec OBJ LOAD FILE=..\textures\VMVehicles-TX.utx
    
    var()   float							MaxPitchSpeed;
    
    var()   array<vector>					TrailEffectPositions;
    var     class<ONSAttackCraftExhaust>	TrailEffectClass;
    var     array<ONSAttackCraftExhaust>	TrailEffects;
    
    var()	array<vector>					StreamerEffectOffset;
    var     class<ONSAttackCraftStreamer>	StreamerEffectClass;
    var		array<ONSAttackCraftStreamer>	StreamerEffect;
    
    var()	range							StreamerOpacityRamp;
    var()	float							StreamerOpacityChangeRate;
    var()	float							StreamerOpacityMax;
    var		float							StreamerCurrentOpacity;
    var		bool							StreamerActive;
    
    // AI hint
    function bool FastVehicle()
    {
    	return true;
    }
    
    function bool Dodge(eDoubleClickDir DoubleClickMove)
    {
    	if ( FRand() < 0.7 )
    	{
    		VehicleMovingTime = Level.TimeSeconds + 1;
    		Rise = 1;
    	}
    	return false;
    }
    
    simulated function SpecialCalcBehindView(PlayerController PC, out actor ViewActor, out vector CameraLocation, out rotator CameraRotation )
    {
    	local vector CamLookAt, HitLocation, HitNormal, OffsetVector;
    	local Actor HitActor;
        local vector x, y, z;
    
    	if (DesiredTPCamDistance < TPCamDistance)
    		TPCamDistance = FMax(DesiredTPCamDistance, TPCamDistance - CameraSpeed * (Level.TimeSeconds - LastCameraCalcTime));
    	else if (DesiredTPCamDistance > TPCamDistance)
    		TPCamDistance = FMin(DesiredTPCamDistance, TPCamDistance + CameraSpeed * (Level.TimeSeconds - LastCameraCalcTime));
    
        GetAxes(PC.Rotation, x, y, z);
    	ViewActor = self;
    	CamLookAt = GetCameraLocationStart() + (TPCamLookat >> Rotation) + TPCamWorldOffset;
    
    	OffsetVector = vect(0, 0, 0);
    	OffsetVector.X = -1.0 * TPCamDistance;
    
    	CameraLocation = CamLookAt + (OffsetVector >> PC.Rotation);
    
    	HitActor = Trace(HitLocation, HitNormal, CameraLocation, Location, true, vect(40, 40, 40));
    	if ( HitActor != None
    	     && (HitActor.bWorldGeometry || HitActor == GetVehicleBase() || Trace(HitLocation, HitNormal, CameraLocation, Location, false, vect(40, 40, 40)) != None) )
    			CameraLocation = HitLocation;
    
        CameraRotation = Normalize(PC.Rotation + PC.ShakeRot);
        CameraLocation = CameraLocation + PC.ShakeOffset.X * x + PC.ShakeOffset.Y * y + PC.ShakeOffset.Z * z;
    }
    
    function Died(Controller Killer, class<DamageType> damageType, vector HitLocation)
    {
        local int i;
    
        if(Level.NetMode != NM_DedicatedServer)
    	{
        	for(i=0;i<TrailEffects.Length;i++)
            	TrailEffects[i].Destroy();
            TrailEffects.Length = 0;
    
    		for(i=0; i<StreamerEffect.Length; i++)
    			StreamerEffect[i].Destroy();
    		StreamerEffect.Length = 0;
        }
    
    	Super.Died(Killer, damageType, HitLocation);
    }
    
    simulated function Destroyed()
    {
        local int i;
    
        if(Level.NetMode != NM_DedicatedServer)
    	{
        	for(i=0;i<TrailEffects.Length;i++)
            	TrailEffects[i].Destroy();
            TrailEffects.Length = 0;
    
    		for(i=0; i<StreamerEffect.Length; i++)
    			StreamerEffect[i].Destroy();
    		StreamerEffect.Length = 0;
        }
    
        Super.Destroyed();
    }
    
    simulated event DrivingStatusChanged()
    {
    	local vector RotX, RotY, RotZ;
    	local int i;
    
    	Super.DrivingStatusChanged();
    
        if (bDriving && Level.NetMode != NM_DedicatedServer && !bDropDetail)
    	{
            GetAxes(Rotation,RotX,RotY,RotZ);
    
            if (TrailEffects.Length == 0)
            {
                TrailEffects.Length = TrailEffectPositions.Length;
    
            	for(i=0;i<TrailEffects.Length;i++)
                	if (TrailEffects[i] == None)
                	{
                    	TrailEffects[i] = spawn(TrailEffectClass, self,, Location + (TrailEffectPositions[i] >> Rotation) );
                    	TrailEffects[i].SetBase(self);
                        TrailEffects[i].SetRelativeRotation( rot(0,32768,0) );
                    }
            }
    
            if (StreamerEffect.Length == 0)
            {
        		StreamerEffect.Length = StreamerEffectOffset.Length;
    
        		for(i=0; i<StreamerEffect.Length; i++)
            		if (StreamerEffect[i] == None)
            		{
            			StreamerEffect[i] = spawn(StreamerEffectClass, self,, Location + (StreamerEffectOffset[i] >> Rotation) );
            			StreamerEffect[i].SetBase(self);
            		}
        	}
        }
        else
        {
            if (Level.NetMode != NM_DedicatedServer)
        	{
            	for(i=0;i<TrailEffects.Length;i++)
            	   TrailEffects[i].Destroy();
    
            	TrailEffects.Length = 0;
    
        		for(i=0; i<StreamerEffect.Length; i++)
                    StreamerEffect[i].Destroy();
    
                StreamerEffect.Length = 0;
            }
        }
    }
    
    simulated function Tick(float DeltaTime)
    {
        local float EnginePitch, DesiredOpacity, DeltaOpacity, MaxOpacityChange, ThrustAmount;
    	local TrailEmitter T;
    	local int i;
    	local vector RelVel;
    	local bool NewStreamerActive, bIsBehindView;
    	local PlayerController PC;
    
        if(Level.NetMode != NM_DedicatedServer)
    	{
            EnginePitch = 64.0 + VSize(Velocity)/MaxPitchSpeed * 32.0;
            SoundPitch = FClamp(EnginePitch, 64, 96);
    
            RelVel = Velocity << Rotation;
    
            PC = Level.GetLocalPlayerController();
    		if (PC != None && PC.ViewTarget == self)
    			bIsBehindView = PC.bBehindView;
    		else
                bIsBehindView = True;
    
        	// Adjust Engine FX depending on being drive/velocity
    		if (!bIsBehindView)
    		{
    			for(i=0; i<TrailEffects.Length; i++)
    				TrailEffects[i].SetThrustEnabled(false);
    		}
            else
            {
    			ThrustAmount = FClamp(OutputThrust, 0.0, 1.0);
    
    			for(i=0; i<TrailEffects.Length; i++)
    			{
    				TrailEffects[i].SetThrustEnabled(true);
    				TrailEffects[i].SetThrust(ThrustAmount);
    			}
    		}
    
    		// Update streamer opacity (limit max change speed)
    		DesiredOpacity = (RelVel.X - StreamerOpacityRamp.Min)/(StreamerOpacityRamp.Max - StreamerOpacityRamp.Min);
    		DesiredOpacity = FClamp(DesiredOpacity, 0.0, StreamerOpacityMax);
    
    		MaxOpacityChange = DeltaTime * StreamerOpacityChangeRate;
    
    		DeltaOpacity = DesiredOpacity - StreamerCurrentOpacity;
    		DeltaOpacity = FClamp(DeltaOpacity, -MaxOpacityChange, MaxOpacityChange);
    
    		if(!bIsBehindView)
                StreamerCurrentOpacity = 0.0;
            else
        		StreamerCurrentOpacity += DeltaOpacity;
    
    		if(StreamerCurrentOpacity < 0.01)
    			NewStreamerActive = false;
    		else
    			NewStreamerActive = true;
    
    		for(i=0; i<StreamerEffect.Length; i++)
    		{
    			if(NewStreamerActive)
    			{
    				if(!StreamerActive)
    				{
    					T = TrailEmitter(StreamerEffect[i].Emitters[0]);
    					T.ResetTrail();
    				}
    
    				StreamerEffect[i].Emitters[0].Disabled = false;
    				StreamerEffect[i].Emitters[0].Opacity = StreamerCurrentOpacity;
    			}
    			else
    			{
    				StreamerEffect[i].Emitters[0].Disabled = true;
    				StreamerEffect[i].Emitters[0].Opacity = 0.0;
    			}
    		}
    
    		StreamerActive = NewStreamerActive;
        }
    
        Super.Tick(DeltaTime);
    }
    
    function float ImpactDamageModifier()
    {
        local float Multiplier;
        local vector X, Y, Z;
    
        GetAxes(Rotation, X, Y, Z);
        if (ImpactInfo.ImpactNorm Dot Z > 0)
            Multiplier = 1-(ImpactInfo.ImpactNorm Dot Z);
        else
            Multiplier = 1.0;
    
        return Super.ImpactDamageModifier() * Multiplier;
    }
    
    function bool RecommendLongRangedAttack()
    {
    	return true;
    }
    
    //FIXME Fix to not be specific to this class after demo
    function bool PlaceExitingDriver()
    {
    	local int i;
    	local vector tryPlace, Extent, HitLocation, HitNormal, ZOffset;
    
    	Extent = Driver.default.CollisionRadius * vect(1,1,0);
    	Extent.Z = Driver.default.CollisionHeight;
    	Extent *= 2;
    	ZOffset = Driver.default.CollisionHeight * vect(0,0,1);
    	if (Trace(HitLocation, HitNormal, Location + (ZOffset * 5), Location, false, Extent) != None)
    		return false;
    
    	//avoid running driver over by placing in direction perpendicular to velocity
    	if ( VSize(Velocity) > 100 )
    	{
    		tryPlace = Normal(Velocity cross vect(0,0,1)) * (CollisionRadius + Driver.default.CollisionRadius ) * 1.25 ;
    		if ( FRand() < 0.5 )
    			tryPlace *= -1; //randomly prefer other side
    		if ( (Trace(HitLocation, HitNormal, Location + tryPlace + ZOffset, Location + ZOffset, false, Extent) == None && Driver.SetLocation(Location + tryPlace + ZOffset))
    		     || (Trace(HitLocation, HitNormal, Location - tryPlace + ZOffset, Location + ZOffset, false, Extent) == None && Driver.SetLocation(Location - tryPlace + ZOffset)) )
    			return true;
    	}
    
    	for( i=0; i<ExitPositions.Length; i++)
    	{
    		if ( ExitPositions[0].Z != 0 )
    			ZOffset = Vect(0,0,1) * ExitPositions[0].Z;
    		else
    			ZOffset = Driver.default.CollisionHeight * vect(0,0,2);
    
    		if ( bRelativeExitPos )
    			tryPlace = Location + ( (ExitPositions[i]-ZOffset) >> Rotation) + ZOffset;
    		else
    			tryPlace = ExitPositions[i];
    
    		// First, do a line check (stops us passing through things on exit).
    		if ( bRelativeExitPos && Trace(HitLocation, HitNormal, tryPlace, Location + ZOffset, false, Extent) != None )
    			continue;
    
    		// Then see if we can place the player there.
    		if ( !Driver.SetLocation(tryPlace) )
    			continue;
    
    		return true;
    	}
    	return false;
    }
    
    static function StaticPrecache(LevelInfo L)
    {
        Super.StaticPrecache(L);
    
    	L.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehicles-SM.RAPTORexploded.RaptorWing');
    	L.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehicles-SM.RAPTORexploded.RaptorTailWing');
    	L.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehicles-SM.RAPTORexploded.RaptorGun');
    	L.AddPrecacheStaticMesh(StaticMesh'AW-2004Particles.Debris.Veh_Debris2');
    	L.AddPrecacheStaticMesh(StaticMesh'AW-2004Particles.Debris.Veh_Debris1');
    	L.AddPrecacheStaticMesh(StaticMesh'WeaponStaticMesh.RocketProj');
    
        L.AddPrecacheMaterial(Material'AW-2004Particles.Energy.SparkHead');
        L.AddPrecacheMaterial(Material'ExplosionTex.Framed.exp2_frames');
        L.AddPrecacheMaterial(Material'ExplosionTex.Framed.exp1_frames');
        L.AddPrecacheMaterial(Material'ExplosionTex.Framed.we1_frames');
        L.AddPrecacheMaterial(Material'AW-2004Particles.Weapons.SmokePanels2');
        L.AddPrecacheMaterial(Material'AW-2004Particles.Fire.NapalmSpot');
        L.AddPrecacheMaterial(Material'EpicParticles.Fire.SprayFire1');
        L.AddPrecacheMaterial(Material'VMVehicles-TX.AttackCraftGroup.RaptorColorRed');
        L.AddPrecacheMaterial(Material'VMVehicles-TX.AttackCraftGroup.RaptorColorBlue');
        L.AddPrecacheMaterial(Material'VMVehicles-TX.AttackCraftGroup.AttackCraftNoColor');
    	L.AddPrecacheMaterial(Material'AW-2004Particles.Weapons.TrailBlura');
        L.AddPrecacheMaterial(Material'Engine.GRADIENT_Fade');
        L.AddPrecacheMaterial(Material'VMVehicles-TX.AttackCraftGroup.raptorCOLORtest');
        L.AddPrecacheMaterial(Material'AW-2004Particles.Fire.SmokeFragment');
    }
    
    simulated function UpdatePrecacheStaticMeshes()
    {
    	Level.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehicles-SM.RAPTORexploded.RaptorWing');
    	Level.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehicles-SM.RAPTORexploded.RaptorTailWing');
    	Level.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehicles-SM.RAPTORexploded.RaptorGun');
    	Level.AddPrecacheStaticMesh(StaticMesh'AW-2004Particles.Debris.Veh_Debris2');
    	Level.AddPrecacheStaticMesh(StaticMesh'AW-2004Particles.Debris.Veh_Debris1');
    	Level.AddPrecacheStaticMesh(StaticMesh'WeaponStaticMesh.RocketProj');
    
    	Super.UpdatePrecacheStaticMeshes();
    }
    
    simulated function UpdatePrecacheMaterials()
    {
        Level.AddPrecacheMaterial(Material'AW-2004Particles.Energy.SparkHead');
        Level.AddPrecacheMaterial(Material'ExplosionTex.Framed.exp2_frames');
        Level.AddPrecacheMaterial(Material'ExplosionTex.Framed.exp1_frames');
        Level.AddPrecacheMaterial(Material'ExplosionTex.Framed.we1_frames');
        Level.AddPrecacheMaterial(Material'AW-2004Particles.Weapons.SmokePanels2');
        Level.AddPrecacheMaterial(Material'AW-2004Particles.Fire.NapalmSpot');
        Level.AddPrecacheMaterial(Material'EpicParticles.Fire.SprayFire1');
        Level.AddPrecacheMaterial(Material'VMVehicles-TX.AttackCraftGroup.RaptorColorRed');
        Level.AddPrecacheMaterial(Material'VMVehicles-TX.AttackCraftGroup.RaptorColorBlue');
        Level.AddPrecacheMaterial(Material'VMVehicles-TX.AttackCraftGroup.AttackCraftNoColor');
    	Level.AddPrecacheMaterial(Material'AW-2004Particles.Weapons.TrailBlura');
        Level.AddPrecacheMaterial(Material'Engine.GRADIENT_Fade');
        Level.AddPrecacheMaterial(Material'VMVehicles-TX.AttackCraftGroup.raptorCOLORtest');
        Level.AddPrecacheMaterial(Material'AW-2004Particles.Fire.SmokeFragment');
    
    	Super.UpdatePrecacheMaterials();
    }
    
    defaultproperties
    {
         MaxPitchSpeed=2000.000000
         TrailEffectPositions(0)=(X=-148.000000,Y=-26.000000,Z=51.000000)
         TrailEffectPositions(1)=(X=-148.000000,Y=26.000000,Z=51.000000)
         TrailEffectClass=Class'Onslaught.ONSAttackCraftExhaust'
         StreamerEffectOffset(0)=(X=-219.000000,Y=-35.000000,Z=57.000000)
         StreamerEffectOffset(1)=(X=-219.000000,Y=35.000000,Z=57.000000)
         StreamerEffectOffset(2)=(X=-52.000000,Y=-24.000000,Z=142.000000)
         StreamerEffectOffset(3)=(X=-52.000000,Y=24.000000,Z=142.000000)
         StreamerEffectClass=Class'Onslaught.ONSAttackCraftStreamer'
         StreamerOpacityRamp=(Min=1200.000000,Max=1600.000000)
         StreamerOpacityChangeRate=1.000000
         StreamerOpacityMax=0.700000
         UprightStiffness=500.000000
         UprightDamping=300.000000
         MaxThrustForce=100.000000
         LongDamping=0.050000
         MaxStrafeForce=80.000000
         LatDamping=0.050000
         MaxRiseForce=50.000000
         UpDamping=0.050000
         TurnTorqueFactor=600.000000
         TurnTorqueMax=200.000000
         TurnDamping=50.000000
         MaxYawRate=1.500000
         PitchTorqueFactor=200.000000
         PitchTorqueMax=35.000000
         PitchDamping=20.000000
         RollTorqueTurnFactor=450.000000
         RollTorqueStrafeFactor=50.000000
         RollTorqueMax=50.000000
         RollDamping=30.000000
         StopThreshold=100.000000
         MaxRandForce=3.000000
         RandForceInterval=0.750000
         DriverWeapons(0)=(WeaponClass=Class'Onslaught.ONSAttackCraftGun',WeaponBone="PlasmaGunAttachment")
         RedSkin=Shader'VMVehicles-TX.AttackCraftGroup.AttackCraftChassisFinalRED'
         BlueSkin=Shader'VMVehicles-TX.AttackCraftGroup.AttackCraftChassisFInalBLUE'
         IdleSound=Sound'ONSVehicleSounds-S.AttackCraft.AttackCraftIdle'
         StartUpSound=Sound'ONSVehicleSounds-S.AttackCraft.AttackCraftStartUp'
         ShutDownSound=Sound'ONSVehicleSounds-S.AttackCraft.AttackCraftShutDown'
         StartUpForce="AttackCraftStartUp"
         ShutDownForce="AttackCraftShutDown"
         DestroyedVehicleMesh=StaticMesh'ONSDeadVehicles-SM.AttackCraftDead'
         DestructionEffectClass=Class'Onslaught.ONSVehicleExplosionEffect'
         DisintegrationEffectClass=Class'Onslaught.ONSVehDeathAttackCraft'
         DestructionLinearMomentum=(Min=50000.000000,Max=150000.000000)
         DestructionAngularMomentum=(Min=100.000000,Max=300.000000)
         DamagedEffectOffset=(X=-120.000000,Y=10.000000,Z=65.000000)
         ImpactDamageMult=0.001000
         HeadlightCoronaOffset(0)=(X=76.000000,Y=14.000000,Z=-24.000000)
         HeadlightCoronaOffset(1)=(X=76.000000,Y=-14.000000,Z=-24.000000)
         HeadlightCoronaMaterial=Texture'EpicParticles.Flares.FlashFlare1'
         HeadlightCoronaMaxSize=60.000000
         VehicleMass=4.000000
         bTurnInPlace=True
         bShowDamageOverlay=True
         bDriverHoldsFlag=False
         bCanCarryFlag=False
         ExitPositions(0)=(Y=-165.000000,Z=100.000000)
         ExitPositions(1)=(Y=165.000000,Z=100.000000)
         EntryPosition=(X=-40.000000)
         EntryRadius=210.000000
         TPCamDistance=350.000000
         TPCamLookat=(X=0.000000,Z=0.000000)
         TPCamWorldOffset=(Z=200.000000)
         DriverDamageMult=0.000000
         VehiclePositionString="in a Raptor"
         VehicleNameString="Raptor"
         RanOverDamageType=Class'Onslaught.DamTypeAttackCraftRoadkill'
         CrushedDamageType=Class'Onslaught.DamTypeAttackCraftPancake'
         MaxDesireability=0.600000
         FlagBone="PlasmaGunAttachment"
         FlagOffset=(Z=80.000000)
         FlagRotation=(Yaw=32768)
         HornSounds(0)=Sound'ONSVehicleSounds-S.Horns.Horn03'
         HornSounds(1)=Sound'ONSVehicleSounds-S.Horns.Horn07'
         GroundSpeed=2000.000000
         HealthMax=300.000000
         Health=300
         Mesh=SkeletalMesh'ONSVehicles-A.AttackCraft'
         SoundVolume=160
         CollisionRadius=150.000000
         CollisionHeight=70.000000
         Begin Object Class=KarmaParamsRBFull Name=KParams0
             KInertiaTensor(0)=1.000000
             KInertiaTensor(3)=3.000000
             KInertiaTensor(5)=3.500000
             KCOMOffset=(X=-0.250000)
             KLinearDamping=0.000000
             KAngularDamping=0.000000
             KStartEnabled=True
             bKNonSphericalInertia=True
             KActorGravScale=0.000000
             bHighDetailOnly=False
             bClientOnly=False
             bKDoubleTickRate=True
             bKStayUpright=True
             bKAllowRotate=True
             bDestroyOnWorldPenetrate=True
             bDoSafetime=True
             KFriction=0.500000
             KImpactThreshold=300.000000
         End Object
         KParams=KarmaParamsRBFull'Onslaught.ONSAttackCraft.KParams0'
    
    }

    Leave a comment:


  • replied
    You can make static meshes in unrealed. Maya is a complete, professional (and therefore extremely expensive) 3d modelling package. Luckily we get a get a free version that can export into UT2004. It's limited but it can get the job done.

    Leave a comment:


  • replied
    Virus, make sure you read all the resources people provide before asking some questions because they are clearly explained in detail in tutorials all over the net already. And also make sure you check ALL of something before you say "I cant find it"

    And secondly, you stated in your first post
    Iv got a mesh made up
    How on earth did you create a mesh if you didnt know how to even go about making meshes? :haha:

    Leave a comment:


  • replied
    maya comes with UT2004 and yes it can animate very well. not sure if you can export the animations. check the animation window.

    and do check out those video tutorials on 3dbuzz.com

    Leave a comment:


  • replied
    Cheers m8, u guys have all been really helpful. So animation is done outside uED..? great now i have to learn maya!! lol thats ok tho, if i pick it up as fast as i did uED. ooh, can I export mesh's out of uED and into maya? that wopuld give me a flying start as i can simply learn how to animate (maya CAN animate.. can't it???:bulb: )

    Leave a comment:


  • replied
    lol no UED is only used to make levels and import/export stuff.

    click the link in my sig, and scroll down to the 'how to get started' bit.

    Leave a comment:


  • replied
    Ooh yes thanks. I haven't checked out the "display" part of the properties bit yet. I had a quick skim over it once or twice but that was before i started trying to make a vehicle. I will check it out asap.

    ok, so the vehicle includes those anims like the players. How do i go about creating those anims? can i do it in unrealED (as i'm more comfortable with makin objects in that,) or do i need to use an external prog like Maya (which would be a bit annoyin as id have to learn it 1st!!)

    lol soz for bein an annoyin noob, but i understand bones are used to tell UT where things go / how they pivot etc right? How do I make them? Im begining to think things like this aren't done in UTED are they? :cry:

    Leave a comment:


  • replied
    Ok from what I understand about the vehicle animations its part of the vehicle model. The MAS model actually includes all the animations, these animations are then played at the appropriate times. Pretty much the same as how the player models walk, jump etc.

    If your now using UDE to create your files you will be creating a new class and inheriting from another, this will be a blank text document so you will have to make a defaultproperties section and then you can add any properties you want (aslong as they are inherited).

    If your looking at the ONSAttackCraft script for the mesh I believe it most likely should be there already since every vehicle has a different mesh. If your looking at the defaultproperties in UnrealEd as I described all properties are there already, you can search for the ones you want to change. (Im not even sure that you can add new default properties in UnrealEd?!)

    The first line of code in the defaultproperties (using UDE)...
    Code:
    defaultproperties
    {
    	Mesh=Mesh'ONSVehicles-A.AttackCraft'
    As I said I dont use UnrealEd much, but in the default properties for ONSAttackCraft go in the 'display' section and you will see Mesh = [skeletalmesh'ONSVehicles-A.AttackCraft] I believe this should be the same thing, unless this is the actual bones?

    I personally haven't made any vehicle models or anything because im a terrible artist and all my models look like cubes (because they are, I can only make place holders) but for plenty of information check out the extra content on the DVD, or go to http://www.3dbuzz.com and download the VTM's from there. As I said before http://wiki.beyondunreal.com is also an extremely good resource.

    Hope that helps some more...

    Leave a comment:


  • replied
    nvm lol i found out wot UDE was!

    I still can't find that coding you are both on about.. am i supposed to add it or is it ment to be there? In the case of the later, it isn't there (that i can see) so wot do i do?

    Like i said before it would also be useful to find out how to animate objects etc (i know how to make movers, lol im not talking about that - i mean like when the MAS deploys and things like that)

    Thanks for your help so far tho, i have learned a couple of things

    Leave a comment:


  • replied
    Wow thanks guys. This is so much more useful than PlanetUnreal!! (who STILL haven't even replied, and i posted a week b4 i came on here!!) Ok, so wot's this "UDE" you mentioned?

    While im here, as it is reletive to the vehicles, can anyone tell me how to do animations??

    Leave a comment:


  • replied
    I recommend using UDE and downloading the UT2K4 source code instead of using UnrealEd to edit scripts. But here is the general way of editing scripts in UnrealEd.

    1) Open UnrealEd.

    2) Open the Actor Class Browser

    3) Go to Pawn -> Vehicle -> SVehicle -> ONSVehicle -> ONSChopperCraft -> ONSAttackCraft (Which is the Raptor if im not mistaken)

    4) Right Click on ONSAttackCraft and select "New..."
    5) Name your PACKAGE and vehicle NAME, once you hit ok this will bring up the script for your new vehicle

    6) You can now do all the scripting that CMan has said about, but to change default properties, go back to the Actor Class Browser and go back down the chain specified above, you'll now see your vehicle in there under ONSAttackCraft, right click on your vehicle and go to "Default Properties...". You can change the default properties in there. (You'll find the driver weapons and mesh stuff CMan talks about in the default properties somewhere)

    7) Once you have finished scripting you must "Compile Changed Scripts Only" (button on the script editor)

    8) You may need to "Save your package" at any time, you'll get asked if you want to save it when you quit UnrealEd but if you want to do it at any other point in time you will need to go to the Actor Class Browser, go to View and select Packages. Then go down and select only your package and then go up to File and select "Save selected packages"

    I hope this has given you an overview of how to do what you want. Once you have created the new file just go to the default properties and change some of the stuff in there. Once you open the default properties for your vehicle you'll see theres different groups, you'll be focused mainly on the SVehicle and ONSVehicle stuff, and perhaps with the ONSChopperCraft and ONSAttackCraft stuff too if you want to tweak how the thing moves. You'll find the Mesh that CMan was talking about in the SVehicle section, theres a lot of stuff like the startup sounds and shaders, destroyed vehicle mesh etc in ONSVehicle too.

    To actually change vehicle fire (for the driver) etc you will need to write some scripts in the actual script section for your vehicle (the script which came up when you hit the New... ok button) but for now just aim on getting your meshes and stuff on, as im sure it may take you a while to get familiar with.

    As I said before I would recommend using the source code and UDE to edit scripts as its a little safer and stabler than UnrealEd. Though UnrealEd does seem to make things a little easier for beginners by automatically creating packages and saving them etc.

    Once your in game you can access your new vehicle in an Onslaught match by typing "Summon PACKAGE.NAME" into the console (Replace package and name with what you put in the New... dialog) for example "Summon Onslaught.ONSAttackCraft" summons the Raptor (Oh you might want to use God mode because it will fall on your head and crush you). The Name you put in the New dialog is the name of the .UC file too.

    For any more information go to the Uneal Wiki, which you can find a link to in one of the sticky posts at the top of the Forum named "Mod author resources" That site has full tutorials on making vehicles and weapons etc.

    Leave a comment:


  • replied
    Thanx man, jus one question tho - where do i find this? Is this using the script editor in UnralEd by right-clicking or is this finding the files in Windows?

    Leave a comment:


  • replied
    Your Vehicle.uc - (For your purposes this will be almost the same as the raptor)
    -------------------

    DriverWeapons(0)= This is what weapon the driver will have

    Mesh= This will be the mesh that you want on here. (I assume you have the mesh exported from your Modeling program correctly, if not please visit some of the links in my sig)

    Also, dont forget to change the name and stuff too.

    Your Vehicle Weapon.uc - (This is what you will use to kill people)
    ------------------------------

    Take a look at the raptors weapon, as well as the other vehicles to see what flexability you have when working with these classes.

    Here is where you can set your Pri/Sec fire modes.


    _________________
    _________________

    This is all I can give you for now, I dont have the code infront of me. But If this is not making sense to you, then I recomend checking out some tutorials on UnrealScript to get yourself started. I believe there is a link over in the Level Editing forum for some good staters tutorials on UScript.

    Leave a comment:

Working...
X