Виживання на Острові (Survival Island)

Ідея гри 'Виживання на Острові' (Survival Island):

  • Гравці потрапляють на безлюдний острів після корабельної аварії.
  • Необхідно збирати ресурси, будувати укриття, добувати їжу та уникати небезпек (наприклад, диких тварин чи стихійних лих).

Створення ігрового світу (острова)

  1. Створення нового проекту:
    • Відкрий Roblox Studio → натисни Create New → обери Baseplate.
  2. Додавання води та землі:
    • Перейдіть у вкладку Terrain EditorGenerate → виставте параметри:
      • Water (вода) – так
      • Islands (острови) – так
      • Mountains – за бажанням
      • Натисніть Generate
  3. Редагування острова:
    • Використовуйте Add, Subtract, Paint у Terrain Editor, щоб змінити форму острова.
  4. Додавання рослинності:
    • Відкрийте Toolbox → у пошуку введіть Tree, Bush, Grass → розставте по острову.
  5. Додавання об’єктів:
    • Поставте дерева, камені, уламки човна тощо.

Додавання leaderstats у Roblox Studio

Leaderstats – це спеціальна папка в кожного гравця, яка зберігає статистику (голод, ресурси, очки тощо).

📌 Як створити leaderstats для всіх гравців?

В ExplorerServerScriptService додати Script і вставити код:

game.Players.PlayerAdded:Connect(function(player) -- Створюємо leaderstats local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player -- Створюємо змінну Hunger local hunger = Instance.new("IntValue") hunger.Name = "Hunger" hunger.Value = 100 hunger.Parent = leaderstats -- Створюємо змінну Wood (дерево) local wood = Instance.new("IntValue") wood.Name = "Wood" wood.Value = 0 wood.Parent = leaderstats -- Цикл зменшення голоду while true do wait(10) -- Кожні 10 секунд if hunger.Value > 0 and wood.Value < 5 then hunger.Value = hunger.Value - 5 -- Зменшуємо голод elseif hunger.Value == 0 then local character = player.Character if character then local humanoid = character:FindFirstChild("Humanoid") if humanoid then humanoid.Health = humanoid.Health - 5 -- Гравець отримує шкоду end end end end end)

Тепер у кожного гравця є Hunger та Wood в leaderstats!

Додавання персонажа та взаємодії

1. Їжа (Apple):
  • Створіть Part → змініть колір і розмір під ресурс (наприклад, яблуко).
  • Додайте ClickDetector для взаємодії.
  • Додайте до цього Part такий скрипт у Script:
    local apple = script.Parent local clickDetector = apple:FindFirstChild("ClickDetector") clickDetector.MouseClick:Connect(function(player) local leaderstats = player:FindFirstChild("leaderstats") if leaderstats then local hunger = leaderstats:FindFirstChild("Hunger") if hunger then hunger.Value = math.min(hunger.Value + 20, 100) -- Відновлюємо 20 голоду (не більше 100) apple:Destroy() -- Видаляємо яблуко після з’їдання end end end)
2. Ресурси (Wood):
  • Створіть Part → змініть колір і розмір під ресурс (наприклад, дерево).
  • Додайте ClickDetector для взаємодії.
  • Додайте до цього Part такий скрипт у Script:
    local tree = script.Parent local clickDetector = tree:FindFirstChild("ClickDetector") clickDetector.MouseClick:Connect(function(player) local leaderstats = player:FindFirstChild("leaderstats") local wood = leaderstats:FindFirstChild("Wood") if leaderstats then local hunger = leaderstats:FindFirstChild("Hunger") if hunger then tree:Destroy() -- Видаляємо яблуко після з’їдання wood.Value +=1 end end end)

Створення крафту (будівництва)

  1. Додайте систему крафту:
    • Створіть GUI-кнопку для створення хатини.
    • Додайте до кнопки скрипт:
      local button = script.Parent button.MouseButton1Click:Connect(function() local player = game.Players.LocalPlayer if player.leaderstats.Wood.Value >= 10 then player.leaderstats.Wood.Value = player.leaderstats.Wood.Value - 10 local hut = game.ReplicatedStorage.Hut:Clone() -- Змінна "Hut" має бути в ReplicatedStorage hut.Parent = workspace hut.Position = player.Character.HumanoidRootPart.Position + Vector3.new(5,0,5) end end)

