Збери монети

Збери монети

Створення гри, де гравцеві потрібно зібрати всі монети, щоб відкрити двері до наступного рівня:


1. Створення монет

  1. Відкрий Roblox Studio і створіть новий проєкт.
  2. У Explorer -> Workspace створіть Part, змініть його форму на круглу (через Properties -> Shape -> Ball).
  3. Призначте йому колір і розмір, щоб він виглядав як монета.
  4. Додайте Script у цей Part:
local coin = script.Parent
local playerTouched = false coin.Touched:Connect(function(hit) local player = game.Players:GetPlayerFromCharacter(hit.Parent) if player and not playerTouched then playerTouched = true local leaderstats = player:FindFirstChild("leaderstats") if leaderstats then leaderstats.Coins.Value = leaderstats.Coins.Value + 1 end coin:Destroy() -- Видаляє монету після збору end end)
  1. Продублюйте монету та розставте їх по рівню.

2. Відображення кількості монет через GUI

  1. В StarterGui створіть ScreenGui, всередині додайте TextLabel.
  2. Додайте LocalScript у TextLabel:
local player = game.Players.LocalPlayer
local leaderstats = player:WaitForChild("leaderstats") local coins = leaderstats:WaitForChild("Coins") local textLabel = script.Parent coins.Changed:Connect(function() textLabel.Text = "Монети: " .. coins.Value end)

3. Відкриття дверей при збиранні всіх монет

  1. Створіть двері у вигляді Part і додайте до нього Script:
local door = script.Parent
local requiredCoins = 5 -- Кількість монет для відкриття дверей game.Players.PlayerAdded:Connect(function(player) local leaderstats = player:WaitForChild("leaderstats") local coins = leaderstats:FindFirstChild("Coins") coins.Changed:Connect(function() if coins.Value >= requiredCoins then door.Transparency = 0.5 door.CanCollide = false -- Гравець зможе пройти через двері end end) end)
  1. Змініть значення requiredCoins, якщо потрібно більше/менше монет для відкриття дверей.

4. Налаштування підрахунку монет у лідерборді

  1. У StarterPlayerScripts додайте Script для створення таблиці очок:
game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player local coins = Instance.new("IntValue") coins.Name = "Coins" coins.Value = 0 coins.Parent = leaderstats end)

5. Створення наступного рівня

  1. Створіть TeleportPart (звичайний Part).
  2. Додайте у нього Script:
local teleportPart = script.Parent
local nextLevel = game.Workspace:FindFirstChild("NextLevelSpawn") -- Позиція наступного рівня teleportPart.Touched:Connect(function(hit) local player = game.Players:GetPlayerFromCharacter(hit.Parent) if player then local leaderstats = player:FindFirstChild("leaderstats") if leaderstats and leaderstats.Coins.Value >= 5 then player.Character:SetPrimaryPartCFrame(nextLevel.CFrame) end end end)
  1. Створіть Part із назвою NextLevelSpawn і помістіть його там, де гравець має з’явитися після проходження рівня.

Готово!

Тепер у вас є гра, де гравці збирають монети, відкривають двері та переходять до наступного рівня. Якщо потрібні покращення чи додаткові функції, запитуйте!