← Все практические скрипты
Большие проекты · Уверенный · 30 мин

Остров звёзд: создаём игровую карту

Один скрипт строит остров, звёзды, лаву, магазин, чекпоинт и финиш.

Иллюстрация: Остров звёзд: создаём игровую карту
🎯 Что получится

Полоса препятствий с семью звёздами и готовыми объектами для следующих двух уроков.

1. Подготовьте объект

Где разместить: ServerScriptService → IslandWorldBuilder (Script)

Структура в Explorer
ServerScriptService
  IslandWorldBuilder (Script)
Workspace
  StarIsland (создаётся автоматически)
  1. Создайте НОВОЕ место Baseplate в Roblox Studio.
  2. В ServerScriptService добавьте Script IslandWorldBuilder.
  3. Вставьте код ниже и нажмите Play.
  4. В Workspace появится модель StarIsland с землёй, семью звёздами, магазином, лавой, чекпоинтом и финишем.
  5. Скрипт строит мир заново при каждом запуске Play. Для постоянной ручной карты перенесите детали отдельно.
  6. Не добавляйте второй генератор или одноимённую модель StarIsland.

2. Вставьте код

Script
-- Script: ServerScriptService/IslandWorldBuilder
-- Создаёт карту при каждом запуске Play. Не запускайте второй генератор.
local Workspace = game:GetService("Workspace")
if Workspace:FindFirstChild("StarIsland") then
    warn("StarIsland уже существует: генератор не создаёт дубликат")
    return
end

local island = Instance.new("Model")
island.Name = "StarIsland"
island.Parent = Workspace

local function part(name, size, position, color, material)
    local p = Instance.new("Part")
    p.Name = name
    p.Size = size
    p.Position = position
    p.Anchored = true
    p.Color = color
    p.Material = material or Enum.Material.SmoothPlastic
    p.Parent = island
    return p
end

part("IslandGround", Vector3.new(190, 2, 30), Vector3.new(80, -1, 0), Color3.fromRGB(88, 182, 117), Enum.Material.Grass)
local spawn = Instance.new("SpawnLocation")
spawn.Name = "IslandSpawn"
spawn.Size = Vector3.new(9, 1, 9)
spawn.Position = Vector3.new(0, 0.5, 0)
spawn.Anchored = true
spawn.Neutral = true
spawn.Color = Color3.fromRGB(92, 195, 255)
spawn.Parent = island

local stars = Instance.new("Folder")
stars.Name = "Stars"
stars.Parent = island
for i, x in ipairs({17, 30, 53, 70, 97, 118, 151}) do
    local star = part("Star" .. i, Vector3.new(3, 3, 3), Vector3.new(x, 4, (i % 2 == 0) and -5 or 5), Color3.fromRGB(255, 207, 55), Enum.Material.Neon)
    star.Shape = Enum.PartType.Ball
    star.CanCollide = false
    star.Parent = stars
end

local shop = part("SpeedShop", Vector3.new(8, 1, 8), Vector3.new(30, 0.5, 11), Color3.fromRGB(66, 150, 255), Enum.Material.Neon)
local prompt = Instance.new("ProximityPrompt")
prompt.ActionText = "Ускорение: 20 монет"
prompt.ObjectText = "Магазин"
prompt.HoldDuration = 0.5
prompt.MaxActivationDistance = 10
prompt.Parent = shop

for i, x in ipairs({43, 104, 137}) do
    local lava = part("Lava" .. i, Vector3.new(5, 0.7, 30), Vector3.new(x, 0.6, 0), Color3.fromRGB(255, 78, 42), Enum.Material.Neon)
    lava.CanCollide = false
end
part("Checkpoint", Vector3.new(10, 0.6, 10), Vector3.new(84, 0.4, 0), Color3.fromRGB(65, 238, 195), Enum.Material.Neon)
part("Finish", Vector3.new(10, 1, 14), Vector3.new(167, 0.5, 0), Color3.fromRGB(189, 103, 255), Enum.Material.Neon)
print("Остров звёзд: карта создана")

3. Проверьте в игре

Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.

Ваш прогресс

Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.

Если объединяете несколько скриптов

Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.

⭐ Три шага к собственной игре
1. Повторите и измените

Поменяйте цвет лавы.

2. Улучшите

Добавьте ещё две звезды в массив координат.

3. Придумайте своё

Измените остров: добавьте декоративные башни и мост.

4. Проверьте себя

Где должен находиться скрипт, создающий общий мир для всех игроков?

🛠 Если не работает

Если мир не появился, проверьте имя IslandWorldBuilder, тип Script, окно Output и наличие старой модели StarIsland. Скрипт работает в Play, а не как постоянный редактор карты.