Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Button telport script to spawnpoint block?

Asked by 4 years ago

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)
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. AntoninFearless 622 — 4y
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 AntoninFearless 622 — 4y
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 aj44000 2 — 4y

1 answer

Log in to vote
0
Answered by 4 years ago

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)
0
thanks alot aj44000 2 — 4y
Ad

Answer this question