Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local pl = game.Players.LocalPlayer
- local ch = pl.Character
- local tb = {}
- local seg = 80
- local a = Instance.new("Part", script)
- a.CanCollide = false
- a.Size = Vector3.new()
- a.Material = "Neon"
- local w = Instance.new("Weld",a)
- w.Part0 = ch.HumanoidRootPart
- w.Part1 = a
- w.C0 = CFrame.new(0,-1,.5)
- local p = Instance.new("Part", script)
- p.Material = "Neon"
- p.Anchored = true
- p.CanCollide = false
- p.Size = Vector3.new()
- table.insert(tb,p)
- for i = 1,seg-1 do
- local p = p:clone()
- p.Parent = script
- table.insert(tb,p)
- end
- getRainbowRGB = function (tick)
- local section, secondary do
- section = tick % 1 * 3
- secondary = .5 * math.pi * (section % 1)
- if (section < 1) then
- return Color3.new (1, 1 - math.cos (secondary), 1 - math.sin (secondary))
- elseif (section < 2) then
- return Color3.new (1 - math.sin(secondary), 1, 1 - math.cos(secondary))
- else
- return Color3.new (1 - math.cos(secondary), 1 - math.sin(secondary), 1)
- end
- end
- end
- t = 0
- while true do
- t = t + game:service"RunService".RenderStepped:wait()
- for i = 0,#tb-1 do
- local p1,p2 = tb[i],tb[i+1]
- if i==0 then p1 = a end
- local x = p1.Position.x - p2.Position.x
- local y = p1.Position.y - p2.Position.y
- local z = p1.Position.z - p2.Position.z
- local dist = math.sqrt(x^2+y^2+z^2)
- local diff = (p1.Size.z/(1/3) - dist)/dist
- x = x*.5*diff
- y = y*.5*diff
- z = z*.5*diff
- p2.Position = p2.Position - Vector3.new(x,y,z)
- p2.CFrame = CFrame.new((p1.Position+p2.Position)/2,p1.Position)
- p2.Color = getRainbowRGB(t + i/10)
- p1.Color = getRainbowRGB(t + i/10)
- end
- end
Add Comment
Please, Sign In to add comment