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

Teleportation in small rooms?

Hello! I have been experimenting with free models to try and get players to teleport inside of a small interior prop of a subway train when they approach the prop subway train. There seems to be an issue with teleportation scripts as I spawn on top of the interior and not inside.

SCRIPT(s) (Requested)

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)

How can I get a player to spawn inside the prop interior instead of outside it?

-Wafflesandwich1

4 comments

0

Post the code of the script.

0

Please edit your post and include the script in question.

0

@RubenKan, @Pyrondon, These are not my scripts, I'm just trying to make a script where a player would spawn inside of a small room, I just seem to be spawning on top of the room. That's all. I added the script (not mine) anyway.

0

dont use this :| this is way too complicated for such and easy task. btw here is a tip, not saying u did anything wrong just saying: moveto() function puts players on top of an object and cframe puts the player inside

1 answer

✓ Accepted answer

Hmm. It seems you are over thinking this. So here's what you could do to make it easier. Here's what I would do. Place a brick inside the interior prop where you want people to spawn. And one where you want people to touch to teleport to that other interior brick.

local tpdoorbrick = game.Workspace.tpdoorbrick --locating door tp brick
local tpinteriorbrick = game.Workspace.tpinteriorbrick -- locating the brick u tp to
tpdoorbrick.Touched:connect(function(hit) --function that occurs when you touch the tp brick
	if hit.Parent and hit.Parent.Humanoid and hit.Parent.Humanoid.Health > 0 and hit.Parent.Character then -- these 2 lines are checking to see if the player is there/real
	hit.Parent.Torso.CFrame = tpinteriorbrick.CFrame.new + Vector3.new(0, 3, 0) --[[ teleporting the player to the interior. the plus vector3.new is to put the player above the brick so he doesn't spawn in the floor, but not on top of the prop. the reason i put him 3 studs above the ground, is because the torso is 3 studs above the ground--]]
end) --ending the function

This is just a way more simple way of doing it. I hope it works for you and keep scripting!

2 comments

0

Theres an easier way than that. -=@ [Link Failed] @=-

0

Uh I just added those green things to help direct him so rlly it's not that big but all the other stuff is to just check for humanoids and etc.

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