I was always using BoolValues to Store stuff like basically
If game.Players.PLAYER.Magic1.Value == true then
attack1()
But i found out people can change that easily even with fe on so im tryna find a new way to store this kinda stuff.
Just use variables in your script. Or modulescripts. Or datastores. In the case for you, if you are trying to permanently save the players magic value, use datastores. If you are doing it temporary, maybe store it in a
_G.MagicTable4743 = {}
(not accessible from localscript)
and add to the table as time goes on.
To set a variable, you would do
hi = "hello from houston" print(hi) -- expected output: hello from houston
EDIT:
Data stores can only be accessed by the server through Scripts. Trying to access a data store through a client in a LocalScript will cause an error.
Exploiters can only run localscripts in a level 6 script context environment. This makes datastores impossible to exploit unless you are using remoteevents for them for some reason.