Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

I need to shorten a long script about vector3 and i dont know how?

Hey, i have a long script and it feels tedious, i feel like it could be simplified to a standard that meets everyones expectations, here's the script

while true do
	-- Step 1
	script.Parent.Piston1.Position = script.Parent.Piston1.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston1.Position = script.Parent.Piston1.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position - Vector3.new(0, 0.125, 0)
	wait()
	script.Parent.Piston1.Position = script.Parent.Piston1.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston1.Position = script.Parent.Piston1.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position - Vector3.new(0, 0.125, 0)
	wait()
	script.Parent.Piston1.Position = script.Parent.Piston1.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston1.Position = script.Parent.Piston1.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position - Vector3.new(0, 0.125, 0)
	wait()
	script.Parent.Piston1.Position = script.Parent.Piston1.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston1.Position = script.Parent.Piston1.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position - Vector3.new(0, 0.125, 0)
	wait()
	-- Step 2
	script.Parent.Piston1.Position = script.Parent.Piston1.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston1.Position = script.Parent.Piston1.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position + Vector3.new(0, 0.125, 0)
	wait()
	script.Parent.Piston1.Position = script.Parent.Piston1.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston1.Position = script.Parent.Piston1.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position + Vector3.new(0, 0.125, 0)
	wait()
	script.Parent.Piston1.Position = script.Parent.Piston1.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston1.Position = script.Parent.Piston1.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position + Vector3.new(0, 0.125, 0)
	wait()
	script.Parent.Piston1.Position = script.Parent.Piston1.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston1.Position = script.Parent.Piston1.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston2.Position = script.Parent.Piston2.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston3.Position = script.Parent.Piston3.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston4.Position = script.Parent.Piston4.Position + Vector3.new(0, 0.125, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position - Vector3.new(0.125, 0, 0)
	script.Parent.Piston5.Position = script.Parent.Piston5.Position - Vector3.new(0, 0.125, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position + Vector3.new(0.125, 0, 0)
	script.Parent.Piston6.Position = script.Parent.Piston6.Position + Vector3.new(0, 0.125, 0)
	wait()
end

thank you for helping

1 comment

0

I remember a question like this lol it got me like 5 upvotes

1 answer

This code should help

function repeatThis()
	script.Parent.Piston1.Position = script.Parent.Piston1.Position - Vector3.new(0.125, 0, 0)
	wait()
	script.Parent.Piston1.Position = script.Parent.Piston1.Position + Vector3.new(0, 0.125, 0)
end

while true do
	repeatThis()
	wait()
end

1 comment

0

not at all

This discussion is preserved as it was. New answers, comments, and votes are closed.