1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

looking for Red rebel Uzi

Discussion in 'Original Unreal Tournament' started by K, Nov 17, 2008.

  1. K

    K i bite

    Joined:
    Jul 29, 2004
    Messages:
    2,112
    Likes Received:
    0
    looking for ApplesRed rebel Uzi

    Any one know where i can get the red rebel uzi i have seen on some servers?

    It is called ApplesRebelMac.

    Its a red uzi with the rebel flag on the side.

    I have the .u file but i am missing the int file and any textures that go with it.

    Anyone know the creator of the mod?

    I desperately want this.
     
    Last edited: Nov 17, 2008
  2. Zur

    Zur surrealistic mad cow

    Joined:
    Jul 8, 2002
    Messages:
    11,702
    Likes Received:
    4
    Making the int file shouldn't be a problem. Do you want a hand ?
     
  3. K

    K i bite

    Joined:
    Jul 29, 2004
    Messages:
    2,112
    Likes Received:
    0
    I thought i had it down but i dont.

    I opened it in ed looked at the package.
    The class is ApplesRebelMac.RebelMac

    So here is what created for the int.
    Code:
    [Public]
    Object=(Name=ApplesRebelMac.RebelMac,Class=Class,MetaClass=Engine.Mutator,Description="ApplesRebelMac")
    
    I can see the mod in the mute list but it does not work in game.

    This mod is supposed to replace the pistol with an uzi.
    When i boot up the game with the mod selected the pistol is still there and no uzi.
    Do i have something wrong with the int file or am i missing some texture or sound file?
    Usually when a file is missing you get an invisible gun yet it will still semi work.

    Here is the code for the gun.
    Are the textures/sounds in a separate package or is it in the .u file?
    Code:
    // ============================================================
    // ApplesRebelMac.RebelMac: AppleBlossom says Hi!!
    
    // Modified by AppleBlossom
    // ============================================================
    
    class RebelMac extends TournamentWeapon;
    
    #exec MESH IMPORT MESH=mac ANIVFILE=MODELS\mac_a.3D DATAFILE=MODELS\mac_d.3D X=0 Y=0 Z=0 
    #exec MESH ORIGIN MESH=mac X=0 Y=0 Z=0 YAW=0 PITCH=0 ROLL=0
    #exec MESH SEQUENCE MESH=mac SEQ=All     STARTFRAME=0   NUMFRAMES=56
    #exec MESH SEQUENCE MESH=mac SEQ=Select  STARTFRAME=0   NUMFRAMES=11 RATE=20 GROUP=Select
    #exec MESH SEQUENCE MESH=mac SEQ=Still   STARTFRAME=10  NUMFRAMES=1
    #exec MESH SEQUENCE MESH=mac SEQ=Fire  STARTFRAME=22  NUMFRAMES=3 RATE=20
    #exec MESH SEQUENCE MESH=mac SEQ=Reloaded  STARTFRAME=25  NUMFRAMES=30 RATE=10
    #exec MESH SEQUENCE MESH=mac SEQ=Down    STARTFRAME=11  NUMFRAMES=11
    
    
    #exec TEXTURE IMPORT NAME=mac_t1 FILE=textures\mac_t1.PCX GROUP=Skins FLAGS=2
    #exec TEXTURE IMPORT NAME=mac_t2 FILE=textures\mac_t2.PCX GROUP=Skins FLAGS=2
    #exec TEXTURE IMPORT NAME=AddHand FILE=textures\AddHand.PCX GROUP=Skins FLAGS=2
    
    #exec MESHMAP SCALE MESHMAP=mac X=0.1 Y=0.08 Z=0.2
    
    #exec MESHMAP SETTEXTURE MESHMAP=mac NUM=3 TEXTURE=AddHand
    #exec MESHMAP SETTEXTURE MESHMAP=mac NUM=2 TEXTURE=AddHand
    #exec MESHMAP SETTEXTURE MESHMAP=mac NUM=1 TEXTURE=mac_t2
    #exec MESHMAP SETTEXTURE MESHMAP=mac NUM=0 TEXTURE=mac_t1
    
    
    #exec MESH IMPORT MESH=macL ANIVFILE=MODELS\macL_a.3D DATAFILE=MODELS\macL_d.3D X=0 Y=0 Z=0 Unmirror=1
    #exec MESH ORIGIN MESH=macL X=0 Y=0 Z=0 YAW=0 PITCH=0 ROLL=0
    #exec MESH SEQUENCE MESH=macL SEQ=All     STARTFRAME=0   NUMFRAMES=56
    #exec MESH SEQUENCE MESH=macL SEQ=Select  STARTFRAME=0   NUMFRAMES=11 RATE=20 GROUP=Select
    #exec MESH SEQUENCE MESH=macL SEQ=Still   STARTFRAME=10  NUMFRAMES=1
    #exec MESH SEQUENCE MESH=macL SEQ=Fire    STARTFRAME=22  NUMFRAMES=3 RATE=20
    #exec MESH SEQUENCE MESH=macL SEQ=Reloaded  STARTFRAME=25  NUMFRAMES=30 RATE=10
    #exec MESH SEQUENCE MESH=macL SEQ=Down    STARTFRAME=11  NUMFRAMES=11
    
    #exec MESHMAP SCALE MESHMAP=macL X=0.1 Y=0.08 Z=0.2
    
    #exec MESHMAP SETTEXTURE MESHMAP=macL NUM=3 TEXTURE=AddHand
    #exec MESHMAP SETTEXTURE MESHMAP=macL NUM=2 TEXTURE=AddHand
    #exec MESHMAP SETTEXTURE MESHMAP=macL NUM=1 TEXTURE=mac_t2
    #exec MESHMAP SETTEXTURE MESHMAP=macL NUM=0 TEXTURE=mac_t1
    
    #exec MESH IMPORT MESH=MACPick ANIVFILE=MODELS\MACPick_a.3D DATAFILE=MODELS\MACPick_d.3D X=0 Y=0 Z=0
    #exec MESH ORIGIN MESH=MACPick X=0 Y=0 Z=0 YAW=0 PITCH=0 ROLL=32
    #exec MESH SEQUENCE MESH=MACPick SEQ=All     STARTFRAME=0  NUMFRAMES=1
    #exec MESHMAP SCALE MESHMAP=MACPick X=0.17 Y=0.17 Z=0.34
    #exec MESHMAP SETTEXTURE MESHMAP=MACPick NUM=1 TEXTURE=mac_t2
    #exec MESHMAP SETTEXTURE MESHMAP=MACPick NUM=0 TEXTURE=mac_t1
    
    #exec MESH IMPORT MESH=MACHand ANIVFILE=MODELS\MACHand_a.3D DATAFILE=MODELS\MACHand_d.3D X=0 Y=0 Z=0
    #exec MESH ORIGIN MESH=MACHand X=-10 Y=15 Z=-5 YAW=0 PITCH=0
    #exec MESH SEQUENCE MESH=MACHand SEQ=All STARTFRAME=0  NUMFRAMES=1
    #exec MESH SEQUENCE MESH=MACHand SEQ=Shoot1  STARTFRAME=0  NUMFRAMES=1
    #exec MESHMAP SCALE MESHMAP=MACHand X=0.11 Y=0.11 Z=0.22
    #exec MESHMAP SETTEXTURE MESHMAP=MACHand NUM=1 TEXTURE=mac_t2
    #exec MESHMAP SETTEXTURE MESHMAP=MACHand NUM=0 TEXTURE=mac_t1
    
    #exec TEXTURE IMPORT NAME=scp FILE=TEXTURES\scp.PCX GROUP="Icons" MIPS=OFF FLAGS=2 LODSET=2
    #exec TEXTURE IMPORT NAME=NightVision FILE=TEXTURES\NightVision.PCX GROUP="Icons" MIPS=OFF FLAGS=2 LODSET=2
    #exec TEXTURE IMPORT NAME=ScopeCrosshair FILE=TEXTURES\ScopeCrosshair.PCX GROUP="Icons" MIPS=OFF FLAGS=2 LODSET=2
    
    #exec AUDIO IMPORT FILE="Sounds\screamin.wav" NAME="screamin" GROUP="Fire"
    #exec AUDIO IMPORT FILE="Sounds\scratchin.wav" NAME="sratchin" GROUP="Fire"
    
    
    
    var int Count;
    var int shotc;
    var int NumFire;
    var vector OwnerLocation;
    var float StillTime, StillStart;
    var float ShotAccuracy, LastShellSpawn;
    
    simulated event RenderOverlays( canvas Canvas )
    {
         local UT_Shellcase s;
         local vector X,Y,Z;
         local float dir;
    
         
         FlashY = Default.FlashY * (1.08 - 0.16 * FRand());
         if ( !Owner.IsA('PlayerPawn') || (PlayerPawn(Owner).Handedness == 0) )
         FlashO = Default.FlashO * (4 + 0.15 * FRand());
         else          
         FlashO = Default.FlashO * (1 + 0.15 * FRand());
         
         Super(TournamentWeapon).RenderOverlays(Canvas);
         
         
    }
    
    simulated function PostRender( canvas Canvas )
    {
         local PlayerPawn P;
         local float Scale;
    
    //     Super.PostRender(Canvas);
         P = PlayerPawn(Owner);
         if ( (P != None) && (P.DesiredFOV != P.DefaultFOV) )
         {
              bOwnsCrossHair = true;
              Scale = Canvas.ClipX/256;
              Canvas.SetPos(0.5 * Canvas.ClipX - 128 * Scale, 0.5 * Canvas.ClipY - 128 * Scale );
              Canvas.Style = ERenderStyle.STY_Modulated;
              Canvas.DrawIcon(Texture'NightVision', Scale);
                          Scale = Canvas.ClipX/640;
              Canvas.SetPos(0.5 * Canvas.ClipX - 128 * Scale, 0.5 * Canvas.ClipY - 128 * Scale );
              Canvas.DrawIcon(Texture'ScopeCrosshair', Scale);
              Canvas.SetPos(0.5 * Canvas.ClipX + 64 * Scale, 0.5 * Canvas.ClipY + 96 * Scale);
              Canvas.Style = ERenderStyle.STY_Translucent;
              Canvas.DrawColor.R = 0;
              Canvas.DrawColor.G = 255;
              Canvas.DrawColor.B = 0;
              Scale = P.DefaultFOV/P.DesiredFOV;
              Canvas.DrawText("X"$int(Scale)$"."$int(10 * Scale - 10 * int(Scale)));
         }
         else
              bOwnsCrossHair = false;
    }
    
    function float RateSelf( out int bUseAltMode )
    {
         local float dist;
    
         if ( AmmoType.AmmoAmount <=0 )
              return -2;
    
         bUseAltMode = 0;
         
         if (  Pawn(Owner).Enemy != None )
         {
              dist = VSize(Pawn(Owner).Enemy.Location - Owner.Location);
              if ( dist < 300  )
              {
                   
                   
                return (AIRating + 0.25); 
              }
         }
         return AIRating;
    }
    
    // set which hand is holding weapon
    function setHand(float Hand)
    {
         Super.SetHand(Hand);
         if ( Hand == 1 )
              Mesh = mesh(DynamicLoadObject("RebelMac.macL", class'Mesh'));
         else
              Mesh = mesh'mac';
    }
    
    
    function Timer()
    {
         local actor targ;
         local float bestAim, bestDist;
         local vector FireDir;
         local Pawn P;
    
         bestAim = 0.95;
         P = Pawn(Owner);
         if ( P == None )
         {
              GotoState('');
              return;
         }
         if ( VSize(P.Location - OwnerLocation) < 6 )
              StillTime += FMin(2.0, Level.TimeSeconds - StillStart);
    
         else
              StillTime = 0;
         StillStart = Level.TimeSeconds;
         OwnerLocation = P.Location;
         FireDir = vector(P.ViewRotation);
         targ = P.PickTarget(bestAim, bestDist, FireDir, Owner.Location);
         if ( Pawn(targ) != None )
         {
              SetTimer(1 + 4 * FRand(), false);
              bPointing = true;
              Pawn(targ).WarnTarget(P, 200, FireDir);
         }
         else 
         {
              SetTimer(0.4 + 1.6 * FRand(), false);
              if ( (P.bFire == 0) && (P.bAltFire == 0) )
                   bPointing = false;
         }
    }     
    
    
    
    function Finish()
    {
         if ( (Pawn(Owner).bFire!=0) && (FRand() < 0.6) )
              Timer();
         Super.Finish();
    }
    
    function TraceFire( float Accuracy )
    {
         local vector HitLocation, HitNormal, StartTrace, EndTrace, X,Y,Z, AimDir;
         local actor Other;
    
         Owner.MakeNoise(Pawn(Owner).SoundDampening);
         GetAxes(Pawn(owner).ViewRotation,X,Y,Z);
         StartTrace = Owner.Location + pawn(owner).Eyeheight * Z;
         AdjustedAim = pawn(owner).AdjustAim(1000000, StartTrace, 2*AimError, False, False);
            X = vector(AdjustedAim);
         EndTrace = StartTrace + Accuracy * (FRand() - 0.5 )* Y * 1000
              + Accuracy * (FRand() - 0.5 ) * Z * 1000;
         AimDir = vector(AdjustedAim);
         EndTrace += (10000 * AimDir);
         Other = Pawn(Owner).TraceShot(HitLocation,HitNormal,EndTrace,StartTrace);
    
         Count++;
         if ( Count == 2 )
         {
              Count = 0;
              if ( VSize(HitLocation - StartTrace) > 250 )
                   Spawn(class'ProjAB',,, StartTrace + 96 * AimDir,rotator(EndTrace - StartTrace));
         }
         ProcessTraceHit(Other, HitLocation, HitNormal, vector(AdjustedAim),Y,Z);
    }
    
    function ProcessTraceHit(Actor Other, Vector HitLocation, Vector HitNormal, Vector X, Vector Y, Vector Z)
    {
    
      
         if (Other == Level) Spawn(class'UT_HeavyWallHitEffect',,, HitLocation+HitNormal, Rotator(HitNormal));
         else if ( (Other != self) && (Other != Owner) && (Other != None) ) 
         {
              if ( Other.bIsPawn )
                   {
                   Other.PlaySound(Sound 'ChunkHit',, 4.0,,100);
                   Other.TakeDamage(80,  Pawn(Owner), HitLocation, 30000.0*X, MyDamageType);
                   }
    
              if ( !Other.bIsPawn && !Other.IsA('Carcass') )
                   spawn(class'appsprite',,,HitLocation+HitNormal*9);
         }
    }
    
    /////////////////////////////////////////////////////////////////////
    state ClientFiring
    {
         simulated function bool ClientFire(float Value)
         {
              return false;
         }
    
         simulated function bool ClientAltFire(float Value)
         {
              return false;
         }
    
         simulated function AnimEnd()
         {
    
               //recoil
                   Pawn(Owner).ViewRotation.Pitch += (shotc * 5);
                     shotc++;
    
              if ( (Pawn(Owner) == None)
                   || ((AmmoType != None) && (AmmoType.AmmoAmount <= 0)) )
              {
                   PlayIdleAnim();
                   GotoState('');
              }
    
               
              else if ( !bCanClientFire )
                   GotoState('');
              else if ( Pawn(Owner).bFire != 0 )
                   Global.ClientFire(0);
              else if ( Pawn(Owner).bAltFire != 0 )
                   Global.ClientAltFire(0);
              else
              {
                   PlayIdleAnim();
                   GotoState('');
              }
         }
    
         simulated function EndState()
         {
              AmbientSound = None;
         }
    }
    
    
    
    ////////////////////////////////////////////////////////////////////////////
    state NormalFire
    {
         function Tick( float DeltaTime )
         {
              if (Owner==None) 
                   AmbientSound = None;
         }
    
         function AnimEnd()
         {
              
         }
    
         function BeginState()
         {
              
                             
         }     
    
         function EndState()
         {
              
         
              bSteadyFlash3rd = False;
              Super.EndState();
              OldFlashCount = FlashCount;
         
         }
    
    Begin:
         
         PlayFiring();
            bMuzzleflash++;
         Tracefire(0.0);
            AimError = Default.AimError;
         FinishAnim();
            Finish();
           
             
         
    }
    
    
    ////////////////////////////////////////////////////////////////////////////////
    state Idle
    {
         function Fire( float Value )
         {
              if ( AmmoType == None )
              {
                   // ammocheck
                   GiveAmmo(Pawn(Owner));
              }
              if (AmmoType.UseAmmo(1))
              {
                   GotoState('NormalFire');
                   bCanClientFire = true;
                   bPointing=True;
                   if ( Owner.IsA('Bot') )
                   {
                        // simulate bot using zoom
                        if ( Bot(Owner).bSniping && (FRand() < 0.65) )
                             AimError = AimError/FClamp(StillTime, 1.0, 8.0);
                        else if ( VSize(Owner.Location - OwnerLocation) < 6 )
                             AimError = AimError/FClamp(0.5 * StillTime, 1.0, 3.0);
                        else
                             StillTime = 0;
                   }
                   Pawn(Owner).PlayRecoil(0);
                   TraceFire(0.0);
                   AimError = Default.AimError;
                   ClientFire(Value);
              }
         }
    
         function BeginState()
         {
              bPointing = false;
              SetTimer(0.4 + 1.6 * FRand(), false);
              Super.BeginState();
         }
    
         function EndState()
         {     
              bSteadyFlash3rd = False;
              SetTimer(0.0, false);
              Super.EndState();
         }
         
    Begin:
         bPointing=False;
         if ( AmmoType.AmmoAmount<=0 ) 
              Pawn(Owner).SwitchToBestWeapon();  //Goto Weapon that has Ammo
         if ( Pawn(Owner).bFire!=0 ) Fire(0.0);
         Disable('AnimEnd');
         PlayIdleAnim();
    }
    
    simulated function bool ClientAltFire( float Value )
    {
         GotoState('Zooming');
         return true;
    }
    
    function AltFire( float Value )
    {
         ClientAltFire(Value);
    }
    
    Simulated function PlayFiring()
    {
         local int r;
    
            
         
         PlayOwnedSound(FireSound, SLOT_None, Pawn(Owner).SoundDampening*3.0);
            bSteadyFlash3rd = False;
         PlayAnim('fire',0.5 + 0.5 *(FireAdjust*16.0), 0.05);
            
         
         if (PlayerPawn(Owner) != None) 
          bMuzzleFlash++;
    }
    
    ///////////////////////////////////////////////////////////////////////////////////
    state Zooming
    {
         simulated function Tick(float DeltaTime)
         {
              if ( Pawn(Owner).bAltFire == 0 )
              {
                   if ( (PlayerPawn(Owner) != None) && PlayerPawn(Owner).Player.IsA('ViewPort') )
                        PlayerPawn(Owner).StopZoom();
                   SetTimer(0.0,False);
                   GoToState('Idle');
              }
         }
    
         simulated function BeginState()
         {
              if ( Owner.IsA('PlayerPawn') )
              {
                   if ( PlayerPawn(Owner).Player.IsA('ViewPort') )
                        PlayerPawn(Owner).ToggleZoom();
                   SetTimer(0.2,True);
              }
              else
              {
                   Pawn(Owner).bFire = 1;
                   Pawn(Owner).bAltFire = 0;
                   Global.Fire(0);
              }
         }
    }
    
    ////////////////////////////////////////////////////////////////////////
    simulated function PlayIdleAnim()
    {
         if ( Mesh != PickupViewMesh )
         {          
              PlayAnim('Still',1.0, 0.05);
    
         }
    
         shotc=0;
         bSteadyFlash3rd = False;
         }
    
    
    
     
    Last edited: Nov 17, 2008
  4. GreatEmerald

    GreatEmerald Khnumhotep

    Joined:
    Jan 20, 2008
    Messages:
    4,042
    Likes Received:
    1
    Ummmmm... This would never work:
    1. Your INT file says: "Name=ApplesRebelMac.RebelMac,MetaClass=Engine.Mutator" - UT assumes ApplesRebelMac.RebelMac is a mutator.
    2. class RebelMac extends TournamentWeapon - not even near a mutator. That's the weapon, not the mutator! You have to find the actual mutator or create it yourself if you can't locate it.
     
  5. K

    K i bite

    Joined:
    Jul 29, 2004
    Messages:
    2,112
    Likes Received:
    0
    The .u file i have doesn't replace the pistol?
    Ahh i should have read through the code before.
    You are right there is no replace function in that code at all.

    I was in a hurry this morning when i was working on this.

    my friend H꣣Fï®è just found me the zip file for this mod witch includes the int.
    Looks like the he found is an arena mutator though.

    If i cant find the regular one what are my options?
    Worm? WeaponStuff?

    Could we change some of the code to replace just the pistol?
    Anyone able to help me figure out how to do this?
    I have seen it used with other weapons.
     
  6. War_Master

    War_Master Member

    Joined:
    May 27, 2005
    Messages:
    702
    Likes Received:
    0
    All those Uzis, custom snipers, AK47s, and those kind of weapons used in Snipers only server are replaced using the StuffSwapper mod. Sometimes you dont get to download the StuffSwapper because it is not necessary to run as a ServerPackage to do the replacement. All you need is to add those weapons in the ServerPackages list and have either Worm or StuffSwapper replace the Enforcer or any other UT default weapon. Plus, it allows you to give the players a set of weapons when they spawn which is what you want to do.

    I used to run these type of snipers in the MH -=Gods Of War=- server a few years back. If you cant load the weapon mod with the StuffImporter.exe is because the weapon has the same ItemName as one of UT's default weapons/Items. To add the custom weapon, you will have to manually add the info needed for the weapon to show up in the list in the StuffSwapperItems.ini. So, just look at the info that is added to an item from some other mod so you know what things are displayed in the line for one specific Weapon/Ammo/PickUp.
     
  7. K

    K i bite

    Joined:
    Jul 29, 2004
    Messages:
    2,112
    Likes Received:
    0
    I first tried WeapSwap to put it in there and it still used the arena somewhat. :lol:
    Some maps it did not. Very strange. I guess the WeapSwap mod sucks.

    I replaced it with StuffSwapper and all is good again.
    Thanks allot you guys for helping me with all this stuff again.

    This is without a doubt the best UT forum in the world.

    You guys are tops.

    Come check out the server if you get the chance.
    I primarily run MH but the server also has DM,iDM, and DeemerLove
    server address 68.203.18.29
    MonsterHuntMayhem II {MHMII}
    [​IMG]

    :tup:
     
    Last edited: Nov 18, 2008

Share This Page