dobrograd-13-06-2022/garrysmod/addons/feature-wire/lua/wire/stools/cd_disk.lua
Jonny_Bro (Nikita) e4d5311906 first commit
2023-11-16 15:01:19 +05:00

52 lines
1.9 KiB
Lua

WireToolSetup.setCategory( "Memory" )
WireToolSetup.open( "cd_disk", "CD Disk", "gmod_wire_cd_disk", nil, "CD Disks" )
if (CLIENT) then
language.Add("Tool.wire_cd_disk.name", "CD Disk Tool (Wire)")
language.Add("Tool.wire_cd_disk.desc", "Spawns a CD Disk.")
language.Add("WireDataTransfererTool_cd_disk", "CD Disk:")
list.Set( "Wire_Laser_Disk_Models", "models/venompapa/wirecd_small.mdl", true )
list.Set( "Wire_Laser_Disk_Models", "models/venompapa/wirecd_medium.mdl", true )
list.Set( "Wire_Laser_Disk_Models", "models/venompapa/wirecd_huge.mdl", true )
TOOL.Information = {
{ name = "left", text = "Create/Update " .. TOOL.Name },
{ name = "right", text = "Change model" },
}
WireToolSetup.setToolMenuIcon( "venompapa/wirecd/wirecd" )
end
WireToolSetup.BaseLang()
WireToolSetup.SetupMax( 20 )
if (SERVER) then
function TOOL:GetConVars()
return self:GetClientNumber( "precision" ), self:GetClientNumber( "iradius" ), self:GetClientNumber( "skin" )
end
end
TOOL.ClientConVar["model"] = "models/venompapa/wirecd_medium.mdl"
TOOL.ClientConVar["skin"] = "0"
TOOL.ClientConVar["precision"] = 4
TOOL.ClientConVar["iradius"] = 10
function TOOL:RightClick(trace)
if (CLIENT) then return true end
if (trace.Entity and trace.Entity:IsValid()) then
if (trace.Entity:GetClass() == "prop_physics") then
self:GetOwner():ConCommand('wire_cd_disk_model "'..trace.Entity:GetModel()..'"\n')
self:GetOwner():ConCommand('wire_cd_disk_skin "'..trace.Entity:GetSkin()..'"\n')
end
end
return true
end
function TOOL.BuildCPanel(panel)
WireDermaExts.ModelSelect(panel, "wire_cd_disk_Model", list.Get( "Wire_Laser_Disk_Models" ), 1)
panel:NumSlider("Disk density (inches per block, ipb)","wire_cd_disk_precision",1,16,0)
panel:NumSlider("Inner radius (disk hole radius)","wire_cd_disk_iradius",1,48,0)
panel:NumSlider("Disk skin (0..8, standard disks only)","wire_cd_disk_skin",0,8,0)
end