RobloxLocked (Property): Difference between revisions
From Legacy Roblox Wiki
Jump to navigationJump to search
>Blocco I like this description better. Sounds better, don't it? |
m Text replacement - "</SyntaxHighlight>" to "</syntaxhighlight>" |
||
(27 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{protected}} | ||
<onlyinclude>{{Property | <onlyinclude>{{Property | ||
|name = RobloxLocked | |name = RobloxLocked | ||
| | |protected = yes | ||
|description = | |type = {{type|bool}} | ||
|description = If true, the object and its descendants cannot be indexed or edited by a [[Script]] or [[LocalScript]] and will throw an error if it is attempted. | |||
|object = Instance | |object = Instance | ||
}}</onlyinclude> | }}</onlyinclude> | ||
{{clear floats}} | |||
{{Example|If using the [[Command Bar|command bar]] or a [[CoreScript]]...<syntaxhighlight lang="lua"> | |||
Workspace.Part.RobloxLocked = true -- sets the Part's RobloxLocked to true</syntaxhighlight> | |||
If using a [[Script]] or [[LocalScript]]...<syntaxhighlight lang="lua"> | |||
Workspace.Part.RobloxLocked = true --> Unknown exception</syntaxhighlight>}} | |||
==RobloxLocked doesn't get saved== | |||
Therefore, you can set an object's [[RobloxLocked (Property)|RobloxLocked]] property to true, but unless you found some way to do that with a [[CoreScript]] at the start of the game, you will still be able to access the object from a [[Script]] or [[LocalScript]]. There are, however, some objects that are RobloxLocked by default. | |||
{{Example|[[Command Bar]]:<syntaxhighlight lang="lua"> | |||
Workspace.Part.RobloxLocked = true | |||
print( Workspace.Part.RobloxLocked ) --> true</syntaxhighlight> | |||
[[Script]]:<syntaxhighlight lang="lua"> | |||
script.Parent = Workspace.Part -- does not error because RobloxLocked is false by default for this object | |||
script.Parent = game.CoreGui --> Unknown exception | |||
--Errors because CoreGui has RobloxLocked set to true by default</syntaxhighlight>}} | |||
==RobloxLocked-ness is inherited== | |||
This means that if Workspace.RobloxLocked is true, then everything in the Workspace will act as if it was RobloxLocked. | |||
{{Example|[[Script]]:<syntaxhighlight lang="lua"> | |||
game.CoreGui.RobloxGui:Destroy() -- nope</syntaxhighlight> | |||
[[Command Bar]]:<syntaxhighlight lang="lua"> | |||
game.CoreGui.RobloxGui.RobloxLocked = false</syntaxhighlight> | |||
[[Script]]:<syntaxhighlight lang="lua"> | |||
game.CoreGui.RobloxGui:Destroy() -- still no</syntaxhighlight> | |||
[[Command Bar]]:<syntaxhighlight lang="lua"> | |||
game.CoreGui.RobloxLocked = false</syntaxhighlight> | |||
[[Script]]:<syntaxhighlight lang="lua"> | |||
game.CoreGui.RobloxGui:Destroy() -- Yes!</syntaxhighlight>}} | |||
[[Category:Properties]] | [[Category:Properties]] |
Latest revision as of 06:17, 27 April 2023
Protected:This item is protected. Attempting to use it in a Script or LocalScript will cause an error.
RobloxLocked | |
Type | bool |
Description | If true, the object and its descendants cannot be indexed or edited by a Script or LocalScript and will throw an error if it is attempted. |
Member of | Instance |
Example
If using the command bar or a CoreScript...Workspace.Part.RobloxLocked = true -- sets the Part's RobloxLocked to true
Workspace.Part.RobloxLocked = true --> Unknown exception
RobloxLocked doesn't get saved
Therefore, you can set an object's RobloxLocked property to true, but unless you found some way to do that with a CoreScript at the start of the game, you will still be able to access the object from a Script or LocalScript. There are, however, some objects that are RobloxLocked by default.
Example
Command Bar:Workspace.Part.RobloxLocked = true
print( Workspace.Part.RobloxLocked ) --> true
script.Parent = Workspace.Part -- does not error because RobloxLocked is false by default for this object
script.Parent = game.CoreGui --> Unknown exception
--Errors because CoreGui has RobloxLocked set to true by default
RobloxLocked-ness is inherited
This means that if Workspace.RobloxLocked is true, then everything in the Workspace will act as if it was RobloxLocked.
Example
Script:game.CoreGui.RobloxGui:Destroy() -- nope
game.CoreGui.RobloxGui.RobloxLocked = false
game.CoreGui.RobloxGui:Destroy() -- still no
game.CoreGui.RobloxLocked = false
game.CoreGui.RobloxGui:Destroy() -- Yes!