105 lines
3.5 KiB
Lua
105 lines
3.5 KiB
Lua
WireToolSetup.setCategory( "Input, Output/Data Transfer" )
|
|
WireToolSetup.open( "relay", "Relay", "gmod_wire_relay", nil, "Relays" )
|
|
|
|
if ( CLIENT ) then
|
|
language.Add( "Tool.wire_relay.name", "Relay" )
|
|
language.Add( "Tool.wire_relay.desc", "Spawns a multi pole, multi throw relay switch." )
|
|
language.Add( "WireRelayTool_keygroup1", "Input 1 Key:" )
|
|
language.Add( "WireRelayTool_keygroup2", "Input 2 Key:" )
|
|
language.Add( "WireRelayTool_keygroup3", "Input 3 Key:" )
|
|
language.Add( "WireRelayTool_keygroup4", "Input 4 Key:" )
|
|
language.Add( "WireRelayTool_keygroup5", "Input 5 Key:" )
|
|
language.Add( "WireRelayTool_keygroupoff", "Open (off) Key:" )
|
|
language.Add( "WireRelayTool_nokey", "No Key switching" )
|
|
language.Add( "WireRelayTool_toggle", "Toggle" )
|
|
language.Add( "WireRelayTool_normclose", "Normaly:" )
|
|
language.Add( "WireRelayTool_poles", "Number of poles:" )
|
|
language.Add( "WireRelayTool_throws", "Number of throws:" )
|
|
TOOL.Information = { { name = "left", text = "Create/Update " .. TOOL.Name } }
|
|
end
|
|
WireToolSetup.BaseLang()
|
|
WireToolSetup.SetupMax( 20 )
|
|
|
|
TOOL.ClientConVar = {
|
|
keygroupoff = "0",
|
|
keygroup1 = "1",
|
|
keygroup2 = "2",
|
|
keygroup3 = "3",
|
|
keygroup4 = "4",
|
|
keygroup5 = "5",
|
|
nokey = "0",
|
|
toggle = "1",
|
|
normclose = "0",
|
|
poles = "1",
|
|
throws = "2",
|
|
model = "models/kobilica/relay.mdl",
|
|
}
|
|
|
|
if SERVER then
|
|
function TOOL:GetConVars()
|
|
return self:GetClientNumber("keygroup1"), self:GetClientNumber("keygroup2"), self:GetClientNumber("keygroup3"), self:GetClientNumber("keygroup4"), self:GetClientNumber("keygroup5"),
|
|
self:GetClientNumber("keygroupoff"), self:GetClientNumber("toggle") ~= 0, self:GetClientNumber("normclose"),
|
|
self:GetClientNumber("poles"), self:GetClientNumber("throws"), self:GetClientNumber("nokey") ~= 0
|
|
end
|
|
end
|
|
|
|
function TOOL.BuildCPanel(panel)
|
|
panel:AddControl("Header", { Text = "#Tool.wire_relay.name", Description = "#Tool.wire_relay.desc" })
|
|
WireToolHelpers.MakePresetControl(panel, "wire_radio")
|
|
|
|
panel:AddControl("Slider", {
|
|
Label = "#WireRelayTool_poles",
|
|
Type = "Integer",
|
|
Min = "1",
|
|
Max = "8",
|
|
Command = "wire_relay_poles"
|
|
})
|
|
|
|
panel:AddControl("Slider", {
|
|
Label = "#WireRelayTool_throws",
|
|
Type = "Integer",
|
|
Min = "1",
|
|
Max = "10",
|
|
Command = "wire_relay_throws"
|
|
})
|
|
|
|
|
|
panel:AddControl("CheckBox", {
|
|
Label = "#WireRelayTool_toggle",
|
|
Command = "wire_relay_toggle"
|
|
})
|
|
|
|
panel:AddControl("ComboBox", {
|
|
Label = "#WireRelayTool_normclose",
|
|
Options = {
|
|
["Open"] = { wire_relay_normclose = "0" },
|
|
["Closed to 1"] = { wire_relay_normclose = "1" },
|
|
["Closed to 2"] = { wire_relay_normclose = "2" },
|
|
["Closed to 3"] = { wire_relay_normclose = "3" },
|
|
["Closed to 4"] = { wire_relay_normclose = "4" },
|
|
["Closed to 5"] = { wire_relay_normclose = "5" }
|
|
}
|
|
})
|
|
|
|
panel:AddControl("CheckBox", {
|
|
Label = "#WireRelayTool_nokey",
|
|
Command = "wire_relay_nokey"
|
|
})
|
|
|
|
panel:AddControl("Numpad", {
|
|
Label = "#WireRelayTool_keygroupoff", Label2 = "#WireRelayTool_keygroup1",
|
|
Command = "wire_relay_keygroupoff", Command2 = "wire_relay_keygroup1",
|
|
ButtonSize = "22"
|
|
})
|
|
panel:AddControl("Numpad", {
|
|
Label = "#WireRelayTool_keygroup2", Label2 = "#WireRelayTool_keygroup3",
|
|
Command = "wire_relay_keygroup2", Command2 = "wire_relay_keygroup3",
|
|
ButtonSize = "22"
|
|
})
|
|
panel:AddControl("Numpad", {
|
|
Label = "#WireRelayTool_keygroup4", Label2 = "#WireRelayTool_keygroup5",
|
|
Command = "wire_relay_keygroup4", Command2 = "wire_relay_keygroup5",
|
|
ButtonSize = "22"
|
|
})
|
|
|
|
end
|