ReplicatedFirst
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Wadah cuplikan konten ke semua klien (tetapi tidak kembali ke server) pertama sebelum apa pun.
Untuk apa ReplicatedFirst?
ReplicatedFirst paling umum digunakan untuk menyimpan LocalScripts dan objek lain yang penting untuk memulai permainan. Karena konten ReplicatedFirst dikirim ke klien sebelum apa pun di game, itu ideal untuk membuat GUI pemuatan atau tutorial.
Untuk objek yang tidak perlu di replikasi terlebih dahulu, pengembang harus menggunakan kontainer ReplicatedStorage sebagai gantinya.
Bagaimana cara menggunakan ReplicatedFirst?
LocalScripts ditempatkan di dalam ReplicatedFirst akan berjalan. Ini berarti kode untuk layar pemuatan khusus atau kode lainnya dari ReplicatedFirst dapat dijalankan pada titik paling awal.
Ada beberapa pertimbangan kunci yang perlu diingat pengembang ketika mengeksekusi LocalScripts di ReplicatedFirst.
- Isinya berlipat sebelum apa pun di game, berarti LocalScripts yang dijalankan di ReplicatedFirst akan perlu menunggu setiap objek yang mereka butuhkan untuk mereplikasi menggunakan Instance:WaitForChild()
- Objek apa pun yang akan digunakan oleh Class.LocalScript LocalScript di ReplicatedFirst juga harus menjadi orang tua untuk ReplicatedFirst. Jika tidak, mereka mungkin menggandakan ke klien terlambat, menghasilkan skrip dan menolak manfaat ReplicatedFirst.
ReplicatedFirst juga mencakup fungsi ReplicatedFirst:RemoveDefaultLoadingScreen(), yang dapat digunakan untuk segera menghapus layar pemuatan Roblox default. Catat jika objek apa pun telah ditempatkan di ReplicatedFirst, layar pemuatan default akan dihapus setelah 5 detik, terlepas dari apakah fungsi ini telah dipanggil atau tidak.
Contoh Kode
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()
Rangkuman
Metode
Secara langsung menghapus layar pemuatan default Roblox. Catat jika objek apa pun telah ditempatkan di ReplicatedFirst, layar pemuatan default akan dihapus setelah 5 detik apakah fungsi ini telah dipanggil atau tidak.
Properti
Metode
RemoveDefaultLoadingScreen
Secara langsung menghapus layar pemuatan default Roblox. Catat jika objek apa pun telah ditempatkan di ReplicatedFirst, layar pemuatan default akan dihapus setelah 5 detik apakah fungsi ini telah dipanggil atau tidak.
Pengembang harus mengeksekusi fungsi ini dari a LocalScript di ReplicatedFirst, karena skrip di ReplicatedFirst akan dijalankan sebelum apa pun.
Direkomendasikan untuk tidak menghapus layar pemuatan default kecuali jika pengembang ingin menunjukkan layar pemuatan mereka sendiri sebagai alternatif. Jika layar default dihapus tanpa pengguna pengguna alternatif akan dapat melihat pemuatan geometri di latar belakang.
Memberikan nilai
Contoh Kode
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()