Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local ENT = {}
- ENT.Type = "anim"
- ENT.Base = "base_anim"
- ENT.ClassName = "hayashigs_christmas_tree"
- ENT.RenderGroup = RENDERGROUP_TRANSLUCENT
- local Maps = {
- aramaki_4d = Vector(-5833.9223632813, 6027.15625, -10238.447265625)
- }
- if SERVER then
- function ENT:Initialize()
- self:SetModel( "models/props_foliage/tree_pine_large.mdl" )
- self:SetMoveType( 0 )
- self:DrawShadow( true )
- self:SetCollisionGroup( COLLISION_GROUP_DEBRIS )
- end
- local function Spawn()
- for _, v in pairs( ents.FindByClass( ENT.ClassName ) ) do
- v:Remove()
- end
- if Maps[game.GetMap()] then
- local ENT = ents.Create( ENT.ClassName )
- ENT:SetPos( Maps[game.GetMap()] )
- ENT:SetAngles( Angle( 0, 0, 0 ) )
- ENT:Spawn()
- end
- end
- timer.Create( "hihihi", 3, 1, Spawn )
- end
- if CLIENT then
- local mat = Material( "particle/fire" )
- local color = Color(255,255,255,255)
- local pos = Vector(180,25,115)
- local data
- function ENT:Draw()
- self:DrawModel()
- render.SetMaterial( mat )
- if not data then
- data = {}
- for i = 1, 100 do
- local pi = (i/100)*math.pi
- local revi = (-i + 100) * 1.5
- local offset = Vector(0,0,100)
- offset = offset + self:GetRight() * math.sin(pi*9) * revi
- offset = offset + self:GetForward() * math.cos(pi*9) * revi
- offset = offset + self:GetUp() * i * 6.5
- local randsize = math.random() * 50
- local randpos = VectorRand() * 15
- table.insert(data,
- {
- lpos = offset + randpos,
- sizex = revi/2 + randsize,
- sizey = revi/2 + randsize,
- color1 = HSVToColor((i/25)*300, 1, 1),
- color2 = HSVToColor((i/100)*100+130, 1, 1),
- }
- )
- end
- else
- local t = RealTime()
- for _, params in pairs(data) do
- local wpos = LocalToWorld(params.lpos, Angle(0,0,0), self:GetPos(), self:GetAngles())
- render.DrawSprite(wpos, params.sizex, params.sizey, t%2 > 1 and params.color1 or params.color2)
- end
- end
- end
- end
- scripted_ents.Register( ENT, ENT.ClassName, true )
Advertisement
Add Comment
Please, Sign In to add comment