DataModel

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

No creable

El modelo de datos (comúnmente conocido como game después de la variable global utilizada para acceder a él) es la raíz de la jerarquía padre-hijo de Roblox.Sus hijos directos son servicios, como Workspace y Lighting, que actúan como los componentes fundamentales de un juego de Roblox.

Muestras de código

Demonstrates using game, the root instance of DataModel, to get services such as Workspace and Lighting.

GetService()

local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
-- Examples of modifying properties of these services
Workspace.Gravity = 20
Lighting.ClockTime = 4

Resumen

Propiedades

  • Solo lectura
    No replicado
    Leer paralelo

    Describe la identificación del usuario o grupo que posee el lugar.

  • Solo lectura
    No replicado
    Leer paralelo

    Describe el Enum.CreatorType del lugar, ya sea que el lugar sea propiedad de un usuario o de un grupo.

  • Solo lectura
    No replicado
    Seguridad de scripts Roblox
    Leer paralelo
  • Solo lectura
    No replicado
    Leer paralelo

    Describe la identificación de la experiencia a la que pertenece el lugar que se ejecuta en el servidor.

  • Solo lectura
    No replicado
    Leer paralelo
    Obsoleto

    No funcional. Históricamente describió el Enum.Genre del lugar como establecido en el sitio web de Roblox.

  • Solo lectura
    No replicado
    Leer paralelo

    Un identificador único para la instancia del servidor de juego en ejecución.

  • Solo lectura
    No replicado
    Leer paralelo

    Representa cómo los jugadores en el servidor son manejados por la búsqueda de partidos.

  • Solo lectura
    No replicado
    Leer paralelo

    Describe la identificación del lugar que se ejecuta en el servidor.

  • Solo lectura
    No replicado
    Leer paralelo

    Describe la versión del lugar en el que se ejecuta el servidor.

  • Solo lectura
    No replicado
    Leer paralelo

    Describe la identificación del servidor privado del servidor, si el servidor es un servidor privado o un reserved server .

  • Solo lectura
    No replicado
    Leer paralelo

    Describe el UserId de los Player que posee el servidor privado si el servidor es privado.

  • Solo lectura
    No replicado
    Leer paralelo

    Una referencia al servicio Workspace .

Métodos

  • BindToClose(function : function):()

    Vincula una función a ser llamada antes de que el servidor se cierre.

  • Seguridad del plugin

    Devuelve una tabla que contiene información básica sobre los trabajos realizados por el Programador de tareasde tareas.

  • GetObjects(url : ContentId):Instances
    Seguridad del plugin
    Obsoleto

    Devuelve un array de Instances asociado con la URL de contenido dada.

  • Regresa verdadero si el cliente ha terminado de cargar el juego por primera vez.

  • SetPlaceId(placeId : number):()
    Seguridad del plugin

    Establece el DataModel.PlaceId de la instancia de juego actual a la ID de lugar dada placeId.

  • SetUniverseId(universeId : number):()
    Seguridad del plugin

    Establece el DataModel.GameId de la instancia de juego actual al dado universoId.

Métodos heredados de ServiceProvider
  • Escribir paralelo

    Devuelve el servicio especificado por el className dado si ya se ha creado, errores por un nombre inválido.

  • Devuelve el servicio con el nombre de clase solicitado, creándolo si no existe.

Eventos

Eventos heredados de ServiceProvider

Propiedades

CreatorId

Solo lectura
No replicado
Leer paralelo

Esta propiedad describe el ID del usuario o grupo que posee el lugar.Si la propiedad DataModel.CreatorType es 'Usuario' entonces CreatorId será el Player.UserId del propietario del lugar.Si el DataModel.CreatorType es 'Grupo' entonces CreatorId será el ID del grupo que posee el lugar.

Muestras de código

This code sample will print an output when the user that owns the game, or a member of the group that owns the game joins the server.

To run this script, place it inside a Script in ServerScriptService

Detect when the place owner joins the game

local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
if game.CreatorType == Enum.CreatorType.User then
if player.UserId == game.CreatorId then
print("The place owner has joined the game!")
end
elseif game.CreatorType == Enum.CreatorType.Group then
if player:IsInGroup(game.CreatorId) then
print("A member of the group that owns the place has joined the game!")
end
end
end)

