ServerStorage
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
คอนเทนเนอร์ที่มีเฉพาะในเซิร์ฟเวอร์เท่านั้น วัตถุที่มาจาก ServerStorage จะไม่ถูกเลียนแบบไปยังคลายเคลื่อนของคลายเคลื่อน และจะไม่สามารถเข้าถึงได้จาก LocalScripts
เนื่องจาก ServerStorage เป็นบริการ จึงสามารถเข้าถึงได้โดยวิธี DataModel.GetService เท่านั้น
โดยการเก็บไอเท็มขนาดใหญ่เช่นแผนที่ใน ServerStorage จนกว่าจะต้องการได้ไม่ใช้การส่งข้อมูลเครือข่ายจะไม่ถูกใช้เมื่อพวกเขาเข้าร่วมเกม
Scripts จะไม่รันเมื่อพวกเขาเป็นพ่อของ ServerStorage แม้ว่า ModuleScripts ภายในสามารถเข้าถึงและประมวลผลได้ แนะนำให้ใช้ ServerScriptService เพ
หมายเหตุว่าเนื้อหาของ ServerStorage เซิร์ฟเวอร์ดังนั้นเนื้อหาจึงจะต้องมีความสัมพันธ์กับสถานที่อื่น (เช่น Workspace ) ก่อนที่ผู้
ตัวอย่างโค้ด
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