mirror of
https://github.com/willox/gmod-keypad.git
synced 2025-03-04 03:13:31 -05:00
Move owner outside of keypad data for non-wire keypads
Now it's handled properly by duplication (this might interest you @jophes)
This commit is contained in:
parent
0ffb2ed22c
commit
bec2354f68
@ -60,28 +60,28 @@ end
|
||||
function ENT:Process(granted)
|
||||
self:GetData()
|
||||
|
||||
local length, repeats, delay, initdelay, owner, key
|
||||
local length, repeats, delay, initdelay, key
|
||||
|
||||
if(granted) then
|
||||
self:SetStatus(self.Status_Granted)
|
||||
|
||||
length = self.KeypadData.LengthGranted
|
||||
repeats = math.min(self.KeypadData.RepeatsGranted, 50)
|
||||
delay = self.KeypadData.DelayGranted
|
||||
length = self.KeypadData.LengthGranted
|
||||
repeats = math.min(self.KeypadData.RepeatsGranted, 50)
|
||||
delay = self.KeypadData.DelayGranted
|
||||
initdelay = self.KeypadData.InitDelayGranted
|
||||
owner = self.KeypadData.Owner
|
||||
key = tonumber(self.KeypadData.KeyGranted) or 0
|
||||
key = tonumber(self.KeypadData.KeyGranted) or 0
|
||||
else
|
||||
self:SetStatus(self.Status_Denied)
|
||||
|
||||
length = self.KeypadData.LengthDenied
|
||||
repeats = math.min(self.KeypadData.RepeatsDenied, 50)
|
||||
delay = self.KeypadData.DelayDenied
|
||||
length = self.KeypadData.LengthDenied
|
||||
repeats = math.min(self.KeypadData.RepeatsDenied, 50)
|
||||
delay = self.KeypadData.DelayDenied
|
||||
initdelay = self.KeypadData.InitDelayDenied
|
||||
owner = self.KeypadData.Owner
|
||||
key = tonumber(self.KeypadData.KeyDenied) or 0
|
||||
key = tonumber(self.KeypadData.KeyDenied) or 0
|
||||
end
|
||||
|
||||
local owner = self:GetKeypadOwner()
|
||||
|
||||
timer.Simple(math.max(initdelay + length * (repeats + 1) + delay * repeats + 0.25, 2), function() -- 0.25 after last timer
|
||||
if(IsValid(self)) then
|
||||
self:Reset()
|
||||
@ -141,8 +141,7 @@ function ENT:GetData()
|
||||
KeyGranted = 0,
|
||||
KeyDenied = 0,
|
||||
|
||||
Secure = false,
|
||||
Owner = NULL
|
||||
Secure = false
|
||||
} )
|
||||
end
|
||||
|
||||
@ -157,5 +156,6 @@ end
|
||||
|
||||
|
||||
duplicator.RegisterEntityModifier( "keypad_password_passthrough", function(ply, entity, data)
|
||||
entity:SetKeypadOwner(ply)
|
||||
entity:SetData(data)
|
||||
end)
|
||||
|
@ -19,6 +19,7 @@ ENT.Command_Abort = 2
|
||||
ENT.IsKeypad = true
|
||||
|
||||
AccessorFunc(ENT, "m_Password", "Password", FORCE_STRING)
|
||||
AccessorFunc(ENT, "m_KeypadOwner", "KeypadOwner")
|
||||
|
||||
function ENT:Initialize()
|
||||
self:SetModel(self.Model)
|
||||
@ -41,6 +42,7 @@ function ENT:Initialize()
|
||||
|
||||
self:SetValue("")
|
||||
self:SetPassword("1337")
|
||||
self:SetKeypadOwner(NULL)
|
||||
|
||||
-- Initialize defaults
|
||||
self:GetData()
|
||||
|
@ -60,11 +60,10 @@ function TOOL:SetupKeypad(ent, pass)
|
||||
KeyGranted = self:GetClientNumber("key_granted"),
|
||||
KeyDenied = self:GetClientNumber("key_denied"),
|
||||
|
||||
Secure = util.tobool(self:GetClientNumber("secure")),
|
||||
|
||||
Owner = self:GetOwner()
|
||||
Secure = util.tobool(self:GetClientNumber("secure"))
|
||||
}
|
||||
|
||||
ent:SetKeypadOwner(self:GetOwner())
|
||||
ent:SetData(data)
|
||||
end
|
||||
|
||||
@ -84,7 +83,7 @@ function TOOL:RightClick(tr)
|
||||
return false
|
||||
end
|
||||
|
||||
if trace_ent:GetData().Owner == ply then
|
||||
if trace_ent:GetKeypadOwner() == ply then
|
||||
self:SetupKeypad(trace_ent, password)
|
||||
|
||||
return true
|
||||
|
Loading…
Reference in New Issue
Block a user