Initial Commit

This commit is contained in:
2026-01-04 18:21:33 -06:00
commit 1d676526fe
133 changed files with 10359 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "AK-47"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_rif_ak47.mdl"
SWEP.WorldModel = "models/weapons/w_rif_ak47.mdl"
SWEP.Weight = 3
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("Weapon_AK47.Single")
SWEP.Primary.Recoil = 1
SWEP.Primary.Damage = 32
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.026
SWEP.Primary.ClipSize = 30
SWEP.Primary.Delay = 0.14
SWEP.Primary.DefaultClip = 60
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "smg1"
SWEP.ReloadSequenceTime = 1.85;
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-6.56, -10.08, 2.519), ang = Vector(2.4, 0.1, 0)};
SWEP.Positions[3] = {pos = Vector(6.534, -15.827, -5.277), ang = Vector(-3.58, 66.97, -26.733)};

View File

@@ -0,0 +1,66 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "AUG"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_rif_aug.mdl"
SWEP.WorldModel = "models/weapons/w_rif_aug.mdl"
SWEP.Weight = 5
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound( "Weapon_Aug.Single" )
SWEP.Primary.Recoil = 0.5
SWEP.Primary.Damage = 22
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.07
SWEP.Primary.ClipSize = 30
SWEP.Primary.Delay = 0.12
SWEP.Primary.DefaultClip = 90
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "smg1"
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-8.12, -7.441, 1.32), ang = Vector(1.1, -3, -9.301)};
SWEP.Positions[3] = {pos = Vector(5.276, -11.891, -1.655), ang = Vector(-19.567, 63.11, -35.551)};

View File

@@ -0,0 +1,110 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "AWP Sniper Rifle"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_snip_awp.mdl"
SWEP.WorldModel = "models/weapons/w_snip_awp.mdl"
SWEP.Weight = 3
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("weapons/awp/awp1.wav")
SWEP.Primary.Recoil = 5
SWEP.Primary.Damage = 160
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.000001
SWEP.Primary.ClipSize = 5
SWEP.Primary.Delay = 1.4
SWEP.Primary.DefaultClip = 30
SWEP.Primary.Automatic = false
SWEP.Primary.Ammo = "smg1"
SWEP.Secondary.Automatic = false
SWEP.Secondary.ClipSize = -1
SWEP.Secondary.DefaultClip = -1
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-6.761, -3.859, -12.24), ang = Vector(0,0,0)};
SWEP.Positions[3] = {pos = Vector(6.534, -14.094, 0.708), ang = Vector(0,70,0)};
function SWEP:TranslateFOV(fov)
if self:GetNWMode() == 2 then
return 10
else
return fov
end
end
if CLIENT then
function SWEP:AdjustMouseSensitivity()
return self:GetNWMode() == 2 and .08 or 1;
end
local scopeMat = Material("jailbreak_excl/scope.png");
function SWEP:DrawHUD()
if self:GetNWMode() == 2 then
local size = ScrH();
surface.SetDrawColor(JB.Color.black)
surface.DrawRect(0, 0, (ScrW()-size) / 2, size);
surface.DrawRect(ScrW() - ((ScrW()-size) / 2), 0, (ScrW()-size) / 2, size);
surface.DrawLine(0,ScrH()/2,ScrW(),ScrH()/2)
surface.DrawLine(ScrW()/2,0,ScrW()/2,ScrH())
surface.SetDrawColor(JB.Color.black)
surface.SetMaterial(scopeMat)
surface.DrawTexturedRect( (ScrW()/2) - (size/2) , 0, size, size)
end
end
end

View File

@@ -0,0 +1,219 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
local MODE_NORMAL = 1;
local MODE_AIM = 2;
local MODE_SPRINT = 3;
SWEP.DrawAmmo = true;
SWEP.DrawCrosshair = false;
SWEP.ViewModelFOV = 52;
SWEP.ViewModelFlip = false;
SWEP.CSMuzzleFlashes = true;
SWEP.DrawWeaponInfoBox = true;
SWEP.Slot = 1;
SWEP.SlotPos = 1;
SWEP.lastFire = 0;
local matCrosshair = Material("materials/jailbreak_excl/crosshair.png");
local lastFire = 0;
function SWEP:FireCallback()
if IsFirstTimePredicted() then
local vm = self.Owner:GetViewModel();
local muz = vm:GetAttachment("1");
if not self.Em then
self.Em = ParticleEmitter(muz.Pos);
end
local par = self.Em:Add("particle/smokesprites_000" .. math.random(1, 9), muz.Pos);
par:SetStartSize(math.random(0.5, 1));
par:SetStartAlpha(100);
par:SetEndAlpha(0);
par:SetEndSize(math.random(4, 4.5));
par:SetDieTime(1 + math.Rand(-0.3, 0.3));
par:SetRoll(math.Rand(0.2, .8));
par:SetRollDelta(0.8 + math.Rand(-0.3, 0.3));
par:SetColor(140,140,140,200);
par:SetGravity(Vector(0, 0, .5));
local mup = (muz.Ang:Up()*-1);
par:SetVelocity(Vector(0, 0,7)-Vector(mup.x,mup.y,0));
local par = self.Em:Add("sprites/heatwave", muz.Pos);
par:SetStartSize(4);
par:SetEndSize(0);
par:SetDieTime(0.6);
par:SetGravity(Vector(0, 0, 1));
par:SetVelocity(Vector(0, 0, 1));
end
lastFire = CurTime();
end
function SWEP:AdjustMouseSensitivity()
return self:GetNWMode() == MODE_AIM and .5 or 1;
end
local gap = 5
local gap2 = 0
local color_sight = Color(255,255,255,255);
local x2 = (ScrW() - 1024) / 2
local y2 = (ScrH() - 1024) / 2
local x3 = ScrW() - x2
local y3 = ScrH() - y2
local dt;
function SWEP:DrawHUD()
dt = FrameTime();
x, y = ScrW() / 2, ScrH() / 2;
local scale = (10 * self.Primary.Cone)* (2 - math.Clamp( (CurTime() - self:GetNWLastShoot()) * 5, 0.0, 1.0 ))
if (self:GetNWMode() == MODE_AIM and not self.FakeIronSights) or self:GetNWMode() == MODE_SPRINT then
color_sight.a = math.Approach(color_sight.a, 0, dt / 0.0017)
else
color_sight.a = math.Approach(color_sight.a, 230, dt / 0.001)
end
gap = math.Approach(gap, 50 * ((10 / (self.Owner:GetFOV() / 90)) * self:GetNWLastShoot()), 1.5 + gap * 0.1)
surface.SetDrawColor(color_sight);
surface.SetMaterial(matCrosshair);
surface.DrawTexturedRectRotated(x - gap - 14/2,y,32,32,270+180);
surface.DrawTexturedRectRotated(x + gap + 14/2,y,32,32,90+180);
surface.DrawTexturedRectRotated(x, y + gap + 14/2,32,32,0+180);
surface.DrawTexturedRectRotated(x, y - gap - 14/2,32,32,180+180);
end
local time,fireTime,targetPos,targetAng,speed,speedReduced;
local idealPos = Vector(0,0,0);
function SWEP:GetViewModelPosition( pos, ang )
if not IsValid(self.Owner) then return end
local mode = self:GetNWMode();
if mode < 1 or mode > 3 then
mode = MODE_NORMAL;
end
time = math.Clamp(FrameTime() * 7,0,1);
idealPos.x = self.Positions[mode].pos.x;
idealPos.y = self.Positions[mode].pos.y;
if mode == MODE_AIM and self.FakeIronSights then
idealPos.z = self.Positions[mode].pos.z-1.4;
else
idealPos.z = self.Positions[mode].pos.z
end
self.smPos = LerpVector(time,self.smPos or self.Positions[mode].pos,idealPos);
self.smAng = LerpVector(time,self.smAng or self.Positions[mode].ang,self.Positions[mode].ang);
if !self.lastMode or mode ~= self.lastMode then
self.lastMode = mode;
if mode == MODE_AIM then
self.SwayScale = 0
self.BobScale = 0
else
self.SwayScale = 0.8
self.BobScale = 0.8
end
end
targetPos = self.smPos + vector_origin;
targetAng = self.smAng;
if mode == MODE_AIM then
local mul = 0;
fireTime = math.Clamp(FrameTime()*7,.05,.18);
lastFire = lastFire or 0;
if lastFire > CurTime() - fireTime then
mul = math.Clamp( (CurTime() - lastFire) / fireTime, 0, .5 )
mul = 1-mul;
end
targetPos.y = targetPos.y + (-self.Primary.IronShootForce * mul);
elseif mode == MODE_SPRINT then
speed = self.Owner:GetVelocity():Length();
local clamp = math.Clamp((4 + speed / 100) / (self.Owner:Crouching() and 1.5 or 1), 0, 7)
local co = math.cos(CurTime() * clamp);
local si = math.sin(CurTime() * clamp);
local ta = math.atan(co, si)
local ta2 = math.atan(co * si, co * si)
speedReduced = speed / 250
targetPos.x = targetPos.x + ta * 0.1375 * speedReduced;
targetPos.z = targetPos.z + ta2 * 0.0625 * speedReduced;
targetAng.y = targetAng.y + ta * 0.125 * speedReduced;
targetAng.x = targetAng.x + ta2 * 0.25 * speedReduced;
targetAng.z = targetAng.z + ta2 * 0.375 * speedReduced;
end
ang:RotateAroundAxis( ang:Right(), targetAng.x);
ang:RotateAroundAxis( ang:Up(), targetAng.y);
ang:RotateAroundAxis( ang:Forward(), targetAng.z);
pos = pos + targetPos.x * ang:Right();
pos = pos + targetPos.y * ang:Forward();
pos = pos + targetPos.z * ang:Up();
return pos, ang
end
local lp,wep;
hook.Add("HUDPaint","drawHitMarkers",function()
lp=LocalPlayer();
if IsValid(lp) then
wep = lp:GetActiveWeapon();
if IsValid(wep) and wep.Markers then
for k,v in pairs( wep.Markers)do
if v.alpha < 5 then
table.remove( wep.Markers,k);
continue;
end
local pos = v.pos:ToScreen();
surface.SetDrawColor(Color(255,255,255,v.alpha))
surface.DrawLine(pos.x-2,pos.y-2,pos.x-5,pos.y-5);
surface.DrawLine(pos.x+2,pos.y+2,pos.x+5,pos.y+5);
surface.DrawLine(pos.x-2,pos.y+2,pos.x-5,pos.y+5);
surface.DrawLine(pos.x+2,pos.y-2,pos.x+5,pos.y-5);
v.alpha = v.alpha-FrameTime()*240;
end
end
end
end)