CreatorType

Solo lectura
No replicado
Leer paralelo

Esta propiedad describe el Enum.CreatorType del lugar, ya sea que el lugar sea propiedad de un usuario o de un grupo.

Si el Enum.CreatorType es 'Usuario' , entonces la propiedad DataModel.CreatorId describirá el UserId de la cuenta que posee el juego.Si el tipo de creador es 'Grupo', entonces describirá la ID del grupo.

Muestras de código

This code sample will print an output when the user that owns the game, or a member of the group that owns the game joins the server.

To run this script, place it inside a Script in ServerScriptService

Detect when the place owner joins the game

local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
if game.CreatorType == Enum.CreatorType.User then
if player.UserId == game.CreatorId then
print("The place owner has joined the game!")
end
elseif game.CreatorType == Enum.CreatorType.Group then
if player:IsInGroup(game.CreatorId) then
print("A member of the group that owns the place has joined the game!")
end
end
end)

Environment

Solo lectura
No replicado
Seguridad de scripts Roblox
Leer paralelo

GameId

Solo lectura
No replicado
Leer paralelo

Esta propiedad describe el ID de la experiencia a la que pertenece el lugar que se ejecuta en el servidor.

Ver también

  • DataModel.PlaceId , que describe la identificación del lugar que se ejecuta en el servidor
  • DataModel.JobId , que es un identificador único para la instancia del juego del servidor que se está ejecutando
  • TeleportService , que es un servicio que se puede utilizar para transportar Players entre juegos
Solo lectura
No replicado
Leer paralelo

Esta propiedad está rota y no debe usarse.

Esta propiedad describió históricamente el Enum.Genre del lugar como establecido en el sitio web de Roblox.

Esta propiedad, junto con DataModel.GearGenreSetting , ya no funciona correctamente debido a los géneros que existen en el sitio web de Roblox que no se reflejan en el enum Enum.Genre .Como resultado, intentar leer esta propiedad puede generar un error.

JobId

Solo lectura
No replicado
Leer paralelo

Esta propiedad es un identificador único para la instancia del servidor de juego en ejecución.Es un identificador universal único (UUID), lo que significa que ningún servidor, pasado o presente, tendrá nunca el mismo ID.

Se prefiere a una cadena vacía en Studio.

Ver también

MatchmakingType

Solo lectura
No replicado
Leer paralelo

Esta propiedad representa cómo los jugadores en el servidor son manejados por la búsqueda de partidos.Los jugadores con diferentes MatchmakingTypes no pueden estar en o teletransportarse al mismo servidor.

Tenga en cuenta que esta propiedad solo es válida en el servidor DataModel y será el valor Enum.MatchmakingType.Default para todos los clientes, por lo que solo se refiere esta propiedad dentro de un lado del servidor Script .

PlaceId

Solo lectura
No replicado
Leer paralelo

Esta propiedad describe la identificación del lugar que se ejecuta en el servidor.

Si el lugar no se ha publicado en Roblox, este ID coincidirá con el modelo que se esté utilizando.

Ver también

  • DataModel.GameId , que describe la identificación de la experiencia a la que pertenece el lugar actual
  • DataModel.JobId , que es un identificador único para la instancia del juego del servidor que se está ejecutando
  • TeleportService , que es un servicio que se puede utilizar para transportar Players entre lugares

PlaceVersion

Solo lectura
No replicado
Leer paralelo

Esta propiedad describe la versión del lugar en el que se ejecuta el servidor.

Este número de versión coincide con el número de versión mostrado en la sección Historial de versiones de las configuraciones del lugar.No es la versión actual del cliente de Roblox.Esta propiedad es 0 para todas las experiencias no publicadas.

Cuando se crea una instancia de servidor para un lugar, usa la versión actual del lugar.Si el lugar se actualiza más tarde mientras este servidor está en ejecución, el servidor permanecerá en su versión actual.

Esta propiedad se puede utilizar para mostrar un ScreenGui que muestre la versión actual del juego a Players para ayudar con el depurado.

Muestras de código

This code sample will place a simple GUI in the StarterGui showing the place version the server is running at.

To use this sample, place it inside a Script in ServerScriptService.

Server version number GUI

