Search code examples
luaroblox

Debounce is not a valid member of Folder


Alright so I got this script from a tutorial and this is what I typed for the script Remotes

local replicatedStorage = game:GetService("ReplicatedStorage")
local remoteData = game:GetService("ServerStorage"):WaitForChild("RemoteData")

local cooldown = 1

replicatedStorage.Remotes.Lift.OnServerEvent:Connect(function(player)
    print("event launched")
    if not remoteData:FindFirstChild(player.Name) then return "NoFolder" end
    local debounce = remoteData[player.Name].Debounce
    if not debounce then
        debounce.Value = true
        player.leaderstats.Power.Value = player.leaderstats.Power.Value + 5 * (player.leaderstats.Prestiges.Value + 1)
        wait(cooldown)
        debounce.Value = false
    end
end)

but I have seem to get the error which is

Debounce is not a valid member of Folder "ServerStorage.RemoteData.OmegaHero2010"

here are some other scripts

Stats

local serverStorage = game:GetService("ServerStorage")

game.Players.PlayerAdded:Connect(function(player)

    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player

    local power = Instance.new("NumberValue")
    power.Name = "Power"
    power.Parent = leaderstats

    local prestige = Instance.new("NumberValue")
    prestige.Name = "Prestiges"
    prestige.Parent = leaderstats


    local dataFolder = Instance.new("Folder")
    dataFolder.Name = player.Name
    dataFolder.Parent = serverStorage.RemoteData

    local debounce = Instance.new("BoolValue")
    debounce.Parent = dataFolder

end)

Module

local module = {}
local replicatedStorage = game:GetService("ReplicatedStorage")

function module.Lift()
    replicatedStorage.Remotes.Lift:FireServer()
end

return module

Local Script

local module = require(script.Parent:WaitForChild("ModuleScript"))
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
        
script.Parent.Activated:Connect(function()
    module.Lift()
end)

what is the problem here?


Solution

  • The line local debounce = remoteData[player.Name].Debounce is failing to find the child named "Debounce".

    So, looking at how you created the BoolValue in ServerScriptService :

    local debounce = Instance.new("BoolValue")
    debounce.Parent = dataFolder
    

    You never set the Name property. So there is a BoolValue in the player's folder but it is named "BoolValue", not "Debounce". To fix your error, just add the line to set the Name.

    debounce.Name = "Debounce"