View File

@@ -0,0 +1,37 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
resource.AddFile("materials/jailbreak_excl/crosshair.png");
SWEP.Weight = 5;
SWEP.AutoSwitchTo = false;
SWEP.AutoSwitchFrom = false;

View File

@@ -0,0 +1,496 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
/*
These are the variables you may edit to add new guns:
*/
SWEP.Primary.NumShots = 1; // Number of bullets per shot fired, could be used to make a shotgun pellet effect.
SWEP.Primary.Automatic = true // Automatic firing mode
SWEP.Primary.Sound = Sound( "Weapon_AK47.Single" ); // Weapon sound. Always precache this using the Sound function!
SWEP.Primary.Ammo = "SMG1"; // ammo type, SMG1 for all primary weapons, pistol for secondary; we don't want complicated ammo systems in this gamemode!
SWEP.Primary.Recoil = 1.2; // recoil
SWEP.Primary.Damage = 40; // damage taken when a bullet is fired into a player's chest area (hitting head makes for more damage, limbs makes for less)
SWEP.Primary.Cone = 0.05; // spread
SWEP.Primary.MaxCone = 0.06; // maximum spread
SWEP.Primary.ShootConeAdd = 0.005; // how much should be added to the spread for every shot fired
SWEP.Primary.IronConeMul = 0.25; // accuracy multiplier when aiming down sights or zoomed
SWEP.Primary.CrouchConeMul = 0.8; // accuracy multiplier when crouched
SWEP.Primary.ClipSize = 27; // weapon clip size
SWEP.Primary.Delay = 0.13; // weapon delay
SWEP.Primary.IronShootForce = 2; // added force when aiming down the sights - for dramatic effect
SWEP.Primary.Burst = -1; // number of bursts, should be -1 if the weapon isn't a burst-fire weapon
SWEP.HoldType = "melee2" // should be smg1, ar2 or revolver
--SWEP.ReloadSequenceTime = 1.85; // for rechamber - Don't set this if you don't know it. Use the ModelViewer in SourceSDK to find out what the right time is.
SWEP.Primary.Range = WEAPON_SNIPER // sniper, smg, rifle or pistol effective range
SWEP.FakeIronSights = false // for weapons without proper ironsights, such as the M4A1
SWEP.Positions = {
{pos = Vector(0,0,0), ang = Vector(0,0,0)}, // Viewmodel positions in IDLE mode
{pos = Vector(0,0,0), ang = Vector(0,0,0)}, // Viewmodel positions in AIM mode
{pos = Vector(0,0,0), ang = Vector(0,0,0)} // Viewmodel positions in SPRINT mode
};
/*
Anything below this line you shouldn't have to read or touch!
*/
AddCSLuaFile()
AddCSLuaFile("client.lua");
local cvarAimToggle;
if SERVER then
include("server.lua");
SWEP.AutoSwitchTo = true;
cvarAimToggle = {};
function cvarAimToggle:GetBool(ply)
return tobool(ply:GetInfoNum( "jb_cl_option_toggleaim", "0" ))
end
end
if CLIENT then
include("client.lua");
cvarAimToggle = CreateClientConVar( "jb_cl_option_toggleaim", "0", true, true )
end
SWEP.Primary.DefaultClip = SWEP.Primary.ClipSize; -- See: gamemode/core/sh_weapon_hack.lua
SWEP.IsDropped = false;
SWEP.Secondary.ClipSize = -1;
SWEP.Secondary.DefaultClip = -1;
SWEP.Secondary.Automatic = false;
SWEP.Secondary.Ammo = "none";
SWEP.Author = "Excl";
SWEP.Contact = "info@casualbananas.com";
SWEP.Purpose = "For use in the Jail Break 7 gamemode.";
SWEP.Instructions = "Left click to shoot, R to reload.";
SWEP.Spawnable = false
SWEP.AdminSpawnable = true
SWEP.Category = "Jail Break 7";
SWEP.UseHands = true;
local EffectiveRangeTable = {}
EffectiveRangeTable [WEAPON_SMG] = 1200;
EffectiveRangeTable [WEAPON_RIFLE] = 3000;
EffectiveRangeTable [WEAPON_SNIPER] = 10000;
EffectiveRangeTable [WEAPON_PISTOL] = 500;
local MODE_NORMAL = 1;
local MODE_AIM = 2;
local MODE_SPRINT = 3;
AccessorFunc(SWEP,"reloading","Reloading",FORCE_BOOL);
function SWEP:SetupDataTables()
self:NetworkVar( "Float", 0, "NWLastShoot" );
self:NetworkVar( "Int", 0, "NWMode" );
end
function SWEP:Initialize()
if IsValid(self) and self.SetWeaponHoldType then
self:SetWeaponHoldType(self.HoldType);
end
if CLIENT then
if not IsValid(self.ViewModelReference) then
self.ViewModelReference = ClientsideModel(self.ViewModel, RENDERGROUP_BOTH)
if not IsValid(self.ViewModelReference) then return end
self.ViewModelReference:SetNoDraw(true)
end
end
end
function SWEP:Deploy()
self:SendWeaponAnim(ACT_VM_DRAW);
self:SetNextPrimaryFire(CurTime() + 1);
self:SetNWMode(1);
self:SetReloading(false);
timer.Destroy(self.Owner:SteamID().."ReloadTimer")
self.originalWalkSpeed = IsValid(self.Owner) and self.Owner:GetWalkSpeed() or 260;
return true;
end
function SWEP:Holster()
//self.OldAmmo = self:Clip1();
//self:SetClip1(1);
self:SetNWLastShoot(0);
if self.Owner.SteamID and self.Owner:SteamID() then
timer.Destroy(self.Owner:SteamID().."ReloadTimer")
end
if SERVER then
self.Owner:SetFOV(0,0.6)
self.Owner:SetWalkSpeed(self.originalWalkSpeed)
end
return true;
end
SWEP.NextReload = CurTime();
local timeStartReload;
function SWEP:Reload()
if self.NextReload > CurTime() or self.Owner:GetAmmoCount(self.Primary.Ammo) <= 0 or self:GetNWMode() == MODE_SPRINT or self:GetNWMode() == MODE_AIM or !IsFirstTimePredicted() then return end
self:SetNWMode(MODE_NORMAL);
self:SendWeaponAnim(ACT_VM_RELOAD);
self.Owner:SetAnimation(PLAYER_RELOAD);
self.NextReload = CurTime()+4;
local clip = self:Clip1();
local dur;
if clip > 0 then
self.Rechamber = false;
self:SetClip1(1);
dur = self.Owner:GetViewModel():SequenceDuration();
else
self.Rechamber = true;
dur = self.ReloadSequenceTime or self.Owner:GetViewModel():SequenceDuration();
end
self:SetNextPrimaryFire(CurTime()+dur);
timer.Create(self.Owner:SteamID().."ReloadTimer", dur,1,function()
if not self or not IsValid(self) or not self.Owner or not IsValid(self.Owner) then return end
amt = math.Clamp(self.Owner:GetAmmoCount(self.Primary.Ammo),0,self.Primary.ClipSize);
self.Owner:RemoveAmmo(amt,self.Primary.Ammo);
if not self.Rechamber then
if SERVER then
self:SetClip1(amt+1);
end
else
if SERVER then
self:SetClip1(amt);
end
self:SendWeaponAnim(ACT_VM_DRAW);
self:SetNextPrimaryFire(CurTime()+.2);
end
self:SetReloading(false);
end)
self:SetReloading(true);
self:SetNWLastShoot(0);
end
SWEP.AddCone = 0;
SWEP.LastShoot = CurTime();
SWEP.oldMul = 0.5;
SWEP.originalWalkSpeed = 260;
local speed;
function SWEP:Think()
if CLIENT and IsValid(self) then
speed= self.Owner:GetVelocity():Length();
if speed > self.Owner:GetWalkSpeed() + 20 and self.Owner:KeyDown(IN_SPEED) and self:GetNWMode() ~= MODE_SPRINT then
self:SetNWMode(MODE_SPRINT);
elseif speed <= 10 and self.Owner:KeyDown(IN_SPEED) and self:GetNWMode() == MODE_SPRINT then
self:SetNWMode(MODE_NORMAL);
end
if self:GetNWMode() == MODE_SPRINT and (!self.Owner:KeyDown(IN_SPEED) or speed < self.Owner:GetWalkSpeed()) then
self:SetNWMode(MODE_NORMAL);
end
elseif SERVER and IsValid(self) then
if IsFirstTimePredicted() then
speed= self.Owner:GetVelocity():Length();
local mul = 1;
if self.Owner:Crouching() and speed < 30 then
mul = self.Primary.CrouchConeMul;
elseif speed > self.Owner:GetWalkSpeed() + 20 then
mul = 2;
if self.Owner:KeyDown(IN_SPEED) then
self:SetNWMode(MODE_SPRINT);
end
elseif speed > 120 then
mul = 1.5;
end
if self:GetNWMode() == MODE_AIM then
mul = mul * self.Primary.IronConeMul;
end
if self:GetNWMode() == MODE_SPRINT and (!self.Owner:KeyDown(IN_SPEED) or speed < self.Owner:GetWalkSpeed()) then
self:SetNWMode(MODE_NORMAL);
end
self.oldMul = Lerp(0.5,self.oldMul,mul);
if self.LastShoot+0.2 < CurTime() then
self.AddCone = self.AddCone-(self.Primary.ShootConeAdd/5);
if self.AddCone < 0 then
self.AddCone=0;
end
end
self:SetNWLastShoot(math.Clamp((self.Primary.Cone+self.AddCone)*self.oldMul, 0.002, 0.12));
end
end
if SERVER and self:GetNWMode() == MODE_AIM and self.Owner:GetWalkSpeed() ~= self.originalWalkSpeed*.65 then
self.Owner:SetWalkSpeed(self.originalWalkSpeed*.65)
elseif SERVER and self:GetNWMode() ~= MODE_AIM and self.Owner:GetWalkSpeed() ~= self.originalWalkSpeed then
self.Owner:SetWalkSpeed(self.originalWalkSpeed)
end
if self.nextBurst and self.nextBurst <= CurTime() and self.burstLeft and self.burstLeft >= 1 then
self.burstLeft = self.burstLeft - 1;
self.nextBurst=CurTime()+self.Primary.Delay;
if self:Clip1() <= 0 then
self:EmitSound( "Weapon_Pistol.Empty" )
return;
end
self:JB_ShootBullet( self.Primary.Damage, self.Primary.Recoil, self.Primary.NumShots, self:GetNWLastShoot(), self.Primary.NumShots)
self.AddCone = math.Clamp(self.AddCone+self.Primary.ShootConeAdd,0,self.Primary.MaxCone)
self.LastShoot = CurTime();
if SERVER then
self.Owner:EmitSound(self.Primary.Sound, 100, math.random(95, 105))
end
self:TakePrimaryAmmo(1);
end
end
function SWEP:OnDrop()
if CLIENT or not IsValid(self.Owner) then return end
self.Owner:SetWalkSpeed(self.originalWalkSpeed)
end
function SWEP:PrimaryAttack()
if self:GetNWMode() == MODE_SPRINT then return end
local delay = self.Primary.Burst > 0 and self.Primary.Delay * (self.Primary.Burst + 1) or self.Primary.Delay;
if self:Clip1() <= 0 then
self:SetNextPrimaryFire(CurTime()+delay);
self:EmitSound( "Weapon_Pistol.Empty" )
return;
end
self:SetNextPrimaryFire(CurTime()+delay);
self:JB_ShootBullet( self.Primary.Damage, self.Primary.Recoil, self.Primary.NumShots, self:GetNWLastShoot(), self.Primary.NumShots)
if IsFirstTimePredicted() and self.Primary.Burst > 0 then
self.nextBurst=CurTime()+self.Primary.Delay;
self.burstLeft=self.Primary.Burst-1;
end
self.AddCone = math.Clamp(self.AddCone+self.Primary.ShootConeAdd,0,self.Primary.MaxCone)
self.LastShoot = CurTime();
if SERVER then
self.Owner:EmitSound(self.Primary.Sound, 100, math.random(95, 105))
end
self:TakePrimaryAmmo(1);
end
function SWEP:SecondaryAttack()
if self:GetNWMode() == MODE_SPRINT or self:GetReloading() or (SERVER and not IsFirstTimePredicted()) then return end
self:SetNWMode(cvarAimToggle:GetBool(self.Owner) and (self:GetNWMode() == MODE_AIM and MODE_NORMAL or MODE_AIM) or MODE_AIM);
self:SetNextSecondaryFire(CurTime() + .3);
end
hook.Add("KeyRelease", "jbWepBaseHandleUnAim", function(p,k)
if IsValid(p) and k and k == IN_ATTACK2 and !cvarAimToggle:GetBool(p) then
local wep = p:GetActiveWeapon();
if IsValid(wep) and wep.GetNWMode and wep:GetNWMode() == MODE_AIM then
wep:SetNWMode(MODE_NORMAL);
end
end
end)
SWEP.Markers = {};
function SWEP:JB_ShootBullet( dmg, recoil, numbul, cone )
if IsFirstTimePredicted() then
local bullet = {
Num = numbul;
Src = self.Owner:GetShootPos();
Dir = ( self.Owner:EyeAngles() + self.Owner:GetPunchAngle() ):Forward();
Spread = Vector( cone, cone, 0 );
Tracer = 3;
Force = (dmg/4)*3;
Damage = dmg;
Callback = function(attacker, tr, dmginfo)
if tr.HitWorld and tr.MatType == MAT_METAL then
local eff = EffectData()
eff:SetOrigin(tr.HitPos)
eff:SetNormal(tr.HitNormal)
util.Effect("cball_bounce", eff)
end
if tr.Entity and IsValid(tr.Entity) and tr.Entity:IsPlayer() then
table.insert(self.Markers,{
pos = tr.HitPos, alpha = 255
})
end
end
}
self.Owner:FireBullets(bullet)
end
if self:GetNWMode() == MODE_NORMAL or (self:GetNWMode() == MODE_AIM and self.FakeIronSights) then
self:SendWeaponAnim(ACT_VM_PRIMARYATTACK);
end
self.Owner:SetAnimation(PLAYER_ATTACK1);
self.Owner:MuzzleFlash();
if CLIENT then
self:FireCallback();
if IsFirstTimePredicted() then
local eyeang = self.Owner:EyeAngles()
eyeang.pitch = eyeang.pitch - (recoil * 1 * 0.3)*2
eyeang.yaw = eyeang.yaw - (recoil * math.random(-1, 1) * 0.3)
self.Owner:SetEyeAngles( eyeang )
end
end
end
local ActivityTranslateHipFire = {}
ActivityTranslateHipFire [ ACT_MP_STAND_IDLE ] = ACT_HL2MP_IDLE_SHOTGUN;
ActivityTranslateHipFire [ ACT_MP_WALK ] = ACT_HL2MP_IDLE_SHOTGUN+1;
ActivityTranslateHipFire [ ACT_MP_RUN ] = ACT_HL2MP_IDLE_SHOTGUN+2;
ActivityTranslateHipFire [ ACT_MP_CROUCH_IDLE ] = ACT_HL2MP_IDLE_SHOTGUN+3;
ActivityTranslateHipFire [ ACT_MP_CROUCHWALK ] = ACT_HL2MP_IDLE_SHOTGUN+4;
ActivityTranslateHipFire [ ACT_MP_ATTACK_STAND_PRIMARYFIRE ] = ACT_HL2MP_IDLE_SMG1+5;
ActivityTranslateHipFire [ ACT_MP_ATTACK_CROUCH_PRIMARYFIRE ] = ACT_HL2MP_IDLE_SMG1+5;
ActivityTranslateHipFire [ ACT_MP_RELOAD_STAND ] = ACT_HL2MP_IDLE_SMG1+6;
ActivityTranslateHipFire [ ACT_MP_RELOAD_CROUCH ] = ACT_HL2MP_IDLE_SMG1+6;
ActivityTranslateHipFire [ ACT_MP_JUMP ] = ACT_HL2MP_IDLE_SHOTGUN+7;
ActivityTranslateHipFire [ ACT_RANGE_ATTACK1 ] = ACT_HL2MP_IDLE_SMG1+8;
ActivityTranslateHipFire [ ACT_MP_SWIM ] = ACT_HL2MP_IDLE_SHOTGUN+9;
local ActivityTranslatePistolNoAim = {}
ActivityTranslatePistolNoAim [ ACT_MP_STAND_IDLE ] = ACT_HL2MP_IDLE_PISTOL;
ActivityTranslatePistolNoAim [ ACT_MP_WALK ] = ACT_HL2MP_IDLE_PISTOL+1;
ActivityTranslatePistolNoAim [ ACT_MP_RUN ] = ACT_HL2MP_IDLE_PISTOL+2;
ActivityTranslatePistolNoAim [ ACT_MP_CROUCH_IDLE ] = ACT_HL2MP_IDLE_PISTOL+3;
ActivityTranslatePistolNoAim [ ACT_MP_CROUCHWALK ] = ACT_HL2MP_IDLE_PISTOL+4;
ActivityTranslatePistolNoAim [ ACT_MP_ATTACK_STAND_PRIMARYFIRE ] = ACT_HL2MP_IDLE_PISTOL+5;
ActivityTranslatePistolNoAim [ ACT_MP_ATTACK_CROUCH_PRIMARYFIRE ] = ACT_HL2MP_IDLE_PISTOL+5;
ActivityTranslatePistolNoAim [ ACT_MP_RELOAD_STAND ] = ACT_HL2MP_IDLE_PISTOL+6;
ActivityTranslatePistolNoAim [ ACT_MP_RELOAD_CROUCH ] = ACT_HL2MP_IDLE_PISTOL+6;
ActivityTranslatePistolNoAim [ ACT_MP_JUMP ] = ACT_HL2MP_IDLE_PISTOL+7;
ActivityTranslatePistolNoAim [ ACT_RANGE_ATTACK1 ] = ACT_HL2MP_IDLE_PISTOL+8;
ActivityTranslatePistolNoAim [ ACT_MP_SWIM ] = ACT_HL2MP_IDLE_PISTOL+9;
local ActivityTranslateSprintRifle = {}
ActivityTranslateSprintRifle [ ACT_MP_STAND_IDLE ] = ACT_HL2MP_IDLE_PASSIVE;
ActivityTranslateSprintRifle [ ACT_MP_WALK ] = ACT_HL2MP_IDLE_PASSIVE+1;
ActivityTranslateSprintRifle [ ACT_MP_RUN ] = ACT_HL2MP_IDLE_PASSIVE+2;
ActivityTranslateSprintRifle [ ACT_MP_CROUCH_IDLE ] = ACT_HL2MP_IDLE_PASSIVE+3;
ActivityTranslateSprintRifle [ ACT_MP_CROUCHWALK ] = ACT_HL2MP_IDLE_PASSIVE+4;
ActivityTranslateSprintRifle [ ACT_MP_ATTACK_STAND_PRIMARYFIRE ] = ACT_HL2MP_IDLE_PASSIVE+5;
ActivityTranslateSprintRifle [ ACT_MP_ATTACK_CROUCH_PRIMARYFIRE ] = ACT_HL2MP_IDLE_PASSIVE+5;
ActivityTranslateSprintRifle [ ACT_MP_RELOAD_STAND ] = ACT_HL2MP_IDLE_PASSIVE+6;
ActivityTranslateSprintRifle [ ACT_MP_RELOAD_CROUCH ] = ACT_HL2MP_IDLE_PASSIVE+6;
ActivityTranslateSprintRifle [ ACT_MP_JUMP ] = ACT_HL2MP_IDLE_PASSIVE+7;
ActivityTranslateSprintRifle [ ACT_RANGE_ATTACK1 ] = ACT_HL2MP_IDLE_PASSIVE+8;
ActivityTranslateSprintRifle [ ACT_MP_SWIM ] = ACT_HL2MP_IDLE_PASSIVE+9;
local ActivityTranslateSprintPistol = {}
ActivityTranslateSprintPistol [ ACT_MP_STAND_IDLE ] = ACT_HL2MP_IDLE;
ActivityTranslateSprintPistol [ ACT_MP_WALK ] = ACT_HL2MP_IDLE+1;
ActivityTranslateSprintPistol [ ACT_MP_RUN ] = ACT_HL2MP_IDLE+2;
ActivityTranslateSprintPistol [ ACT_MP_CROUCH_IDLE ] = ACT_HL2MP_IDLE+3;
ActivityTranslateSprintPistol [ ACT_MP_CROUCHWALK ] = ACT_HL2MP_IDLE+4;
ActivityTranslateSprintPistol [ ACT_MP_ATTACK_STAND_PRIMARYFIRE ] = ACT_HL2MP_IDLE+5;
ActivityTranslateSprintPistol [ ACT_MP_ATTACK_CROUCH_PRIMARYFIRE ] = ACT_HL2MP_IDLE+5;
ActivityTranslateSprintPistol [ ACT_MP_RELOAD_STAND ] = ACT_HL2MP_IDLE+6;
ActivityTranslateSprintPistol [ ACT_MP_RELOAD_CROUCH ] = ACT_HL2MP_IDLE+6;
ActivityTranslateSprintPistol [ ACT_MP_JUMP ] = ACT_HL2MP_IDLE_DUEL+7;
ActivityTranslateSprintPistol [ ACT_RANGE_ATTACK1 ] = ACT_HL2MP_IDLE+8;
ActivityTranslateSprintPistol [ ACT_MP_SWIM ] = ACT_HL2MP_IDLE+9;
function SWEP:TranslateActivity( act )
local holdtype = string.lower(self.HoldType);
if ( holdtype == "ar2" or holdtype=="smg" ) then
if self:GetNWMode() == MODE_NORMAL and ActivityTranslateHipFire[ act ] ~= nil then
return ActivityTranslateHipFire[ act ]
elseif self:GetNWMode() == MODE_SPRINT and ActivityTranslateSprintRifle[ act ] ~= nil then
return ActivityTranslateSprintRifle[act];
end
end
if ( holdtype == "revolver" or holdtype=="pistol") then
if self:GetNWMode() == MODE_NORMAL and holdtype == "revolver" and ActivityTranslatePistolNoAim[ act ] ~= nil then
return ActivityTranslatePistolNoAim[ act ]
elseif self:GetNWMode() == MODE_SPRINT and ActivityTranslateSprintPistol[ act ] ~= nil then
return ActivityTranslateSprintPistol[ act ]
end
end
if ( self.ActivityTranslate[ act ] ~= nil ) then
return self.ActivityTranslate[ act ]
end
return -1
end