local StarterGui = game:GetService("StarterGui")
local versionGui = Instance.new("ScreenGui")
local textLabel = Instance.new("TextLabel")
textLabel.Position = UDim2.new(1, -10, 1, 0)
textLabel.AnchorPoint = Vector2.new(1, 1)
textLabel.Size = UDim2.new(0, 150, 0, 40)
textLabel.BackgroundTransparency = 1
textLabel.TextColor3 = Color3.new(1, 1, 1)
textLabel.TextStrokeTransparency = 0
textLabel.TextXAlignment = Enum.TextXAlignment.Right
textLabel.TextScaled = true
local placeVersion = game.PlaceVersion
textLabel.Text = string.format("Server version: %s", placeVersion)
textLabel.Parent = versionGui
versionGui.Parent = StarterGui

PrivateServerId

Solo lectura
No replicado
Leer paralelo

Esta propiedad describe la identificación del servidor privado del servidor, si el servidor es un servidor privado.

Si el servidor no es un servidor privado, esta propiedad será una cadena vacía.

Servidores privados

Los servidores privados se refieren a lo siguiendo:

Id de servidor privado vs JobId

El ID de servidor privado de un servidor es diferente del DataModel.JobId. El JobId es el identificador único de la instancia del servidor actual.

Los servidores privados (servidores privados o reservados) pueden tener múltiples instancias de servidor asociadas con ellos con el tiempo.Esto se debe a que, aunque solo una instancia de servidor puede ejecutarse a la vez para un servidor privado, las nuevas instancias de servidor pueden abrirse y cerrarse cuando los jugadores se unan y abandonen el juego.Por ejemplo, no se está ejecutando ninguna instancia de servidor cuando nadie está jugando en el servidor.El ID de servidor privado será consistente en todas estas instancias de servidor, y el DataModel.JobId será único para cada una.

Vea también:

Muestras de código

DataModel.PrivateServerId and DataModel.PrivateServerOwnerId can be used to detect if the current server instance is a standard server, a VIP server or a reserved server.

Detecting Private Servers

local function getServerType()
if game.PrivateServerId ~= "" then
if game.PrivateServerOwnerId ~= 0 then
return "VIPServer"
else
return "ReservedServer"
end
else
return "StandardServer"
end
end
print(getServerType())

PrivateServerOwnerId

Solo lectura
No replicado
Leer paralelo

Esta propiedad describe el UserId de la Player que posee el servidor privado si el servidor es privado.

Si el servidor es un servidor estándar o reservado, entonces esta propiedad se establecerá en 0.

Esta propiedad se podría utilizar para identificar si un Player es el propietario del servidor privado, por ejemplo:


local Players = game:GetService("Players")
-- ¿es este un servidor privado?
if game.PrivateServerId ~= "" and game.PrivateServerOwnerId ~= 0 then
-- escuchar a los nuevos jugadores que se agreguen
Players.PlayerAdded:Connect(function(player)
-- compruebe si el jugador es el propietario del servidor
if player.UserId == game.PrivateServerOwnerId then
print("The private server owner has joined the game")
end
end)
end

Vea también:

Muestras de código

DataModel.PrivateServerId and DataModel.PrivateServerOwnerId can be used to detect if the current server instance is a standard server, a VIP server or a reserved server.

Detecting Private Servers

local function getServerType()
if game.PrivateServerId ~= "" then
if game.PrivateServerOwnerId ~= 0 then
return "VIPServer"
else
return "ReservedServer"
end
else
return "StandardServer"
end
end
print(getServerType())

Workspace

Solo lectura
No replicado
Leer paralelo

Esta propiedad es una referencia al servicio Workspace . Siempre apunta a Workspace y nunca será nil .

Métodos

BindToClose

()

Vincula una función a ser llamada antes de que el servidor se cierre.Si la función vinculada acepta un parámetro, pasa Enum.CloseReason especificando la razón del cierre del servidor.

Puedes vincular múltiples funciones llamando repetidamente BindToClose() . Las funciones vinculadas se llaman en paralelo y se ejecutan al mismo tiempo.

El servidor de experiencia espera 30 segundos para que todas las funciones vinculadas dejen de ejecutarse antes de que se cierre.Después de 30 segundos, el servidor se cierra incluso si las funciones aún están en ejecución.

