Announcement

Collapse
No announcement yet.

Stinger "Scatter" shot,and sticky shards.

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

    Stinger "Scatter" shot,and sticky shards.

    Ok so I wanted to make the Stinger alt fire shoot a spread of 4 or 5 projectiles so...

    simulated function CustomFire()
    {
    local int i,j;
    local vector RealStartLoc, AimDir, YDir, ZDir;
    local Projectile Proj;
    local class<Projectile> ShardProjectileClass;
    local float Mag;

    IncrementFlashCount();

    if (Role == ROLE_Authority)
    {
    // this is the location where the projectile is spawned
    RealStartLoc = GetPhysicalFireStartLoc();
    // get fire aim direction
    GetAxes(GetAdjustedAim(RealStartLoc),AimDir, YDir, ZDir);

    // special center shard
    Proj = Spawn(CenterShardClass,,, RealStartLoc);
    if (Proj != None)
    {
    Proj.Init(AimDir);
    }

    // one shard in each of 9 zones (except center)
    ShardProjectileClass = GetProjectileClass();
    for ( i=-1; i<2; i++)
    {
    for ( j=-1; j<2; j++ )
    {
    if ( (i != 0) || (j != 0) )
    {
    Mag = (abs(i)+abs(j) > 1) ? 0.7 : 1.0;
    Proj = Spawn(ShardProjectileClass,,, RealStartLoc);
    if (Proj != None)
    {
    Proj.Init(AimDir + (0.3 + 0.7*FRand())*Mag*i*SpreadDist*YDir + (0.3 + 0.7*FRand())*Mag*j*SpreadDist*ZDir );
    }
    }
    }
    }
    }
    }
    and
    WeaponFireTypes(1)=EWFT_Custom

    I want it to fire in a random pattern...BTW is there anyway to up the stick factor on stinger shards or trade the stinger hit explode for it sticking into things?(I don't care if they stick in targets).

    #2
    Geting end of class error, I belive Iam close to doing this right but am unsure what I am doing wrong here, is the code Iam copying

    var class<Projectile> CenterShardClass;

    var float SpreadDist;

    /**
    * GetAdjustedAim begins a chain of function class that allows the weapon, the pawn and the controller to make
    * on the fly adjustments to where this weapon is pointing.
    */
    simulated function Rotator GetAdjustedAim( vector StartFireLoc )
    {
    local rotator R;

    // Start the chain, see Pawn.GetAdjustedAimFor()
    if( Instigator != None )
    {
    R = Instigator.GetAdjustedAimFor( Self, StartFireLoc );

    if ( (PlayerController(Instigator.Controller) != None) && (CurrentFireMode == 1) )
    {
    R.Pitch = R.Pitch & 65535;
    if ( R.Pitch < 16384 )
    {
    R.Pitch += (16384 - R.Pitch)/32;
    }
    else if ( R.Pitch > 49152 )
    {
    R.Pitch += 512;
    }
    }
    }

    return R;
    }


    simulated function CustomFire()
    {
    local int i,j;
    local vector RealStartLoc, AimDir, YDir, ZDir;
    local Projectile Proj;
    local class<Projectile> ShardProjectileClass;
    local float Mag;

    IncrementFlashCount();

    if (Role == ROLE_Authority)
    {
    // this is the location where the projectile is spawned
    RealStartLoc = GetPhysicalFireStartLoc();
    // get fire aim direction
    GetAxes(GetAdjustedAim(RealStartLoc),AimDir, YDir, ZDir);

    // special center shard
    Proj = Spawn(CenterShardClass,,, RealStartLoc);
    if (Proj != None)
    {
    Proj.Init(AimDir);
    }

    // one shard in each of 9 zones (except center)
    ShardProjectileClass = GetProjectileClass();
    for ( i=-1; i<2; i++)
    {
    for ( j=-1; j<2; j++ )
    {
    if ( (i != 0) || (j != 0) )
    {
    Mag = (abs(i)+abs(j) > 1) ? 0.7 : 1.0;
    Proj = Spawn(ShardProjectileClass,,, RealStartLoc);
    if (Proj != None)
    {
    Proj.Init(AimDir + (0.3 + 0.7*FRand())*Mag*i*SpreadDist*YDir + (0.3 + 0.7*FRand())*Mag*j*SpreadDist*ZDir );
    }
    }
    def properties

    WeaponFireTypes(1)=EWFT_Custom
    CenterShardClass=class'UTProj_Stonershard'

    SpreadDist=0.1
    I hope I didn't hit native code...I dun have a ship big enough to take another wave of drool :P

    Comment


      #3
      for the sticking, take a look at the biorifle's code

      Comment


        #4
        Originally posted by ZippyDSMlee View Post
        Geting end of class error, I belive Iam close to doing this right but am unsure what I am doing wrong here, is the code Iam copying


        def properties



        I hope I didn't hit native code...I dun have a ship big enough to take another wave of drool :P
        next time use the [ Code ] [ /Code ] to make it easier to read the code.

        at least from the code you provided you are missing 4 closing brackets. shown in red in the code below.

        Code:
        var class<Projectile> CenterShardClass;
        
        var float SpreadDist;
        
        /**
        * GetAdjustedAim begins a chain of function class that allows the weapon, the pawn and the controller to make
        * on the fly adjustments to where this weapon is pointing.
        */
        simulated function Rotator GetAdjustedAim( vector StartFireLoc )
        {
            local rotator R;
        
            // Start the chain, see Pawn.GetAdjustedAimFor()
            if( Instigator != None )
            {
                R = Instigator.GetAdjustedAimFor( Self, StartFireLoc );
        
                if ( (PlayerController(Instigator.Controller) != None) && (CurrentFireMode == 1) )
                {
                    R.Pitch = R.Pitch & 65535;
                    if ( R.Pitch < 16384 )
                    {
                        R.Pitch += (16384 - R.Pitch)/32;
                    }
                    else if ( R.Pitch > 49152 )
                    {
                        R.Pitch += 512;
                    }
                }
            }
        
            return R;
        }
        
        
        simulated function CustomFire()
        {
            local int i,j;
            local vector RealStartLoc, AimDir, YDir, ZDir;
            local Projectile Proj;
            local class<Projectile> ShardProjectileClass;
            local float Mag;
        
            IncrementFlashCount();
        
            if (Role == ROLE_Authority)
            {
                // this is the location where the projectile is spawned
                RealStartLoc = GetPhysicalFireStartLoc();
                // get fire aim direction
                GetAxes(GetAdjustedAim(RealStartLoc),AimDir, YDir, ZDir);
        
                // special center shard
                Proj = Spawn(CenterShardClass,,, RealStartLoc);
                if (Proj != None)
                {
                    Proj.Init(AimDir);
                }
        
                // one shard in each of 9 zones (except center)
                ShardProjectileClass = GetProjectileClass();
                for ( i=-1; i<2; i++)
                {
                    for ( j=-1; j<2; j++ )
                    {
                        if ( (i != 0) || (j != 0) )
                        {
                            Mag = (abs(i)+abs(j) > 1) ? 0.7 : 1.0;
                            Proj = Spawn(ShardProjectileClass,,, RealStartLoc);
                            if (Proj != None)
                            {
                                Proj.Init(AimDir + (0.3 + 0.7*FRand())*Mag*i*SpreadDist*YDir + (0.3 + 0.7*FRand())*Mag*j*SpreadDist*ZDir );
                            }
                        } 
                    }
                }
            }
        }

        Comment


          #5
          Originally posted by warlord57 View Post
          next time use the [ Code ] [ /Code ] to make it easier to read the code.

          at least from the code you provided you are missing 4 closing brackets. shown in red in the code below.

          Code:
          var class<Projectile> CenterShardClass;
          
          var float SpreadDist;
          
          /**
          * GetAdjustedAim begins a chain of function class that allows the weapon, the pawn and the controller to make
          * on the fly adjustments to where this weapon is pointing.
          */
          simulated function Rotator GetAdjustedAim( vector StartFireLoc )
          {
              local rotator R;
          
              // Start the chain, see Pawn.GetAdjustedAimFor()
              if( Instigator != None )
              {
                  R = Instigator.GetAdjustedAimFor( Self, StartFireLoc );
          
                  if ( (PlayerController(Instigator.Controller) != None) && (CurrentFireMode == 1) )
                  {
                      R.Pitch = R.Pitch & 65535;
                      if ( R.Pitch < 16384 )
                      {
                          R.Pitch += (16384 - R.Pitch)/32;
                      }
                      else if ( R.Pitch > 49152 )
                      {
                          R.Pitch += 512;
                      }
                  }
              }
          
              return R;
          }
          
          
          simulated function CustomFire()
          {
              local int i,j;
              local vector RealStartLoc, AimDir, YDir, ZDir;
              local Projectile Proj;
              local class<Projectile> ShardProjectileClass;
              local float Mag;
          
              IncrementFlashCount();
          
              if (Role == ROLE_Authority)
              {
                  // this is the location where the projectile is spawned
                  RealStartLoc = GetPhysicalFireStartLoc();
                  // get fire aim direction
                  GetAxes(GetAdjustedAim(RealStartLoc),AimDir, YDir, ZDir);
          
                  // special center shard
                  Proj = Spawn(CenterShardClass,,, RealStartLoc);
                  if (Proj != None)
                  {
                      Proj.Init(AimDir);
                  }
          
                  // one shard in each of 9 zones (except center)
                  ShardProjectileClass = GetProjectileClass();
                  for ( i=-1; i<2; i++)
                  {
                      for ( j=-1; j<2; j++ )
                      {
                          if ( (i != 0) || (j != 0) )
                          {
                              Mag = (abs(i)+abs(j) > 1) ? 0.7 : 1.0;
                              Proj = Spawn(ShardProjectileClass,,, RealStartLoc);
                              if (Proj != None)
                              {
                                  Proj.Init(AimDir + (0.3 + 0.7*FRand())*Mag*i*SpreadDist*YDir + (0.3 + 0.7*FRand())*Mag*j*SpreadDist*ZDir );
                              }
                          } 
                      }
                  }
              }
          }
          been told 3 times the engine reads a gap you only need 2 closing brackets at most, this could be for 04 tho*cleans brain out but only find webz*.
          LOL

          Comment


            #6
            I have never heard that, I am sticking to normal c++ rules to close every opening bracking with a closing bracket. Makes it much simpler when programming in multiple languages try adding 4 more closing brackets and see if you don't get the end of class error.

            Comment


              #7
              warlord57

              Understood, altho I don't normally remove brackets unless I get a error I cannot lick down.

              still getting it

              Code:
              /**
               * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
               */
              class UTWeap_Stoner extends UTWeap_Stinger;
              
              
              //scatter codeset
              var class<Projectile> CenterShardClass;
              var float SpreadDist;
              //scatter codeset
              
              
              /**
               * GetAdjustedAim begins a chain of function class that allows the weapon, the pawn and the controller to make
               * on the fly adjustments to where this weapon is pointing.
               */
              
              simulated function Rotator GetAdjustedAim( vector StartFireLoc )
              {
              	local rotator R;
              
              	// Start the chain, see Pawn.GetAdjustedAimFor()
              	if( Instigator != None )
              	{
              		R = Instigator.GetAdjustedAimFor( Self, StartFireLoc );
              
              		if ( (PlayerController(Instigator.Controller) != None) && (CurrentFireMode == 1) )
              		{
              			R.Pitch = R.Pitch & 65535;
              			if ( R.Pitch < 16384 )
              			{
              				R.Pitch += (16384 - R.Pitch)/32;
              			}
              			else if ( R.Pitch > 49152 )
              			{
              				R.Pitch += 512;
              			}
              		}
              	}
              
              	return R;
              }
              
              
              simulated function CustomFire()
              {
              	local int i,j;
                 	local vector RealStartLoc, AimDir, YDir, ZDir;
              	local Projectile Proj;
              	local class<Projectile> ShardProjectileClass;
              	local float Mag;
              
              	IncrementFlashCount();
              
              	if (Role == ROLE_Authority)
              	{
              		// this is the location where the projectile is spawned
              		RealStartLoc = GetPhysicalFireStartLoc();
              		// get fire aim direction
              		GetAxes(GetAdjustedAim(RealStartLoc),AimDir, YDir, ZDir);
              
              		// special center shard
              		Proj = Spawn(CenterShardClass,,, RealStartLoc);
              		if (Proj != None)
              		{
              			Proj.Init(AimDir);
              		}
              
              		// one shard in each of 9 zones (except center)
              		ShardProjectileClass = GetProjectileClass();
              		for ( i=-1; i<2; i++)
              		{
              			for ( j=-1; j<2; j++ )
              			{
              				if ( (i != 0) || (j != 0) )
              				{
              					Mag = (abs(i)+abs(j) > 1) ? 0.7 : 1.0;
              					Proj = Spawn(ShardProjectileClass,,, RealStartLoc);
              					if (Proj != None)
              					{
              						Proj.Init(AimDir + (0.3 + 0.7*FRand())*Mag*i*SpreadDist*YDir + (0.3 + 0.7*FRand())*Mag*j*SpreadDist*ZDir );
              					}
              				}
              	         }
              	   	}
              
              defaultproperties
              {
              	WeaponColor=(R=255,G=255,B=0,A=255)
              	PlayerViewOffset=(X=0,Y=2.0,Z=0.0)
              
              	End Object
              	PrimaryMuzzleFlashPSC=MuzzleFlashComponent
              
              	// Weapon SkeletalMesh / Anims
              
              	Begin Object class=AnimNodeSequence Name=MeshSequenceA
              	End Object
              
              	Begin Object Name=FirstPersonMesh
              		SkeletalMesh=SkeletalMesh'WP_Stinger.Mesh.SK_WP_Stinger_1P'
              		AnimSets(0)=AnimSet'WP_Stinger.Anims.K_WP_Stinger_1P_Base'
              		Animations=MeshSequenceA
              		Translation=(X=0.0,Y=0.0,Z=0.0)
              		Scale=1.0
              		FOV=65
              	End Object
              	AttachmentClass=class'UTAttachment_Stinger'
              
              	// Pickup staticmesh
              	Begin Object Name=PickupMesh
              		SkeletalMesh=SkeletalMesh'WP_Stinger.Mesh.SK_WP_Stinger_3P_Mid'
              	End Object
              
              	EffectSockets=(MuzzleFlashSocket,MuzzleFlashSocket)
              
              	FiringStatesArray(0)=WeaponWindUp
              	WeaponFireTypes(0)=EWFT_InstantHit
              	FireInterval(0)=+0.02
              	WarmupShots(0)=0
              	//WindUPTime(0)=9.27
              	WindDownTime(0)=3.27
              	Spread(0)=0.0975
              	Spread(1)=0.0675
              	InstantHitDamage(0)=4
              	InstantHitDamageTypes(0)=class'UTDmgType_StingerBullet'
              	ShotCost(1)=4
              
              	WarmupShots(1)=4
              	FireInterval(1)=+0.18
              	WindDownTime(1)=1.13
              
              	FiringStatesArray(1)=WeaponFiring
              	WeaponProjectiles(1)=class'UTProj_Stonershard'
                  
              	//WeaponFireTypes(1)=EWFT_Projectile
              	
              	//scatter codeset
              	WeaponFireTypes(1)=EWFT_Custom
              	CenterShardClass=class'UTProj_Stonershard'
              	SpreadDist=0.1
              	//scatter codeset
              	FireOffset=(X=19,Y=10,Z=-10)
              
              	WeaponSpinUpSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStartCue'
              	WeaponSpinUpSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStartCue'
              	WeaponSpinDownSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStopCue'
              	WeaponSpinDownSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStopCue'
              	WeaponWarmUpShotSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireCue'
              	WeaponFireSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireLoopCue'
              	WeaponFireSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireAltCue'
              	WeaponPutDownSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_LowerCue'
              	WeaponEquipSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_RaiseCue'
              
              	SpinningBarrelCue=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindLoopCue'
              
              	MaxDesireability=0.73
              	AIRating=+0.71
              	CurrentRating=+0.71
              	PickupMessage="Stoner"
              	bFastRepeater=true
              	bInstantHit=true
              	bSplashJump=true
              	bRecommendSplashDamage=true
              	bSniping=false
              	ShouldFireOnRelease(0)=0
              	ShouldFireOnRelease(1)=0
              	InventoryGroup=6
              	GroupWeight=0.52
              	AimError=900
              	
              
              	PickupSound=SoundCue'A_Pickups.Weapons.Cue.A_Pickup_Weapons_Stinger_Cue'
              
              	AmmoCount=200
              	LockerAmmoCount=150
              	MaxAmmoCount=600
              
              	IconX=273
              	IconY=413
              	IconWidth=84
              	IconHeight=50
              
              	EquipTime=+0.6
              	AimingHelpRadius[0]=20.0
              	AimingHelpRadius[1]=20.0
              
              	MuzzleFlashLightClass=class'UTStingerMuzzleFlashLight'
              	CrossHairCoordinates=(U=448,V=0,UL=64,VL=64)
              	LockerRotation=(Pitch=0,Roll=-16384)
              
              	IconCoordinates=(U=453,V=508,UL=147,VL=52)
              
              	ArmsAnimSet=AnimSet'WP_Stinger.Anims.K_WP_Stinger_1P_Arms'
              
              	WeaponFireAnim(0)=none
              	WeaponFireAnim(1)=none
              	ArmFireAnim(0)=none
              	ArmFireAnim(1)=none
              
              	WeaponSpinUpAnims(0)=WeaponRampUp
              	WeaponSpinUpAnims(1)=WeaponRampUp
              	WeaponSpinDownAnims(0)=WeaponRampDown
              	WeaponSpinDownAnims(1)=WeaponRampDown
              	WeaponFireAnims(0)=WeaponFire-Secondary
              	WeaponFireAnims(1)=WeaponFire-Secondary
              
              	ArmSpinUpAnims(0)=WeaponRampUp
              	ArmSpinUpAnims(1)=WeaponRampUp
              	ArmSpinDownAnims(0)=WeaponRampDown
              	ArmSpinDownAnims(1)=WeaponRampDown
              	ArmFireAnims(0)=WeaponFire-Secondary
              	ArmFireAnims(1)=WeaponFire-Secondary
              
              	MuzzleFlashPSCTemplate=WP_Stinger.Particles.P_Stinger_MF_Primary_WarmUP
              	MuzzleFlashAltPSCTemplate=WP_Stinger.Particles.P_Stinger_MF_Alt_Fire
              
              	QuickPickGroup=6
              	QuickPickWeight=0.9
              
              	WidescreenRotationOffset=(Pitch=0,Yaw=0,Roll=0)
              }
              I missed something some where...oh ya..I miss projperfire........ would be so nice if I can uae ProjPerFire(1)=6 then use spread and aim error, I suppose they don't use SpreadStyle either anymore....

              Comment


                #8
                Originally posted by ZippyDSMlee View Post
                warlord57

                Understood, altho I don't normally remove brackets unless I get a error I cannot lick down.

                still getting it

                Code:
                /**
                 * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
                 */
                class UTWeap_Stoner extends UTWeap_Stinger;
                
                
                //scatter codeset
                var class<Projectile> CenterShardClass;
                var float SpreadDist;
                //scatter codeset
                
                
                /**
                 * GetAdjustedAim begins a chain of function class that allows the weapon, the pawn and the controller to make
                 * on the fly adjustments to where this weapon is pointing.
                 */
                
                simulated function Rotator GetAdjustedAim( vector StartFireLoc )
                {
                	local rotator R;
                
                	// Start the chain, see Pawn.GetAdjustedAimFor()
                	if( Instigator != None )
                	{
                		R = Instigator.GetAdjustedAimFor( Self, StartFireLoc );
                
                		if ( (PlayerController(Instigator.Controller) != None) && (CurrentFireMode == 1) )
                		{
                			R.Pitch = R.Pitch & 65535;
                			if ( R.Pitch < 16384 )
                			{
                				R.Pitch += (16384 - R.Pitch)/32;
                			}
                			else if ( R.Pitch > 49152 )
                			{
                				R.Pitch += 512;
                			}
                		}
                	}
                
                	return R;
                }
                
                
                simulated function CustomFire()
                {
                	local int i,j;
                   	local vector RealStartLoc, AimDir, YDir, ZDir;
                	local Projectile Proj;
                	local class<Projectile> ShardProjectileClass;
                	local float Mag;
                
                	IncrementFlashCount();
                
                	if (Role == ROLE_Authority)
                	{
                		// this is the location where the projectile is spawned
                		RealStartLoc = GetPhysicalFireStartLoc();
                		// get fire aim direction
                		GetAxes(GetAdjustedAim(RealStartLoc),AimDir, YDir, ZDir);
                
                		// special center shard
                		Proj = Spawn(CenterShardClass,,, RealStartLoc);
                		if (Proj != None)
                		{
                			Proj.Init(AimDir);
                		}
                
                		// one shard in each of 9 zones (except center)
                		ShardProjectileClass = GetProjectileClass();
                		for ( i=-1; i<2; i++)
                		{
                			for ( j=-1; j<2; j++ )
                			{
                				if ( (i != 0) || (j != 0) )
                				{
                					Mag = (abs(i)+abs(j) > 1) ? 0.7 : 1.0;
                					Proj = Spawn(ShardProjectileClass,,, RealStartLoc);
                					if (Proj != None)
                					{
                						Proj.Init(AimDir + (0.3 + 0.7*FRand())*Mag*i*SpreadDist*YDir + (0.3 + 0.7*FRand())*Mag*j*SpreadDist*ZDir );
                					}
                				}
                	         }
                	   	}
                
                defaultproperties
                {
                	WeaponColor=(R=255,G=255,B=0,A=255)
                	PlayerViewOffset=(X=0,Y=2.0,Z=0.0)
                
                	End Object
                	PrimaryMuzzleFlashPSC=MuzzleFlashComponent
                
                	// Weapon SkeletalMesh / Anims
                
                	Begin Object class=AnimNodeSequence Name=MeshSequenceA
                	End Object
                
                	Begin Object Name=FirstPersonMesh
                		SkeletalMesh=SkeletalMesh'WP_Stinger.Mesh.SK_WP_Stinger_1P'
                		AnimSets(0)=AnimSet'WP_Stinger.Anims.K_WP_Stinger_1P_Base'
                		Animations=MeshSequenceA
                		Translation=(X=0.0,Y=0.0,Z=0.0)
                		Scale=1.0
                		FOV=65
                	End Object
                	AttachmentClass=class'UTAttachment_Stinger'
                
                	// Pickup staticmesh
                	Begin Object Name=PickupMesh
                		SkeletalMesh=SkeletalMesh'WP_Stinger.Mesh.SK_WP_Stinger_3P_Mid'
                	End Object
                
                	EffectSockets=(MuzzleFlashSocket,MuzzleFlashSocket)
                
                	FiringStatesArray(0)=WeaponWindUp
                	WeaponFireTypes(0)=EWFT_InstantHit
                	FireInterval(0)=+0.02
                	WarmupShots(0)=0
                	//WindUPTime(0)=9.27
                	WindDownTime(0)=3.27
                	Spread(0)=0.0975
                	Spread(1)=0.0675
                	InstantHitDamage(0)=4
                	InstantHitDamageTypes(0)=class'UTDmgType_StingerBullet'
                	ShotCost(1)=4
                
                	WarmupShots(1)=4
                	FireInterval(1)=+0.18
                	WindDownTime(1)=1.13
                
                	FiringStatesArray(1)=WeaponFiring
                	WeaponProjectiles(1)=class'UTProj_Stonershard'
                    
                	//WeaponFireTypes(1)=EWFT_Projectile
                	
                	//scatter codeset
                	WeaponFireTypes(1)=EWFT_Custom
                	CenterShardClass=class'UTProj_Stonershard'
                	SpreadDist=0.1
                	//scatter codeset
                	FireOffset=(X=19,Y=10,Z=-10)
                
                	WeaponSpinUpSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStartCue'
                	WeaponSpinUpSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStartCue'
                	WeaponSpinDownSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStopCue'
                	WeaponSpinDownSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStopCue'
                	WeaponWarmUpShotSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireCue'
                	WeaponFireSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireLoopCue'
                	WeaponFireSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireAltCue'
                	WeaponPutDownSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_LowerCue'
                	WeaponEquipSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_RaiseCue'
                
                	SpinningBarrelCue=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindLoopCue'
                
                	MaxDesireability=0.73
                	AIRating=+0.71
                	CurrentRating=+0.71
                	PickupMessage="Stoner"
                	bFastRepeater=true
                	bInstantHit=true
                	bSplashJump=true
                	bRecommendSplashDamage=true
                	bSniping=false
                	ShouldFireOnRelease(0)=0
                	ShouldFireOnRelease(1)=0
                	InventoryGroup=6
                	GroupWeight=0.52
                	AimError=900
                	
                
                	PickupSound=SoundCue'A_Pickups.Weapons.Cue.A_Pickup_Weapons_Stinger_Cue'
                
                	AmmoCount=200
                	LockerAmmoCount=150
                	MaxAmmoCount=600
                
                	IconX=273
                	IconY=413
                	IconWidth=84
                	IconHeight=50
                
                	EquipTime=+0.6
                	AimingHelpRadius[0]=20.0
                	AimingHelpRadius[1]=20.0
                
                	MuzzleFlashLightClass=class'UTStingerMuzzleFlashLight'
                	CrossHairCoordinates=(U=448,V=0,UL=64,VL=64)
                	LockerRotation=(Pitch=0,Roll=-16384)
                
                	IconCoordinates=(U=453,V=508,UL=147,VL=52)
                
                	ArmsAnimSet=AnimSet'WP_Stinger.Anims.K_WP_Stinger_1P_Arms'
                
                	WeaponFireAnim(0)=none
                	WeaponFireAnim(1)=none
                	ArmFireAnim(0)=none
                	ArmFireAnim(1)=none
                
                	WeaponSpinUpAnims(0)=WeaponRampUp
                	WeaponSpinUpAnims(1)=WeaponRampUp
                	WeaponSpinDownAnims(0)=WeaponRampDown
                	WeaponSpinDownAnims(1)=WeaponRampDown
                	WeaponFireAnims(0)=WeaponFire-Secondary
                	WeaponFireAnims(1)=WeaponFire-Secondary
                
                	ArmSpinUpAnims(0)=WeaponRampUp
                	ArmSpinUpAnims(1)=WeaponRampUp
                	ArmSpinDownAnims(0)=WeaponRampDown
                	ArmSpinDownAnims(1)=WeaponRampDown
                	ArmFireAnims(0)=WeaponFire-Secondary
                	ArmFireAnims(1)=WeaponFire-Secondary
                
                	MuzzleFlashPSCTemplate=WP_Stinger.Particles.P_Stinger_MF_Primary_WarmUP
                	MuzzleFlashAltPSCTemplate=WP_Stinger.Particles.P_Stinger_MF_Alt_Fire
                
                	QuickPickGroup=6
                	QuickPickWeight=0.9
                
                	WidescreenRotationOffset=(Pitch=0,Yaw=0,Roll=0)
                }
                I missed something some where...oh ya..I miss projperfire........ would be so nice if I can uae ProjPerFire(1)=6 then use spread and aim error, I suppose they don't use SpreadStyle either anymore....
                It still looks like you are missing 2 closing brackets. count the number of opening brackets then check how many closing ones you have. The numbers should always equal.

                Comment


                  #9
                  Move the bracket directly under defaultproperties up. So it closes simulated function CustomFire()

                  Comment


                    #10
                    The following is how the code should look. The default properties area is fine. You just need 2 more closing brackets for CustomFire().

                    Code:
                    /**
                     * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
                     */
                    class UTWeap_Stoner extends UTWeap_Stinger;
                    
                    
                    //scatter codeset
                    var class<Projectile> CenterShardClass;
                    var float SpreadDist;
                    //scatter codeset
                    
                    
                    /**
                     * GetAdjustedAim begins a chain of function class that allows the weapon, the pawn and the controller to make
                     * on the fly adjustments to where this weapon is pointing.
                     */
                    
                    simulated function Rotator GetAdjustedAim( vector StartFireLoc )
                    {
                    	local rotator R;
                    
                    	// Start the chain, see Pawn.GetAdjustedAimFor()
                    	if( Instigator != None )
                    	{
                    		R = Instigator.GetAdjustedAimFor( Self, StartFireLoc );
                    
                    		if ( (PlayerController(Instigator.Controller) != None) && (CurrentFireMode == 1) )
                    		{
                    			R.Pitch = R.Pitch & 65535;
                    			if ( R.Pitch < 16384 )
                    			{
                    				R.Pitch += (16384 - R.Pitch)/32;
                    			}
                    			else if ( R.Pitch > 49152 )
                    			{
                    				R.Pitch += 512;
                    			}
                    		}
                    	}
                    
                    	return R;
                    }
                    
                    
                    simulated function CustomFire()
                    {
                    	local int i,j;
                       	local vector RealStartLoc, AimDir, YDir, ZDir;
                    	local Projectile Proj;
                    	local class<Projectile> ShardProjectileClass;
                    	local float Mag;
                    
                    	IncrementFlashCount();
                    
                    	if (Role == ROLE_Authority)
                    	{
                    		// this is the location where the projectile is spawned
                    		RealStartLoc = GetPhysicalFireStartLoc();
                    		// get fire aim direction
                    		GetAxes(GetAdjustedAim(RealStartLoc),AimDir, YDir, ZDir);
                    
                    		// special center shard
                    		Proj = Spawn(CenterShardClass,,, RealStartLoc);
                    		if (Proj != None)
                    		{
                    			Proj.Init(AimDir);
                    		}
                    
                    		// one shard in each of 9 zones (except center)
                    		ShardProjectileClass = GetProjectileClass();
                    		for ( i=-1; i<2; i++)
                    		{
                    			for ( j=-1; j<2; j++ )
                    			{
                    				if ( (i != 0) || (j != 0) )
                    				{
                    					Mag = (abs(i)+abs(j) > 1) ? 0.7 : 1.0;
                    					Proj = Spawn(ShardProjectileClass,,, RealStartLoc);
                    					if (Proj != None)
                    					{
                    						Proj.Init(AimDir + (0.3 + 0.7*FRand())*Mag*i*SpreadDist*YDir + (0.3 + 0.7*FRand())*Mag*j*SpreadDist*ZDir );
                    					}
                    				}
                    			}
                    	   	}
                    	}
                    }
                    
                    defaultproperties
                    {
                    	WeaponColor=(R=255,G=255,B=0,A=255)
                    	PlayerViewOffset=(X=0,Y=2.0,Z=0.0)
                    
                    	End Object
                    	PrimaryMuzzleFlashPSC=MuzzleFlashComponent
                    
                    	// Weapon SkeletalMesh / Anims
                    
                    	Begin Object class=AnimNodeSequence Name=MeshSequenceA
                    	End Object
                    
                    	Begin Object Name=FirstPersonMesh
                    		SkeletalMesh=SkeletalMesh'WP_Stinger.Mesh.SK_WP_Stinger_1P'
                    		AnimSets(0)=AnimSet'WP_Stinger.Anims.K_WP_Stinger_1P_Base'
                    		Animations=MeshSequenceA
                    		Translation=(X=0.0,Y=0.0,Z=0.0)
                    		Scale=1.0
                    		FOV=65
                    	End Object
                    	AttachmentClass=class'UTAttachment_Stinger'
                    
                    	// Pickup staticmesh
                    	Begin Object Name=PickupMesh
                    		SkeletalMesh=SkeletalMesh'WP_Stinger.Mesh.SK_WP_Stinger_3P_Mid'
                    	End Object
                    
                    	EffectSockets=(MuzzleFlashSocket,MuzzleFlashSocket)
                    
                    	FiringStatesArray(0)=WeaponWindUp
                    	WeaponFireTypes(0)=EWFT_InstantHit
                    	FireInterval(0)=+0.02
                    	WarmupShots(0)=0
                    	//WindUPTime(0)=9.27
                    	WindDownTime(0)=3.27
                    	Spread(0)=0.0975
                    	Spread(1)=0.0675
                    	InstantHitDamage(0)=4
                    	InstantHitDamageTypes(0)=class'UTDmgType_StingerBullet'
                    	ShotCost(1)=4
                    
                    	WarmupShots(1)=4
                    	FireInterval(1)=+0.18
                    	WindDownTime(1)=1.13
                    
                    	FiringStatesArray(1)=WeaponFiring
                    	WeaponProjectiles(1)=class'UTProj_Stonershard'
                        
                    	//WeaponFireTypes(1)=EWFT_Projectile
                    	
                    	//scatter codeset
                    	WeaponFireTypes(1)=EWFT_Custom
                    	CenterShardClass=class'UTProj_Stonershard'
                    	SpreadDist=0.1
                    	//scatter codeset
                    	FireOffset=(X=19,Y=10,Z=-10)
                    
                    	WeaponSpinUpSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStartCue'
                    	WeaponSpinUpSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStartCue'
                    	WeaponSpinDownSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStopCue'
                    	WeaponSpinDownSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStopCue'
                    	WeaponWarmUpShotSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireCue'
                    	WeaponFireSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireLoopCue'
                    	WeaponFireSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireAltCue'
                    	WeaponPutDownSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_LowerCue'
                    	WeaponEquipSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_RaiseCue'
                    
                    	SpinningBarrelCue=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindLoopCue'
                    
                    	MaxDesireability=0.73
                    	AIRating=+0.71
                    	CurrentRating=+0.71
                    	PickupMessage="Stoner"
                    	bFastRepeater=true
                    	bInstantHit=true
                    	bSplashJump=true
                    	bRecommendSplashDamage=true
                    	bSniping=false
                    	ShouldFireOnRelease(0)=0
                    	ShouldFireOnRelease(1)=0
                    	InventoryGroup=6
                    	GroupWeight=0.52
                    	AimError=900
                    	
                    
                    	PickupSound=SoundCue'A_Pickups.Weapons.Cue.A_Pickup_Weapons_Stinger_Cue'
                    
                    	AmmoCount=200
                    	LockerAmmoCount=150
                    	MaxAmmoCount=600
                    
                    	IconX=273
                    	IconY=413
                    	IconWidth=84
                    	IconHeight=50
                    
                    	EquipTime=+0.6
                    	AimingHelpRadius[0]=20.0
                    	AimingHelpRadius[1]=20.0
                    
                    	MuzzleFlashLightClass=class'UTStingerMuzzleFlashLight'
                    	CrossHairCoordinates=(U=448,V=0,UL=64,VL=64)
                    	LockerRotation=(Pitch=0,Roll=-16384)
                    
                    	IconCoordinates=(U=453,V=508,UL=147,VL=52)
                    
                    	ArmsAnimSet=AnimSet'WP_Stinger.Anims.K_WP_Stinger_1P_Arms'
                    
                    	WeaponFireAnim(0)=none
                    	WeaponFireAnim(1)=none
                    	ArmFireAnim(0)=none
                    	ArmFireAnim(1)=none
                    
                    	WeaponSpinUpAnims(0)=WeaponRampUp
                    	WeaponSpinUpAnims(1)=WeaponRampUp
                    	WeaponSpinDownAnims(0)=WeaponRampDown
                    	WeaponSpinDownAnims(1)=WeaponRampDown
                    	WeaponFireAnims(0)=WeaponFire-Secondary
                    	WeaponFireAnims(1)=WeaponFire-Secondary
                    
                    	ArmSpinUpAnims(0)=WeaponRampUp
                    	ArmSpinUpAnims(1)=WeaponRampUp
                    	ArmSpinDownAnims(0)=WeaponRampDown
                    	ArmSpinDownAnims(1)=WeaponRampDown
                    	ArmFireAnims(0)=WeaponFire-Secondary
                    	ArmFireAnims(1)=WeaponFire-Secondary
                    
                    	MuzzleFlashPSCTemplate=WP_Stinger.Particles.P_Stinger_MF_Primary_WarmUP
                    	MuzzleFlashAltPSCTemplate=WP_Stinger.Particles.P_Stinger_MF_Alt_Fire
                    
                    	QuickPickGroup=6
                    	QuickPickWeight=0.9
                    
                    	WidescreenRotationOffset=(Pitch=0,Yaw=0,Roll=0)
                    }

                    Comment


                      #11
                      Originally posted by warlord57 View Post
                      The following is how the code should look. The default properties area is fine. You just need 2 more closing brackets for CustomFire().

                      Code:
                      /**
                       * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
                       */
                      class UTWeap_Stoner extends UTWeap_Stinger;
                      
                      
                      //scatter codeset
                      var class<Projectile> CenterShardClass;
                      var float SpreadDist;
                      //scatter codeset
                      
                      
                      /**
                       * GetAdjustedAim begins a chain of function class that allows the weapon, the pawn and the controller to make
                       * on the fly adjustments to where this weapon is pointing.
                       */
                      
                      simulated function Rotator GetAdjustedAim( vector StartFireLoc )
                      {
                      	local rotator R;
                      
                      	// Start the chain, see Pawn.GetAdjustedAimFor()
                      	if( Instigator != None )
                      	{
                      		R = Instigator.GetAdjustedAimFor( Self, StartFireLoc );
                      
                      		if ( (PlayerController(Instigator.Controller) != None) && (CurrentFireMode == 1) )
                      		{
                      			R.Pitch = R.Pitch & 65535;
                      			if ( R.Pitch < 16384 )
                      			{
                      				R.Pitch += (16384 - R.Pitch)/32;
                      			}
                      			else if ( R.Pitch > 49152 )
                      			{
                      				R.Pitch += 512;
                      			}
                      		}
                      	}
                      
                      	return R;
                      }
                      
                      
                      simulated function CustomFire()
                      {
                      	local int i,j;
                         	local vector RealStartLoc, AimDir, YDir, ZDir;
                      	local Projectile Proj;
                      	local class<Projectile> ShardProjectileClass;
                      	local float Mag;
                      
                      	IncrementFlashCount();
                      
                      	if (Role == ROLE_Authority)
                      	{
                      		// this is the location where the projectile is spawned
                      		RealStartLoc = GetPhysicalFireStartLoc();
                      		// get fire aim direction
                      		GetAxes(GetAdjustedAim(RealStartLoc),AimDir, YDir, ZDir);
                      
                      		// special center shard
                      		Proj = Spawn(CenterShardClass,,, RealStartLoc);
                      		if (Proj != None)
                      		{
                      			Proj.Init(AimDir);
                      		}
                      
                      		// one shard in each of 9 zones (except center)
                      		ShardProjectileClass = GetProjectileClass();
                      		for ( i=-1; i<2; i++)
                      		{
                      			for ( j=-1; j<2; j++ )
                      			{
                      				if ( (i != 0) || (j != 0) )
                      				{
                      					Mag = (abs(i)+abs(j) > 1) ? 0.7 : 1.0;
                      					Proj = Spawn(ShardProjectileClass,,, RealStartLoc);
                      					if (Proj != None)
                      					{
                      						Proj.Init(AimDir + (0.3 + 0.7*FRand())*Mag*i*SpreadDist*YDir + (0.3 + 0.7*FRand())*Mag*j*SpreadDist*ZDir );
                      					}
                      				}
                      			}
                      	   	}
                      	}
                      }
                      
                      defaultproperties
                      {
                      	WeaponColor=(R=255,G=255,B=0,A=255)
                      	PlayerViewOffset=(X=0,Y=2.0,Z=0.0)
                      
                      	End Object
                      	PrimaryMuzzleFlashPSC=MuzzleFlashComponent
                      
                      	// Weapon SkeletalMesh / Anims
                      
                      	Begin Object class=AnimNodeSequence Name=MeshSequenceA
                      	End Object
                      
                      	Begin Object Name=FirstPersonMesh
                      		SkeletalMesh=SkeletalMesh'WP_Stinger.Mesh.SK_WP_Stinger_1P'
                      		AnimSets(0)=AnimSet'WP_Stinger.Anims.K_WP_Stinger_1P_Base'
                      		Animations=MeshSequenceA
                      		Translation=(X=0.0,Y=0.0,Z=0.0)
                      		Scale=1.0
                      		FOV=65
                      	End Object
                      	AttachmentClass=class'UTAttachment_Stinger'
                      
                      	// Pickup staticmesh
                      	Begin Object Name=PickupMesh
                      		SkeletalMesh=SkeletalMesh'WP_Stinger.Mesh.SK_WP_Stinger_3P_Mid'
                      	End Object
                      
                      	EffectSockets=(MuzzleFlashSocket,MuzzleFlashSocket)
                      
                      	FiringStatesArray(0)=WeaponWindUp
                      	WeaponFireTypes(0)=EWFT_InstantHit
                      	FireInterval(0)=+0.02
                      	WarmupShots(0)=0
                      	//WindUPTime(0)=9.27
                      	WindDownTime(0)=3.27
                      	Spread(0)=0.0975
                      	Spread(1)=0.0675
                      	InstantHitDamage(0)=4
                      	InstantHitDamageTypes(0)=class'UTDmgType_StingerBullet'
                      	ShotCost(1)=4
                      
                      	WarmupShots(1)=4
                      	FireInterval(1)=+0.18
                      	WindDownTime(1)=1.13
                      
                      	FiringStatesArray(1)=WeaponFiring
                      	WeaponProjectiles(1)=class'UTProj_Stonershard'
                          
                      	//WeaponFireTypes(1)=EWFT_Projectile
                      	
                      	//scatter codeset
                      	WeaponFireTypes(1)=EWFT_Custom
                      	CenterShardClass=class'UTProj_Stonershard'
                      	SpreadDist=0.1
                      	//scatter codeset
                      	FireOffset=(X=19,Y=10,Z=-10)
                      
                      	WeaponSpinUpSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStartCue'
                      	WeaponSpinUpSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStartCue'
                      	WeaponSpinDownSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStopCue'
                      	WeaponSpinDownSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindStopCue'
                      	WeaponWarmUpShotSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireCue'
                      	WeaponFireSnd[0]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireLoopCue'
                      	WeaponFireSnd[1]=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_FireAltCue'
                      	WeaponPutDownSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_LowerCue'
                      	WeaponEquipSnd=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_RaiseCue'
                      
                      	SpinningBarrelCue=SoundCue'A_Weapon_Stinger.Weapons.A_Weapon_Stinger_BarrelWindLoopCue'
                      
                      	MaxDesireability=0.73
                      	AIRating=+0.71
                      	CurrentRating=+0.71
                      	PickupMessage="Stoner"
                      	bFastRepeater=true
                      	bInstantHit=true
                      	bSplashJump=true
                      	bRecommendSplashDamage=true
                      	bSniping=false
                      	ShouldFireOnRelease(0)=0
                      	ShouldFireOnRelease(1)=0
                      	InventoryGroup=6
                      	GroupWeight=0.52
                      	AimError=900
                      	
                      
                      	PickupSound=SoundCue'A_Pickups.Weapons.Cue.A_Pickup_Weapons_Stinger_Cue'
                      
                      	AmmoCount=200
                      	LockerAmmoCount=150
                      	MaxAmmoCount=600
                      
                      	IconX=273
                      	IconY=413
                      	IconWidth=84
                      	IconHeight=50
                      
                      	EquipTime=+0.6
                      	AimingHelpRadius[0]=20.0
                      	AimingHelpRadius[1]=20.0
                      
                      	MuzzleFlashLightClass=class'UTStingerMuzzleFlashLight'
                      	CrossHairCoordinates=(U=448,V=0,UL=64,VL=64)
                      	LockerRotation=(Pitch=0,Roll=-16384)
                      
                      	IconCoordinates=(U=453,V=508,UL=147,VL=52)
                      
                      	ArmsAnimSet=AnimSet'WP_Stinger.Anims.K_WP_Stinger_1P_Arms'
                      
                      	WeaponFireAnim(0)=none
                      	WeaponFireAnim(1)=none
                      	ArmFireAnim(0)=none
                      	ArmFireAnim(1)=none
                      
                      	WeaponSpinUpAnims(0)=WeaponRampUp
                      	WeaponSpinUpAnims(1)=WeaponRampUp
                      	WeaponSpinDownAnims(0)=WeaponRampDown
                      	WeaponSpinDownAnims(1)=WeaponRampDown
                      	WeaponFireAnims(0)=WeaponFire-Secondary
                      	WeaponFireAnims(1)=WeaponFire-Secondary
                      
                      	ArmSpinUpAnims(0)=WeaponRampUp
                      	ArmSpinUpAnims(1)=WeaponRampUp
                      	ArmSpinDownAnims(0)=WeaponRampDown
                      	ArmSpinDownAnims(1)=WeaponRampDown
                      	ArmFireAnims(0)=WeaponFire-Secondary
                      	ArmFireAnims(1)=WeaponFire-Secondary
                      
                      	MuzzleFlashPSCTemplate=WP_Stinger.Particles.P_Stinger_MF_Primary_WarmUP
                      	MuzzleFlashAltPSCTemplate=WP_Stinger.Particles.P_Stinger_MF_Alt_Fire
                      
                      	QuickPickGroup=6
                      	QuickPickWeight=0.9
                      
                      	WidescreenRotationOffset=(Pitch=0,Yaw=0,Roll=0)
                      }
                      i need coffee...

                      Btw would be interesting to see how this turns out (hilarious results guarenteed). Might wanna add KDeathUpKick if they get stuck in ground too much much.

                      Comment


                        #12
                        warlord57/HideInLight
                        wow it worked 0_o
                        wow.......... now I have to re balance the SOB(high rate of fire+muli proj+ 20damage a hit=meaty stew)...really need to add a windup dry fire to it but wow it works.... really thought I was further off on the code that that!

                        thanks a lot I'll be minding my brackets from now on!

                        going to try and see if I can naw out a dry startup for this, heres a question, do I

                        a. move all the code over from the stinger extend it to UTWeapon thenrip out the warmupshot strings.
                        or
                        b.enhance WindUPTime(0) and set warmupshot(0) to zero?
                        WindUPTime dose not work as far as I have tested it butI have a pension for failz LOL.

                        Comment

                        Working...
                        X