Menu
CoddyTech

Oyuncuları Işınla

Coddy'nin Roblox Oyunu: Felaketten Kurtulma kursunda ders 6 / 18.

Üzerinde kimsenin durmadığı bir ada oyun değildir. Bir tur başladığında her oyuncu haritanın Spawn noktasına gider ve tur bittiğinde lobiye geri döner.

Players:GetPlayers() oyundaki herkesi listeler ve oyuncunun bedeni bir Model olan player.Character özelliğidir. Model:PivotTo(cframe) tüm modeli bir kerede taşır ve her parça yerini korur. Bir CFrame, bir konumla bir dönüşün birleşimidir ve bir Vector3 eklemek onu taşır:

local function teleport(player, target)
	local character = player.Character
	if character then
		character:PivotTo(target.CFrame + Vector3.new(0, 4, 0))
	end
end

Yukarı doğru 4 stud, oyuncuyu hedefin içine değil biraz üstüne bırakır. Katıldıktan veya öldükten sonra player.Character kısa bir süre nil olur; bu yüzden if kullanılır.

challenge icon

Görev

Orta

Oyuncuları taşı:

  1. Üst kısımlara yakın bir yerde lobinin doğma noktasını tut: local lobbySpawn = workspace.LobbySpawn.
  2. Derste olduğu gibi teleport(player, target) yaz.
  3. Harita yüklendikten hemen sonra tüm oyuncuları map.Spawn konumuna ışınla.
  4. Turun geri sayımı bittiğinde, harita yok edilmeden önce tüm oyuncuları lobbySpawn konumuna ışınla.

Play'e basıp oyuna eşlik et, ardından Check'e bas.

Kendin dene

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

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

-- Her oyuncu liderlik tablosunda Wins kazanır
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)

-- Lobideki durum panosu
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

-- Tur döngüsü
while true do
	for seconds = Settings.Intermission, 1, -1 do
		setStatus("Intermission: " .. seconds)
		task.wait(1)
	end

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

	for seconds = Settings.RoundLength, 1, -1 do
		setStatus("Time left: " .. seconds)
		task.wait(1)
	end

	map:Destroy()
end
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Roblox Oyunu: Felaketten Kurtulma bölümündeki tüm dersler