ServerStorage

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible
Service
Non répliqué

Un conteneur dont le contenu n'est accessible que sur le serveur. Les objets descendants de ServerStorage ne seront pas répliqués au client et ne seront pas accessibles à partir de LocalScripts .

Comme ServerStorage est un service, il ne peut être accédé qu'à l'aide de la méthode DataModel.GetService.

En stockant de grands objets tels que les cartes dans ServerStorage jusqu'à ce qu'ils soient nécessaires, le trafic réseau ne sera pas utilisé pour transmettre ces objets au client lorsqu'ils rejoignent le jeu.

Scripts ne s'exécutera pas lorsqu'ils sont parentés à ServerStorage, bien que ModuleScripts contient à l'intérieur peut être accédé et exécuté. Il est recommandé aux développeurs d'utiliser ServerScriptService pour tenir 0> Class.Script|Scripts0> qu'ils souhaitent exécuter.

Notez que comme le contenu de ServerStorage ne peut être accédé que par le serveur, son contenu devra être parenté ailleurs (tel que Workspace ) avant que les clients puissent l'accéder. Les développeurs qui nécessitent un conteneur qui est accessible à la fois par le serveur et le client sont conseillés d'utiliser ReplicatedStorage au lieu de cela.

Échantillons de code

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

Propriétés

Méthodes

Évènements