View File

@@ -0,0 +1,68 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "Desert Eagle"
SWEP.Slot = 2
SWEP.SlotPos = 1
SWEP.HoldType = "revolver"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_pist_deagle.mdl"
SWEP.WorldModel = "models/weapons/w_pist_deagle.mdl"
SWEP.Weight = 1
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("Weapon_Deagle.Single")
SWEP.Primary.Recoil = 2.5
SWEP.Primary.Damage = 60
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.02
SWEP.Primary.ClipSize = 8
SWEP.Primary.Delay = 0.3
SWEP.Primary.DefaultClip = 24
SWEP.Primary.Automatic = false
SWEP.Primary.Ammo = "pistol"
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-6.378, -7.954, 2.039), ang = Vector(0.4, 0, 0)};
SWEP.Positions[3] = {pos = Vector(2.44, -14.882, -20), ang = Vector(70, 0.827, 0)};

View File

@@ -0,0 +1,70 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "Famas"
SWEP.Slot = 1
SWEP.SlotPos = 1
;
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_rif_famas.mdl"
SWEP.WorldModel = "models/weapons/w_rif_famas.mdl"
SWEP.Primary.Automatic = false;
SWEP.Primary.Sound = Sound( "weapon_famas.Single" )
SWEP.Primary.Recoil = 1
SWEP.Primary.Damage = 34
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.01
SWEP.Primary.ClipSize = 30
SWEP.Primary.Delay = 0.09
SWEP.Primary.DefaultClip = 90
SWEP.Primary.ShootConeAdd = 0.002;
SWEP.Primary.Automatic = false
SWEP.Primary.Ammo = "smg1"
SWEP.FakeIronSights = true;
SWEP.Primary.Burst = 3;
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-6.2, -3.386, 1.36), ang = Vector(0,0,0)};
SWEP.Positions[3] = {pos = Vector(6.534, -14.094, 0.708), ang = Vector(0,70,0)};

