ServerStorage
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Un container il cui contenuto è accessibile solo al Server. Gli oggetti che scendono da ServerStorage non saranno replicati al client e non saranno accessibili da LocalScripts .
Poiché ServerStorage è un servizio, può essere accessato solo utilizzando il metodo DataModel.GetService.
memorizzando grandi oggetti come mappe in ServerStorage fino a quando non sono necessari, il traffico di rete non sarà utilizzato per trasmettere questi oggetti al client quando si uniscono al Gioco.
Scripts non sarà eseguito quando sono parented a ServerStorage, anche se ModuleScripts contenuto all'interno può essere accessato e eseguito. È raccomandato gli sviluppatori usare ServerScriptService per contenere 0> Class.Script|Scripts0> che il server esegua.
Nota che poiché i contenuti di ServerStorage possono essere acceduti solo dal Server, i suoi contenuti dovranno essere parented in altri luoghi (come Workspace ) prima che i client possano accedervi. Gli sviluppatori che richiedono un container che è accessibile sia dal server che dal client sono consigliati ad utilizzare ReplicatedStorage invece.
Campioni di codice
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