mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 05:43:46 +03:00
128 lines
3.3 KiB
Lua
128 lines
3.3 KiB
Lua
|
|
--[[
|
||
|
|
| This file was obtained through the combined efforts
|
||
|
|
| of Madbluntz & Plymouth Antiquarian Society.
|
||
|
|
|
|
||
|
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||
|
|
| Maloy, DrPepper10 @ RIP, Atle!
|
||
|
|
|
|
||
|
|
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||
|
|
--]]
|
||
|
|
|
||
|
|
|
||
|
|
TOOL.Category = "LVS"
|
||
|
|
TOOL.Name = "#tool.lvshealthshieldeditor.name"
|
||
|
|
TOOL.Command = nil
|
||
|
|
TOOL.ConfigName = ""
|
||
|
|
|
||
|
|
TOOL.ClientConVar[ "maxshield" ] = 0
|
||
|
|
TOOL.ClientConVar[ "maxhealth" ] = 5000
|
||
|
|
|
||
|
|
if CLIENT then
|
||
|
|
language.Add( "tool.lvshealthshieldeditor.name", "Max Health & Shield Editor" )
|
||
|
|
language.Add( "tool.lvshealthshieldeditor.desc", "A tool used to edit Max Health & Shield on LVS-Vehicles" )
|
||
|
|
language.Add( "tool.lvshealthshieldeditor.0", "Left click on a LVS-Vehicle to set Max Health, Right click to set Max Shield, Reload to reset." )
|
||
|
|
language.Add( "tool.lvshealthshieldeditor.1", "Left click on a LVS-Vehicle to set Max Health, Right click to set Max Shield, Reload to reset." )
|
||
|
|
language.Add( "tool.lvshealthshieldeditor.maxshield", "Max Shield" )
|
||
|
|
language.Add( "tool.lvshealthshieldeditor.maxhealth", "Max Health" )
|
||
|
|
end
|
||
|
|
|
||
|
|
function TOOL:LeftClick( trace )
|
||
|
|
local ent = trace.Entity
|
||
|
|
|
||
|
|
if not IsValid( ent ) then return false end
|
||
|
|
|
||
|
|
if not ent.LVS and not ent.LFS then return end
|
||
|
|
|
||
|
|
if not ent.OGMaxHealth then
|
||
|
|
ent.OGMaxHealth = ent.MaxHealth
|
||
|
|
end
|
||
|
|
|
||
|
|
ent.MaxHealth = self:GetClientNumber( "maxhealth" )
|
||
|
|
ent:SetHP( ent.MaxHealth )
|
||
|
|
|
||
|
|
return true
|
||
|
|
end
|
||
|
|
|
||
|
|
function TOOL:RightClick( trace )
|
||
|
|
local ent = trace.Entity
|
||
|
|
|
||
|
|
if not IsValid( ent ) then return false end
|
||
|
|
|
||
|
|
if not ent.LVS and not ent.LFS then return end
|
||
|
|
|
||
|
|
if not ent.OGMaxShield then
|
||
|
|
ent.OGMaxShield = ent.MaxShield
|
||
|
|
end
|
||
|
|
|
||
|
|
ent.MaxShield = self:GetClientNumber( "maxshield" )
|
||
|
|
ent:SetShield( ent.MaxShield )
|
||
|
|
|
||
|
|
return true
|
||
|
|
end
|
||
|
|
|
||
|
|
function TOOL:Reload( trace )
|
||
|
|
local ent = trace.Entity
|
||
|
|
|
||
|
|
if not IsValid( ent ) then return false end
|
||
|
|
|
||
|
|
if not ent.LVS and not ent.LFS then return end
|
||
|
|
|
||
|
|
if ent.OGMaxHealth then
|
||
|
|
ent.MaxHealth = ent.OGMaxHealth
|
||
|
|
end
|
||
|
|
|
||
|
|
if ent.OGMaxShield then
|
||
|
|
ent.MaxShield = ent.OGMaxShield
|
||
|
|
end
|
||
|
|
|
||
|
|
ent:SetHP( ent.MaxHealth )
|
||
|
|
ent:SetShield( ent.MaxShield )
|
||
|
|
|
||
|
|
return true
|
||
|
|
end
|
||
|
|
|
||
|
|
function TOOL:Think()
|
||
|
|
if SERVER then return end
|
||
|
|
|
||
|
|
local ply = LocalPlayer()
|
||
|
|
local tr = ply:GetEyeTrace()
|
||
|
|
|
||
|
|
local ent = tr.Entity
|
||
|
|
if not IsValid( ent ) then return end
|
||
|
|
|
||
|
|
if not ent.LVS and not ent.LFS then return end
|
||
|
|
|
||
|
|
local Text = "Health: "..tostring( math.Round( ent:GetHP(), 0 ) ).."/"..tostring( ent.MaxHealth )
|
||
|
|
if ent:GetShield() > 0 then
|
||
|
|
Text = Text.."\nShield: "..tostring( math.Round( ent:GetShield(), 0 ) ).."/"..tostring( ent.MaxShield )
|
||
|
|
end
|
||
|
|
|
||
|
|
AddWorldTip( ent:EntIndex(), Text, SysTime() + 0.05, ent:GetPos(), ent )
|
||
|
|
end
|
||
|
|
|
||
|
|
function TOOL.BuildCPanel( panel )
|
||
|
|
panel:AddControl( "Header", { Text = "#tool.lvshealthshieldeditor.name", Description = "#tool.lvshealthshieldeditor.desc" } )
|
||
|
|
|
||
|
|
panel:AddControl( "Slider",
|
||
|
|
{
|
||
|
|
Label = "#tool.lvshealthshieldeditor.maxhealth",
|
||
|
|
Type = "Int",
|
||
|
|
Min = "1",
|
||
|
|
Max = "50000",
|
||
|
|
Command = "lvshealthshieldeditor_maxhealth",
|
||
|
|
Help = false
|
||
|
|
})
|
||
|
|
|
||
|
|
panel:AddControl( "Slider",
|
||
|
|
{
|
||
|
|
Label = "#tool.lvshealthshieldeditor.maxshield",
|
||
|
|
Type = "Int",
|
||
|
|
Min = "0",
|
||
|
|
Max = "50000",
|
||
|
|
Command = "lvshealthshieldeditor_maxshield",
|
||
|
|
Help = false
|
||
|
|
})
|
||
|
|
|
||
|
|
panel:AddControl( "Label", { Text = "NOTE: Value in Edit-Properties menu will still be the same, because they can not be updated after the vehicle is spawned!" } )
|
||
|
|
end
|