132 lines
6.1 KiB
Lua
132 lines
6.1 KiB
Lua
include("shared.lua")
|
|
|
|
ENT.RenderGroup = RENDERGROUP_OPAQUE
|
|
|
|
ENT.AutomaticFrameAdvance = true
|
|
|
|
function ENT:Draw()
|
|
self:DoNormalDraw()
|
|
self:DrawModel()
|
|
Wire_Render(self.Entity)
|
|
end
|
|
|
|
function ENT:DoNormalDraw()
|
|
local e = self.Entity
|
|
if (LocalPlayer():GetEyeTrace().Entity == e and EyePos():Distance(e:GetPos()) < 256) then
|
|
if(self:GetOverlayText() ~= "") then
|
|
AddWorldTip(e:EntIndex(),self:GetOverlayText(),0.5,e:GetPos(),e)
|
|
end
|
|
end
|
|
end
|
|
|
|
function ENT:GetOverlayText()
|
|
local name = self.Entity:GetNetworkedString("WireName")
|
|
local Type = self.Entity:GetNetworkedBeamString("Type")
|
|
local Power = self.Entity:GetNetworkedBeamInt("Power")
|
|
local Torque = self.Entity:GetNetworkedBeamInt("Torque")
|
|
local MinRPM = self.Entity:GetNetworkedBeamInt("MinRPM")
|
|
local MaxRPM = self.Entity:GetNetworkedBeamInt("MaxRPM")
|
|
local LimitRPM = self.Entity:GetNetworkedBeamInt("LimitRPM")
|
|
--##################################################################
|
|
local FlywheelMass = self.Entity:GetNetworkedBeamInt("FlywheelMass2")
|
|
local Idle = self.Entity:GetNetworkedBeamInt("Idle")
|
|
local Weight = self.Entity:GetNetworkedBeamInt("Weight")
|
|
local Rpm = self.Entity:GetNetworkedBeamInt("Rpm")
|
|
--##################################################################
|
|
local txt = Type.."\nMax Power : "..Power.."KW / "..math.Round(Power*1.34).."HP \nMax Torque : "..Torque.."N/m / "..math.Round(Torque*0.73).."ft-lb \nPowerband : "..MinRPM.." - "..MaxRPM.."RPM\nRedline : "..LimitRPM.."RPM\nFlywheelMass : "..FlywheelMass.."Grams\nIdle : "..Idle.."RPM\nWeight : "..Weight.."Kg\nRpm : "..Rpm.."RPM" or ""
|
|
if (not game.SinglePlayer()) then
|
|
local PlayerName = self:GetPlayerName()
|
|
txt = txt .. "\n(" .. PlayerName .. ")"
|
|
end
|
|
if(name and name ~= "") then
|
|
if (txt == "") then
|
|
return "- "..name.." -"
|
|
end
|
|
return "- "..name.." -\n"..txt
|
|
end
|
|
return txt
|
|
end
|
|
|
|
function ACFEngineGUICreate( Table )
|
|
--#######################
|
|
--acfmenupanel:CPanelText("Name", Table.name)
|
|
TextName = vgui.Create( "DLabel" )
|
|
TextName:SetText( "Name : "..Table.name)
|
|
TextName:SetTextColor(Color(0,0,200,255))
|
|
TextName:SetFont( "CloseCaption_BoldItalic" )
|
|
acfmenupanel.CustomDisplay:AddItem( TextName )
|
|
|
|
acfmenupanel.CData.DisplayModel = vgui.Create( "DModelPanel", acfmenupanel.CustomDisplay )
|
|
acfmenupanel.CData.DisplayModel:SetModel( Table.model )
|
|
acfmenupanel.CData.DisplayModel:SetCamPos( Vector( 250 , 500 , 250 ) )
|
|
acfmenupanel.CData.DisplayModel:SetLookAt( Vector( 0, 0, 0 ) )
|
|
acfmenupanel.CData.DisplayModel:SetFOV( 20 )
|
|
acfmenupanel.CData.DisplayModel:SetSize(acfmenupanel:GetWide(),acfmenupanel:GetWide())
|
|
acfmenupanel.CData.DisplayModel.LayoutEntity = function( panel , entity ) end
|
|
acfmenupanel.CustomDisplay:AddItem( acfmenupanel.CData.DisplayModel )
|
|
|
|
--acfmenupanel:CPanelText("Desc", Table.desc)
|
|
TextDesc = vgui.Create( "DLabel" )
|
|
TextDesc:SetText( "Desc : "..Table.desc)
|
|
TextDesc:SetTextColor(Color(0,0,200,255))
|
|
TextDesc:SetFont( "DefaultBold" )
|
|
acfmenupanel.CustomDisplay:AddItem( TextDesc )
|
|
|
|
/*local Check1 = vgui.Create( "DCheckBoxLabel" )
|
|
Check1:SetText( "Cutoff ?" )
|
|
Check1:SetTextColor(Color(0,0,255,255))
|
|
Check1:SetConVar( "acfmenu_data1" ) -- ConCommand must be a 1 or 0 value
|
|
Check1:SetValue( 1 )
|
|
Check1:OnChange( self, Value )
|
|
Value=GetConVar("acfmenu_data1")
|
|
RunConsoleCommand( "acfmenu_data1", Value )
|
|
Check1:SizeToContents()
|
|
acfmenupanel.CustomDisplay:AddItem( Check1 )*/
|
|
|
|
--####################
|
|
if (Table.iselec == true )then
|
|
--acfmenupanel:CPanelText("Power", "Peak Power : "..Table.elecpower.." kW / "..math.Round(Table.elecpower*1.34).." HP @ "..(Table.peakmaxrpm).." RPM")
|
|
TextPower = vgui.Create( "DLabel" )
|
|
TextPower:SetText( "Peak Power : "..Table.elecpower.." kW / "..math.Round(Table.elecpower*1.34).." HP @ "..(Table.peakmaxrpm).." RPM")
|
|
TextPower:SetTextColor(Color(0,0,200,255))
|
|
TextPower:SetFont( "DefaultBold" )
|
|
acfmenupanel.CustomDisplay:AddItem( TextPower )
|
|
else
|
|
--acfmenupanel:CPanelText("Power", "Peak Power : "..(math.floor(Table.torque * Table.peakmaxrpm / 9548.8)).." kW / "..math.Round(math.floor(Table.torque * Table.peakmaxrpm / 9548.8)*1.34).." HP @ "..(Table.peakmaxrpm).." RPM")
|
|
TextPower = vgui.Create( "DLabel" )
|
|
TextPower:SetText( "Peak Power : "..(math.floor(Table.torque * Table.peakmaxrpm / 9548.8)).." kW / "..math.Round(math.floor(Table.torque * Table.peakmaxrpm / 9548.8)*1.34).." HP @ "..(Table.peakmaxrpm).." RPM")
|
|
TextPower:SetTextColor(Color(0,0,200,255))
|
|
TextPower:SetFont( "DefaultBold" )
|
|
acfmenupanel.CustomDisplay:AddItem( TextPower )
|
|
end
|
|
|
|
--acfmenupanel:CPanelText("Torque", "Peak Torque : "..(Table.torque).." n/m / "..math.Round(Table.torque*0.73).." ft-lb")
|
|
TextTorque = vgui.Create( "DLabel" )
|
|
TextTorque:SetText( "Peak Torque : "..(Table.torque).." n/m / "..math.Round(Table.torque*0.73).." ft-lb")
|
|
TextTorque:SetTextColor(Color(0,0,200,255))
|
|
TextTorque:SetFont( "DefaultBold" )
|
|
acfmenupanel.CustomDisplay:AddItem( TextTorque )
|
|
--acfmenupanel:CPanelText("RPM", "Idle : "..(Table.idlerpm).." RPM\nIdeal RPM Range : "..(Table.peakminrpm).."-"..(Table.peakmaxrpm).." RPM\nRedline : "..(Table.limitprm).." RPM")
|
|
TextRPM = vgui.Create( "DLabel" )
|
|
TextRPM:SetText( "Idle : "..(Table.idlerpm).." RPM\nIdeal RPM Range : "..(Table.peakminrpm).."-"..(Table.peakmaxrpm).." RPM\nRedline : "..(Table.limitprm).." RPM")
|
|
TextRPM:SetTextColor(Color(0,0,200,255))
|
|
TextRPM:SetFont( "DefaultBold" )
|
|
TextRPM:SizeToContents()
|
|
acfmenupanel.CustomDisplay:AddItem( TextRPM )
|
|
--acfmenupanel:CPanelText("Weight", "Weight : "..(Table.weight).." kg")
|
|
TextWeight = vgui.Create( "DLabel" )
|
|
TextWeight:SetText( "Weight : "..(Table.weight).." kg")
|
|
TextWeight:SetTextColor(Color(0,0,200,255))
|
|
TextWeight:SetFont( "DefaultBold" )
|
|
acfmenupanel.CustomDisplay:AddItem( TextWeight )
|
|
--acfmenupanel:CPanelText("FlywheelMass", "FlywheelMass : "..(Table.flywheelmass).." kg")
|
|
TextFly = vgui.Create( "DLabel" )
|
|
TextFly:SetText( "FlywheelMass : "..(Table.flywheelmass).." kg")
|
|
TextFly:SetTextColor(Color(0,0,200,255))
|
|
TextFly:SetFont( "DefaultBold" )
|
|
acfmenupanel.CustomDisplay:AddItem( TextFly )
|
|
|
|
acfmenupanel.CustomDisplay:PerformLayout()
|
|
|
|
end
|