Announcement

Collapse
No announcement yet.

UDK/UT3 Video Tutorials List and Support Thread

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Thanks for the reply.

    I have not bothered using the blocking volume method. In UT2004 i tried it and as soon as a bend occured the vehicle went throught the tracks, something about game and visual clocks not in unison, so the game advances before it realises the blocking volume was there. Something along that track

    I thought that using the blocking volumes would work out processor intensive or are there some new blocking volumes in UT3 that wont allow that to happen.

    Can you suggest the best way to tackle the coding side. Any pointers ?

    All the tutorials i have seen, are usually basic or have a limited view. Can you suggest any tutorials that are a little more intensive ?

    Thanks for your help.

    Leave a comment:


  • replied
    wow i've never even though of something like that, basically a turret is a vehicle without wheels or motion. now a vehicle can have many turrets/weapons it's just a lot of coding.which is the way i would do it or try to.

    if you can't find a way to lock a vehicle to a path then you could try simple blocking volumes to stop it moving to the side.

    there should be a way the force the path but atm i don't know sorry

    Leave a comment:


  • replied
    Ued ut3

    Im sorry if this is a new thread, but i`m new to this and dont know how to pose this question for geodav properly. anyway . . . .

    Hi, i am new at level creation and kismet but have found your tutorials very helpful. So thank you for that.

    My question, relates to turrets and their movement. I have created my map and want to employ the turrets, but i cannot seem to figure out how to get them to do what i want.

    I have placed the tracks, added a turret factory, created the proper sequence and matinee in kismet and have them working properly when playing. Whats my question ? well i want to operate two or more turrets simultaneously with one player, entering any turret, but all will operate together and locked in distance apart.

    I have not the knowledge with kismet to even fully understand how i can do this.

    In relation to why ?, I am looking at creating a map with a train, on tracks. The only way i believe i can do this is by using the turrets, each turret factory becomes a “bogey” on the train, hence allowing the train to fit on them and also allowing a respectable visual facsimile when navigating bends in the tracks. The turrets will spawn with the vehicle, and one controls all.

    I have considered using a monorail style train, but believe the blocking properties of the track and train will be too processor intensive.

    The other option, which i cannot find, involves locking the hovervehicle to a set path. Can i do this in kismet ?

    Any suggestions will be gratefully received.

    Thanks again for the tutorials !

    Leave a comment:


  • replied
    no not really as i'm just a copy/paste coder myself, i couldn't write a line of code to save my life. the thing is if you want things to work you either learn some coding or get someone to code for you, the first option is hard the second option even harder unless you have money !!!!

    Leave a comment:


  • replied
    wow ! do you suggest i master unreal script before this stuff to program my own weapons?

    Leave a comment:


  • replied
    and my attachment class
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     *
     * Bogded by Geodav   05.2008
     */
    class UTAttachment_SMBolter extends UTWeaponAttachment
                                dependson(UTEmitter);
    
    
    var ParticleSystemComponent Tracer;
    
    var array<DistanceBasedParticleTemplate> PrimaryImpactTemplates;
    
    simulated function SpawnTracer(vector EffectLocation,vector HitLocation)
    {
    	if (UTPawn(Owner).FiringMode == 0)
    	{
    		Tracer.SetTranslation(EffectLocation);
    		Tracer.SetVectorParameter('LinkBeamEnd', HitLocation);
    		Tracer.SetRotation(rotator(HitLocation - EffectLocation));
    		Tracer.ActivateSystem();
    	}
    }
    
    simulated function FirstPersonFireEffects(Weapon PawnWeapon, vector HitLocation)
    {
    	super.FirstPersonFireEffects(PawnWeapon, HitLocation);
    	SpawnTracer(UTWeapon(PawnWeapon).GetEffectLocation(),HitLocation);
    }
    
    simulated function ThirdPersonFireEffects(vector HitLocation)
    {
    	Super.ThirdPersonFireEffects(HitLocation);
    	SpawnTracer(GetEffectLocation(), HitLocation);
    }
    
    simulated function StopThirdPersonFireEffects()
    {
    	Super.StopThirdPersonFireEffects();
    
    	Tracer.DeactivateSystem();
    }
    
    simulated function PlayImpactEffects(vector HitLocation)
    {
    	DefaultImpactEffect.ParticleTemplate = class'UTEmitter'.static.GetTemplateForDistance(PrimaryImpactTemplates, HitLocation, WorldInfo);
    
    	Super.PlayImpactEffects(HitLocation);
    }
    
    
    defaultproperties
    {
    	// Weapon SkeletalMesh
    	Begin Object Name=SkeletalMeshComponent0
    		SkeletalMesh=SkeletalMesh'WP_SMUM_Bolter.Mesh.SK_WP_SMBolter_3rd'
    		Rotation=(Yaw=16384)
    		Scale=1.10000
    	End Object
    
           Begin Object Class=ParticleSystemComponent Name=TracerComp
    		Template=ParticleSystem'WP_UT40k_All.P_BolterTracerSMG'
    		bAutoActivate=false
    		AbsoluteTranslation=true
    		AbsoluteRotation=true
    	End Object
            Tracer=TracerComp
    	Components.Add(TracerComp)
    
    //	WeapAnimType=EWAT_Stinger
    
    	PrimaryImpactTemplates[0]=(Template=ParticleSystem'WP_UT40k_All.Decals.P_WP_Default_Beam_Impact',MinDistance=2250.0)
    	PrimaryImpactTemplates[1]=(Template=ParticleSystem'WP_UT40k_All.Decals.P_WP_Default_Beam_Impact',MinDistance=600.0)
    	PrimaryImpactTemplates[2]=(Template=ParticleSystem'WP_UT40k_All.Decals.P_WP_Default_Beam_Impact',MinDistance=0.0)
    	DefaultImpactEffect=(ParticleTemplate=ParticleSystem'WP_ShockRifle.Particles.P_WP_ShockRifle_Beam_Impact', Sound=SoundCue'A_Weapon_ShockRifle.Cue.A_Weapon_SR_AltFireImpactCue')
    
    	bMakeSplash=true
    
    	WeaponClass=class'UTWeap_SMBolter'
    
    	MuzzleFlashSocket=MF
    	MuzzleFlashPSCTemplate=ParticleSystem'WP_SMUM_Bolter.Effects.P_WP_Bolter_Muzzle_Flash'
    	MuzzleFlashAltPSCTemplate=ParticleSystem'WP_SMUM_Bolter.Effects.P_WP_Bolter_Muzzle_Flash'
    
    
    
    }
    you'll have to change some of the content like muzzleflash templates and such

    Leave a comment:


  • replied
    here's my weapon code
    Code:
    /**
     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
     *
     * Bogded by Geodav    05.2008
     */
    class UTWeap_SMBolter extends UTWeapon;
    
    var ParticleSystemComponent PrimaryMuzzleFlashPSC;
    
    var MaterialInstanceConstant WeaponMaterialInstance;
    
    simulated function PostBeginPlay()
    {
    	Super.PostBeginPlay();
    
    	// Atttach the muzzle flash
    	SkeletalMeshComponent(Mesh).AttachComponentToSocket(PrimaryMuzzleFLashPSC, MuzzleFlashSocket);
    }
    
    simulated function SetSkin(Material NewMaterial)
    {
    	Super.SetSkin(NewMaterial);
    	if( WorldInfo.NetMode != NM_DedicatedServer )
    	{
    		WeaponMaterialInstance = Mesh.CreateAndSetMaterialInstanceConstant(1);
    	}
    }
    
    //----------------------------------------------------------------
    // Mr_Evil's fix :)
    simulated function ProcessInstantHit(byte FiringMode, ImpactInfo Impact, optional int NumHits)
    {
    	if(Impact.HitActor != none)
    	{
    		super.ProcessInstantHit(FiringMode, Impact, NumHits);
    	}
    }
    
    
    
    //-----------------------------------------------------------------
    // AI Interface
    
    function float GetAIRating()
    {
    	local UTBot B;
    
    	B = UTBot(Instigator.Controller);
    	if ( (B== None) || (B.Enemy == None) )
    		return AIRating;
    
    	if ( !B.LineOfSightTo(B.Enemy) )
    		return AIRating - 0.15;
    
    	return AIRating * FMin(Pawn(Owner).GetDamageScaling(), 1.5);
    }
    
    /* BestMode()
    choose between regular or alt-fire
    */
    function byte BestMode()
    {
    	local float EnemyDist;
    	local UTBot B;
    
    	if ( IsFiring() )
    		return CurrentFireMode;
    
    	B = UTBot(Instigator.Controller);
    	if ( (B == None) || (B.Enemy == None) )
    		return 0;
    
    	EnemyDist = VSize(B.Enemy.Location - Instigator.Location);
    	if ( EnemyDist < 2000 )
    		return 0;
    	return 1;
    }
    
    defaultproperties
    {
    	// Weapon SkeletalMesh
    	Begin Object class=AnimNodeSequence Name=MeshSequenceA
    	End Object
    
    	// Weapon SkeletalMesh
    	Begin Object Name=FirstPersonMesh
    		SkeletalMesh=SkeletalMesh'WP_SMUM_Bolter.Mesh.SK_WP_SMBolter_1st'
    		AnimSets(0)=AnimSet'WP_SMUM_Bolter.Anim.K_WP_SMBolter_1st_Base'
    		Animations=MeshSequenceA
    //		Rotation=(Yaw=-16384)
    		FOV=60.0
    	End Object
    
    	AttachmentClass=class'UT40k.UTAttachment_SMBolter'
    
    	Begin Object Name=PickupMesh
    		SkeletalMesh=SkeletalMesh'WP_SMUM_Bolter.Mesh.SK_WP_SMBolter_3rd'
    		Translation=(X=0.0,Y=20.0,Z=0.0)
    		Scale=1.25
    	End Object
    
    
    
    // Muzzle Flashes
    
    	Begin Object Class=ParticleSystemComponent Name=MuzzleFlashComponent
    		bAutoActivate=FALSE
    		Template=particleSystem'WP_SMUM_Bolter.Effects.P_WP_Bolter_Muzzle_Flash'
    		DepthPriorityGroup=SDPG_Foreground
    		SecondsBeforeInactive=1.0f
    	End Object
    	PrimaryMuzzleFlashPSC=MuzzleFlashComponent
    
    	InstantHitMomentum(0)=+60000.0
    
    	WeaponFireTypes(0)=EWFT_InstantHit
    	WeaponFireTypes(1)=EWFT_None
    	WeaponProjectiles(1)=class'UTProj_ShockBall'
    
    	InstantHitDamage(0)=25
    	FireInterval(0)=+0.33
    //	FireInterval(1)=+0.6
    	InstantHitDamageTypes(0)=class'UTDmgType_SMBolter'
    	InstantHitDamageTypes(1)=None
    
    	WeaponFireSnd[0]=SoundCue'A_UT40k_WeaponSound.Weapon_2.Bolter4_Cue'
    	WeaponFireSnd[1]=SoundCue'A_UT40k_WeaponSound.Weapon_2.Bolter4_Cue'
    
    	WeaponEquipSnd=SoundCue'A_Weapon_ShockRifle.Cue.A_Weapon_SR_RaiseCue'
    	WeaponPutDownSnd=SoundCue'A_Weapon_ShockRifle.Cue.A_Weapon_SR_LowerCue'
    	PickupSound=SoundCue'A_Pickups.Weapons.Cue.A_Pickup_Weapons_Shock_Cue'
    
    
    	MaxDesireability=0.65
    	AIRating=0.65
    	CurrentRating=0.65
    	bInstantHit=true
    	bSplashJump=false
    	bRecommendSplashDamage=false
    	bSniping=true
    	ShouldFireOnRelease(0)=0
    	ShouldFireOnRelease(1)=1
    
    //	ShotCost(0)=1
    //	ShotCost(1)=1
    
    	FireOffset=(X=5,Y=0)
    	PlayerViewOffset=(X=17,Y=10.0,Z=-14.0)
    
    	AmmoCount=30
    	LockerAmmoCount=30
    	MaxAmmoCount=30
    
            clipcount = 30
            ReloadTime = 1.5
    
            WeaponRange=2000  
    	FireCameraAnim(1)=CameraAnim'Camera_FX.ShockRifle.C_WP_ShockRifle_Alt_Fire_Shake'
    
    	WeaponFireAnim(1)=WeaponAltFire
    
    	MuzzleFlashSocket="MF"
    	MuzzleFlashPSCTemplate=ParticleSystem'WP_SMUM_Bolter.Effects.P_WP_Bolter_Muzzle_Flash'
    	MuzzleFlashAltPSCTemplate=WP_ShockRifle.Particles.P_ShockRifle_MF_Alt
    	MuzzleFlashColor=(R=200,G=120,B=255,A=255)
    	MuzzleFlashDuration=0.33
    	CrossHairCoordinates=(U=256,V=0,UL=64,VL=64)
            
            LockerRotation=(Pitch=16384,Yaw=32768,Roll=16384)
            PivotTranslation=(X=-8.0,Y=0.0)
    	
            IconCoordinates=(U=728,V=382,UL=162,VL=45)
    
    	WeaponColor=(R=160,G=0,B=255,A=255)
    
    	InventoryGroup=2
    	GroupWeight=0.5
    
    	IconX=400
    	IconY=129
    	IconWidth=22
    	IconHeight=48
    	
    	Name="SM Bolter"
    
    }

    Leave a comment:


  • replied
    sorry i wasnt here and i couldnt respond in time.by enforcer code do you mean the projectile class or the utweap class or something else?

    Leave a comment:


  • replied
    i use part of the code from the UT3 enforcer not sure how legal that is but you could also have a look at the cidida turret code which is simular

    Leave a comment:


  • replied
    thanks dude.
    now that this is settled , this is going to be an assault rifle and i dont know how to make the bullets.any tutorials at hand ?

    Leave a comment:


  • replied
    Solved

    problem is solved, the cause was that the code package and the upk package had the same name.
    please don't get confused with the fact that the code and content "Folder Sets" have the same names your upk package must have unique names.

    it's a mistake many have made over the years with all Unreal Engines

    Leave a comment:


  • replied
    check your pm geodav and try to compile the scripts.
    the package should be placed in a folder named : 01_ActualGame or else the scripts wont work.

    Leave a comment:


  • replied
    ok send me the content and code and i'll have a look, pm me the link when you have uploaded it

    Leave a comment:


  • replied
    thanks for the concern guys.really appreciated but :
    Does it run anything if you don't compile? Launch2 says your video card isn't compatible. What card do you have?
    i have a 240 m geForce and its fully compatible and trust me , it runs !

    ok i'm more concerned your your project naming and folder set-up, here an example i made a while back but still holds true for the most recent UDK releases
    if you look some posts back , you already have pointed out the folder problem and i fixed that.by the way thanks for that pm.i will do the tutorials as soon as i have time for it.

    but these dont have any relation to the crash.i think its a windows problem and the compiler cant wright the data to the binaries folder thus crashes.this can be caused by administrative privilege lack but i did the run as admin thing but still crashes.

    wow ! that was long ! so any other ideas ?
    by the way i will gladly send the scripts and a package containing the static mesh to geodav if he wants.

    thanks anyways.

    Leave a comment:


  • replied
    ok i'm more concerned your your project naming and folder set-up, here an example i made a while back but still holds true for the most recent UDK releases


    Uploaded with ImageShack.us
    also the name of your code package should match that of your content folder set



    Uploaded with ImageShack.us

    Leave a comment:

Working...
X