View File

@@ -0,0 +1,335 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
-- NOTE: Loosely based on the default Garry's Mod hands.
AddCSLuaFile()
SWEP.PrintName = "Fists";
SWEP.UseHands = true;
SWEP.Author = "Excl"
SWEP.Purpose = ""
SWEP.ViewModel = "models/weapons/c_arms_citizen.mdl"
SWEP.WorldModel = ""
SWEP.ViewModelFOV = 52
SWEP.Slot = 0
SWEP.SlotPos = 5
SWEP.Primary.ClipSize = -1
SWEP.Primary.DefaultClip = -1
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "none"
SWEP.Secondary.ClipSize = -1
SWEP.Secondary.DefaultClip = -1
SWEP.Secondary.Automatic = true
SWEP.Secondary.Ammo = "none"
local SwingSound = Sound( "weapons/slam/throw.wav" )
local HitSound = Sound( "Flesh.ImpactHard" )
function SWEP:PreDrawViewModel( vm, wep, ply )
if not self:GetRaised() then
self.Correct = true;
render.SetBlend(0);
else
self.Corrent = false;
end
end
function SWEP:PostDrawViewModel( vm, wep, ply )
if self.Corrent then
render.SetBlend(1);
self.Correct = false;
end
end
SWEP.HitDistance = 48
function SWEP:SetupDataTables()
self:NetworkVar( "Float", 0, "NextMeleeAttack" )
self:NetworkVar( "Float", 1, "NextIdle" )
self:NetworkVar( "Int", 0, "Combo" )
self:NetworkVar( "Bool", 0, "Raised" );
end
function SWEP:UpdateNextIdle()
local vm = self.Owner:GetViewModel()
self:SetNextIdle( CurTime() + vm:SequenceDuration() )
end
function SWEP:PrimaryAttack( right )
if not self:GetRaised() then
if CLIENT and IsFirstTimePredicted() and !self.Owner.DoNotNotify then
notification.AddLegacy("Press R to raise your fists",NOTIFY_HINT);
self:SetNextPrimaryFire( CurTime() + 1.8 )
self:SetNextSecondaryFire( CurTime() + 1.8 )
self.Owner.DoNotNotify = true;
end
return;
end
self.Owner:SetAnimation( PLAYER_ATTACK1 )
local anim = "fists_left"
if ( right ) then anim = "fists_right" end
if ( self:GetCombo() >= 2 ) then
anim = "fists_uppercut"
end
local vm = self.Owner:GetViewModel()
vm:SendViewModelMatchingSequence( vm:LookupSequence( anim ) )
self:EmitSound( SwingSound )
self:UpdateNextIdle()
self:SetNextMeleeAttack( CurTime() + 0.2 )
self:SetNextPrimaryFire( CurTime() + 0.6 )
self:SetNextSecondaryFire( CurTime() + 0.6 )
end
function SWEP:Reload()
if self.NextReload and self.NextReload > CurTime() then return end
self:SetRaised(not self:GetRaised());
if CLIENT then
if self:GetRaised() and IsFirstTimePredicted() then
local vm = self.Owner:GetViewModel()
vm:SendViewModelMatchingSequence( vm:LookupSequence( "fists_draw" ) )
end
end
self.NextReload = CurTime() + 1;
end
function SWEP:SecondaryAttack()
self:PrimaryAttack( true )
end
function SWEP:DealDamage()
local anim = self:GetSequenceName(self.Owner:GetViewModel():GetSequence())
self.Owner:LagCompensation( true )
local tr = util.TraceLine( {
start = self.Owner:GetShootPos(),
endpos = self.Owner:GetShootPos() + self.Owner:GetAimVector() * self.HitDistance,
filter = self.Owner
} )
if ( !IsValid( tr.Entity ) ) then
tr = util.TraceHull( {
start = self.Owner:GetShootPos(),
endpos = self.Owner:GetShootPos() + self.Owner:GetAimVector() * self.HitDistance,
filter = self.Owner,
mins = Vector( -10, -10, -8 ),
maxs = Vector( 10, 10, 8 )
} )
end
if ( tr.Hit ) then self:EmitSound( HitSound ) end
local hit = false
if ( SERVER && IsValid( tr.Entity ) && ( tr.Entity:IsNPC() || tr.Entity:IsPlayer() || tr.Entity:Health() > 0 ) ) then
local dmginfo = DamageInfo()
local attacker = self.Owner
if ( !IsValid( attacker ) ) then attacker = self end
dmginfo:SetAttacker( attacker )
dmginfo:SetInflictor( self )
dmginfo:SetDamage( math.random( 8,12 ) )
if ( anim == "fists_left" ) then
dmginfo:SetDamageForce( self.Owner:GetRight() * 49125 + self.Owner:GetForward() * 99984 ) -- Yes we need those specific numbers
elseif ( anim == "fists_right" ) then
dmginfo:SetDamageForce( self.Owner:GetRight() * -49124 + self.Owner:GetForward() * 99899 )
elseif ( anim == "fists_uppercut" ) then
dmginfo:SetDamageForce( self.Owner:GetUp() * 51589 + self.Owner:GetForward() * 100128 )
dmginfo:SetDamage( math.random( 10, 40 ) )
end
tr.Entity:TakeDamageInfo( dmginfo )
hit = true
end
if ( SERVER && IsValid( tr.Entity ) ) then
local phys = tr.Entity:GetPhysicsObject()
if ( IsValid( phys ) ) then
phys:ApplyForceOffset( self.Owner:GetAimVector() * 80 * phys:GetMass(), tr.HitPos )
end
end
if ( SERVER ) then
if ( hit && anim ~= "fists_uppercut" ) then
self:SetCombo( self:GetCombo() + 1 )
else
self:SetCombo( 0 )
end
end
self.Owner:LagCompensation( false )
end
function SWEP:OnRemove()
if ( IsValid( self.Owner ) ) then
local vm = self.Owner:GetViewModel()
if ( IsValid( vm ) ) then vm:SetMaterial( "" ) end
end
end
function SWEP:Holster( wep )
self:OnRemove()
return true
end
function SWEP:Deploy()
local vm = self.Owner:GetViewModel()
vm:SendViewModelMatchingSequence( vm:LookupSequence( "fists_draw" ) )
self:UpdateNextIdle()
if ( SERVER ) then
self:SetCombo( 0 )
end
self:SetRaised(false);
return true
end
function SWEP:Think()
if self:GetRaised() then
local vm = self.Owner:GetViewModel()
local curtime = CurTime()
local idletime = self:GetNextIdle()
if ( idletime > 0 && CurTime() > idletime ) then
vm:SendViewModelMatchingSequence( vm:LookupSequence( "fists_idle_0" .. math.random( 1, 2 ) ) )
self:UpdateNextIdle()
end
local meleetime = self:GetNextMeleeAttack()
if ( meleetime > 0 && CurTime() > meleetime ) then
self:DealDamage()
self:SetNextMeleeAttack( 0 )
end
if ( SERVER && CurTime() > self:GetNextPrimaryFire() + 0.1 ) then
self:SetCombo( 0 )
end
end
end
local index;
index = ACT_HL2MP_IDLE;
SWEP.ActivityTranslateNotRaised = {}
SWEP.ActivityTranslateNotRaised [ ACT_MP_STAND_IDLE ] = index
SWEP.ActivityTranslateNotRaised [ ACT_MP_WALK ] = index+1
SWEP.ActivityTranslateNotRaised [ ACT_MP_RUN ] = index+2
SWEP.ActivityTranslateNotRaised [ ACT_MP_CROUCH_IDLE ] = index+3
SWEP.ActivityTranslateNotRaised [ ACT_MP_CROUCHWALK ] = index+4
SWEP.ActivityTranslateNotRaised [ ACT_MP_ATTACK_STAND_PRIMARYFIRE ] = index+5
SWEP.ActivityTranslateNotRaised [ ACT_MP_ATTACK_CROUCH_PRIMARYFIRE ] = index+5
SWEP.ActivityTranslateNotRaised [ ACT_MP_RELOAD_STAND ] = index+6
SWEP.ActivityTranslateNotRaised [ ACT_MP_RELOAD_CROUCH ] = index+6
SWEP.ActivityTranslateNotRaised [ ACT_MP_JUMP ] = ACT_HL2MP_IDLE_DUEL+7
SWEP.ActivityTranslateNotRaised [ ACT_RANGE_ATTACK1 ] = index+8
SWEP.ActivityTranslateNotRaised [ ACT_MP_SWIM ] = index+9
index=ACT_HL2MP_IDLE_FIST;
SWEP.ActivityTranslateRaised = {}
SWEP.ActivityTranslateRaised [ ACT_MP_STAND_IDLE ] = index
SWEP.ActivityTranslateRaised [ ACT_MP_WALK ] = index+1
SWEP.ActivityTranslateRaised [ ACT_MP_RUN ] = index+2
SWEP.ActivityTranslateRaised [ ACT_MP_CROUCH_IDLE ] = index+3
SWEP.ActivityTranslateRaised [ ACT_MP_CROUCHWALK ] = index+4
SWEP.ActivityTranslateRaised [ ACT_MP_ATTACK_STAND_PRIMARYFIRE ] = index+5
SWEP.ActivityTranslateRaised [ ACT_MP_ATTACK_CROUCH_PRIMARYFIRE ] = index+5
SWEP.ActivityTranslateRaised [ ACT_MP_RELOAD_STAND ] = index+6
SWEP.ActivityTranslateRaised [ ACT_MP_RELOAD_CROUCH ] = index+6
SWEP.ActivityTranslateRaised [ ACT_MP_JUMP ] = index+7
SWEP.ActivityTranslateRaised [ ACT_RANGE_ATTACK1 ] = index+8
SWEP.ActivityTranslateRaised [ ACT_MP_SWIM ] = index+9
index=nil;
function SWEP:TranslateActivity( act )
if self:GetRaised() then
if ( self.ActivityTranslateRaised[ act ] ~= nil ) then
return self.ActivityTranslateRaised[ act ]
end
else
if ( self.ActivityTranslateNotRaised[ act ] ~= nil ) then
return self.ActivityTranslateNotRaised[ act ]
end
end
return -1
end