Para verificar que la sesión actual no está en Roblox Studio, use RunService:IsStudio() .Esto impide que las funciones vinculadas completen su ejecución en sesiones de prueba sin conexión.

Cuando uses DataStoreService, también deberías usar BindToClose para vincular una función que guarde todos los datos no guardados a DataStores.Esto evita la pérdida de datos si el servidor se cierra inesperadamente.

Vea también:

Parámetros

function: function

Una función que se llama antes de que el servidor de experiencia se cierre.Si la función vinculada acepta un parámetro, pasa Enum.CloseReason especificando la razón del cierre del servidor.

Valor predeterminado: ""

Devuelve

()

Muestras de código

The following code sample is an example of how DataModel:BindToClose() can be used to save player data in the event of a server shutdown. In this example, player data is stored in a dictionary named playerData with UserIds as keys.

Saving player data before shutting down

local DataStoreService = game:GetService("DataStoreService")
local RunService = game:GetService("RunService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
local allPlayerSessionDataCache = {}
local function savePlayerDataAsync(userId, data)
return playerDataStore:UpdateAsync(userId, function(oldData)
return data
end)
end
local function onServerShutdown(closeReason)
if RunService:IsStudio() then
-- Avoid writing studio data to production and stalling test session closing
return
end
-- Reference for yielding and resuming later
local mainThread = coroutine.running()
-- Counts up for each new thread, down when the thread finishes. When 0 is reached,
-- the individual thread knows it's the last thread to finish and should resume the main thread
local numThreadsRunning = 0
-- Calling this function later starts on a new thread because of coroutine.wrap
local startSaveThread = coroutine.wrap(function(userId, sessionData)
-- Perform the save operation
local success, result = pcall(savePlayerDataAsync, userId, sessionData)
if not success then
-- Could implement a retry
warn(string.format("Failed to save %d's data: %s", userId, result))
end
-- Thread finished, decrement counter
numThreadsRunning -= 1
if numThreadsRunning == 0 then
-- This was the last thread to finish, resume main thread
coroutine.resume(mainThread)
end
end)
-- This assumes playerData gets cleared from the data table during a final save on PlayerRemoving,
-- so this is iterating over all the data of players still in the game that hasn't been saved
for userId, sessionData in pairs(allPlayerSessionDataCache) do
numThreadsRunning += 1
-- This loop finishes running and counting numThreadsRunning before any of
-- the save threads start because coroutine.wrap has built-in deferral on start
startSaveThread(userId, sessionData)
end
if numThreadsRunning > 0 then
-- Stall shutdown until save threads finish. Resumed by the last save thread when it finishes
coroutine.yield()
end
end
game:BindToClose(onServerShutdown)

The following example prints the close reason to the output. It prints Done after three seconds, and then allows Roblox to shut down the experience server.

The close reason matches one of the values in Enum.CloseReason.

Binding to and Handling Game Shutdown

game:BindToClose(function(closeReason)
print(`Closing with reason {closeReason}`)
task.wait(3)
print("Done")
end)

GetJobsInfo

Seguridad del plugin

Devuelve una tabla que contiene información básica sobre los trabajos realizados por el Programador de tareasde tareas.

En la computación, un programador de tareas es un sistema responsable de ejecutar tareas clave en los intervalos apropiados.

También puedes encontrar estadísticas de programador de tareas en vivo en la ventana de programador de tareas en Roblox Studio.

La primera entrada en la tabla devuelta es un diccionario de referencia que contiene las estadísticas (o encabezados) disponibles. Está en el siguiente formato:


{
["name"] = "name",
["averageDutyCycle"] = "averageDutyCycle",
["averageStepsPerSecond"] = "averageStepsPerSecond",
["averageStepTime"] = "averageStepTime",
["averageError"] = "averageError",
["isRunning"] = "isRunning",
}

Las entradas siguientes en la tabla devueltas son diccionarios que contienen las estadísticas anteriores para trabajos realizados por el Programador de tareastareas. Por ejemplo:


{
["name"] = "Heartbeat",
["averageDutyCycle"] = 0,
["averageStepsPerSecond"] = 0,
["averageStepTime"] = 0,
["averageError"] = 0,
["isRunning"] = false,
}

Vea también:


Devuelve

Una tabla que contiene información sobre los trabajos realizados por el Programador de tareasde tareas, vea arriba para el formato.

Muestras de código

Here is an example of iterating over the job info.

Getting Jobs Info

local jobInfo = game:GetJobsInfo()
local jobTitles = jobInfo[1]
table.remove(jobInfo, 1)
local divider = string.rep("-", 120)
print(divider)
warn("JOB INFO:")
print(divider)
for _, job in pairs(jobInfo) do
for jobIndex, jobValue in pairs(job) do
local jobTitle = jobTitles[jobIndex]
warn(jobTitle, "=", jobValue)
end
print(divider)
end

GetObjects

Instances
Seguridad del plugin

Este método devuelve un array de Instances asociado con la URL de contenido dada.Se puede utilizar para insertar contenido de la biblioteca de Roblox.No es posible insertar Sounds usando este método ya que no tienen una URL Instance asociada con ellos y solo tienen una URL de contenido.

A diferencia de InsertService:LoadAsset(), DataModel:GetObjects() no requiere que un activo sea "confiable", lo que significa que un activo no necesita ser propiedad del usuario iniciado de sesión o creado por Roblox para ser insertado.Sin embargo, si el activo no es propiedad del usuario iniciado de sesión debe estar disponible de forma gratuita.

Debido al contexto de seguridad de esta función, solo se puede usar por plugins o la barra de comandos.Para una alternativa que se puede utilizar en Scripts y LocalScripts, vea InsertService:LoadAsset() .

Parámetros

url: ContentId

La URL de contenido dada.

Valor predeterminado: ""

Devuelve

Instances

Un array de Instances asociado con la URL del contenido.

Muestras de código

If you want to view a plugin's source code without installing it, you can use DataModel:GetObjects() to download the plugin. The code sample below includes a function that will take a plugin's website URL and insert the plugin into the currently selected Instance or the Workspace.

Due to GetObjects' security context, this function can only be used in the command line or in a plugin.

View a plugin's source code

local Selection = game:GetService("Selection")
local WEB_URL = "plugin URL here"
local function downloadPlugin(webURL)
-- get the content URL
local contentID = string.match(webURL, "%d+")
local contentURL = "rbxassetid://" .. contentID
-- download the objects
local objects = game:GetObjects(contentURL)
-- decide where to parent them
local selection = Selection:Get()
local parent = #selection == 1 and selection[1] or workspace
-- parent the objects
for _, object in pairs(objects) do
object.Parent = parent
end
end
downloadPlugin(WEB_URL)

The content ID of a Decal on the Roblox website is associated with a Decal Instance rather than the actual content ID of the texture.

The code below, will use DataModel:GetObjects() to insert Decal objects into place and read their Decal.Texture property to obtain the image content IDs.

To use this code sample, enter the web URLs of the decals you'd like to convert into the array named IMAGES (as strings). A dictionary with the converted textures will be outputted.

Batch convert decal IDs

local IMAGES = {
-- Insert Decal web URLs in an array here (as strings)
}
-- open the dictionary
local outputString = "textures = {"
-- utility function to add a new entry to the dictionary (as a string)
local function addEntryToDictionary(original, new)
outputString = outputString
.. "\n" -- new line
.. " " -- indent
.. '["'
.. original
.. '"]' -- key
.. ' = "'
.. new
.. '",' -- value
end
print("Starting conversion")
for _, webURL in pairs(IMAGES) do
-- get the content URL
local contentID = string.match(webURL, "%d+")
local contentURL = "rbxassetid://" .. contentID
local success, result = pcall(function()
local objects = game:GetObjects(contentURL)
return objects[1].Texture
end)
if success then
addEntryToDictionary(webURL, result)
else
addEntryToDictionary(webURL, "Error downloading decal")
end
task.wait()
end
print("Conversion complete")
-- close the dictionary
outputString = outputString .. "\n}"
-- print the dictionary
print(outputString)

IsLoaded

Cuando todos los iniciales Instances en el juego se hayan replicado al cliente, esta función devuelve verdadero.

A menos que sean padres de ReplicatedFirst , LocalScripts no se ejecutan hasta que se haya cargado el juego.El siguiente fragmento, ejecutado desde un LocalScript en ReplicatedFirst produce hasta que el juego se haya cargado:


if not game:IsLoaded() then
game.Loaded:Wait()
end

Vea también:


Devuelve

Si el cliente ha terminado de cargar el juego por primera vez.

Muestras de código

This sample demonstrates a custom loading screen with a basic TextLabel. The code should be placed in a LocalScript within ReplicatedFirst. To expand on this sample with loading screen animations, see the Custom Loading Screens article.

Custom Loading Screen

local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- Create a basic loading screen
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)
textLabel.Font = Enum.Font.GothamMedium
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.Text = "Loading"
textLabel.TextSize = 28
textLabel.Parent = screenGui
-- Parent entire screen GUI to player GUI
screenGui.Parent = playerGui
-- Remove the default loading screen
ReplicatedFirst:RemoveDefaultLoadingScreen()
--wait(3) -- Optionally force screen to appear for a minimum number of seconds
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()

