ServerStorage

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Tidak Dapat Dibuat
Layanan
Tidak Direplikasi

Wadah yang isinya hanya dapat diakses di server.Objek yang turun dari ServerStorage tidak akan direplikasi ke klien dan tidak akan dapat diakses dari LocalScripts .

Karena ServerStorage adalah layanan, hanya dapat diakses menggunakan metode DataModel.GetService.

Dengan menyimpan objek besar seperti peta di ServerStorage sampai mereka dibutuhkan, lalu lintas jaringan tidak akan digunakan untuk mengirimkan objek ini ke klien saat mereka bergabung dengan game.

Scripts tidak akan dijalankan saat mereka diberikan ke ServerStorage, meskipun ModuleScripts dapat diakses dan dijalankan.Disarankan pengembang menggunakan ServerScriptService untuk menyimpan Scripts yang mereka ingin server jalankan.

Perhatikan bahwa karena konten ServerStorage hanya dapat diakses oleh server, kontennya harus diparentkan di tempat lain (seperti Workspace ) sebelum klien dapat mengaksesnya.Pengembang yang membutuhkan kontainer yang dapat diakses oleh server dan klien disarankan menggunakan ReplicatedStorage sebagai gantinya.

Contoh Kode

This is a very simple example of how a multiple map system can be made using ServerStorage.

It creates three dummy models (to take the place of maps), that are parented to ServerStorage. Then, it will load a random map (different to the previous map) and wait a specified duration on a loop.

Developers wishing to integrate something similar into their games should consider measures to ensure players respawn correctly, or go to a lobby during intermission periods.

ServerStorage Map Rotation

local ServerStorage = game:GetService("ServerStorage")
local ROUND_TIME = 5
local map1 = Instance.new("Model")
map1.Name = "Map1"
map1.Parent = ServerStorage
local map2 = Instance.new("Model")
map2.Name = "Map2"
map2.Parent = ServerStorage
local map3 = Instance.new("Model")
map3.Name = "Map3"
map3.Parent = ServerStorage
local maps = { map1, map2, map3 }
local RNG = Random.new()
local currentMap = nil
local lastPick = nil
while true do
print("New map!")
-- remove current map
if currentMap then
currentMap:Destroy()
end
-- pick a map
local randomPick = nil
if #maps > 1 then
repeat
randomPick = RNG:NextInteger(1, #maps)
until randomPick ~= lastPick
lastPick = randomPick
end
-- fetch new map
local map = maps[randomPick]
currentMap = map:Clone()
currentMap.Parent = workspace
task.wait(ROUND_TIME)
end

Properti

Metode

Acara