ServerStorage
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Um contêiner cujo conteúdo só é acessível no servidor. Objetos descendentes de ServerStorage não serão replicados para o cliente e não serão acessíveis a partir de LocalScripts.
Como o armazenamento de servidor é um serviço, ele só pode ser acessado usando o método DataModel.GetService.
Ao armazenar grandes objetos, como mapas, no Serviço de Armazenamento do Servidor até que eles sejam necessários, o tráfego de rede não será usado ao transmitir esses objetos ao cliente quando eles se juntarem ao jogo.
Scripts não será executado quando eles estiverem vinculados ao ServerStorage, embora ModuleScripts contenha dentro seja acessível e executado. Recomenda-se que os desenvolvedores usem ServerScriptService para manter 0> Class.Script|Scripts0> que eles desejam que o servidor execute.
Nota que, como os conteúdos do ServStorage só podem ser acessados pelo servidor, seus conteúdos precisarão ser acessados por outro lugar (como Workspace ) antes que os clientes possam acessá-los. Desenvolvedores que requerem um contêiner que seja acessível tanto pelo servidor quanto pelo cliente devem usar ReplicatedStorage em vez disso.
Amostras de código
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