DataModel
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Model data (biasanya dikenal sebagai setelah variabel global yang digunakan untuk mengaksesnya) adalah akar dari hierarki orangtua-anak Roblox.Anak-anak langsungnya adalah layanan, seperti Workspace dan Lighting , yang bertindak sebagai komponen dasar dari gameRoblox.
Contoh Kode
Demonstrates using game, the root instance of DataModel, to get services such as Workspace and Lighting.
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
-- Examples of modifying properties of these services
Workspace.Gravity = 20
Lighting.ClockTime = 4
Rangkuman
Properti
Menggambarkan ID pengguna atau kelompok yang memiliki tempat.
Menggambarkan Enum.CreatorType tempat, apakah tempat itu dimiliki oleh pengguna atau grup.
Menggambarkan ID pengalaman yang tempat berjalan di server milik.
Tidak berfungsi. Secara historis menggambarkan Enum.Genre tempat sebagai yang ditetapkan di situs web Roblox.
Pengenal unik untuk instans server permainan yang berjalan.
Mewakili bagaimana pemain di server ditangani oleh pencocokan.
Menggambarkan ID tempat yang berjalan di server.
Menggambarkan versi tempat di mana server berjalan.
Menggambarkan ID server pribadi dari server, jika server adalah server pribadi atau reserved server .
Menggambarkan UserId dari Player yang memiliki server pribadi jika server privat.
Referensi ke layanan Workspace .
Metode
Mengikat fungsi untuk dipanggil sebelum server dimatikan.
Kembalikan tabel yang berisi informasi dasar tentang pekerjaan yang dilakukan oleh jadwal tugas.
Kembalikan array dari Instances yang terkait dengan URL konten yang diberikan.
Kembali benar jika klien telah selesai memuat permainan untuk pertama kalinya.
Tetapkan DataModel.PlaceId dari instansi permainan saat ini ke placeId yang diberikan.
Atur DataModel.GameId dari instansi permainan saat ini ke universeId yang diberikan.
Kembalikan layanan yang ditentukan oleh kelas yang diberikan jika sudah dibuat, kesalahan untuk nama yang tidak valid.
Kembalikan layanan dengan nama kelas yang diminta, membuatnya jika tidak ada.
Acara
Melepaskan api saat pengguna meminta dan meningkatkan atau menurunkan kualitas grafis menggunakan tombol pintas.
Api pada klien saat permainan selesai dimuat untuk pertama kalinya.
Melepaskan api saat tempat saat ini dikeluarkan.
Ditembak ketika layanan dibuat.
Ditembak ketika layanan akan dihapus.
Properti
CreatorId
Properti ini menggambarkan ID pengguna atau kelompok yang memiliki tempat.Jika properti DataModel.CreatorType adalah 'Pengguna' maka CreatorId akan menjadi Player.UserId pemilik tempat.Jika DataModel.CreatorType adalah 'Kelompok' maka CreatorId akan menjadi ID kelompok yang memiliki tempat itu.
Contoh Kode
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
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
Properti ini menggambarkan Enum.CreatorType tempat, apakah tempat itu dimiliki oleh pengguna atau grup.
Jika Enum.CreatorType adalah 'Pengguna' , maka properti DataModel.CreatorId akan menggambarkan UserId akun yang memiliki game.Jika CreatorType adalah 'Grup' , maka akan menjelaskan ID grup.
Contoh Kode
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
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
GameId
Properti ini menggambarkan ID pengalaman yang tempat berjalan di server milik.
Lihat Juga
- DataModel.PlaceId , yang menggambarkan ID tempat yang dijalankan di server
- DataModel.JobId , yang merupakan identifikasi unik untuk instans permainan server yang berjalan
- TeleportService , yang merupakan layanan yang dapat digunakan untuk mengangkut Players di antara game
Genre
Properti ini rusak dan tidak boleh digunakan.
Properti ini secara historis menggambarkan Enum.Genre tempat sebagai yang ditetapkan di situs web Roblox.
Properti ini, bersama dengan DataModel.GearGenreSetting , tidak lagi berfungsi dengan benar karena genre yang ada di situs Roblox yang tidak tercermin dalam Enum.Genre enum.Sebagai hasilnya, mencoba membaca properti ini dapat menyebabkan kesalahan.
JobId
Properti ini adalah identifikator unik untuk kejadianserver permainan yang berjalan.Ini adalah identifikasi unik secara universal (UUID), artinya tidak ada dua server, masa lalu atau sekarang, yang akan pernah memiliki ID yang sama.
Biasanya ke string kosong di Studio.
Lihat Juga
- TeleportService:GetPlayerPlaceInstanceAsync() yang dapat digunakan untuk mengambil kembali DataModel.JobId dari server saat ini pengguna.
- TeleportService:TeleportToPlaceInstance() yang dapat digunakan untuk teleport Player ke server tertentu.
- DataModel.PrivateServerId menjelaskan ID server pribadi yang dimiliki instansi server game.
- HttpService:GenerateGUID() , fungsi yang dapat digunakan untuk menghasilkan UUID Anda sendiri.
MatchmakingType
Properti ini mewakili bagaimana pemain di server ditangani oleh pencocokan.Pemain dengan berbeda MatchmakingTypes tidak dapat berada di atau berteleportasi ke server yang sama.
Perhatikan bahwa properti ini hanya valid di server DataModel dan itu akan menjadi nilai Enum.MatchmakingType.Default untuk semua klien, jadi hanya merujukkan properti ini di dalam sisi server Script.
PlaceId
Properti ini menggambarkan ID tempat yang berjalan di server.
Jika tempat tersebut belum dipublikasikan ke Roblox, ID ini akan sesuai dengan templat yang digunakan.
Lihat Juga
- DataModel.GameId , yang menggambarkan ID pengalaman yang tempat saat ini terkait
- DataModel.JobId , yang merupakan identifikasi unik untuk instans permainan server yang berjalan
- TeleportService , yang merupakan layanan yang dapat digunakan untuk mengangkut Players antara tempat
PlaceVersion
Properti ini menggambarkan versi tempat di mana server berjalan.
Angka versi ini sesuai dengan nomor versi yang ditampilkan di bawah bagian Histori Versi dari pengaturan tempat.Ini bukan versi saat ini dari klien Roblox.Properti ini adalah 0 untuk semua pengalaman yang belum dipublikasikan.
Ketika instansi server dibuat untuk tempat, ia menggunakan versi saat ini dari tempat itu.Jika tempat itu nanti diperbarui saat server ini berjalan, server akan tetap pada versi saat ini.
Properti ini dapat digunakan untuk menampilkan ScreenGui versi game saat ini ke Players untuk membantu debugging.
Contoh Kode
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.
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
Properti ini menjelaskan ID server pribadi dari server, jika server adalah server pribadi.
Jika server bukan server pribadi, maka properti ini akan menjadi string kosong.
Server pribadi
Server pribadi merujuk pada hal mengikuti:
- Server pribadi yang dapat dibeli pengguna dari halaman permainan
- Server yang disimpan, server pribadi yang dibuat oleh pengembang menggunakan TeleportService:ReserveServer()
PrivateServerId vs JobId
PrivateServerId dari server berbeda dari DataModel.JobId. The JobId adalah identifikator unik dari kejadianserver saat ini.
Server pribadi (server pribadi atau reservasi) dapat memiliki beberapa instans server yang terkait dengan mereka seiring waktu.Ini karena, meskipun hanya satu instansi server yang dapat berjalan sekaligus untuk server pribadi, instans server baru dapat dibuka dan ditutup saat pemain bergabung dan meninggalkan game.Sebagai contoh, tidak ada instansi server yang berjalan saat tidak ada yang bermain di server.PrivateServerId akan konsisten di semua instans server ini, dan DataModel.JobId akan unik untuk masing-masing.
Lihat juga:
- DataModel.PrivateServerOwnerId , properti yang menggambarkan pemilik server pribadi
- TeleportService:ReserveServer() , fungsi yang membuat server cadangan
Contoh Kode
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.
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
Properti ini menggambarkan UserId dari Player yang memiliki server pribadi jika server privat.
Jika server adalah server standar atau tersimpan maka properti ini akan ditetapkan ke 0.
Properti ini dapat digunakan untuk mengidentifikasi apakah Player adalah pemilik server pribadi, misalnya:
local Players = game:GetService("Players")
-- apakah ini server pribadi?
if game.PrivateServerId ~= "" and game.PrivateServerOwnerId ~= 0 then
-- dengarkan pemain baru yang ditambahkan
Players.PlayerAdded:Connect(function(player)
-- periksa apakah pemain adalah pemilik server
if player.UserId == game.PrivateServerOwnerId then
print("The private server owner has joined the game")
end
end)
end
Lihat juga:
- DataModel.PrivateServerId , sebuah properti yang menggambarkan ID unik dari pribadi dan reserved servers
Contoh Kode
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.
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())
Metode
BindToClose
Mengikat fungsi untuk dipanggil sebelum server dimatikan.Jika fungsi terikat menerima parameter, ia mengirimkan Enum.CloseReason menyebutkan alasan penutupan server.
Anda dapat mengikat beberapa fungsi dengan memanggil BindToClose() berulang kali. Fungsi yang terikat dipanggil secara paralel dan dijalankan pada saat yang sama.
Server pengalaman menunggu 30 detik untuk semua fungsi terikat berhenti berjalan sebelum ditutup.Setelah 30 detik, server dimatikan bahkan jika fungsi masih berjalan.
Untuk memverifikasi bahwa sesi saat ini tidak ada di Roblox Studio, gunakan RunService:IsStudio() .Ini mencegah fungsi terikat menyelesaikan eksekusi mereka di sesi pengujian offline.
Ketika Anda menggunakan DataStoreService , Anda juga harus menggunakan BindToClose untuk mengikat fungsi yang menyimpan semua data yang belum disimpan ke DataStores .Ini mencegah kerusakan data jika server dimatikan secara tidak terduga.
Lihat juga:
- Enum.CloseReason untuk alasan penutupan server pengalaman.
- PluginGui:BindToClose() , yang mengikat fungsi ke tombol tutup PluginGui .
Parameter
Fungsi yang dipanggil sebelum server pengalaman ditutup.Jika fungsi terikat menerima parameter, ia mengirimkan Enum.CloseReason menyebutkan alasan penutupan server.
Memberikan nilai
Contoh Kode
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.
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.
game:BindToClose(function(closeReason)
print(`Closing with reason {closeReason}`)
task.wait(3)
print("Done")
end)
GetJobsInfo
Kembalikan tabel yang berisi informasi dasar tentang pekerjaan yang dilakukan oleh jadwal tugas.
Dalam komputasi, penjadwal tugas adalah sistem yang bertanggung jawab untuk mengeksekusi tugas kunci pada interval yang tepat.
Anda juga dapat menemukan statistik penjadwal tugas langsung di jendela Jadwal Tugas di Roblox Studio.
Entri pertama di tabel yang dikembalikan adalah kamus referensi yang berisi statistik (atau judul) yang tersedia. Ini dalam format berikut:
{["name"] = "name",["averageDutyCycle"] = "averageDutyCycle",["averageStepsPerSecond"] = "averageStepsPerSecond",["averageStepTime"] = "averageStepTime",["averageError"] = "averageError",["isRunning"] = "isRunning",}
Entri berikutnya di tabel yang dikembalikan adalah kamus yang berisi statistik di atas untuk pekerjaan yang dilakukan oleh penjadwal tugas. Misalnya:
{["name"] = "Heartbeat",["averageDutyCycle"] = 0,["averageStepsPerSecond"] = 0,["averageStepTime"] = 0,["averageError"] = 0,["isRunning"] = false,}
Lihat juga:
Memberikan nilai
Meja yang berisi informasi tentang pekerjaan yang dilakukan oleh penjadwal tugas, lihat di atas untuk formatnya.
Contoh Kode
Here is an example of iterating over the job 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
Metode ini mengembalikan array Instances yang terkait dengan URL konten yang diberikan.Ini dapat digunakan untuk menyisipkan konten dari perpustakaan Roblox.Tidak mungkin untuk menyisipkan Sounds menggunakan metode ini karena mereka tidak memiliki Instance yang terkait dengan mereka dan hanya memiliki URL konten.
Tidak seperti InsertService:LoadAsset() , DataModel:GetObjects() tidak memerlukan aset untuk "dipercaya," yang berarti bahwa aset tidak perlu dimiliki oleh pengguna yang masuk, atau dibuat oleh Roblox, untuk dimasukkan.Namun, jika aset tidak dimiliki oleh pengguna yang masuk, itu harus tersedia secara gratis.
Karena konteks keamanan fungsi ini hanya dapat digunakan oleh plugin atau bilah perintah.Untuk alternatif yang dapat digunakan di Scripts dan LocalScripts , lihat InsertService:LoadAsset() .
Parameter
URL konten yang diberikan.
Memberikan nilai
Sebuah array dari Instances terkait dengan URL konten.
Contoh Kode
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.
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.
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
Ketika semua awal Instances di dalam permainan telah selesai mereplikasi ke klien, fungsi ini akan kembali benar.
Kecuali mereka diparentkan ke ReplicatedFirst , LocalScripts tidak dijalankan sampai game dimuat.Potongan berikut, dijalankan dari LocalScript di ReplicatedFirst menghasilkan sampai permainan dimuat:
if not game:IsLoaded() thengame.Loaded:Wait()end
Lihat juga:
- Urutan replikasi untuk ringkasan lebih terperinci tentang proses pemuatan.
- DataModel.Loaded , sebuah peristiwa yang terbakar saat permainan telah dimuat
- Instance:WaitForChild() , fungsi yang dapat digunakan untuk menunggu individu Instance untuk mereplikasi tanpa harus menunggu seluruh permainan selesai dimuat.
Memberikan nilai
Apakah klien telah selesai memuat permainan untuk pertama kalinya.
Contoh Kode
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.
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
Fungsi ini menetapkan DataModel.PlaceId dari instansi permainan ke tempatId yang diberikan.
Mengatur kedua DataModel.PlaceId dan DataModel.GameId diperlukan untuk mengakses DataStoreService ketika tempat tidak dipublikasikan, misalnya file lokal .rbxl.Lihat di bawah ini untuk contoh.Perhatikan bahwa mendapatkan akses DataStoreService dari Studio memerlukan pengaturan Aktifkan Akses Studio ke Layanan API dari panel Keamanan di Pengaturan Permainan.
local DataStoreService = game:GetService("DataStoreService")-- akses DataStore 'Data' dengan menetapkan PlaceId ke placeId dan GameId ke universeId.game:SetPlaceId(placeId)game:SetUniverseId(universeId)local dataStore = DataStoreService:GetDataStore("Data")
Parameter
ID untuk mengatur DataModel.PlaceId untuk.
Memberikan nilai
SetUniverseId
Fungsi ini menetapkan DataModel.GameId dari instansi permainan saat ini ke universeId yang diberikan.Ini berguna saat menguji file lokal .rbxl yang belum dipublikasikan ke Roblox.
Untuk mengakses DataStoreService di tempat yang belum dipublikasikan, kedua DataModel:SetUniverseId() dan DataModel:SetPlaceId() harus diatur.
Parameter
ID untuk mengatur DataModel.GameId untuk.
Memberikan nilai
Acara
GraphicsQualityChangeRequest
Melepaskan api saat pengguna meminta peningkatan atau penurunan kualitas grafis menggunakan tombol pintas.
Acara ini terjadi di bawah kondisi berikut:
- Jika pengguna menekan F10 , acara ini terbakar dengan argumen betterQuality dari true.
- Jika pengguna menekan ShiftF10 , acara ini terbakar dengan argumen betterQuality``false .
Acara ini tidak menyediakan tingkat kualitas grafis saat ini atau menutupi semua pembaruan kualitas grafis.Sebagai contoh, perubahan yang dibuat di menu pelarian GUI inti tidak terdaftar.
Anda dapat memulihkan Enum.SavedQualitySetting pengguna menggunakan UserGameSettings dengan potongan berikut:
UserSettings():GetService("UserGameSettings").SavedQualityLevel
Jika pengaturan grafis pengguna diatur ke otomatis maka Enum.SavedQualitySetting akan menjadi Automatic .Tidak ada cara saat ini bagi pengembang untuk mendapatkan dengan andal tingkat kualitas grafis saat ini dari mesin pengguna.
Parameter
Apakah pengguna telah meminta peningkatan ( benar ) atau penurunan ( palsu ) dalam kualitas grafis.
Contoh Kode
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
Peristiwa ini terjadi pada klien saat semua awal Instances dalam permainan telah selesai mereplikasi ke klien.
Kecuali mereka diparentkan ke ReplicatedFirst , LocalScripts tidak dijalankan sampai game dimuat.Potongan berikut, dijalankan dari LocalScript di ReplicatedFirst menghasilkan sampai permainan dimuat:
if not game:IsLoaded() thengame.Loaded:Wait()end
Lihat juga:
- Urutan replikasi untuk ringkasan lebih terperinci tentang proses pemuatan.
- DataModel.Loaded , sebuah peristiwa yang terbakar saat permainan telah dimuat
- Instance:WaitForChild() , fungsi yang dapat digunakan untuk menunggu individu Instance untuk mereplikasi tanpa harus menunggu seluruh permainan selesai dimuat.