# User:Outofspace/Shape Scripts

## Contents

## The Shape Scripts

Accidents occur:

### Sphere's

More of Minraker's scripts I've tampered with.

This one is AWESOME.

for i = 0,25, 1 do for j = 0,25, 1 do p = Instance.new("Part") p.CFrame = CFrame.new(Vector3.new(100*math.sin(i), (100*math.sin(i)*math.cos(j))+100, 100*math.sin(i)*math.sin(j))) p.Size = Vector3.new(8,8,8) p.Anchored = true p.Color = Color3.new(1) p.BottomSurface = "Smooth" p.TopSurface = "Smooth" p.Parent = game.Workspace wait() end end

### Stair Maker

Ok, this was useful once.

x = 1 xx = 1 xxx = 1 for i=1,10 do --Replace 10 with the number of steps you want. local a = Instance.new("Part") a.Parent = game.Workspace a.Anchored = true a.Locked = true --y = x+5*10/3 yy = xx+10*10/4 yyy = xxx+15*10/8 a.Position = Vector3.new(y, yy, yyy) z = x + 1 zz = xx + 1 zzz = xxx + 1 x = z xx = zz xxx = zzz wait(0.5) end

A cool variation of the double helix scripts that acts as stairs:

--Best when "wait()" is used. --Makes for a awesome effect! local i = 0 for i = 0, 100, .1 do local p = Instance.new("Part") p.Parent = game.Workspace p.Name = "Brick" p.Size = Vector3.new(14,1,14) p.Anchored = true p.Position=Vector3.new(100*math.cos(i), 17*i, 150*math.sin(i)) local p = Instance.new("Part") p.Parent = game.Workspace p.Name = "Brick" p.Size = Vector3.new(14,1,14) p.Anchored = true p.Position=Vector3.new(-100*math.sin(i), 17*i, 150*math.cos(i)) wait() end

### Random

Looks like a tree.

x = 1 xx = 1 xxx = 1 for i=1,25 do --Replace 10 with the number of steps you want. local a = Instance.new("Part") a.Parent = game.Workspace --a.Anchored = true --a.Locked = true y = x+5*-10/3 yy = xx+6*-10/4 yyy = xxx+7*-10/5 --a.Position = Vector3.new(y, yy, yyy) a.Size = Vector3.new(y, yy, yyy) z = x + 1 zz = xx + 2 zzz = xxx + 3 x = z xx = zz xxx = zzz wait(0.5) end

### Double Helix

Thanks again to Mindraker, for providing the original script (which will now be dissected.)

The following was made by *accident*...rofl...

local i = 0 for i = 0, 250, .1 do local p = Instance.new("Part") p.Parent = game.Workspace p.Name = "Brick" p.Size = Vector3.new(11,1,11) p.Anchored = true p.Position=Vector3.new(100*math.cos(i), 15*i, 10*math.sin(i)) local p = Instance.new("Part") p.Parent = game.Workspace p.Name = "Brick" p.Size = Vector3.new(11,1,11) p.Anchored = true p.Position=Vector3.new(-100*math.sin(i), 15*i, 10*math.cos(i)) wait() end

One that acts as stairs:

local i = 0 for i = 0, 100, .1 do local p = Instance.new("Part") p.Parent = game.Workspace p.Name = "Brick" p.Size = Vector3.new(11,1,11) p.Anchored = true p.Position=Vector3.new(100*math.cos(i), 15*i, 20*math.sin(i)) local p = Instance.new("Part") p.Parent = game.Workspace p.Name = "Brick" p.Size = Vector3.new(11,1,11) p.Anchored = true p.Position=Vector3.new(-100*math.sin(i), 15*i, 20*math.cos(i)) wait() end

Even crazier...

local i = 0 for i = 0, 100, .1 do local p = Instance.new("Part") p.Parent = game.Workspace p.Name = "Brick" p.Size = Vector3.new(11,1,11) p.Anchored = true p.Position=Vector3.new(100*math.cos(i), 15*i, 250*math.sin(i)) local p = Instance.new("Part") p.Parent = game.Workspace p.Name = "Brick" p.Size = Vector3.new(11,1,11) p.Anchored = true p.Position=Vector3.new(-100*math.sin(i), 15*i, 10*math.cos(i)) wait() end

### Quadrilateral...thing

I forgot the name of the shape.

