Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- script.Name="eungorb"
- color="Really black" -- Feel free to change the color to whatever you'd like.
- local pointsz={}
- local function newPoint(cframe)
- table.insert(pointsz,cframe)
- end
- for i=1,100000 do
- local x=math.random(-50,50)
- local y=math.random(2,50)
- local z=math.random(-50,50)
- newPoint(CFrame.new(x,y,z))
- end
- local t=0
- local leader=Instance.new("Part",workspace)
- leader.Anchored=true
- leader.Material=Enum.Material.Neon
- leader.BrickColor=BrickColor.new(color)
- leader.Size=Vector3.new(2,2,2)
- leader.Shape="Ball"
- local function quadCurve(p0,p1,p2,t)
- if t<=1 then
- local part=Instance.new("Part",workspace)
- part.Anchored=true
- part.Material=Enum.Material.Neon
- part.BrickColor=BrickColor.new(color)
- part.Size=Vector3.new(0.5,0.5,0.5)
- part.Shape="Block"
- part.Transparency=0.5
- local box=Instance.new("SelectionBox",part)
- box.Adornee=part
- box.Color3=Color3.new(0,255,0)
- box.LineThickness=0.01
- local pFinalX=math.pow(1-t,2)*p0.x+(1-t)*2*t*p1.x+t*t*p2.x;
- local pFinalY=math.pow(1-t,2)*p0.y+(1-t)*2*t*p1.y+t*t*p2.y;
- local pFinalZ=math.pow(1-t,2)*p0.z+(1-t)*2*t*p1.z+t*t*p2.z;
- leader.CFrame=CFrame.new(pFinalX,pFinalY,pFinalZ)
- part.CFrame=CFrame.new(pFinalX,pFinalY,pFinalZ)
- coroutine.resume(coroutine.create(function()
- wait(0.05)
- part.CFrame=CFrame.new(part.Position, Vector3.new(leader.CFrame.X,leader.CFrame.Y,leader.CFrame.Z))
- end))
- coroutine.resume(coroutine.create(function()
- wait(0.15)
- for i=0.5,1,0.01 do wait(0.01)
- part.Transparency=i
- end
- part:Destroy()
- end))
- end
- end
- local function multiCurve(beginning,points)
- local p0z,p1z,p2z,midx,midy,midz,part
- p0z=beginning
- for i=1,#points-2 do
- p1z = points[i+1];
- p2z = points[i+2];
- midx=(p1z.x+p2z.x)/2;
- midy=(p1z.y+p2z.y)/2;
- midz=(p1z.z+p2z.z)/2;
- if p0z==beginning then
- p1z = points[i+1];
- p2z = points[i+2];
- midx=(p1z.x+p2z.x)/2;
- midy=(p1z.y+p2z.y)/2;
- midz=(p1z.z+p2z.z)/2;
- part=CFrame.new(midx,midy,midz)
- while wait() do
- if t<=1 then
- quadCurve(p0z,p1z,part,t)
- t=t+0.03
- else
- break
- end
- end
- p0z=part
- else
- part=CFrame.new(midx,midy,midz)
- while wait() do
- if t<=1 then
- quadCurve(p0z,p1z,part,t)
- t=t+0.03
- else
- p0z=part
- break
- end
- end
- end
- t=0
- end
- end
- multiCurve(pointsz[1],pointsz)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement