Weapon HUD gets some lvoe
This commit is contained in:
parent
63f7f0b477
commit
09d56cfaf7
|
@ -74,6 +74,21 @@ function SWEP:B_Ammo( alt, value )
|
||||||
self:BTable( alt )["Ammo" .. clip] = value
|
self:BTable( alt )["Ammo" .. clip] = value
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function SWEP:B_Firemode( alt )
|
||||||
|
return self:BClass( alt ).Firemodes[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
function SWEP:B_FiremodeName( alt )
|
||||||
|
local mode = self:B_Firemode( alt ).Mode
|
||||||
|
if mode == 1 then
|
||||||
|
return "SEMI"
|
||||||
|
elseif mode == math.huge then
|
||||||
|
return "AUTO"
|
||||||
|
else
|
||||||
|
return mode .. "RND"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function SWEP:SecondaryAttack()
|
function SWEP:SecondaryAttack()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
|
@ -202,31 +202,6 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
local wep2 = wep:BTable( true )
|
local wep2 = wep:BTable( true )
|
||||||
local wep2c = wep:BClass( true )
|
local wep2c = wep:BClass( true )
|
||||||
|
|
||||||
if false then -- Debug
|
|
||||||
local ox, oy = 170, 24
|
|
||||||
surface.SetFont( "Benny_12" )
|
|
||||||
surface.SetTextColor( scheme["fg"] )
|
|
||||||
|
|
||||||
surface.SetTextPos( ss(ox), ss(oy) )
|
|
||||||
surface.DrawText( "Wep1: " .. wep:GetWep1() )
|
|
||||||
|
|
||||||
local num = 1
|
|
||||||
if wep1 then for i, v in pairs( wep1 ) do
|
|
||||||
surface.SetTextPos( ss(ox+16), ss(oy+10*num) )
|
|
||||||
surface.DrawText( i .. ": " .. v )
|
|
||||||
num = num + 1
|
|
||||||
end end
|
|
||||||
|
|
||||||
surface.SetTextPos( ss(ox+128), ss(oy) )
|
|
||||||
surface.DrawText( "Wep2: " .. wep:GetWep2() )
|
|
||||||
|
|
||||||
if wep2 then for i, v in pairs( wep2 ) do
|
|
||||||
surface.SetTextPos( ss(ox+128+16), ss(oy+10*num) )
|
|
||||||
surface.DrawText( i .. ": " .. v )
|
|
||||||
num = num + 1
|
|
||||||
end end
|
|
||||||
end
|
|
||||||
|
|
||||||
local w, h = 150, 100
|
local w, h = 150, 100
|
||||||
local BOXHEIGHT = 44
|
local BOXHEIGHT = 44
|
||||||
|
|
||||||
|
@ -244,13 +219,16 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
surface.SetTextPos( sw - b - ss(w-6), sh - b - ss(BOXHEIGHT-3) )
|
surface.SetTextPos( sw - b - ss(w-6), sh - b - ss(BOXHEIGHT-3) )
|
||||||
surface.DrawText( wep1c.Name or "???" )
|
surface.DrawText( wep1c.Name or "???" )
|
||||||
|
|
||||||
|
local fmpw = 30
|
||||||
surface.SetDrawColor( scheme["fg"] )
|
surface.SetDrawColor( scheme["fg"] )
|
||||||
surface.DrawRect( sw - b - ss(w-4), sh - b + ss(16) - ss(BOXHEIGHT-4), ss(29), ss(10) )
|
surface.DrawRect( sw - b - ss(w-4), sh - b + ss(16) - ss(BOXHEIGHT-4), ss(fmpw), ss(10) )
|
||||||
|
|
||||||
surface.SetFont( "Benny_12" )
|
surface.SetFont( "Benny_12" )
|
||||||
|
local str = wep:B_FiremodeName( false )
|
||||||
|
local tw = surface.GetTextSize( str )
|
||||||
surface.SetTextColor( scheme["bg"] )
|
surface.SetTextColor( scheme["bg"] )
|
||||||
surface.SetTextPos( sw - b - ss(w-7), sh - b + ss(16) - ss(BOXHEIGHT-4) )
|
surface.SetTextPos( sw - b - ss(w-19) - (tw/2), sh - b + ss(16) - ss(BOXHEIGHT-4) )
|
||||||
surface.DrawText( wep1c.Firemode or "???" )
|
surface.DrawText( str )
|
||||||
|
|
||||||
surface.SetFont( "Benny_12" )
|
surface.SetFont( "Benny_12" )
|
||||||
local text = wep:GetWep1Clip() == 0 and "---" or wep:Clip1()-- .. " - MAG " .. wep:GetWep1Clip()
|
local text = wep:GetWep1Clip() == 0 and "---" or wep:Clip1()-- .. " - MAG " .. wep:GetWep1Clip()
|
||||||
|
@ -259,12 +237,37 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
surface.SetTextPos( sw - b - ss(4) - tw, sh - b - ss(24) )
|
surface.SetTextPos( sw - b - ss(4) - tw, sh - b - ss(24) )
|
||||||
surface.DrawText( text )
|
surface.DrawText( text )
|
||||||
|
|
||||||
for i=1, math.max( wep:Clip1(), wep:BClass( false ).Ammo ) do
|
local bx = 1
|
||||||
surface.SetDrawColor( scheme["fg"] )
|
local by = 0
|
||||||
surface.DrawOutlinedRect( sw - b - ss(3+4) - ( ss(5) * (i-1) ), sh - b - ss(8+4), ss(3), ss(8), ss(0.5) )
|
local count = math.max( wep:Clip1(), wep:BClass( false ).Ammo )
|
||||||
if i <= wep:Clip1() then
|
local size = ss(8)
|
||||||
surface.DrawRect( sw - b - ss(3+4) - ( ss(5) * (i-1) ), sh - b - ss(8+4), ss(3), ss(8) )
|
if count>90 then
|
||||||
|
size = ss(2)
|
||||||
|
by = by - ss(8)
|
||||||
|
elseif count>60 then
|
||||||
|
size = ss(2)
|
||||||
|
by = by - ss(7)
|
||||||
|
elseif count>30 then
|
||||||
|
size = ss(3)
|
||||||
|
by = by - ss(5)
|
||||||
end
|
end
|
||||||
|
for i=1, count do
|
||||||
|
surface.SetDrawColor( scheme["fg"] )
|
||||||
|
surface.DrawOutlinedRect( sw - b - ss(3+4) - ( ss(5) * (bx-1) ), sh - b - ss(8+4) - by, ss(3), size, ss(0.5) )
|
||||||
|
if i <= wep:Clip1() then
|
||||||
|
surface.DrawRect( sw - b - ss(3+4) - ( ss(5) * (bx-1) ), sh - b - ss(8+4) - by, ss(3), size )
|
||||||
|
end
|
||||||
|
if i%30 == 0 then
|
||||||
|
if count>90 then
|
||||||
|
by = by + ss(2.5)
|
||||||
|
elseif count>60 then
|
||||||
|
by = by + ss(3)
|
||||||
|
else
|
||||||
|
by = by + ss(5)
|
||||||
|
end
|
||||||
|
bx = 0
|
||||||
|
end
|
||||||
|
bx = bx + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
local amlist = { wep:BTable( false )["Ammo" .. 1], wep:BTable( false )["Ammo" .. 2], wep:BTable( false )["Ammo" .. 3] }
|
local amlist = { wep:BTable( false )["Ammo" .. 1], wep:BTable( false )["Ammo" .. 2], wep:BTable( false )["Ammo" .. 3] }
|
||||||
|
@ -279,7 +282,7 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
local suuze = ss(blen*perc) - bubby*2*perc
|
local suuze = ss(blen*perc) - bubby*2*perc
|
||||||
if v != 0 then suuze = math.max( suuze, 1 ) end
|
if v != 0 then suuze = math.max( suuze, 1 ) end
|
||||||
surface.SetDrawColor( scheme["fg"] )
|
surface.SetDrawColor( scheme["fg"] )
|
||||||
surface.DrawOutlinedRect( sw - b - ss(w-4-2) + ss(29) + ( ss(blen+2) * (ind-1) ),
|
surface.DrawOutlinedRect( sw - b - ss(w-4-2) + ss(fmpw) + ( ss(blen+2) * (ind-1) ),
|
||||||
sh - b + ss(16) - ss(BOXHEIGHT-4),
|
sh - b + ss(16) - ss(BOXHEIGHT-4),
|
||||||
ss(blen),
|
ss(blen),
|
||||||
ss(bhei),
|
ss(bhei),
|
||||||
|
@ -287,24 +290,24 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
|
|
||||||
if active then
|
if active then
|
||||||
surface.SetTextColor( scheme["fg"] )
|
surface.SetTextColor( scheme["fg"] )
|
||||||
surface.SetTextPos( sw - b - ss(w-4-2) + ss(29/2) + ( ss(blen+2) * (ind) ) + bubby - ss(4),
|
surface.SetTextPos( sw - b - ss(w-4-2) + ss(fmpw/2) + ( ss(blen+2) * (ind) ) + bubby - ss(4),
|
||||||
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby - ss(2) )
|
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby - ss(2) )
|
||||||
surface.DrawText( "x" )
|
surface.DrawText( "x" )
|
||||||
end
|
end
|
||||||
|
|
||||||
surface.SetDrawColor( scheme["fg"] )
|
surface.SetDrawColor( scheme["fg"] )
|
||||||
surface.DrawRect( sw - b - ss(w-4-2) + ss(29) + ( ss(blen+2) * (ind-1) ) + bubby,
|
surface.DrawRect( sw - b - ss(w-4-2) + ss(fmpw) + ( ss(blen+2) * (ind-1) ) + bubby,
|
||||||
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby,
|
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby,
|
||||||
suuze,
|
suuze,
|
||||||
ss(bhei) - bubby*2 )
|
ss(bhei) - bubby*2 )
|
||||||
|
|
||||||
if active then
|
if active then
|
||||||
render.SetScissorRect( sw - b - ss(w-4-2) + ss(29) + ( ss(blen+2) * (ind-1) ) + bubby,
|
render.SetScissorRect( sw - b - ss(w-4-2) + ss(fmpw) + ( ss(blen+2) * (ind-1) ) + bubby,
|
||||||
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby,
|
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby,
|
||||||
sw - b - ss(w-4-2) + ss(29) + ( ss(blen+2) * (ind-1) ) + bubby + suuze,
|
sw - b - ss(w-4-2) + ss(fmpw) + ( ss(blen+2) * (ind-1) ) + bubby + suuze,
|
||||||
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby + (ss(bhei) - bubby*2), true )
|
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby + (ss(bhei) - bubby*2), true )
|
||||||
surface.SetTextColor( scheme["bg"] )
|
surface.SetTextColor( scheme["bg"] )
|
||||||
surface.SetTextPos( sw - b - ss(w-4-2) + ss(29/2) + ( ss(blen+2) * (ind) ) + bubby - ss(4),
|
surface.SetTextPos( sw - b - ss(w-4-2) + ss(fmpw/2) + ( ss(blen+2) * (ind) ) + bubby - ss(4),
|
||||||
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby - ss(2) )
|
sh - b + ss(16) - ss(BOXHEIGHT-4) + bubby - ss(2) )
|
||||||
surface.DrawText( "x" )
|
surface.DrawText( "x" )
|
||||||
render.SetScissorRect( 0, 0, 0, 0, false )
|
render.SetScissorRect( 0, 0, 0, 0, false )
|
||||||
|
@ -354,7 +357,7 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
do -- Inventory
|
if false then -- Debug Inventory
|
||||||
local gap = 0
|
local gap = 0
|
||||||
for ID, Data in pairs( p:INV_Get() ) do
|
for ID, Data in pairs( p:INV_Get() ) do
|
||||||
local active = (wep:GetWep2() == ID) and "Wep2" or (wep:GetWep1() == ID) and "Wep1" or ""
|
local active = (wep:GetWep2() == ID) and "Wep2" or (wep:GetWep1() == ID) and "Wep1" or ""
|
||||||
|
|
|
@ -1,4 +1,14 @@
|
||||||
|
|
||||||
|
FIREMODE_AUTO = {
|
||||||
|
{ Mode = math.huge },
|
||||||
|
}
|
||||||
|
FIREMODE_AUTOSEMI = {
|
||||||
|
{ Mode = math.huge },
|
||||||
|
{ Mode = 1 },
|
||||||
|
}
|
||||||
|
FIREMODE_SEMI = {
|
||||||
|
{ Mode = 1 },
|
||||||
|
}
|
||||||
WEAPONS = {}
|
WEAPONS = {}
|
||||||
|
|
||||||
AddSound( "1911.Fire", {
|
AddSound( "1911.Fire", {
|
||||||
|
@ -99,6 +109,7 @@ wep.Sound_MagOut = "1911.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "1911.MagIn" -- placeholder
|
wep.Sound_MagIn = "1911.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/300)
|
wep.Delay = (60/300)
|
||||||
|
wep.Firemodes = FIREMODE_SEMI
|
||||||
wep.Ammo = 8
|
wep.Ammo = 8
|
||||||
wep.Damage = 30
|
wep.Damage = 30
|
||||||
|
|
||||||
|
@ -115,6 +126,7 @@ wep.Sound_MagOut = "USP.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "USP.MagIn" -- placeholder
|
wep.Sound_MagIn = "USP.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/300)
|
wep.Delay = (60/300)
|
||||||
|
wep.Firemodes = FIREMODE_SEMI
|
||||||
wep.Ammo = 12
|
wep.Ammo = 12
|
||||||
wep.Damage = 30
|
wep.Damage = 30
|
||||||
|
|
||||||
|
@ -130,6 +142,7 @@ wep.Sound_MagOut = "Glock.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "Glock.MagIn" -- placeholder
|
wep.Sound_MagIn = "Glock.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/800)
|
wep.Delay = (60/800)
|
||||||
|
wep.Firemodes = FIREMODE_AUTOSEMI
|
||||||
wep.Ammo = 17
|
wep.Ammo = 17
|
||||||
wep.Damage = 18
|
wep.Damage = 18
|
||||||
|
|
||||||
|
@ -145,6 +158,7 @@ wep.Sound_MagOut = "Nambu.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "Nambu.MagIn" -- placeholder
|
wep.Sound_MagIn = "Nambu.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/180)
|
wep.Delay = (60/180)
|
||||||
|
wep.Firemodes = FIREMODE_SEMI
|
||||||
wep.Ammo = 6
|
wep.Ammo = 6
|
||||||
wep.Damage = 26
|
wep.Damage = 26
|
||||||
|
|
||||||
|
@ -160,6 +174,7 @@ wep.Sound_MagOut = "Anaconda.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "Anaconda.MagIn" -- placeholder
|
wep.Sound_MagIn = "Anaconda.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/180)
|
wep.Delay = (60/180)
|
||||||
|
wep.Firemodes = FIREMODE_SEMI
|
||||||
wep.Ammo = 6
|
wep.Ammo = 6
|
||||||
wep.Damage = 40
|
wep.Damage = 40
|
||||||
|
|
||||||
|
@ -176,6 +191,7 @@ wep.Sound_MagOut = "TMP.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "TMP.MagIn" -- placeholder
|
wep.Sound_MagIn = "TMP.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/700)
|
wep.Delay = (60/700)
|
||||||
|
wep.Firemodes = FIREMODE_AUTOSEMI
|
||||||
wep.Ammo = 15
|
wep.Ammo = 15
|
||||||
wep.Damage = 18
|
wep.Damage = 18
|
||||||
|
|
||||||
|
@ -192,6 +208,7 @@ wep.Sound_MagOut = "MP7.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "MP7.MagIn" -- placeholder
|
wep.Sound_MagIn = "MP7.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/700)
|
wep.Delay = (60/700)
|
||||||
|
wep.Firemodes = FIREMODE_AUTOSEMI
|
||||||
wep.Ammo = 15
|
wep.Ammo = 15
|
||||||
wep.Damage = 16
|
wep.Damage = 16
|
||||||
|
|
||||||
|
@ -208,6 +225,7 @@ wep.Sound_MagOut = "MP5K.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "MP5K.MagIn" -- placeholder
|
wep.Sound_MagIn = "MP5K.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/700)
|
wep.Delay = (60/700)
|
||||||
|
wep.Firemodes = FIREMODE_AUTOSEMI
|
||||||
wep.Ammo = 15
|
wep.Ammo = 15
|
||||||
wep.Damage = 18
|
wep.Damage = 18
|
||||||
|
|
||||||
|
@ -224,6 +242,7 @@ wep.Sound_MagOut = "MAC11.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "MAC11.MagIn" -- placeholder
|
wep.Sound_MagIn = "MAC11.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/800)
|
wep.Delay = (60/800)
|
||||||
|
wep.Firemodes = FIREMODE_AUTOSEMI
|
||||||
wep.Ammo = 16
|
wep.Ammo = 16
|
||||||
wep.Damage = 16
|
wep.Damage = 16
|
||||||
|
|
||||||
|
@ -240,5 +259,6 @@ wep.Sound_MagOut = "Bizon.MagOut" -- placeholder
|
||||||
wep.Sound_MagIn = "Bizon.MagIn" -- placeholder
|
wep.Sound_MagIn = "Bizon.MagIn" -- placeholder
|
||||||
|
|
||||||
wep.Delay = (60/600)
|
wep.Delay = (60/600)
|
||||||
wep.Ammo = 40
|
wep.Firemodes = FIREMODE_AUTOSEMI
|
||||||
|
wep.Ammo = 30
|
||||||
wep.Damage = 16
|
wep.Damage = 16
|
Loading…
Reference in New Issue