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

Button telport script to spawnpoint block?

Im trying to figure out how to make a click telporter to telport to diffrent areas this is my script

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))
					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)

function getPlayer(humanoid) 
local players = game.Players:children() 
for i = 1, #players do 
if players[i].Character.Humanoid == humanoid then return players[i] end 
end 
return nil 
end 

function onTouch(part) 

local human = part.Parent:findFirstChild("Humanoid") 
if (human == nil) then return end 

local player = getPlayer(human) 

if (player == nil) then return end 



game.Lighting.NAME:clone().Parent = player.Backpack  --Replace NAME with the weapon you put in Lighting.
wait(0.1)

end 

script.Parent.Touched:connect(onTouch)

3 comments

0

Ok I dont get why if you are just trying to teleport a player to a different location you did all of that, unless this is something else and I misunderstood something. If you are just trying to TP a player to a different location tell me so I could give you a proper answer.

0

oh and in line 47 is says local player = game.Players.children() instead of game.Players:GetChildren() maybe that would be an issue too

0

im trying to make a scirpt that when a button gets clicked it telports the player to a diffrent spawn block ill try that

1 answer

✓ Accepted answer

If you want a player to click a part in order to teleport put a clickdetector inside of the part and a ServerScript and put in the following:

local cd = script.Parent.ClickDetector
local teleport = CFrame.new(71.4, 2.9, -69.4) -- This is the position they will teleport I advise putting it up above ground a little so they dont get stuck

cd.MouseClick:connect(function(clicked) --Clicked is the person who clicked it
	local player = game.Players:FindFirstChild(clicked.Name) --We get the persons Username
	if player ~= nil then --If the player is still there then
		local humr = player.Character:FindFirstChild('HumanoidRootPart') --We get their humanoidrootpart
		humr.CFrame = teleport --We teleport the player to the new position
	end
end)

1 comment

0

thanks alot

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