DataModel
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Veri Modeli (genellikle game olarak bilinir), Roblox'un ebeveyn-çocuk hierarşisinin köküdür. Doğrudan çocukları, hizmetler, örneğin game ve Workspace, Roblox oyununun temel bileşenleridir.
Kod Örnekleri
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
-- Examples of modifying properties of these services
Workspace.Gravity = 20
Lighting.ClockTime = 4
Özet
Özellikler
dünyasahibi olan kullanıcının veya grubun ID'sini açıklar.
Yerin sahibi bir kullanıcı veya bir grup olup olmadığını Enum.CreatorType olarak dünyaiçinde tarif eder.
Server'ın üzerinde çalışan yerin ID'sini açıklar.
Fonksiyonel değil. Eski bir yerin Enum.Genre 'ini Roblox sitesinde ayarlanan olarak tarif ediyor.
Çalışan oyun sunucu durumiçin benzersiz bir tanımlayıcı.
Sunucuda çalışan yerin ID'sini açıklar.
Sunucunun üzerinde çalıştığı yerin versiyonunu açıklar.
Sunucunun özel sunucu kimliğini açıklar, özel sunucu veya bir reserved server ise.
Class.Player.UserId|userId ile Player 'ın özel sunucusu iflası durumunda özel sunucunun sahibi olduğunu açıklar.
Class.Workspace hizmetine bir referans.
Yöntemler
Sunucu kapatılmadan önce bir işlev bağlar.
Görev planlayıcı tarafından yapılan görevlerin temel bilgilerini içeren bir tabloyu döndürür.
Verilen içerik URL ile bağlantılı Instances bir matrisi iade eder.
Client oyunu ilk kez yüklemeyi tamamladığında geri döner.
Mevcut oyun instanının DataModel.PlaceId 'ini verilen placeId ile ayarlar.
Mevcut oyun instanının DataModel.GameId 'ini verilen universeId 'e ayarlar.
Zaten oluşturulmuşsa verilen kullanıcı adına özel hizmeti döndürür, geçersiz bir isim için hatalar oluşur.
İstek edilen klas ismiyle hizmeti geri döndürür, mevcut değilse oluşturur.
Etkinlikler
Kullanıcının isteği üzerine ateşlenir veya grafik kalitesini artırabilir veya azaltabilir.
Oyun ilk kez yüklendiğinde oyunu yükleyen istemcide yanar.
Mevcut yerden çıktığında ateş eder.
Bir hizmet oluşturulduğunda ateşlenir.
Bir hizmet yaklaşık olarak kaldırılmaya çalışıldığında başlatılır.
Özellikler
CreatorId
Bu özellik, dünyasahibi olan kullanıcı veya grubun ID'sini açıklar. DataModel.CreatorType özelliği Kullanıcı olsa, Player.UserId sahibi grubun ID'si olur. 2>Class.DataModel.Creat
Kod Örnekleri
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
Bu özellik, dünyabir kullanıcı veya bir grup tarafından sahip olup olmadığını açıklar.
Eğer Enum.CreatorType'Kullanıcı' ise, DataModel.CreatorId özelliği oyunun sahibi olan hesabın 1> Class.Player.UserId|UserId1> 'sınıfını açıklayacaktır. Eğer 4>CreatorType4> 7>Grup
Kod Örnekleri
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)
GameId
Bu özellik, sunucuda çalışan yerin kimliğini tanımlar.
Bu, Roblox Studio'daki sağ üst köşedeki Varlık Yöneticisi içinde bulunabilir. Roblox Studio'yu kullanırken, yer Roblox'a yayınlanmamışsa, GameId kullanılıyor.
Ayrıca bakınız:
- DataModel.PlaceId , sunucuda çalışan yerin ID'sini açıklar
- DataModel.JobId , sunucu oyun istemesi için benzersiz bir kimlik
- TeleportService , oyunlar arasında Players taşıma hizmetidir
Genre
Bu özellik kırık ve kullanılmamalıdır.
Bu özellik, alanın Roblox sitesinde belirlenen Enum.Genre 'ini açıklar.
Bu özellik, DataModel.GearGenreSetting ile birlikte, artık Roblox web sitesinde mevcut olan türler nedeniyle doğru olarak işlev göstermiyor. Sonuç sonuç, bu özelliği okumaya çalışmak bir hata yapabilir.
JobId
Bu özellik, çalışan oyun sunucu istemcisi için benzersiz bir kimliktir. Bu, her iki sunucunun, geçmiş veya mevcut olup aynı kimliğe sahip olmayacağı anlamına gelir (UUID), yani her iki sunucunun aynı kimliğe sahip olmayacağının garantisi.
Studio'da boş bir yüzey için varsayılır.
Ayrıca bakın
- TeleportService:GetPlayerPlaceInstanceAsync() kullanıcının mevcut sunucusunun DataModel.JobId ını geri almak için kullanılabilir.
- TeleportService:TeleportToPlaceInstance() , bir Player 'ı belirli bir sunucuya ışınlamak için kullanılabilir.
- DataModel.PrivateServerId oyun sunucu istemcisi tarafından kullanılan özel sunucunun kimliğini açıklar.
- HttpService:GenerateGUID() , kendi UUID'lerinizi oluşturmak için kullanılan bir işlev.
PlaceId
Bu özellik, sunucuda çalışan yerin ID'sini açıklar.
Yer Roblox'a yayınlandıysa, bu ID Studio'nun Yer Yöneticisi ile sağ tıklayarak yerin içindeki Yerler klasına tıklayarak bulunabilir ve ID'yi Klipboard'a Kopyala seçeneğini seçerek kopyalanabilir.
Yer Roblox'a yayınlanmadıysa, bu ID kullanılan şablona eşdeğer olacaktır.
Ayrıca bakın
- DataModel.GameId , mevcut yerin ait olduğu deneyimin ID'sini açıklar
- DataModel.JobId , sunucu oyun istemesi için benzersiz bir kimlik
- TeleportService , bir yer arasında Players taşımak için kullanılan bir hizmet
PlaceVersion
Bu özellik, sunucunun üzerinde çalıştığı yerin versiyonunu açıklar.
Bu sürüm numarası, dünya Sürüm Tarihi bölümündeki gösterilen versiyon numarasıyla eşdeğerdir. Bu, Roblox'un kullanıcılarına sahip olmayan tüm yayınlanmamış deneyimlerin mevcut versiyonu değildir. Bu özellik 0 için tüm yayınlanmamış deneyimler için geçerlidir.
Bir dünyaiçin bir sunucu istemi oluşturulduğunda, dünyamevcut versiyonunu kullanır. Yer bu sunucu'nun çalışırken daha sonra güncellenirse, sunucu mevcut versiyonunu korur.
Bu özellik, ScreenGui ı göstererek oyunun mevcut versiyonunu Players 'e yardımcı olacak şekilde gösterilir.
Kod Örnekleri
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
Bu özellik, sunucunun özel sunucu kimliğini açıklar, eğer özel bir sunucuysa.
Eğer sunucu özel bir sunucu değilse, bu özellik boş bir diziolacaktır.
Özel sunucular
Özel sunucular takip edilenişaret eder:
- ReserveServerTeleportService:ReserveServer() kullanılarak oluşturulan özel sunuculardır
PrivateServerId vs JobId
Bir sunucunun özel sunucu kimliği DataModel.JobId ile farklıdır. JobId şu andaki sunucu istemcisi kimliğidir.
Özel sunucularda (genel veya rezerve sunucularda) zamanla birden fazla sunucu instansı bulunabilir. Bu, çünkü, sadece bir sunucu instansı aynı anda çalışabilir, ancak yeni sunucu instansları oyuncuların katılıp ayrılmasıyla açılabilir ve kapatılabilir. Örneğin
Ayrıca bakınız:
- DataModel.PrivateServerOwnerId , bir özel sunucunun sahibini tanımlayan bir özelliktir
- TeleportService:ReserveServer() , bir rezerv sunucu oluşturan bir işlev
Kod Örnekleri
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
Bu özellik, private server if the server is private sahibi Class.Playernın sahibi olduğu 2> Class.Player.UserId|UserId2> özelliğini tarif eder.
Eğer sunucu standart veya yedek sunucuysa bu özellik 0 olarak ayarlanacaktır.
Bu özellik, bir Player ın özel sunucunun sahibi olduğunu belirlemek için kullanılabilir, örneğin:
local Players = game:GetService("Players")
-- bu özel bir sunucu mu?
if game.PrivateServerId ~= "" and game.PrivateServerOwnerId ~= 0 then
-- yeni oyuncuların eklenmesini dinleyin
Players.PlayerAdded:Connect(function(player)
-- oyuncunun sunucu sahibi olduğunu kontrol et
if player.UserId == game.PrivateServerOwnerId then
print("The private server owner has joined the game")
end
end)
end
Ayrıca bakınız:
- DataModel.PrivateServerId , özel ve reserved servers
Kod Örnekleri
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
Çalışma Alanı özelliği, Workspace hizmetine bir referanstır.
Bu özellik her zaman Workspace ile ilgili olacak ve asla nul olmayacak.
Class.Workspace ile ayrıca global ortam değişkeni workspace ve ServiceProvider:GetService() işlevi kullanılarak erişilebilir. Örneğin:
workspace -- küresel bir değişkengame.Workspace -- DataModel (oyun)game:GetService("Workspace") -- workspace is a service
Yöntemler
BindToClose
Sunucunun kapatılmasından önce çağırılacak bir işlev bağlar. Eğer bağlanmış işlev bir parametre kabul ederse, sunucunun kapatılmasının nedenini belirtir Enum.CloseReason .
Class.DataModel:BindToClose()|BindToClose() çağırılarak birden fazla işlev bağlayabilirsiniz. Bağlayıcı işlevler paralel olarak çağrılır ve aynı anda yürütülür.
Deneyim sunucusu, tüm bağlantılı işlevlerin çalışmasını sona erdirmeden önce 30 saniye bekler. 30 saniye sonra, işlevler hala çalışıyorsa bile sunucu kapatılır.
Mevcut oturumun Roblox Studio'da olmadığını doğrulamak için şunları kullanın: RunService:IsStudio(). Bu, bağlı işlevlerin offline test seanslarında çalışmasını engeller.
Class.DataStoreService kullandığınızda, ayrıca BindToClose kullanarak tüm kaydedilmemiş verileri DataStores 'a bağlamalısınız. Bu, sunucunun beklenmedik şekilde kapatılması durumunda veri kaybını önler.
Ayrıca bakınız:
- Enum.CloseReason nedeniyle deneyim sunucusu kapatılışı için sebepler.
- PluginGui:BindToClose() , bir işlevi bir PluginGui kapatma düğmesine bağlar.
Parametreler
Deneyim sunucusu kapatılana kadar çağırılan bir işlev. Eğer bağlı işlev bir parametreyi kabul ederse, Enum.CloseReason kapağının nedenini belirtir.
Dönüşler
Kod Örnekleri
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)
game:BindToClose(function(closeReason)
print(`Closing with reason {closeReason}`)
task.wait(3)
print("Done")
end)
GetJobsInfo
Görev planlayıcı tarafından yapılan görevlerin temel bilgilerini içeren bir tabloyu döndürür.
Bir görev planlayıcı, uygun aralarda anahtar görevleri yerine getiren bir sistemdir.
Ayrıca Roblox Studio'daki Görev Takvimi penceresinde de canlı görev planlayıcı istatistiklerini bulabilirsiniz.
Tablodaki ilk giriş, mevcut istatistikleri (başlıkları) içeren bir referans sözlüğüdür. Aşağıdaki biçimde bulunur:
{["name"] = "name",["averageDutyCycle"] = "averageDutyCycle",["averageStepsPerSecond"] = "averageStepsPerSecond",["averageStepTime"] = "averageStepTime",["averageError"] = "averageError",["isRunning"] = "isRunning",}
Aşağıdaki girdiler tabloda işlenen görev yapıcının üstteki istatistiklerini içeren sözlüklerdir. Örneğin:
{["name"] = "Heartbeat",["averageDutyCycle"] = 0,["averageStepsPerSecond"] = 0,["averageStepTime"] = 0,["averageError"] = 0,["isRunning"] = false,}
Ayrıca bakınız:
Dönüşler
Görev planlayıcısı tarafından yapılan görevlerin içeriğini içeren bir tablo, aşağıdaki biçim için üstte görüntülenir.
Kod Örnekleri
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
Bu yöntem, Instances ile verilen içerik URL'siyle ilişkili bir dizi içeriği geri döndürür. Roblox kütüphanesiyle içerikleri Roblox kütüphanesiyle ilişkili olarak gösterir. Bu yöntem, Sounds kullanılarak içeriği Roblox kütüphanes
Class.InsertService:LoadAsset() , DataModel:GetObjects() gibi, bir varlığı "güvenli" olarak yüklemeye gerek yoktur, yani bir varlığın sahibi olması gerekmez veya Roblox tarafından oluşturulması gerekmez. Ancak, varlığın sahibi olmadığı durumda, onu özgürce kullanılabilir olar
Bu işlevin güvenlik konteynerine, sadece pluginler veya komut çubuğu tarafından kullanılabilir. Scripts ve LocalScripts alternatifleri için, InsertService:LoadAsset() ı görüntüleyin.
Parametreler
Verilen içerik URL'si.
Dönüşler
İçerik URL'siyle bağlantılı Instances bir matrisi.
Kod Örnekleri
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)
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
Bu işlev, eğer müşteri oyunu ilk kez yüklediğinde oyunu yüklemeyi tamamladığında geri döndüğünü ifade eder.
Oyundaki tüm ilk Instances sahipleri kopyalanmış olana kadar bu işlev geri dönecektir.
Onlar ReplicatedFirst ile ebeveyn olmadığı takdirde, LocalScripts oyun yüklenmediğinde çalışmaz. Aşağıdaki kod, bir LocalScript 从 a 1> Class.ReplicatedFirst1> içinde çalışacak şekilde yürürlüğe koyacak:
if not game:IsLoaded() thengame.Loaded:Wait()end
Ayrıca bakınız:
- DataModel.Loaded , oyun yüklendiğinde çalışan bir etkinlik
- Instance:WaitForChild() , bir bireysel Instance'i yeniden oluşturmak için beklemek zorunda kalmadan yeniden oluşturmak için kullanılan bir işlev
Dönüşler
Müşterinin oyunu ilk kez yüklediği zaman.
Kod Örnekleri
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
Bu işlev, oyun örneğinin DataModel.PlaceId'ını placeId ile verilen yere ayarlar.
Yer yayınlanmadan önce yerin DataModel.PlaceId ile yerleştirilmesi gerekir. Örneğin bir yerin DataModel.GameId ile yerle
local DataStoreService = game:GetService("DataStoreService")-- Yerleştirmeye PlaceId yerleştirme kayıdını ve OyunID'i kullanarak "Data" DataStore'a erişim.game:SetPlaceId(placeId)game:SetUniverseId(universeId)local dataStore = DataStoreService:GetDataStore("Data")
Parametreler
Class.DataModel.PlaceId ile ayarlanan Class.DataModel.PlaceId
Dönüşler
SetUniverseId
Bu işlev, mevcut oyun instanının DataModel.GameId 'ini verilen evrenId 'ine ayarlar. Bu, Roblox'a yayınlanmayan yerel .rbxl dosyalarını test ettiğinizde yararlıdır.
Yayınlanmayan bir dünyaDataStoreService 'e erişebilmek için, hem Class.DataModel:SetUniverseId() hem de Class.DataModel:SetPlaceId() 'i ayarlanmalıdır.
Parametreler
Class.DataModel.GameId ile ayarlanan Class.DataModel.GameId
Dönüşler
Etkinlikler
GraphicsQualityChangeRequest
Kullanıcının hotkey'leri kullanarak grafik kalitesinde bir artış veya azalma istediğinde ateş eder.
Bu etkinlik aşağıdaki koşullar altında başlar:
- Kullanıcı F10 tuşuna basarsa, bu olay betterQuality ile true ile ilgili bir 0>argümanı0> kullanarak başlar.
- Kullanıcı ShiftF10 tuşlarına basarsa, bu olay betterQuality bir 0> force0> ile başlar.
Bu etkinlik mevcut grafik kalitesi seviyesini sağlamaz veya tüm grafik kalitesi güncellemelerine kayıt getirmez. Örneğin, çekirdek GUI kaçış menüsünde yapılan değişiklikler kaydedilmez.
Bir kullanıcının Enum.SavedQualitySetting ını kullanarak şu kodla alabilirsiniz:
UserSettings():GetService("UserGameSettings").SavedQualityLevel
Kullanıcının grafik ayarları otomatik olarak belirlenmişse, Enum.SavedQualitySetting``Enum.SavedQualitySetting.Automatic|Automatic olacaktır. Kullanıcının makinesinin mevcut grafik kalitesi seviyesine güvenilir bir şekilde erişebilmenin hiçbir yolu yoktur.
Parametreler
Kullanıcı grafik kalitesinde bir artış ( doğru ) veya bir azalma ( yanlış ) istediği olup olmadığı.
Kod Örnekleri
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
Bu olay oyun ilk kez yüklendiğinde müşteride çalışır.
Oluşturulan etkinliği tüm oyun içindeki ilk Instances oluşturma işlemi tamamlandığında çalıştırılır.
Onlar ReplicatedFirst ile ebeveyn olmadığı takdirde, LocalScripts önce bu etkinlik başladığında çalışmaz. Aşağıdaki kod, LocalScript ile başlayan bir 1>Class.LocalScript1> 'den gelir, oyun yüklendiğinde iletkenin yüklenmesi için
if not game:IsLoaded() thengame.Loaded:Wait()end
Ayrıca bakınız:
- DataModel:IsLoaded() , oyun yüklendiğinde veya yüklenmediğinde dönüşen bir işlev
- Instance:WaitForChild() , bir oyunun tümü yüklenmeden önce beklemek zorunda kalmadan bir Instance'i beklemek için kullanılan bir işlev.