Initial Commit
This commit is contained in:
69
entities/weapons/weapon_jb_ak47.lua
Normal file
69
entities/weapons/weapon_jb_ak47.lua
Normal 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)};
|
||||
66
entities/weapons/weapon_jb_aug.lua
Normal file
66
entities/weapons/weapon_jb_aug.lua
Normal 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)};
|
||||
110
entities/weapons/weapon_jb_awp.lua
Normal file
110
entities/weapons/weapon_jb_awp.lua
Normal 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
|
||||
219
entities/weapons/weapon_jb_base/client.lua
Normal file
219
entities/weapons/weapon_jb_base/client.lua
Normal 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)
|
||||
37
entities/weapons/weapon_jb_base/server.lua
Normal file
37
entities/weapons/weapon_jb_base/server.lua
Normal 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;
|
||||
496
entities/weapons/weapon_jb_base/shared.lua
Normal file
496
entities/weapons/weapon_jb_base/shared.lua
Normal 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
|
||||
68
entities/weapons/weapon_jb_deagle.lua
Normal file
68
entities/weapons/weapon_jb_deagle.lua
Normal 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)};
|
||||
70
entities/weapons/weapon_jb_famas.lua
Normal file
70
entities/weapons/weapon_jb_famas.lua
Normal 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)};
|
||||
335
entities/weapons/weapon_jb_fists.lua
Normal file
335
entities/weapons/weapon_jb_fists.lua
Normal 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
|
||||
69
entities/weapons/weapon_jb_fiveseven.lua
Normal file
69
entities/weapons/weapon_jb_fiveseven.lua
Normal 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)};
|
||||
68
entities/weapons/weapon_jb_galil.lua
Normal file
68
entities/weapons/weapon_jb_galil.lua
Normal 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)};
|
||||
71
entities/weapons/weapon_jb_glock.lua
Normal file
71
entities/weapons/weapon_jb_glock.lua
Normal 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)};
|
||||
178
entities/weapons/weapon_jb_knife.lua
Normal file
178
entities/weapons/weapon_jb_knife.lua
Normal 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
|
||||
71
entities/weapons/weapon_jb_m4a1.lua
Normal file
71
entities/weapons/weapon_jb_m4a1.lua
Normal 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)};
|
||||
71
entities/weapons/weapon_jb_mac10.lua
Normal file
71
entities/weapons/weapon_jb_mac10.lua
Normal 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)};
|
||||
69
entities/weapons/weapon_jb_mp5navy.lua
Normal file
69
entities/weapons/weapon_jb_mp5navy.lua
Normal 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)};
|
||||
72
entities/weapons/weapon_jb_p90.lua
Normal file
72
entities/weapons/weapon_jb_p90.lua
Normal 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)};
|
||||
109
entities/weapons/weapon_jb_scout.lua
Normal file
109
entities/weapons/weapon_jb_scout.lua
Normal 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
|
||||
65
entities/weapons/weapon_jb_sg552.lua
Normal file
65
entities/weapons/weapon_jb_sg552.lua
Normal 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)};
|
||||
73
entities/weapons/weapon_jb_tmp.lua
Normal file
73
entities/weapons/weapon_jb_tmp.lua
Normal 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)};
|
||||
68
entities/weapons/weapon_jb_ump.lua
Normal file
68
entities/weapons/weapon_jb_ump.lua
Normal 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)};
|
||||
68
entities/weapons/weapon_jb_usp.lua
Normal file
68
entities/weapons/weapon_jb_usp.lua
Normal 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)};
|
||||
Reference in New Issue
Block a user