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

the doorway script to new areas in my game is not taking gems anymore how do i fix it?

Asked by 5 years ago

I once again am making a new game but there is once again another issue, the doorways to new areas keep letting me through without taking any gems, so i need some help here is my script is there a way to fix it? and how?

local DSS = game:GetService("DataStoreService")
    local Storage = DSS:GetDataStore("Score")

    local Door = script.Parent
    local debounce = true

    game:GetService("Players").PlayerAdded:Connect(function(player)
        local bool = Instance.new("BoolValue")
        bool.Name = "RemoveDoor1"
        bool.Value = false
        bool.Parent = player

        local success, result = pcall(function()
            Storage:GetAsync(player.UserId)
        end)

        if not success then
            warn(result)
        else
            local LoadValue = Storage:GetAsync(player.UserId)
            if LoadValue then
                bool.Value = LoadValue
                print(bool.Value)
            end
        end
    end)

    game:GetService("Players").PlayerRemoving:Connect(function(player)
        Storage:SetAsync(player.UserId, player:WaitForChild("RemoveDoor1").Value)
    end)

    Door.Touched:Connect(function(hit)
        if debounce == false then return end
        debounce = false
        print("Door Hit")
        local human = hit.Parent:FindFirstChild("Humanoid")
        if human ~= nil then
            print("Human touched door")
            local player = game:GetService("Players"):GetPlayerFromCharacter(hit.Parent)
            if player ~= nil then
                local sp = player:WaitForChild("leaderstats"):WaitForChild("GEMS")
                local check = player:WaitForChild("RemoveDoor1")
                if check.Value == false and sp.Value >= 250 then
                    print("Human passed test")
                    check.Value = true
                    sp.Value = sp.Value - 250
                    Door.CanCollide = false
                    wait(0.129)
                    Door.CanCollide = true
                elseif check.Value == true then
                    print("Human already has access")
                    Door.CanCollide = false
                    wait(0.129)
                    Door.CanCollide = true
                end
            end
        end
        debounce = true
    end)

(idk how it keeps breaking)

0
Are you sure you haven't touched it before you test? Like, it is made so you can get through without giving gems when you have already given them before. (I don't think you are stupid, just sometimes people forget that) Any errors? Torren_Mr 334 — 5y

Answer this question