Menu
CoddyTech
flag Ar iconالعربيةdown icon

تحميل خريطة

الدرس 5 من 18 في دورة لعبة Roblox: النجاة من الكوارث على Coddy.

تُقام الجولات على خريطة. توجد الخرائط في ServerStorage، وهي خدمة لا تكون محتوياتها في العالم: فلا أحد يراها أو يلمسها. افتح ServerStorage.Maps في مخطط Explorer وستجد Island.

تضع الجولة نسخة من الخريطة في مساحة العمل باستخدام Clone، ثم تزيلها بعد ذلك باستخدام Destroy. وتبقى النسخة الأصلية في ServerStorage دون تغيير، جاهزة للجولة التالية:

local map = ServerStorage.Maps.Island:Clone()
map.Name = "Map"
map.Parent = workspace

-- ... الجولة ...

map:Destroy()

تحتفظ النسخة بمواضع الأصل، لذا تظهر الجزيرة حيث بُنيت، بعيدًا عن الردهة. وقد ينجح نقل الأصل بدلًا من نسخه مرة واحدة: فبعد أول Destroy لن تبقى أي Island للجولة الثانية.

challenge icon

التحدي

متوسط

اجعل كل جولة تحمّل Island:

  1. في الأعلى، احصل على ServerStorage باستخدام game:GetService.
  2. عند بدء الجولة (بعد العد التنازلي في الردهة)، استنسخ ServerStorage.Maps.Island، وسمِّ النسخة Map واجعلها ابنة لـ workspace.
  3. عند انتهاء العد التنازلي للجولة، دمّر الخريطة.

اضغط على Play: عند بدء الجولة، ستظهر الجزيرة بعيدًا أمام الردهة. ثم اضغط على Check.

جرّب بنفسك

local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)

print("Rounds last " .. Settings.RoundLength .. " seconds")

-- يحصل كل لاعب على Wins في لوحة المتصدرين
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local wins = Instance.new("IntValue")
	wins.Name = "Wins"
	wins.Parent = leaderstats
end)

-- لوحة الحالة في الردهة
local gui = Instance.new("SurfaceGui")
gui.Parent = workspace.StatusBoard

local status = Instance.new("TextLabel")
status.Name = "Status"
status.Size = UDim2.fromScale(1, 1)
status.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
status.TextColor3 = Color3.fromRGB(255, 255, 255)
status.TextScaled = true
status.Text = "Welcome to Disaster Survival!"
status.Parent = gui

local function setStatus(text)
	status.Text = text
end

-- حلقة الجولات
while true do
	for seconds = Settings.Intermission, 1, -1 do
		setStatus("Intermission: " .. seconds)
		task.wait(1)
	end

	for seconds = Settings.RoundLength, 1, -1 do
		setStatus("Time left: " .. seconds)
		task.wait(1)
	end
end
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس لعبة Roblox: النجاة من الكوارث