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

How to make a "reload time" for my function?

Asked by 3 years ago

I have this small function for my game

local function onTouch(partTouched)

    local canHarvest = partTouched.Parent:FindFirstChild("CanHarvest")
    local valuableSpace = partTouched.Parent:FindFirstChild("SpaceTaken")
    local valuableRT = partTouched.Parent:FindFirstChild("RespawnTime")
    local cost = partTouched.Parent:FindFirstChild("Cost")

    if canHarvest then
        if canHarvest.Value == true and playerValuables.Value < playerStorage.Value then

            playerValuables.Value = playerValuables.Value + valuableSpace.Value -- Space taken in storage playerStat after the action
            playerMIS.Value = playerMIS.Value + cost.Value -- How much money are there in MoneyInStorage playerStat after the action

            canHarvest.Value = false
            partTouched.Transparency = 1
            partTouched.CanCollide = false

            wait(valuableRT.Value)

            canHarvest.Value = true
            partTouched.Transparency = 0
            partTouched.CanCollide = true

        end
    end
end

mainDrill.Touched:Connect(onTouch)

it's working fine but whenever I try to put wait(time) anywhere so my function will rest time seconds before it can function again it just doesn't work

Answer this question