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

How to transport a part to the exact position of another part?

I'm new to coding in roblox studio, and as a beginner project I decided to make an apple tree with apples growing and falling off of the tree. I put parts all around the tree to work as 'Apple Spawns'. I made a script that in 3 second intervals, randomly chooses an Apple Spawn, and adds a value of 1 to it. Once the apple spawn reaches 5, I want an apple to appear right at the spot of the apple spawn. Only problem is I don't know how to do so. I thought maybe if i can find a way to get the Vector3.p of the apple spawn, and paste it into an apple, I could get the results I wanted. Except I don't know how. Maybe I am just overthinking it and there is some perfect command or function that does this normally. I'm not asking for you to do the script for me, I just want to be pointed in the right direction. The script is below, feel free to tell me if its horrible or not. Just remember I am a beginner.

FruitSpawnScript

`FruitSpawn = script.Spawn:GetChildren(">5")[math.random(1)]
FruitSpawnPosition = FruitSpawn Vector3 --???
FruitLocation = FruitSpawn Vector3 CFrame.p()--???
Apple = script.Apple:Clone()


function AppleSpawn()
	if FruitSpawn[math.random(1)] >= 5 then
		Apple:MoveTo(FruitLocation)--???
		wait(3)
		Apple.Anchored = false
	else
		wait(1)
	end
	
end

AppleSpawn()`

FruitGrowthScript

`FruitSpawn = script.Parent:GetChildren("Part")[math.random(1)]
function FruitGrowth()
	FruitSpawn = FruitSpawn + 1
	wait(1)
	
	if FruitSpawn > 10 then
		FruitSpawn = FruitSpawn - 5
		wait(1)
	end
end
`

1 comment

0

:MoveTo(vector3) -- see roblox wiki for more info

2 answers

You can delete lines 2 and 3, and unless script.Apple is a model, :MoveTo() won't work, seeing as it's made to move models. If it's a part, just change line 9 to:

 Apple.Position = FruitSpawn.Position

Because you can change the position of parts just by setting it. If it IS a model, change line 9 to:

Apple:SetPrimaryPartCFrame(FruitSpawn.CFrame) 

As this is a function meant for models. Also, keep in mind that Position is a vector3 value that references location, while CFrame is both location and rotation, and that you must set the primary part of the model in the model's properties tab (If you go to the view tab in Roblox Studio, you can see the Properties button next to explorer.)

If it's just a part then

PartOne.CFrame = PartTwo.CFrame

That's it. I hope I didn't understand your question wrong.

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