Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Part Generation

Asked by
alibix123 175
10 years ago

Say I wanted to generate 100 2x2x2 parts in a square perfectly fitting together. I started with a for loop and generated 100 2x2x2 parts, but I'm not sure what to do from there.

3 answers

Log in to vote
0
Answered by
Avros 5
10 years ago
local CurrentPos = Vector3.new(0, 0, 0)

for i = 1, 100 do 
    wait(0.1)
    local Part = Instance.new("Part", Workspace)
    Part.Anchored = true
    Part.Size = Vector3.new(2, 2, 2)
    CurrentPos = CurrentPos + Vector3.new(2, 0, 0)
    Part.Position = CurrentPos 
    if i % 10 == 0 then
        CurrentPos = Vector3.new(0, 0, CurrentPos.Z+2)
    end
end

The above would do as you require.

The modulus operator, %, is used to return the remainder of the division between two given numbers. In this case I'm using it in an if statement to check if something is a multiple of ten, when it is it starts a new line on the Z-axis (allowing for a 10x10 square).

The rest is pretty self explanatory.

0
But you aren't using the modulus operator at all? Bubby4j 231 — 10y
0
As Waffle pointed out in his reply, it's apparently eaten if there are no spaces. I've edited what I posted. Avros 5 — 10y
Ad
Log in to vote
0
Answered by
1waffle1 2908 Trusted Badge of Merit Moderation Voter Community Moderator
10 years ago
for x=0,9 do
    for y=0,9 do
        local e=Instance.new("Part")
        e.FormFactor="Symmetric"
        e.Size=Vector3.new(2,2,2)
        e.Position=Vector3.new(x,0,y)*2
        e.Parent=workspace
    end
end

or if you only want one for loop:

for i=0,99 do
    local e=Instance.new("Part")
    e.FormFactor="Symmetric"
    e.Size=Vector3.new(2,2,2)
    e.Position=Vector3.new(i % 10,0,math.floor(i/10))*2
end
0
apparently you have to add spaces to use the modulus operator on this website or it eats it. 1waffle1 2908 — 10y
Log in to vote
-2
Answered by 10 years ago

Are you trying to copy me?!

0
Copy? Was this question asked before? If it has, apologies, I didn't know. alibix123 175 — 10y

Answer this question