I need a script that I insert into a brick to make it so when a player clicks the brick, it teleports them to a location.
local Part = script.Parent -- So you don't have to keep re-typing local CD = Instance.new("ClickDetector",Part) --Creates a click detector inside of the part CD.MouseClick:connect(function(player) -- When they click on the part if game.Workspace[player.Name]:FindFirstChild("Humanoid") then -- If it is a player game.Workspace[player.Name].Torso.CFrame = CFrame.new(0,3,0) -- Change this number end end)
This is the simplest way I can think of to move a player's position. It probably isn't the most efficient or best way, but it works.
You need 2 blocks for this script.
Block one is the block you click
Block two is the block you teleport on top of (this makes it so you don't have to enter cframe values which I think is easier.)
Add a click detector to the block you click and a number value named enabled to both blocks make the value 1 for both. Then put this script in the brick:
------------------------------------ modelname="teleportlocation" -- rename this to a block that you want the player to teleport to ------------------------------------ function onClicked(part) if part.Parent ~= nil then local h = game.Players.LocalPlayer.Character.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.ClickDetector.MouseClick:connect(onClicked)
Tell me if you have any problems, I just tested and it is working.