You can use a connection like AncestryChanged or Part.Parent.Changed and connect a function to create another copy of the part in the same place.
Script builder type game. AAA I DONT WANNA PRESS THE HEART BUTTON BEACUSE MY MESSAGE ISN’T 30 CHARACTERS
For that you could try using a blacklist of what cannot be deleted. The naive approach would be to have a copy of scripts and such in ServerStorage, check if a certain thing in workspace doesn’t exist and if it doesn’t, replace it. I don’t recommend this approach though lol.
but what if they delete it in serverstorage
I know what you could do. Create a table with all the objects which are blacklisted and refrain the executor from running any sort of code inside ServerScriptService or ServerStorage and keep checking if the objects in the blacklist table exist and if they don’t you could replace them with another copy.
Since its for a script builder you can set the environment the code that you’re compiling can access. Just replace their game
object with your own fake game object that can’t access ServerStorage
.
You can set a function’s environment using setfenv
or alternatively use getfenv
and redefine variables.
Make sure to wrap all properties too, so they don’t do something hacky like workspace.Parent
which might return the true game object.
but what if they make a module
I don’t think scripting games run full server side scripts, cause if they do then an exploiter can easily break the game.
or i could make a logs thing and ban plrs who break the rules
Just do this. Its almost fool proof assuming you implement it properly. No need to employ a staff team to ban people. They’ll just rejoin on alts. Just prevent the problem from even happening in the first place.
That would be the lazy approach, guilty of that myself. Plus it doesn’t prevent it, it just adds consequences to player’s actions.
Even if they make a module the scripts would keep checking.
but
require(235789253647892612487237w1567w125376y5e23614e23y5723e1y5693e25y934qswhadswy)
doesn’t include any blacklisted words (like game would replace with fake object
You wrap it with your custom environment with the help of a Loadstring module.
im using a loadstring module. AAA 30 CHARS
But did you wrap everything in a custom environment tho.
wym. aaaaaaaaaaaaaaaaaaaaaa 30 chars
Alright, add me on discord @Josh.8574, we can talk normally there instead of spamming replies.
Just don’t allow them to require un-sanitizable content then.
Alternatively:
IIRC the environment requiring a module sets the module’s environment to that of the one requiring it.
messaged u. AAAAAAAAAAA 30 CHARS