View File

@@ -0,0 +1,69 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "Five-Seven"
SWEP.Slot = 2
SWEP.SlotPos = 1
;
SWEP.HoldType = "revolver"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_pist_fiveseven.mdl"
SWEP.WorldModel = "models/weapons/w_pist_fiveseven.mdl"
SWEP.Weight = 1
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("Weapon_FiveSeven.Single")
SWEP.Primary.Recoil = 1.2
SWEP.Primary.Damage = 18
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.02
SWEP.Primary.ClipSize = 21
SWEP.Primary.Delay = 0.05
SWEP.Primary.DefaultClip = 21
SWEP.Primary.Automatic = false
SWEP.Primary.Ammo = "pistol"
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-5.921, -1.339, 3.039), ang = Vector(-0.401, 0.1, 0)};
SWEP.Positions[3] = {pos = Vector(0, -15.669, -15.827), ang = Vector(70, 0.275, -0.276)};

View File

@@ -0,0 +1,68 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "Galil"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_rif_galil.mdl"
SWEP.WorldModel = "models/weapons/w_rif_galil.mdl"
SWEP.Weight = 5
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound( "Weapon_Galil.Single" )
SWEP.Primary.Recoil = 0.5
SWEP.Primary.Damage = 25
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.03
SWEP.Primary.ClipSize = 35
SWEP.Primary.Delay = 0.1
SWEP.Primary.DefaultClip = 90
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "smg1"
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-6.361, -12.801, 2.519), ang = Vector(0,0,0)};
SWEP.Positions[3] = {pos = Vector(6.534, -6, 0.708), ang = Vector(0,70,0)};

