More holstering WIP

This commit is contained in:
Fesiug 2023-12-08 01:22:22 -05:00
parent 43de9503eb
commit 65b2c701b7
4 changed files with 19 additions and 9 deletions

View File

@ -32,6 +32,9 @@ function SWEP:BFire( hand )
if self:D_GetDelay( hand ) > CurTime() then if self:D_GetDelay( hand ) > CurTime() then
return return
end end
if self:D_GetHolstering( hand ) > 0 then
return
end
if self:D_GetClip( hand ) == 0 then if self:D_GetClip( hand ) == 0 then
if self:D_GetBurst( hand ) >= 1 then if self:D_GetBurst( hand ) >= 1 then
return return

View File

@ -119,7 +119,7 @@ function SWEP:BDeploy( hand, id )
-- This breaks prediction somewhat!! -- This breaks prediction somewhat!!
-- return -- PROTO: If you're in the middle of holstering, cancel it -- return -- PROTO: If you're in the middle of holstering, cancel it
elseif self:D_GetID( hand ) != "" then elseif self:D_GetID( hand ) != "" then
self:BHolster( hand ) return--self:BHolster( hand )
end end
local p = self:GetOwner() local p = self:GetOwner()
local inv = p:INV_Get() local inv = p:INV_Get()
@ -133,6 +133,7 @@ function SWEP:BDeploy( hand, id )
self:D_SetMagID( hand, "" ) self:D_SetMagID( hand, "" )
self:D_SetClip( hand, 0 ) self:D_SetClip( hand, 0 )
self:D_SetSpread( hand, 0 ) self:D_SetSpread( hand, 0 )
self:D_SetDelay( hand, CurTime() + 0.35 )
B_Sound( self, "Common.Deploy" ) B_Sound( self, "Common.Deploy" )
if item.Loaded and item.Loaded != "" then if item.Loaded and item.Loaded != "" then
local mid = item.Loaded local mid = item.Loaded

View File

@ -204,12 +204,11 @@ end
function SWEP:BThinkHolster( hand ) function SWEP:BThinkHolster( hand )
if self:D_GetHolstering( hand ) > 0 then if self:D_GetHolstering( hand ) > 0 then
self:D_SetHolstering( hand, math.Approach( self:D_GetHolstering( hand ), 0, FrameTime() / 0.2 ) ) self:D_SetHolstering( hand, math.Approach( self:D_GetHolstering( hand ), 0, FrameTime() / 0.35 ) )
end end
if self:D_GetHolstering( hand ) == 0 then if self:D_GetHolstering( hand ) == 0 then
self:D_SetHolstering( hand, -1 ) self:D_SetHolstering( hand, -1 )
self:BHolster( hand ) self:BHolster( hand )
self:D_SetReqID( hand, "" )
end end
end end
@ -222,13 +221,20 @@ function SWEP:Think()
for i=1, 1 do for i=1, 1 do
local hand = i==2 local hand = i==2
if self:D_GetReqID( hand ) != self:D_GetID( hand ) then local req = self:D_GetReqID( hand )
if inv[self:D_GetReqID( hand )] and self:D_GetReqID( hand ) != "" then local curr = self:D_GetID( hand )
self:BDeploy( hand, p:GetReqID1() ) if req != curr then
if curr != "" then
-- require holster first
self:BStartHolster( hand )
else
if req != "" and inv[req] then
self:BDeploy( hand, req )
else else
self:BStartHolster( hand ) self:BStartHolster( hand )
end end
end end
end
self:BThinkHolster( R ) self:BThinkHolster( R )
-- print( self:D_GetReqID( hand ), self:D_GetID( hand ) ) -- print( self:D_GetReqID( hand ), self:D_GetID( hand ) )
@ -260,7 +266,7 @@ function SWEP:Think()
end end
local ht = "normal" local ht = "normal"
if self:GetUserAim() then if self:GetUserAim() and self:D_GetHolstering( false ) < 0 then
if self:BClass( false ) then if self:BClass( false ) then
if self:BClass( true ) then if self:BClass( true ) then
ht = "duel" ht = "duel"

View File

@ -956,7 +956,7 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function()
end end
end end
if wep then if false and wep then
surface.SetDrawColor( color_white ) surface.SetDrawColor( color_white )
surface.DrawRect( sw/2 - ss(400)/2, sh/2 - ss(8)/2, ss(400*wep:GetWep1_Holstering()), ss(8) ) surface.DrawRect( sw/2 - ss(400)/2, sh/2 - ss(8)/2, ss(400*wep:GetWep1_Holstering()), ss(8) )