mirror of
https://github.com/metrostroi-repo/MetrostroiAddon.git
synced 2026-05-02 00:42:29 +00:00
init
This commit is contained in:
50
lua/entities/gmod_track_pa_marker/init.lua
Normal file
50
lua/entities/gmod_track_pa_marker/init.lua
Normal file
@@ -0,0 +1,50 @@
|
||||
AddCSLuaFile("shared.lua")
|
||||
AddCSLuaFile("cl_init.lua")
|
||||
include("shared.lua")
|
||||
util.AddNetworkString("metrostroi_auodrive_coils")
|
||||
function ENT:Initialize()
|
||||
self:DrawShadow(false)
|
||||
|
||||
self:SetModel("models/mechanics/roboticslarge/xfoot.mdl")
|
||||
self:SetColor(Color(200,50,50,100))
|
||||
self:SetRenderMode(RENDERMODE_TRANSALPHA)
|
||||
end
|
||||
|
||||
function ENT:Think()
|
||||
end
|
||||
|
||||
function ENT:UpdateTrackPos(pos,ang)
|
||||
local results = Metrostroi.GetPositionOnTrack(pos or self:GetPos(),ang or self:GetAngles())
|
||||
if #results > 0 then
|
||||
pos,ang = Metrostroi.GetTrackPosition(results[1].node1.path,results[1].x)
|
||||
self:SetPos(pos)
|
||||
self:SetAngles(ang:Angle())
|
||||
self.TrackPosition = results[1]
|
||||
|
||||
self.TrackPath = self.TrackPosition.node1.path.id
|
||||
self.TrackX = self.TrackPosition.x
|
||||
else
|
||||
self:SetPos(pos)
|
||||
self:SetAngles(ang)
|
||||
end
|
||||
end
|
||||
|
||||
function ENT:SetTrackPosition(path,x)
|
||||
local results = Metrostroi.GetPositionOnTrack(self:GetPos(),self:GetAngles())
|
||||
local pos,ang = Metrostroi.GetTrackPosition(path,x)
|
||||
if not pos then
|
||||
pos,ang = Metrostroi.GetTrackPosition(results[1].path,results[1].x)
|
||||
if not pos then
|
||||
ErrorNoHalt(Format("Metrostroi: Can't find PA track position: %s!\n",self:GetPos()))
|
||||
return
|
||||
else
|
||||
ErrorNoHalt(Format("Metrostroi: Can't find PA track position: %s, using standart...\n",self:GetPos()))
|
||||
end
|
||||
--pos,ang = Metrostroi.GetTrackPosition(path,x)
|
||||
end
|
||||
self.TrackPosition = results[1]
|
||||
if self:GetPos():Distance(pos) > 1 then
|
||||
self:SetPos(pos)
|
||||
self:SetAngles(ang:Angle())
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user