mirror of
https://github.com/metrostroi-repo/MetrostroiAddon.git
synced 2026-05-02 00:42:29 +00:00
init
This commit is contained in:
46
lua/entities/gmod_mus_clock_analog/cl_init.lua
Normal file
46
lua/entities/gmod_mus_clock_analog/cl_init.lua
Normal file
@@ -0,0 +1,46 @@
|
||||
include("shared.lua")
|
||||
|
||||
function ENT:Initialize()
|
||||
self.Arrows = {}
|
||||
self.OldSec = 0
|
||||
self.SecPull = CurTime()
|
||||
end
|
||||
|
||||
function ENT:Think()
|
||||
for i=1,3 do
|
||||
if not IsValid(self.Arrows[i]) then
|
||||
local model = "models/metrostroi/signals/clock_analog_arrow_"..(i==1 and "h" or i==2 and "m" or "s")..".mdl"
|
||||
--self.Arrows[i] = ents.CreateClientProp("models/metrostroi/81-717/reverser.mdl")
|
||||
--self.Arrows[i]:SetModel( model )
|
||||
self.Arrows[i] = ClientsideModel(model,RENDERGROUP_OPAQUE)
|
||||
self.Arrows[i]:SetPos(self:GetPos())
|
||||
self.Arrows[i]:SetAngles(self:GetAngles())
|
||||
self.Arrows[i]:SetParent(self)
|
||||
end
|
||||
end
|
||||
local d = os.date("!*t",Metrostroi.GetSyncTime())
|
||||
if self.OldSec ~= d.sec then
|
||||
self:EmitSound("mus/clock_click"..math.random(1,8)..".wav",65,math.random(95,105),0.5)
|
||||
self.OldSec = d.sec
|
||||
self.SecPull = RealTime()+0.05
|
||||
self.Arrows[1]:SetPoseParameter("position",(0.5+d.hour/24+d.min/1440)%1)
|
||||
self.Arrows[2]:SetPoseParameter("position",d.min/60+d.sec/3600)
|
||||
end
|
||||
if RealTime()-self.SecPull > 0 or d.sec < 30 then
|
||||
self.Arrows[3]:SetPoseParameter("position",d.sec/60)
|
||||
else
|
||||
self.Arrows[3]:SetPoseParameter("position",d.sec/60 +(d.sec-15)/60*0.002)
|
||||
end
|
||||
|
||||
--[[
|
||||
]]
|
||||
end
|
||||
|
||||
function ENT:OnRemove()
|
||||
for _,v in pairs(self.Arrows) do
|
||||
SafeRemoveEntity(v)
|
||||
end
|
||||
end
|
||||
function ENT:Draw()
|
||||
self:DrawModel()
|
||||
end
|
||||
Reference in New Issue
Block a user