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

Having trouble with this script, should be simple?

Asked by 8 years ago

I have a teleporter script and a purchase script. Basically they are supposed to touch the brick which then takes a certain amount of money from their leader-board and then teleports them to the start of an obby where they are given the opportunity to win cash prizes.

I'm trying to merge these two scripts together:

modelname="teleporter1a"
Upgradecost = 1000

local ting = 0
function onTouched(part)
    if ting == 0 then
    ting = 1
    check = part.Parent:FindFirstChild("Humanoid")
    if check ~= nil then
        local user = game.Players:GetPlayerFromCharacter(part.Parent)
        local stats = user:findFirstChild("leaderstats")
        if stats ~= nil then
            local cash = stats:findFirstChild("Cash")
            if cash.Value > (Upgradecost-1) then
                cash.Value = cash.Value - Upgradecost
                script.Parent.Parent.Parent.Purchase:play()
                        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
                    end
                end
            end

script.Parent.Touched:connect(onTouched)

I am getting no errors and it teleports ports me as well as takes money away. But the script only works once.

Answer this question