Створення кнопки-телепортера

Створення кнопки-телепортера

Мета: Розібрати базові функції Lua та взаємодію об'єктів у грі.

  1. Кроки завдання:

    • Створити кнопку (Button) і платформу (Platform) у світі.
    • Написати скрипт, який телепортує гравця до платформи після натискання кнопки.
  2. Код для прикладу:

    local button = script.Parent
    local destination = workspace.Platform.Position button.ClickDetector.MouseClick:Connect(function(player) local character = player.Character if character then character:MoveTo(destination) end end)

Пояснення роботи скрипту

Цей скрипт у Roblox Studio написаний мовою Lua і використовується для створення механіки телепортації гравця при натисканні на об'єкт (кнопку).


Розбір коду:

local button = script.Parent
  • script.Parent — це об'єкт, до якого прикріплений цей скрипт (у цьому випадку — кнопка).
  • local button — змінна, яка зберігає посилання на кнопку.

local destination = workspace.Platform.Position
  • workspace.Platform — у Workspace має бути об'єкт із назвою Platform.
  • .Position — отримує координати цього об'єкта (позицію у 3D-просторі).
  • local destination — зберігає ці координати, куди потрібно телепортувати гравця.

button.ClickDetector.MouseClick:Connect(function(player)
  • button.ClickDetector — це спеціальний об'єкт ClickDetector, який дозволяє відстежувати кліки мишею по об'єкту. Він має бути всередині button.
  • .MouseClick:Connect(function(player) — коли гравець натискає на кнопку, викликається функція, що приймає об'єкт player.

local character = player.Character
  • player.Character — отримує модель персонажа гравця (його аватар).

if character then
  • Перевіряє, чи у гравця є аватар у грі (іноді player.Character може бути nil).

character:MoveTo(destination)
  • character:MoveTo(destination) — переміщує модель персонажа у зазначену точку (destination).

Як працює цей скрипт у грі?

  1. Гравець натискає на кнопку.
  2. ClickDetector спрацьовує та викликає функцію.
  3. Функція отримує гравця (player).
  4. Якщо у гравця є персонаж, його модель переміщається до платформи (Platform).

Що потрібно, щоб цей скрипт працював у Roblox Studio?

✅ У об'єкта button повинен бути ClickDetector (можна додати в ExplorerInsert ObjectClickDetector).
✅ У workspace має бути об'єкт Platform (зазвичай, це Part).
✅ Скрипт повинен бути вкладений в кнопку (button).


Модифікація: Додавання ефекту телепортації

Якщо замість MoveTo() використати SetPrimaryPartCFrame(), телепортація буде точнішою:

character:SetPrimaryPartCFrame(CFrame.new(destination))

Це особливо корисно, якщо персонаж складається з кількох частин.