ServerStorage

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst
Nicht repliziert

Ein Container, dessen Inhalt nur auf dem Server zugänglich ist.Objekte, die vom ServerStorage absteigen, werden nicht auf den Client repliziert und sind von LocalScripts nicht zugänglich.

Da ServerStorage ein Service ist, kann er nur mit der DataModel.GetService-Methode aufgerufen werden.

Durch das Speichern großer Objekte wie Karten im ServerStorage, bis sie benötigt werden, wird kein Netzwerkverkehr verwendet, wenn diese Objekte dem Spielbeitreten.

Scripts wird nicht ausgeführt, wenn sie zu ServerStorage verknüpft werden, obwohl ModuleScripts innerhalb zugänglich und ausgeführt werden kann.Es wird empfohlen, dass Entwickler ServerScriptService verwenden, um Scripts zu speichern, die der Server ausführen soll.

Beachten Sie, dass der Inhalt von ServerStorage nur vom Server zugänglich ist, sein Inhalt muss daher an anderer Stelle "verwandelt" werden (z. B. Workspace), bevor Clients darauf zugreifen können.Entwickler, die einen Container benötigen, der sowohl vom Server als auch vom Client zugänglich ist, werden empfohlen, stattdessen ReplicatedStorage zu verwenden.

Code-Beispiele

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

Eigenschaften

Methoden

Ereignisse