There a load of script injections that have access to CoreGui, giving them the ability to use RobloxLocked - which will crash any script trying to access that RobloxLocked object. People have been using this to bypass bans, be forcefully undetected, etc. I don’t know why this exists, but it’s been driving me c r a z y.
Bypass bans? Can’t you just .PlayerAdded and check their name against a table?
If not then that’s terrifying
If you think that’s bad, wait until all exploiters – not just ones with exploits that elevate their execution permissions – can access RobloxLocked stuff and cause more damage to your game because that RobloxLocked restriction is no longer there. Not all of it, but a good portion of the stuff that’s RobloxLocked is for user/game protection. Remove that protection and exploiting will result worse than it currently does.
Do you use filtering?
Nope, and he adamantly argues against using it.
Why not use filtering? It doesn’t have problems like this.
That being said I do think RobloxLocked should not replicate. There aren’t any real RobloxLocked objects that do IIRC.
bro filter enable is hard 2 make game
I know you’re joking but I used to have that mindset up until recently when I realized how much easier/more fun it is to only replicate certain things I hand pick.
wat, say wat. Me and scripts der know FE is simple to use. (imo, its easier to use then not to use.)
RobloxLocked causes a script to error when it attempts to get or set an index of a class if I remember correctly. This is where my issue is, it should allow you to get properties and attempting to set them should result in a warning so we don’t have to use pcall’s when working with them. Really it’s the same as if you try to set value above max value when using a constrained value. You don’t have permission to set it above max value so it warns you rather than erroring.
It errors because you shouldn’t be using RobloxLocked objects during normal operation.
However, I do totally agree with allowing .ClassName
or at least :IsA
to work on RobloxLocked instances. This way, we can do some form of checking to see if they are doing things they shouldn’t.
The problem is exploiters are setting RobloxLocked, which is not normal operation.
I don’t know why everyone wants RobloxLocked to semi-lock the object. RobloxLocked does not have a legitimate use outside of the CoreGui. Given that, it should just not have any effect outside of the CoreGui and it should not replicate.
We want some way to detect at least class names, because we want to detect people exploiting, because ROBLOX is unable to ‘patch’ RobloxLocked like would be useful? (don’t take that last clause as me bashing on ROBLOX - I mean that it is understandably hard to ‘patch’ RobloxLocked so that it can’t be set, as the CoreScripts need it or something else needs it)
Why do you need to detect classnames if it has no effect outside of the coregui?
Because that sounds terrible - a property on a base class should inherit and not have a weird ‘if’ like that. Especially if it’s a boolean: it’s either on, or off - no ifs or buts.
Ok, so what if it was deprecated and disabled and replaced with a bool LockedWhileUnderTheCoreGui?
My concern is that exposing anything under the CoreGui will cause someone to start relying on it for their game. Then when the CoreGui changes their game will break. We’ve already seen this happen in the form of web api proxies that allow people to access apis that aren’t exposed in-game. When the proxies inevitably stop working people end up with broken games.
If we can find a solution that properly locks objects under the CoreGui while not allowing exploiters to trick the client into thinking arbitrary objects are locked that would be ideal, I think.
Maybe it shouldn’t even be a property and everything under CoreGui should be locked just for being there.
I prefer the idea of locking children of the CoreGui. That seems better than RobloxLocked
More often I have this trouble when I index an object that later becomes RobloxLocked, or I iterate a parent with a RobloxLocked child. We should be able to check if it’s RobloxLocked at the very least so we know that we can’t do anything with it.
There’s no point if RobloxLocked stops existing. You aren’t editing anything that descends from or is a RobloxLocked object during normal development are you?