Код крафту хатини

📌 Де додати:

  • ExplorerStarterGuiScreenGui
  • Додати TextButton (Кнопку "Побудувати хатину")
  • До кнопки додати LocalScript

LocalScript для кнопки:

local button = script.Parent button.MouseButton1Click:Connect(function() game.ReplicatedStorage.BuildHutEvent:FireServer() -- Викликаємо серверний скрипт end)

📌 Додайте новий "RemoteEvent" в ReplicatedStorage

  • Відкрийте ExplorerReplicatedStorage
  • Створіть RemoteEvent (назвіть його BuildHutEvent)

📌 Додайте Script в ServerScriptService

local event = game.ReplicatedStorage:FindFirstChild("BuildHutEvent") event.OnServerEvent:Connect(function(player) local leaderstats = player:FindFirstChild("leaderstats") if leaderstats and leaderstats:FindFirstChild("Wood") then if leaderstats.Wood.Value >= 10 then leaderstats.Wood.Value = leaderstats.Wood.Value - 10 -- Витрачаємо ресурси local hut = game.ReplicatedStorage:FindFirstChild("Hut"):Clone() if hut then hut.Parent = workspace hut.Position = player.Character.HumanoidRootPart.Position + Vector3.new(5, 0, 5) end end end end)

Гравець тепер може натиснути кнопку та побудувати хатину, якщо має 10 дерев.


Додавання небезпек

  1. Хижі тварини:

    • У Toolbox знайдіть "Wolf" або "Bear".
    • Додайте до них Script:
      local npc = script.Parent local humanoid = npc:FindFirstChild("Humanoid") local target = nil while true do wait(1) for _, player in pairs(game.Players:GetPlayers()) do if player.Character and (player.Character.PrimaryPart.Position - npc.PrimaryPart.Position).Magnitude < 20 then target = player.Character humanoid:MoveTo(target.PrimaryPart.Position) humanoid:TakeDamage(10) -- Атакує гравця end end end
  2. Шторм або цунамі:

    • Створіть Part у вигляді хвилі.
    • Додайте скрипт, щоб хвиля рухалася:
      local wave = script.Parent while true do wait(30) -- Кожні 30 секунд запускається хвиля wave.Position = Vector3.new(-100, 10, 0) for i = 1, 100 do wave.Position = wave.Position + Vector3.new(2, 0, 0) wait(0.1) end end

Додавання кінцевої мети (втеча з острова)

  1. Створіть човен (Boat) у ReplicatedStorage.
  2. Додайте квест:
    • Гравці повинні зібрати 10 дерев для будівництва човна. Для цього перед циклом while скрипта, який знаходиться в папці ServerScriptService створіть 2 змінні: 
local buildWood = 10
local flag = false

3. Скрипт будівництва човна в цикл while скрипта, який знаходиться в папці ServerScriptService:
if player.leaderstats.Wood.Value == 1 and flag == false then -- Створюємо GUI для гравця local screenGui = Instance.new("ScreenGui") screenGui.Parent = player.PlayerGui local textLabel = Instance.new("TextLabel") textLabel.Parent = screenGui textLabel.Size = UDim2.new(0, 400, 0, 50) textLabel.Position = UDim2.new(0.3, -100, -0.1, 5) textLabel.BackgroundTransparency = 0.5 textLabel.Text = "Щоб побудувати корабель, потрібно " ..buildWood.. "дерева" textLabel.TextScaled = true textLabel.TextColor3 = Color3.new(1, 0, 0) wait(5) screenGui:Destroy() elseif player.leaderstats.Wood.Value >= buildWood then player.leaderstats.Wood.Value = player.leaderstats.Wood.Value - buildWood flag = true game.Workspace.BrokenCutter:Destroy() local boat = game.ReplicatedStorage.Cutter:Clone() boat.Parent = workspace boat.Position = Vector3.new(50, 5, 50) -- Човен з'являється біля берега break end

Завершення та тестування

Перевірте всі механіки (збір ресурсів, виживання, небезпеки).
Додайте звуки та музику для атмосфери.
Опублікуйте гру у File → Publish to Roblox.