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

Simple Teleport Script Gone Wrong? [STILL UNSOLVED]

I'm not sure why this won't work. There is a brick named "Power" located in a model. There is also 2 other bricks in the model: "TeleportBrick1" and "TeleportBrick2"

TeleportBrick2 does not have any scripts inside of it.

The script inside TeleportBrick1 is this:

script.Parent.Touched:connect(function(hit)
	if hit.Name == "Power" then
		hit.CFrame = script.Parent.Parent.TeleportBrick2.CFrame
	end
end)

The script inside Power is this:

while true do
	script.Parent.CFrame = script.Parent.CFrame * CFrame.new(-.01, 0, 0)
	wait(.001)
end

The script inside of Power is functioning perfectly.

The script inside of TeleportBrick1 is not functioning at all. There is no output.

The brick named "Power" happens to go directly through the center of "TeleportBrick1".

Can anyone help?

2 comments

0

If this isn't working and the way I mentioned doesn't work, you have your paths wrong. Check to see if Everything is in place. TeleportBrick2 is in the right place.

0

I have triple-checked this. Every part is correctly corresponding to the amount of Parents in each script.

3 answers

I believe it's because you are cframing to it and not actually "hitting" it.

Instead or CFraming, you can always try "Position"

For instance--

while true do

while true do script.Parent.Position = script.Parent.Position * Vector3.new(-.01, 0, 0) wait(.001) end

The script may be invalid, but you get what I'm doing here.

1 comment

0

I can't use Position, since the brick is actually inside of another brick.

This will be the script for Brick A

--Enter the name of the model you want to go to here.
------------------------------------
modelname="teleporter1b"
------------------------------------

function onTouched(part)
	if part.Parent ~= nil then
	local h = part.Parent:findFirstChild("Humanoid")
		if h~=nil then
			local teleportfrom=script.Parent.Enabled.Value
			if teleportfrom~=0 then
				if h==humanoid then
				return
				end
				local teleportto=script.Parent.Parent:findFirstChild(modelname)
				if teleportto~=nil then
					local torso = h.Parent.Torso
					local location = {teleportto.Position}
					local i = 1

					local x = location[i].x
					local y = location[i].y
					local z = location[i].z
				
					x = x + math.random(-1, 1)
					z = z + math.random(-1, 1)
					y = y + math.random(2, 3)

					local cf = torso.CFrame
					local lx = 0
					local ly = y
					local lz = 0
					
					script.Parent.Enabled.Value=0
					teleportto.Enabled.Value=0
					torso.CFrame = CFrame.new(Vector3.new(x,y,z), Vector3.new(lx,ly,lz))
					wait(3)
					script.Parent.Enabled.Value=1
					teleportto.Enabled.Value=1
				else
					print("Could not find teleporter!")
				end
			end
		end
	end
end

script.Parent.Touched:connect(onTouched)

This is the script for Brick B

--Enter the name of the model you want to go to here.
------------------------------------
modelname="teleporter1a"
------------------------------------

function onTouched(part)
	if part.Parent ~= nil then
	local h = part.Parent:findFirstChild("Humanoid")
		if h~=nil then
			local teleportfrom=script.Parent.Enabled.Value
			if teleportfrom~=0 then
				if h==humanoid then
				return
				end
				local teleportto=script.Parent.Parent:findFirstChild(modelname)
				if teleportto~=nil then
					local torso = h.Parent.Torso
					local location = {teleportto.Position}
					local i = 1

					local x = location[i].x
					local y = location[i].y
					local z = location[i].z
				
					x = x + math.random(-1, 1)
					z = z + math.random(-1, 1)
					y = y + math.random(2, 3)

					local cf = torso.CFrame
					local lx = 0
					local ly = y
					local lz = 0
					
					script.Parent.Enabled.Value=0
					teleportto.Enabled.Value=0
					torso.CFrame = CFrame.new(Vector3.new(x,y,z), Vector3.new(lx,ly,lz))
					wait(3)
					script.Parent.Enabled.Value=1
					teleportto.Enabled.Value=1
				else
					print("Could not find teleporter!")
				end
			end
		end
	end
end

script.Parent.Touched:connect(onTouched)

Use this as an example and see if it works.

10 comments

0

Didn't fix.

0

Did you make sure to change all names and the brick so it had the same name?

0

Yes. I went through every script and changed the names in then, and it still doesn't work.

0

I'll let you example off of my teleport script. I'll let you know when I am finished.

0

Ok, I have changed the post, example from it and see if it works.

0

Again with the free models...........

0

You really can't be happy, can you?

0

Not when you give me a free model script. Have you looked at it even? "Humanoid"? "Torso"?

0

Yes. It is supposed to teleport your whole player to the brick. It gets all of your Humanoid and Body Parts and teleports it using Vector3.

0

Well then you obviously didn't read my question, since I'm not trying to teleport players.

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