SetPlaceId

()
Seguridad del plugin

Esta función establece la DataModel.PlaceId de la instancia del juego a la ID de lugar dada placeId.

Se requieren ambos DataModel.PlaceId y DataModel.GameId para acceder a DataStoreService cuando el lugar no se publica, por ejemplo, un archivo local .rbxl.Vea a continuación un ejemplo.Tenga en cuenta que ganar acceso DataStoreService desde Studio requiere la configuración Habilitar acceso de Studio a los servicios de API desde el panel Seguridad en Configuración del juego.


local DataStoreService = game:GetService("DataStoreService")
-- acceda al almacén de datos 'Datos' estableciendo PlaceId a placeId y GameId a universeId.
game:SetPlaceId(placeId)
game:SetUniverseId(universeId)
local dataStore = DataStoreService:GetDataStore("Data")

Parámetros

placeId: number

El ID para establecer el DataModel.PlaceId para.

Valor predeterminado: ""

Devuelve

()

SetUniverseId

()
Seguridad del plugin

Esta función establece el DataModel.GameId de la instancia de juego actual al dado universoId.Esto es útil al probar archivos locales .rbxl que no se han publicado en Roblox.

Para acceder al DataStoreService en un lugar no publicado, tanto DataModel:SetUniverseId() como DataModel:SetPlaceId() deben ser establecer.