x = 1 xx = 1 xxx = 1 for i=1,25 do --Replace 10 with the number of steps you want. local a = Instance.new("Part") a.Parent = game.Workspace a.Anchored = true --a.Locked = true y = x+5^1*10*1/2^1-400 yy = xx+5^2*10*2/2^2-400 yyy = xxx+5^3*10*3/2^3-400 --a.Position = Vector3.new(y, yy, yyy) a.Size = Vector3.new(y, yy, yyy) z = x + 1 zz = xx + 1 zzz = xxx + 1 x = z xx = zz xxx = zzz wait(0.1) end

### Mountain

Slightly more successful. It's a modified version of his script.

x=1 y=1 for i = 1, 10 do x=x+x y=x + 2 * 4 /3 z=y^2 / 4 p = Instance.new("Part") p.CFrame = CFrame.new(Vector3.new(1,1.8,1)) p.Size = Vector3.new(x,z,y) p.Anchored = true p.Color = Color3.new(1) p.Parent = game.Workspace wait(0.5) end

Here's a variation of it:

x=1 y=1 for i = 1, 10 do x=x + 2 + x * 5 / 10 y=x + 2 * 4 /3 z=y^2 / 3 p = Instance.new("Part") p.CFrame = CFrame.new(Vector3.new(1,1.8,1)) p.Size = Vector3.new(x,z,y) p.Anchored = true p.Color = Color3.new(1) p.Parent = game.Workspace wait(0.5) end

Click here for a copy!. Here's the terrain script (2nd Variation):

x=1 y=1 for i = 1, 10 do x=x+x + 60 / 20 y=x +1 z=y ^ 2 / 3 p = Instance.new("Part") p.CFrame = CFrame.new(Vector3.new(1,1.8,1)) p.Size = Vector3.new(x,z,y) p.Anchored = true p.Color = Color3.new(1) p.Parent = game.Workspace wait(0.5) end

## Others

I have determined that that the top 3 variables control spacing and height. The "25" and "2.5" are proportions that make for a good square. The proportion is (where 25 = a, and 2.5 = b) b = a/10. Here is everything else. "a" controls the number of blocks that will span top-to-bottom, and "b" controls the space between them. The amount of blocks withing the shape s determined by both "a" and "b". Each resulting "block" that the bricks make up, will be twice as dense if you had douled "a" and not "b". The result is a cube proportional to the original; it would be twice as dense and twice as large. With that in mind, you could easily control width of the resulting block, with "b". If you had doubled "b" with "a", the result would be bricks more spread out, and not as dense. It would be a perfect proportion. Here are some examples:

for i = 1, 25, 2.5 do for j = 1, 25, 2.5 do for k = 1, 25, 2.5 do p = Instance.new("Part") p.CFrame = CFrame.new(Vector3.new(i,j,k)) p.Size = Vector3.new(1,1,1) p.Anchored = true p.Color = Color3.new(1) p.formFactor = "Symmetric" p.Parent = game.Workspace wait(.1) end end end

This next one creates a slope.

for i = 1, 50, 2.5 do for k = 1, 50, 2.5 do p = Instance.new("Part") p.CFrame = CFrame.new(Vector3.new(i,i,k)) p.Size = Vector3.new(1,1,1) p.Anchored = true p.Color = Color3.new(1) p.formFactor = "Symmetric" p.Parent = game.Workspace --wait() end end

Here's something cool:

for i = 1, 25, 2.5 do for j = 1, 25, 2.5 do for k = 1, 25, 2.5 do i=i + 4 k=k + 4 j=math.cos(i) + 4 p = Instance.new("Part") p.CFrame = CFrame.new(Vector3.new(i,j,k)) p.Size = Vector3.new(1,1,1) p.Anchored = true p.Color = Color3.new(1) p.formFactor = "Symmetric" p.Parent = game.Workspace wait() end end end

Waves

for i = 1, 25, .5 do for j = 1, 25, .5 do for k = 1, 25, .5 do i=i +4 k=k + 4 j=j + math.cos(k) p = Instance.new("Part") p.CFrame = CFrame.new(Vector3.new(i,j,i)) p.Size = Vector3.new(1,1,1) p.Anchored = true p.Color = Color3.new(1) p.formFactor = "Symmetric" p.Parent = game.Workspace wait() end end end