Los scripts en Roblox tienen una identidad de hilo que indica qué acceso de seguridad tienen a la API de scripting. Algunos miembros de la clase en la API de secuencias de comandos solo pueden ser utilizados por secuencias de comandos que tienen el permiso requerido.
Contenido
- 1 Identidades
- 2 permisos
- 3 roles
- 4 máquinas virtuales
- 5 Restricciones adicionales
- 6 Véase también
- Notas 7
Identidades
Una identidad de subproceso es una identidad (un número entero) otorgada a un subproceso que indica qué permisos tiene.
La identidad de un hilo se puede encontrar utilizando la función printidentity. Esta función imprimirá la identidad del hilo, precedida por el último argumento dado si es una cadena o un número, "(nulo)" en caso contrario, y un espacio. Si no se le da ningún argumento, lo antepondrá como "La identidad actual es", seguido de un espacio.
Ejemplo En un script con identidad 2, printidentity () mostraría que la identidad actual es 2 en la salida.La identidad de un hilo dependerá normalmente de su procedencia. Por ejemplo, los subprocesos ejecutados como complementos tienen una identidad de 6, los subprocesos que ejecutan código desde la barra de comandos o la opción "ejecutar script" tienen una identidad de 5, y los scripts y los scripts locales suelen tener una identidad de 2. [nota 1]
Identidades
Corporativa | Descripción |
---|---|
0 | Hilos anónimos |
1 | Acciones iniciadas por el usuario en Roblox Studio |
2 | Objetos BaseScript en cualquier DataModel |
3 | Objetos BaseScript en cualquier DataModel, en un lugar creado por Roblox |
4 | Objetos BaseScript en cualquier DataModel, si fueron creados por Roblox |
5 | Barra de comandos de Studio, "Ejecutar secuencia de comandos", parámetro de línea de comandos -script |
6 | Complementos de Studio, API COM |
7 | API de servicios web |
8 | Recibir datos mediante replicación |
Permissions
Cada propiedad, método, evento o devolución de llamada en la API de secuencias de comandos puede requerir un permiso. Los permisos existentes son PluginSecurity, RobloxPlaceSecurity, LocalUserSecurity, WritePlayerSecurity, RobloxScriptSecurity, RobloxSecurity, TestLocalUserSecurity, ScriptWriteRestricted: [NotAccessibleSecurity] y ScriptWriteRestricted: [PluginSecurity]. Todos los hilos tienen acceso a miembros que no requieren permiso.
Permissions
permiso | Descripción |
---|---|
Ninguna | Cualquier identidad puede acceder a esta función, incluidos los scripts del juego. |
Enchufar | Segundo nivel de acceso más bajo, justo por encima de la secuencia de comandos del juego. |
RobloxPlace | Lugares creados por Roblox, donde los scripts son más confiables y se permiten funciones preliminares. |
LocalUser | Permiso no relacionado con el juego, generalmente para Roblox Studio. |
WritePlayer | Permisos para cambiar el nombre del jugador, la identificación de usuario, etc. |
RobloxScript | Un script, como un CoreScript, que se ejecuta dentro de un juego. |
roblox | Nivel de permiso más alto. |
TestLocalUser | En las compilaciones de prueba, esto equivale a no tener permiso, pero en las compilaciones normales es equivalente a LocalUser. |
Roles
La siguiente tabla muestra qué permisos están asociados a cada identidad.
Roles
Corporativa | Permissions |
---|---|
0 | Ninguna |
1 | Complemento, RobloxPlace, LocalUser |
2 | Ninguna |
3 | RobloxPlace |
4 | Complemento, RobloxPlace, LocalUser, RobloxScript |
5 | Complemento, RobloxPlace, LocalUser |
6 (construcción de estudio) | Enchufar |
6 (construcción sin estudio) | Todos los permisos |
7 | Todos los permisos |
8 | RobloxPlace, WritePlayer, RobloxScript |
Algo más | Ninguno, más un error de afirmación |
Maquinas virtuales
Los subprocesos con diferentes identidades se pueden ejecutar con diferentes máquinas virtuales Lua, de modo que los scripts de usuario no se mezclen con scripts creados por Roblox. Actualmente solo hay dos máquinas virtuales, una para CoreScripts y otros subprocesos que tienen acceso a RobloxScript y otra para todos los demás subprocesos. En las compilaciones de estudio, hay una tercera máquina virtual utilizada para complementos de estudio.
Restricciones adicionales
Si la propiedad RobloxLocked de un objeto es verdadera, solo los scripts con el permiso de complemento podrán indexar señales e hijos del objeto, establecer sus propiedades o asignar sus devoluciones de llamada, llamar a las funciones de rendimiento del objeto, cambiar el padre de los hijos del objeto , o cree objetos con el objeto como padre usando Instance.new (clase, padre). Además, los scripts que no tengan este permiso no podrán llamar a funciones no productivas del objeto a menos que no sea un descendiente de CoreGui. Esta propiedad se utiliza, entre otras cosas, para objetos GUI creados por CoreScripts.
Véase también
- Lista de miembros por seguridad
Notas
- ↑ Pueden tener una identificación de 3 cuando se ejecutan en un juego creado por Roblox y una identificación de 4 cuando están incluidos en la lista blanca de Roblox.