Přidej nový Part mezi dvě plošiny. Udělej ho červený, nastav Material na Neon, zapni Anchored a pojmenuj ho Lava.
V Explorer najeď myší na Lava, klikni na tlačítko + a vyber Script.
Smaž řádek, který tam už je, a vlož tento kód.
Lava > Script
local lava = script.Parent
lava.Touched:Connect(function(hit)
local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end)
Co která část dělá
script.Parent je Part, ve kterém skript leží. Tady je to láva.
Touched se spustí pokaždé, když se něco dotkne Partu. hit je to, co se dotklo, například chodidlo.
hit.Parent je celá postava. Pokud má Humanoid, je to hráč, a tak skript nastaví Health na 0.
Více podrobností
Material je seznam v Properties. Klikni na něj a vyber Neon. Neon zařídí, že Part svítí.
Když přidáš Script, otevře se na nové kartě s jedním řádkem kódu. Klikni dovnitř kódu, stiskni Ctrl+A, aby se vybralo všechno, a Ctrl+V, aby se to přepsalo.
Do svého světa se vrátíš kliknutím na kartu s názvem tvého place.
Vyzkoušej: stiskni F5 a vejdi do lávy. Tvoje postava se rozpadne a vrátí se na začátek.
Udělej lávu širokou a plochou, například Size 12, 1, 6, a dej ji o kousek níž než plošiny, aby do ní spadl každý neúspěšný skok.
Tenhle krok mi nefunguje
Nejdřív zkontroluj tyto tři věci
Název každého Partu a skriptu je přesně jako v návodu, se stejnými velkými písmeny.
Skript leží ve správném objektu. Podívej se na popisek nad polem s kódem.
Otevři okno Output z nabídky Window. Červený text ukáže skript a řádek, na kterém je problém.
V Explorer najeď myší na Workspace, klikni na + a přidej Folder. Pojmenuj ho Checkpoints.
Rozmísti podél dráhy tři ukotvené Party a přetáhni je do složky. Pojmenuj je 1, 2 a 3. Part 1 patří na startovní plošinu.
Najeď myší na ServerScriptService, klikni na + a přidej Script. Vlož tento kód.
ServerScriptService > Script
local Players = game:GetService("Players")
local checkpoints = workspace:WaitForChild("Checkpoints")
Players.PlayerAdded:Connect(function(player)
local stats = Instance.new("Folder")
stats.Name = "leaderstats"
stats.Parent = player
local stage = Instance.new("IntValue")
stage.Name = "Stage"
stage.Value = 1
stage.Parent = stats
player.CharacterAdded:Connect(function(character)
local root = character:WaitForChild("HumanoidRootPart")
local point = checkpoints:FindFirstChild(tostring(stage.Value))
if point then
task.wait(0.1)
root.CFrame = point.CFrame + Vector3.new(0, 4, 0)
end
end)
end)
for _, point in ipairs(checkpoints:GetChildren()) do
point.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
local stats = player and player:FindFirstChild("leaderstats")
if not stats then return end
local number = tonumber(point.Name)
if number == stats.Stage.Value + 1 then
stats.Stage.Value = number
end
end)
end
Co která část dělá
leaderstats je zvláštní název složky. Hodnoty uvnitř se zobrazí v seznamu hráčů, takže každý vidí tvůj Stage.
Když se postava objeví, skript ji přesune na checkpoint, jehož jméno se rovná hráčovu Stage.
Dotek checkpointu zvýší Stage jen tehdy, když je to ten další v pořadí. Hráči tak nemůžou přeskakovat.
Více podrobností
Folder drží další objekty, stejně jako složka v počítači. Sám o sobě ve hře nic nedělá.
Part přetáhneš do složky tak, že přetáhneš jeho název v Explorer na název Checkpoints a pustíš. Part pak stojí o krok víc doprava, pod složkou.
Checkpointy udělej tenké a široké, například Size 6, 0.4, 6, a polož je na plošiny. Jiná barva pomůže hráčům si jich všimnout.
Vyzkoušej: stiskni F5 a podívej se na seznam hráčů v pravém horním rohu. Ukazuje Stage 1. Dotkni se checkpointu 2 a změní se na 2.
Checkpointů se musíš dotýkat popořadě. Dotek 3 před 2 nic neudělá.
Častá chyba. Pojmenovat Party Checkpoint1 nebo One. Skript hledá přesně jména 1, 2 a 3.
Tenhle krok mi nefunguje
Nejdřív zkontroluj tyto tři věci
Název každého Partu a skriptu je přesně jako v návodu, se stejnými velkými písmeny.
Skript leží ve správném objektu. Podívej se na popisek nad polem s kódem.
Otevři okno Output z nabídky Window. Červený text ukáže skript a řádek, na kterém je problém.
Na konec dej velký ukotvený Part a pojmenuj ho Finish. Udělej ho zlatý, ať hráči vidí cíl.
Přidej do Finish Script a vlož tento kód.
Finish > Script
local Players = game:GetService("Players")
local finish = script.Parent
local cooldown = {}
finish.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
local stats = player and player:FindFirstChild("leaderstats")
if not stats or cooldown[player] then return end
cooldown[player] = true
stats.Stage.Value = 1
player:LoadCharacter()
task.wait(2)
cooldown[player] = nil
end)
Co která část dělá
GetPlayerFromCharacter zjistí, který hráč se dotkl cíle.
Tabulka cooldown zabrání tomu, aby se kód spustil víckrát během jedné sekundy.
Stage se vrátí na 1 a LoadCharacter pošle hráče na start k dalšímu pokusu.
Více podrobností
Zlatou ji uděláš tak, že v Properties klikneš na pole Color a vybereš žlutou. Material Neon ji rozzáří.
Size 12, 1, 12 je dobrý cíl. Dej ho za poslední skok, o kousek výš než zbytek.
Vyzkoušej: stiskni F5, projdi celou dráhu a stoupni na zlatý Part. Vrátíš se na začátek a Stage zase ukazuje 1.
Pauza 2 sekundy je tam proto, že jeden krok se Partu dotkne víckrát.
Tenhle krok mi nefunguje
Nejdřív zkontroluj tyto tři věci
Název každého Partu a skriptu je přesně jako v návodu, se stejnými velkými písmeny.
Skript leží ve správném objektu. Podívej se na popisek nad polem s kódem.
Otevři okno Output z nabídky Window. Červený text ukáže skript a řádek, na kterém je problém.
Stiskni F5 a hraj. Proběhni celou dráhu od startu do cíle.
Schválně spadni do lávy. Měl bys se objevit u posledního checkpointu.
Stiskem Shift+F5 hru zastavíš.
V nabídce Window otevři okno Output. Červený text znamená, že skript má chybu, a ukáže číslo řádku.
Více podrobností
F5 spustí hru s tvou postavou uvnitř. Lišta nástrojů se mění, když hra běží.
Změny, které uděláš za běhu hry, se po zastavení ztratí. Vždycky nejdřív stiskni Shift+F5 a pak upravuj.
V okně Output klikni na červený řádek a Studio otevře skript na řádku s chybou.
Když něco nefunguje, zkontroluj tři věci: název Partu, kde leží skript a jestli je zapnuté Anchored.
Častá chyba. Plošina spadne, když hra začne: Anchored je vypnuté. Při doteku Partu se nic neděje: skript je ve špatném objektu nebo je v jménu překlep.
Tenhle krok mi nefunguje
Nejdřív zkontroluj tyto tři věci
Název každého Partu a skriptu je přesně jako v návodu, se stejnými velkými písmeny.
Skript leží ve správném objektu. Podívej se na popisek nad polem s kódem.
Otevři okno Output z nabídky Window. Červený text ukáže skript a řádek, na kterém je problém.