ServerStorage

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile
Assistenza
Non Replicato

Un container il cui contenuto è accessibile solo sul Server.Gli oggetti che scendono da ServerStorage non si replicano al client e non sono accessibili da LocalScripts .

Poiché ServerStorage è un servizio, può essere accessato solo utilizzando il metodo DataModel.GetService.

Memorando grandi oggetti come le mappe in ServerStorage fino a quando non sono necessari, il traffico di rete non verrà utilizzato per trasmettere questi oggetti al client quando si uniscono al Gioco.

Scripts non verrà eseguito quando vengono genitori a ServerStorage, anche se ModuleScripts contenuto all'interno può essere accessato e eseguito.Si consiglia agli sviluppatori di utilizzare ServerScriptService per mantenere Scripts che desiderano che il server esegua.

Nota che poiché i contenuti di ServerStorage possono essere accessibili solo dal Server, i suoi contenuti dovranno essere parentizzati altrove (come Workspace ) prima che i client possano accedervi.Gli sviluppatori che richiedono un container accessibile sia dal server che dal client sono consigliati di utilizzare ReplicatedStorage invece.

Campioni di codice

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

Proprietà

Metodi

Eventi