View File

@@ -0,0 +1,71 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "Glock 18"
SWEP.Slot = 2
SWEP.SlotPos = 1
SWEP.HoldType = "revolver"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_pist_glock18.mdl"
SWEP.WorldModel = "models/weapons/w_pist_glock18.mdl"
SWEP.Weight = 1
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("Weapon_Glock.Single")
SWEP.Primary.Recoil = 1.5
SWEP.Primary.Damage = 18
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.01
SWEP.Primary.ClipSize = 30
SWEP.Primary.Delay = 0.065
SWEP.Primary.DefaultClip = SWEP.Primary.ClipSize
SWEP.Primary.Automatic = false
SWEP.Primary.Burst = 4
SWEP.Primary.Ammo = "pistol"
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-5.761, -2.126, 2.68), ang = Vector(0.699, 0.1, 0)};
SWEP.Positions[3] = {pos = Vector(0, -15.669, -15.827), ang = Vector(70, 0.275, -0.276)};

View File

@@ -0,0 +1,178 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
if SERVER then
SWEP.Weight = 5;
SWEP.AutoSwitchTo = false;
SWEP.AutoSwitchFrom = false;
end
if CLIENT then
SWEP.DrawCrosshair = false;
SWEP.ViewModelFlip = false;
SWEP.DrawWeaponInfoBox = false;
SWEP.ViewModelFOV = 54
end
SWEP.Slot = 3
SWEP.SlotPos = 1
;
SWEP.Author = "Excl";
SWEP.Contact = "";
SWEP.Purpose = "";
SWEP.Instructions = "";
SWEP.Spawnable = false
SWEP.AdminSpawnable = false
SWEP.PrintName = "Knife"
SWEP.UseHands = true;
SWEP.ViewModel = "models/weapons/cstrike/c_knife_t.mdl"
SWEP.WorldModel = "models/weapons/w_knife_t.mdl"
SWEP.Weight = 5
SWEP.DrawCrosshair = false
SWEP.ViewModelFlip = false
SWEP.Primary.Damage = 25
SWEP.Primary.ClipSize = -1
SWEP.Primary.DefaultClip = -1
SWEP.Primary.Automatic = true
SWEP.Primary.Delay = 0.5
SWEP.Primary.Ammo = "none"
SWEP.Secondary.ClipSize = -1
SWEP.Secondary.DefaultClip = -1
SWEP.Secondary.Automatic = true
SWEP.Secondary.Ammo = "none"
SWEP.Secondary.Delay = 5
SWEP.HoldType = "knife"
SWEP.HitDistance = 50;
local sound_single =Sound("weapons/knife/knife_slash1.wav")
function SWEP:Initialize()
self:SetWeaponHoldType(self.HoldType)
end
function SWEP:PrimaryAttack()
self.Weapon:SetNextPrimaryFire( CurTime() + self.Primary.Delay )
if not IsValid(self.Owner) then return end
if self.Owner.LagCompensation and SERVER then
self.Owner:LagCompensation(true);
end
self.Owner:SetAnimation( PLAYER_ATTACK1 )
local spos = self.Owner:GetShootPos()
local sdest = spos + (self.Owner:GetAimVector() * 70)
local tr_main = util.TraceLine( {
start = self.Owner:GetShootPos(),
endpos = self.Owner:GetShootPos() + self.Owner:GetAimVector() * self.HitDistance,
filter = self.Owner
} )
if ( !IsValid( tr_main.Entity ) ) then
tr_main = util.TraceHull( {
start = self.Owner:GetShootPos(),
endpos = self.Owner:GetShootPos() + self.Owner:GetAimVector() * self.HitDistance,
filter = self.Owner,
mins = Vector( -15, -15, -8 ),
maxs = Vector( 15, 15, 8 )
} )
end
local hitEnt = tr_main.Entity
self.Weapon:EmitSound(sound_single)
if IsValid(hitEnt) or tr_main.HitWorld then
self.Weapon:SendWeaponAnim( ACT_VM_HITCENTER )
if SERVER and IsFirstTimePredicted() then
local edata = EffectData()
edata:SetStart(spos)
edata:SetOrigin(tr_main.HitPos)
edata:SetNormal(tr_main.Normal)
edata:SetEntity(hitEnt)
if hitEnt:IsPlayer() or hitEnt:GetClass() == "prop_ragdoll" then
util.Effect("BloodImpact", edata)
self.Owner:FireBullets({Num=1, Src=spos, Dir=self.Owner:GetAimVector(), Spread=Vector(0,0,0), Tracer=0, Force=1, Damage=0});
else
util.Effect("Impact", edata)
end
end
else
self.Weapon:SendWeaponAnim( ACT_VM_MISSCENTER )
end
if CLIENT then
-- used to be some shit here
else
if hitEnt and hitEnt:IsValid() then
local dmg = DamageInfo()
dmg:SetDamage(self.Primary.Damage)
dmg:SetAttacker(self.Owner)
dmg:SetInflictor(self.Weapon)
dmg:SetDamageForce(self.Owner:GetAimVector() * 1500)
dmg:SetDamagePosition(self.Owner:GetPos())
dmg:SetDamageType(DMG_CLUB)
hitEnt:DispatchTraceAttack(dmg, spos + (self.Owner:GetAimVector() * 3), sdest)
end
end
if self.Owner.LagCompensation and SERVER then
self.Owner:LagCompensation(false)
end
end
function SWEP:SecondaryAttack()
end
function SWEP:GetClass()
return "jb_knife"
end
function SWEP:OnDrop()
end
function SWEP:DrawWeaponSelection(x, y, wide, tall, alpha)
draw.SimpleText(self.IconLetter, "CSSelectIcons", x + wide / 2, y + tall * 0.2, Color(255, 210, 0, 255), TEXT_ALIGN_CENTER)
-- Draw a CS:S select icon
self:PrintWeaponInfo(x + wide + 20, y + tall * 0.95, alpha)
-- Print weapon information
end

