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

Help on a teleporter?

Asked by 10 years ago

When you step on the Red teleporter it goes to the Blue teleporter then it keeps going back and forth not letting you get off. Please help

Script 1:

modelname="teler"

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
                local teleportto=script.Parent.Parent:findFirstChild(modelname)
                if teleportto~=nil then
                    local gui = script.ScreenGui:Clone()
                    local pname = game.Players:GetPlayerFromCharacter(h.Parent)
                    gui.Parent = pname.PlayerGui
                    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)

Script 2: (LOCAL SCRIPT)

s = script.Parent
f = s.Frame

if s.Parent.Name ~= "Script" then
    s.Town:TweenPosition(UDim2.new(0, 200, 0, 0), "Out", "Quad", 0.5)
    for i=1, 50 do
        f.BackgroundTransparency = f.BackgroundTransparency + 0.05
        wait(0.01)
    end
    s.Town:TweenPosition(UDim2.new(0, 200, 0, -50), "Out", "Quad", 0.5)
    wait(1.5)
    s:Remove()
end

1 answer

Log in to vote
2
Answered by 10 years ago

Im no expert to scripting... but try putting a wait for about 3 seconds before allowing the telleporters to telleport again. If this doesnt help, put a block with transparency 1 top of it.

Ad

Answer this question