How do i set a defaullt minimum lentgh for a keypad on my server?

How do i set a default minimum length for hold time on a keypad on my server?


AddCSLuaFile("cl_init.lua")
AddCSLuaFile("sh_init.lua")

include("sh_init.lua")

util.AddNetworkString("keypad_command")

net.Receive("keypad_command", function(len, ply)
	if(IsValid(ply)) then
		local ent = net.ReadEntity()

		if(ent:GetClass() == "keypad" and ply:EyePos():Distance(ent:GetPos()) <= 50) then
			local cmd = net.ReadUInt(3)
			if(cmd == ent.Command_Enter) then
				local num = net.ReadUInt(4)

				if(num <= 9) then
					num = tostring(num)

					ent:EnterNum(num)
				end
			elseif(cmd == ent.Command_Reset) then
				ent:ResetButton()
			elseif(cmd == ent.Command_Accept) then
				ent:Submit()
			end
		end
	end
end)

util.PrecacheSound("buttons/button14.wav")
util.PrecacheSound("buttons/button9.wav")
util.PrecacheSound("buttons/button11.wav")
util.PrecacheSound("buttons/button15.wav")

AccessorFunc(ENT, "var_Input", "Input", FORCE_STRING)


function ENT:Initialize()
	self:SetModel("models/props_lab/keypad.mdl")
	self:PhysicsInit(SOLID_VPHYSICS)
	self:SetMoveType(MOVETYPE_VPHYSICS)
	self:SetSolid(SOLID_VPHYSICS)

	local phys = self:GetPhysicsObject()

	if(IsValid(phys)) then
		phys:Wake()
	end

	self.Password = false

	if(not self.KeypadData) then
		self.KeypadData = {
			Password = false,

			RepeatsGranted = 0,
			RepeatsDenied = 0,

			LengthGranted = 3,
			LengthDenied = 0,

			DelayGranted = 0,
			DelayDenied = 0,

			InitDelayGranted = 0,
			InitDelayDenied = 0,

			KeyGranted = 3,
			KeyDenied = 0,

			Secure = true,
			Owner = NULL
		}
	end

	self:Reset()
end

function ENT:SetPassword(pass)
	self.KeypadData.Password = tostring(pass)

	self:Reset()
end

function ENT:GetPassword(pass)
	return self.KeypadData.Password or ""
end

function ENT:SetData(data)
	self.KeypadData = data

	self:Reset()
end

function ENT:EnterNum(num)
	if(self:GetStatus() == self.Status_None) then
		local num = tostring(num)
		local new_input = self:GetInput()..num

		self:SetInput(new_input:sub(1, 4))

		if(self.KeypadData.Secure) then
			self:SetDisplayText(string.rep("*", #self:GetInput()))
		else
			self:SetDisplayText(self:GetInput())
		end

		self:EmitSound("buttons/button15.wav")
	end
end

function ENT:Submit()
	if(self:GetStatus() == self.Status_None) then
		local success = tostring(self:GetInput()) == tostring(self:GetPassword())

		self:Process(success)
	end
end

function ENT:ResetButton()
	if(self:GetStatus() == self.Status_None) then
		self:EmitSound("buttons/button14.wav")
		self:Reset()
	end
end

function ENT:Reset()
	self:SetDisplayText("")
	self:SetInput("")
	self:SetStatus(self.Status_None)
	self:SetSecure(self.KeypadData.Secure)
end


function ENT:Process(granted)
	local length, repeats, delay, initdelay, owner, key

	if(granted) then
		self:SetStatus(self.Status_Granted)

		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
	else
		self:SetStatus(self.Status_Denied)

		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
	end

	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()
		end
	end)

	timer.Simple(initdelay, function()
		if(IsValid(self)) then
			for i = 0, repeats do
				timer.Simple(length * i + delay * i, function()
					if(IsValid(self) and IsValid(owner)) then
						numpad.Activate(owner, key)
					end
				end)

				timer.Simple(length * (i + 1) + delay * i, function()
					if(IsValid(self) and IsValid(owner)) then
						numpad.Deactivate(owner, key)
					end
				end)
			end
		end
	end)

	if(granted) then
		self:EmitSound("buttons/button9.wav")
	else
		self:EmitSound("buttons/button11.wav")
	end
end

local function HandleDuplication(ply, data, dupedata)
	local ent = ents.Create("keypad")
	duplicator.DoGeneric(ent, dupedata)

	ent:Spawn()

	duplicator.DoGenericPhysics(ent, ply, dupedata)

	data['Owner'] = ply
	ent:SetData(data)

	if(IsValid(ply)) then
		ply:AddCount("keypads", ent)
	end
	
	return ent
end

duplicator.RegisterEntityClass("keypad", HandleDuplication, "KeypadData", "Data")

This board is not for Lua scripting help.

http://facepunch.com/forums/65