Parámetros

universeId: number

El ID para establecer el DataModel.GameId para.

Valor predeterminado: ""

Devuelve

()

Eventos

GraphicsQualityChangeRequest

Se enciende cuando el usuario solicita un aumento o disminución de la calidad gráfica usando las teclas de acceso rápido.

Este evento se activa bajo las siguientes condiciones:

  • Si el usuario presiona F10, este evento se activa con un argumento betterQuality de true.
  • Si el usuario presiona ShiftF10 , este evento se activa con un argumento de betterQuality de false .

Este evento no proporciona el nivel actual de calidad gráfica o cubre todas las actualizaciones de la calidad gráfica.Por ejemplo, los cambios realizados en el menú de escape GUI principal no se registran.

Puedes recuperar el Enum.SavedQualitySetting de un usuario usando UserGameSettings con el siguiente fragmento:


UserSettings():GetService("UserGameSettings").SavedQualityLevel

Si las configuraciones gráficas del usuario están establecidas en automático, entonces el Enum.SavedQualitySetting será Automatic .No hay actualmente ninguna forma de que los desarrolladores obtengan de forma confiable el nivel de calidad de gráficos actual de la máquina de un usuario.

Parámetros

betterQuality: boolean

Si el usuario ha solicitado un aumento ( verdadero ) o una disminución ( falsa ) en la calidad de los gráficos.


Muestras de código

Handling User Changes in Graphics Quality

game.GraphicsQualityChangeRequest:Connect(function(betterQuality)
if betterQuality then
print("The user has requested an increase in graphics quality!")
else
print("The user has requested a decrease in graphics quality!")
end
end)

Loaded

Este evento se activa en el cliente cuando todos los iniciales Instances en el juego han terminado de replicarse al cliente.

A menos que sean padres de ReplicatedFirst , LocalScripts no se ejecutan hasta que se haya cargado el juego.El siguiente fragmento, ejecutado desde un LocalScript en ReplicatedFirst produce hasta que el juego se haya cargado:


if not game:IsLoaded() then
game.Loaded:Wait()
end

Vea también: