Should I use attributes as debounces, is it exploitable?

DevHub is only giving examples of attributes for debounces, like this:

if not part:GetAttribute("CoolingDown") then
     part:SetAttribute("CoolingDown", true)  -- Set attribute to true
     task.wait(COOLDOWN_TIME)  -- Wait for cooldown duration
     part:SetAttribute("CoolingDown", false)  -- Reset attribute
end

And you can see if attribute is working or not in properties.

Although it is simple, my question here is: Is this somehow exploitable by exploits if I use all debounces with attributes, and is it better to use attributes in any way? I just want to see if the attribute debounce is working when I do something, looks nice etc. But I don’t really know if an exploiter can see attributes. Can anyone give tips about this?

If you handle it on the server itll be fine also exploiters can see and change attirbutes on the client

1 Like

Assume a cheater always gets to see everything the client can see. It can be cheated with a local script, but then again, any solution could be cheated if it’s from a local script. A server script is not going to be cheated, and updates on the client should not propagate to the server for attributes (though there might be an exception for attributes in their character, but I’m not certain)

As for using them for cooldowns, it makes sense if you intend to pass it for other scripts to be reading from. Otherwise it would make more sense to just use a variable in the script that runs it.

1 Like

I know that server is the safest place. But I’m worried because you can literally see it on properties, if that doesn’t make a difference then no problem though.

The server and client are 2 different things, if something is changed on the server it effects everyone but if its only changed on the client then itll only effect that client

Yeah, they will be able to see it. But they won’t be able to change it so long as if it’s the server that is handling them. It will change for their computer, but a server script won’t see the change. A local script would though I think.

Basically if you are using a server script, you don’t have to worry. But a local script will be able to be tricked.

So you are saying that I can control this cooldown type with all of my scripts? That’s useful, i’ll use attributes from now I guess.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.