View File

@@ -0,0 +1,71 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "M4A1"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_rif_m4a1.mdl"
SWEP.WorldModel = "models/weapons/w_rif_m4a1.mdl"
SWEP.Weight = 3
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("Weapon_M4A1.Single")
SWEP.Primary.Recoil = 1
SWEP.Primary.Damage = 30
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.02
SWEP.Primary.ClipSize = 30
SWEP.Primary.Delay = 0.15
SWEP.Primary.DefaultClip = 60
SWEP.Primary.Automatic = true
SWEP.Primary.ShootConeAdd = 0.0065;
SWEP.Primary.Ammo = "smg1"
SWEP.FakeIronSights = true;
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-7.881, -1.181, 0.239), ang = Vector(2.799, -1.4, -4.6)};
SWEP.Positions[3] = {pos = Vector(6.534, -9, 0.708), ang = Vector(0,70,0)};

View File

@@ -0,0 +1,71 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "Mac 10"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "pistol"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_smg_mac10.mdl"
SWEP.WorldModel = "models/weapons/w_smg_mac10.mdl"
SWEP.Weight = 5
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound( "Weapon_Mac10.Single" )
SWEP.Primary.Recoil = 0.5
SWEP.Primary.Damage = 19
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.04
SWEP.Primary.ClipSize = 30
SWEP.Primary.Delay = 0.07
SWEP.Primary.DefaultClip = 100
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "smg1"
SWEP.FakeIronSights = true;
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-9.32, -5.749, 2.759 ), ang = Vector(1.2, -5.401, -8.601)};
SWEP.Positions[3] = {pos = Vector(-5.119, -14.724, -13.938), ang = Vector(70, -1.93, -8.544)};

View File

@@ -0,0 +1,69 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "MP5"
SWEP.Slot = 1
SWEP.SlotPos = 1
;
SWEP.HoldType = "smg"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_smg_mp5.mdl"
SWEP.WorldModel = "models/weapons/w_smg_mp5.mdl"
SWEP.Weight = 3
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("Weapon_MP5Navy.Single")
SWEP.Primary.Recoil = 0.5
SWEP.Primary.Damage = 28
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.02
SWEP.Primary.ClipSize = 30
SWEP.Primary.Delay = 0.11
SWEP.Primary.DefaultClip = 60
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "smg1"
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-5.361, -2.757, 1.879), ang = Vector(1.2, 0, 0)};
SWEP.Positions[3] = {pos = Vector(6.377, -13.938, 0.393), ang = Vector(0,70,0)};

