69 lines
1.9 KiB
Lua
69 lines
1.9 KiB
Lua
AddCSLuaFile()
|
|
|
|
ENT.Type = "anim"
|
|
ENT.RenderGroup = RENDERGROUP_BOTH
|
|
|
|
ENT.PrintName = "Customization Bench"
|
|
ENT.Category = "Tactical RP"
|
|
|
|
ENT.Spawnable = true
|
|
ENT.Model = "models/props_canal/winch02.mdl"
|
|
|
|
function ENT:Initialize()
|
|
local model = self.Model
|
|
|
|
self:SetModel(model)
|
|
|
|
if SERVER then
|
|
self:PhysicsInit(SOLID_VPHYSICS)
|
|
self:SetMoveType(MOVETYPE_VPHYSICS)
|
|
self:SetSolid(SOLID_VPHYSICS)
|
|
self:SetCollisionGroup(COLLISION_GROUP_WEAPON)
|
|
self:SetUseType(SIMPLE_USE)
|
|
self:PhysWake()
|
|
end
|
|
|
|
-- removal is handled when checking position
|
|
table.insert(TacRP.Benches, self)
|
|
end
|
|
|
|
local font = "TacRP_Myriad_Pro_24_Unscaled"
|
|
|
|
function ENT:DrawTranslucent()
|
|
|
|
local distsqr = (EyePos() - self:WorldSpaceCenter()):LengthSqr()
|
|
if distsqr <= 262144 then -- 512^2
|
|
local a = 1 --math.Clamp(1 - (distsqr - 196608) / 65536, 0, 1)
|
|
local ang = self:GetAngles()
|
|
|
|
ang:RotateAroundAxis(ang:Forward(), 180)
|
|
ang:RotateAroundAxis(ang:Right(), 90)
|
|
ang:RotateAroundAxis(ang:Up(), 90)
|
|
|
|
local pos = self:GetPos()
|
|
|
|
pos = pos + ang:Forward() * 2.75
|
|
pos = pos + ang:Up() * 9
|
|
pos = pos + ang:Right() * -33
|
|
|
|
cam.Start3D2D(pos, ang, 0.075)
|
|
surface.SetFont(font)
|
|
local w = surface.GetTextSize(self.PrintName)
|
|
surface.SetTextPos(-w / 2, 0)
|
|
surface.SetTextColor(255, 255, 255)
|
|
surface.DrawText(self.PrintName)
|
|
if distsqr <= 16384 then
|
|
local t2 = "READY"
|
|
local w2 = surface.GetTextSize(t2)
|
|
surface.SetTextPos(-w2 / 2, 30)
|
|
surface.SetTextColor(100, 255, 100)
|
|
surface.DrawText(t2)
|
|
end
|
|
cam.End3D2D()
|
|
end
|
|
end
|
|
|
|
function ENT:Draw()
|
|
self:DrawModel()
|
|
end
|