include("shared.lua") function Inventory() local ply = LocalPlayer() local frame = vgui.Create("DFrame") frame:SetSize(850, 550) frame:Center() frame:SetTitle("Vehicle Garage") frame:ShowCloseButton(true) frame:SetDraggable(true) frame:MakePopup() local carmodel = vgui.Create("DModelPanel", frame) carmodel:SetModel("models/swgokart/swgokartmc.mdl") carmodel:SetSize(300, 300) carmodel:SetPos(275, 25) carmodel:SetCamPos(Vector(95, 40, 75)) carmodel:SetLookAt(Vector(0, 0, 0)) local carlabel = vgui.Create("DLabel", frame) carlabel:SetPos(275, 310) carlabel:SetText("Basic Go-Kart\nPrice: 150 Credits") carlabel:SizeToContents() local createVehicle = vgui.Create("DButton", frame) createVehicle:SetPos(275, 450) createVehicle:SetSize(300, 35) createVehicle:SetText("Spawn Basic Go-Kart") createVehicle.DoClick = function() RunConsoleCommand("gkr_createkart", "basic_kart") end local createAdv = vgui.Create("DButton", frame) createAdv:SetPos(275, 490) createAdv:SetSize(300, 35) createAdv:SetText("Spawn Advanced Go-Kart") createAdv.DoClick = function() RunConsoleCommand("gkr_createkart", "adv_kart") end end usermessage.Hook("gkrInventory", Inventory) function RemoveHUD(item) local defhud = {"CHudHealth", "CHudBattery"} for _,v in pairs(defhud) do if item == v then return false end end end hook.Add("HUDShouldDraw", "RemoveHUD", RemoveHUD) function DrawVehicleData(ply) local trace = util.TraceLine(util.GetPlayerTrace(ply)) if trace.HitNonWorld then target = trace.Entity if target:IsValid() and target:IsVehicle() and !ply:InVehicle() then if ply:GetPos():Distance(target:GetPos()) < 200 then draw.SimpleText(target:GetNWString("gkrVehicleName"), "TraceFont", ScrW()/2+2, ScrH()/2+2, Color(0, 0, 0, 255)) draw.SimpleText(target:GetNWString("gkrVehicleName"), "TraceFont", ScrW()/2, ScrH()/2, Color(255, 255, 255, 255)) draw.SimpleText("Owned by " .. target:GetNWString("gkrVehicleOwner"), "TraceFont", ScrW()/2+2, ScrH()/2+27, Color(0, 0, 0, 255)) draw.SimpleText("Owned by " .. target:GetNWString("gkrVehicleOwner"), "TraceFont", ScrW()/2, ScrH()/2+25, Color(255, 255, 255, 255)) end end end end function DrawSpeed(ply) local speed = (ply:GetVehicle():GetVelocity():Length() / 17.6) or (ply:GetVelocity():GetLength() / 17.6) draw.RoundedBox(0, ScrW()-212, 10, 202, 20, Color(0, 0, 0, 195)) draw.RoundedBox(0, ScrW()-211, 11, 200, 18, Color(255, 255, 255, 195)) draw.SimpleText("Speed: " .. math.Round(speed) .. " mph", "default", ScrW()-207, 13, Color(0, 0, 0, 255)) end function DrawHealth(ply) draw.RoundedBox(0, 10, 10, 202, 20, Color(0, 0, 0, 195)) draw.RoundedBox(0, 11, 11, 200, 18, Color(255, 255, 255, 195)) draw.SimpleText("Health: "..ply:Health().."%", "default", 15, 13, Color(0, 0, 0, 255)) end function DrawCredits(ply) draw.RoundedBox(0, 10, 32, 202, 20, Color(0, 0, 0, 195)) draw.RoundedBox(0, 11, 33, 200, 18, Color(255, 255, 255, 195)) draw.SimpleText("Credits: "..ply:GetNWInt("gkrCredits"), "default", 15, 35, Color(0, 0, 0, 255)) end function DrawHUD() local ply = LocalPlayer() DrawHealth(ply) DrawCredits(ply) DrawVehicleData(ply) if ply:InVehicle() then DrawSpeed(ply) end end hook.Add("HUDPaint", "DefaultHUD", DrawHUD) /* Custom Fonts */ surface.CreateFont("TraceFont", { font = "coolvetica", size = 24, weight = 500, antialias = true })