View File

@@ -0,0 +1,72 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "P90"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_smg_p90.mdl"
SWEP.WorldModel = "models/weapons/w_smg_p90.mdl"
SWEP.Weight = 5
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound( "Weapon_p90.Single" )
SWEP.Primary.Recoil = 0.6
SWEP.Primary.Damage = 15
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.018
SWEP.Primary.ClipSize = 50
SWEP.Primary.Delay = 0.07
SWEP.Primary.DefaultClip = 100
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "smg1"
SWEP.FakeIronSights = true;
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-5.72, -5.434, 1.84), ang = Vector(0,0,0)};
SWEP.Positions[3] = {pos = Vector(7.953, -12.992, -0.394), ang = Vector(0,70,0)};

View File

@@ -0,0 +1,109 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
if (CLIENT) then
scopeTex = surface.GetTextureID("scope/scope_normal")
end
SWEP.PrintName = "M40A1"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_snip_scout.mdl"
SWEP.WorldModel = "models/weapons/w_snip_scout.mdl"
SWEP.Weight = 3
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("Weapon_Scout.Single")
SWEP.Primary.Recoil = 2
SWEP.Primary.Damage = 90
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.00001
SWEP.Primary.ClipSize = 6
SWEP.Primary.Delay = 1.1
SWEP.Primary.DefaultClip = 30
SWEP.Primary.Automatic = false
SWEP.Primary.Ammo = "smg1"
SWEP.Secondary.Automatic = false
SWEP.Secondary.ClipSize = -1
SWEP.Secondary.DefaultClip = -1
function SWEP:TranslateFOV(fov)
if self:GetNWMode() == 2 then
return 20
else
return fov
end
end
if CLIENT then
function SWEP:AdjustMouseSensitivity()
return self:GetNWMode() == 2 and .20 or 1;
end
local scopeMat = Material("jailbreak_excl/scope.png");
function SWEP:DrawHUD()
if self:GetNWMode() == 2 then
local size = ScrH();
surface.SetDrawColor(JB.Color.black)
surface.DrawRect(0, 0, (ScrW()-size) / 2, size);
surface.DrawRect(ScrW() - ((ScrW()-size) / 2), 0, (ScrW()-size) / 2, size);
surface.DrawLine(0,ScrH()/2,ScrW(),ScrH()/2)
surface.DrawLine(ScrW()/2,0,ScrW()/2,ScrH())
surface.SetDrawColor(JB.Color.black)
surface.SetMaterial(scopeMat)
surface.DrawTexturedRect( (ScrW()/2) - (size/2) , 0, size, size)
end
end
end

View File

@@ -0,0 +1,65 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "SG552"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_rif_sg552.mdl"
SWEP.WorldModel = "models/weapons/w_rif_sg552.mdl"
SWEP.Primary.Sound = Sound( "Weapon_SG552.Single" )
SWEP.Primary.Recoil = 0.5
SWEP.Primary.Damage = 28
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.01
SWEP.Primary.ClipSize = 30
SWEP.Primary.Delay = 0.10
SWEP.Primary.DefaultClip = 90
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "smg1"
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-7.04, -12.205, 3.599), ang = Vector(0.5, 1.899, 0)};
SWEP.Positions[3] = {pos = Vector(7.322, -20, 0), ang = Vector(0,70,0)};

View File

@@ -0,0 +1,73 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "TMP"
SWEP.Slot = 1
SWEP.SlotPos = 1
;
SWEP.HoldType = "pistol"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_smg_tmp.mdl"
SWEP.WorldModel = "models/weapons/w_smg_tmp.mdl"
SWEP.Weight = 3
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("Weapon_tmp.Single")
SWEP.Primary.Recoil = 0.6
SWEP.Primary.Damage = 25
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.05
SWEP.Primary.ClipSize = 25
SWEP.Primary.Delay = 0.09
SWEP.Primary.DefaultClip = 50
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "smg1"
SWEP.FakeIronSights = true;
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-6.72, 0, 2.64), ang = Vector(-0.401, 0.6, 0)};
SWEP.Positions[3] = {pos = Vector(7.322, -20, 0), ang = Vector(0,70,0)};

View File

@@ -0,0 +1,68 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "UMP45"
SWEP.Slot = 1
SWEP.SlotPos = 1
SWEP.HoldType = "ar2"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_smg_ump45.mdl"
SWEP.WorldModel = "models/weapons/w_smg_ump45.mdl"
SWEP.Weight = 5
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound( "Weapon_UMP45.Single" )
SWEP.Primary.Recoil = 0.5
SWEP.Primary.Damage = 28
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.016
SWEP.Primary.ClipSize = 25
SWEP.Primary.Delay = 0.11
SWEP.Primary.DefaultClip = 90
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "smg1"
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-8.761, -9.056, 4.119), ang = Vector(-1.3, -0.401, -3.401)};
SWEP.Positions[3] = {pos = Vector(8.739, -20, 0), ang = Vector(0,70,0)};

View File

@@ -0,0 +1,68 @@
-- ####################################################################################
-- ## ##
-- ## ##
-- ## CASUAL BANANAS CONFIDENTIAL ##
-- ## ##
-- ## __________________________ ##
-- ## ##
-- ## ##
-- ## Copyright 2014 (c) Casual Bananas ##
-- ## All Rights Reserved. ##
-- ## ##
-- ## NOTICE: All information contained herein is, and remains ##
-- ## the property of Casual Bananas. The intellectual and technical ##
-- ## concepts contained herein are proprietary to Casual Bananas and may be ##
-- ## covered by U.S. and Foreign Patents, patents in process, and are ##
-- ## protected by trade secret or copyright law. ##
-- ## Dissemination of this information or reproduction of this material ##
-- ## is strictly forbidden unless prior written permission is obtained ##
-- ## from Casual Bananas ##
-- ## ##
-- ## _________________________ ##
-- ## ##
-- ## ##
-- ## Casual Bananas is registered with the "Kamer van Koophandel" (Dutch ##
-- ## chamber of commerce) in The Netherlands. ##
-- ## ##
-- ## Company (KVK) number : 59449837 ##
-- ## Email : info@casualbananas.com ##
-- ## ##
-- ## ##
-- ####################################################################################
AddCSLuaFile()
SWEP.PrintName = "H&K USP"
SWEP.Slot = 2
SWEP.SlotPos = 1
SWEP.HoldType = "revolver"
SWEP.Base = "weapon_jb_base"
SWEP.Category = "Jailbreak Weapons"
SWEP.Spawnable = true
SWEP.AdminSpawnable = true
SWEP.ViewModel = "models/weapons/cstrike/c_pist_usp.mdl"
SWEP.WorldModel = "models/weapons/w_pist_usp.mdl"
SWEP.Weight = 1
SWEP.AutoSwitchTo = true
SWEP.AutoSwitchFrom = false
SWEP.Primary.Sound = Sound("Weapon_USP.Single")
SWEP.Primary.Recoil = 0.1
SWEP.Primary.Damage = 20
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0.02
SWEP.Primary.ClipSize = 12
SWEP.Primary.Delay = 0.05
SWEP.Primary.DefaultClip = 36
SWEP.Primary.Automatic = false
SWEP.Primary.Ammo = "pistol"
SWEP.Positions = {};
SWEP.Positions[1] = {pos = Vector(0,0,0), ang = Vector(0,0,0)};
SWEP.Positions[2] = {pos = Vector(-5.881, -7.481, 2.64), ang = Vector(0.1, 0.1, 0)};
SWEP.Positions[3] = {pos = Vector(0.079, -15.355, -20), ang = Vector(70, 0, 0)};