Щоб створити підсилення, яке дозволяє проходити крізь стіни, можна використати зміну Collision у HumanoidRootPart або встановлення CanCollide = false
для стін.
Ось покрокова інструкція:
🔹 1. Створення об’єкта підсилення
- Встав новий
Part
(це буде підсилення). - Встанови його розмір, колір, ефекти (наприклад, світіння).
- Додай
Script
всередину об’єкта.
🔹 2. Написання скрипта для підсилення
Встав цей код у Script
, що всередині підсилення:
🔹 3. Налаштування стін
Щоб стіни не блокували гравця:
- Вибери всі стіни, зайди в Properties.
- Вимкни CanTouch (але залиш CanCollide = true).
- Це дозволить зміні CanCollide гравця впливати на проходження через стіни.
🔹 4. Перевірка гри
Запусти Play (F5) і протестуй, чи можеш ти проходити через стіни після торкання підсилення.
Другий варіант коду:
local duration = 5 -- Час дії ефекту (у секундах)
local function setCollisions(character, state)
for _, part in ipairs(character:GetChildren()) do
if part:IsA("BasePart") then
part.CanCollide = state
end
end
end
local function onTouch(otherPart)
local character = otherPart.Parent
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
-- Вимикаємо колізії для всіх частин персонажа
setCollisions(character, false)
-- Додаємо візуальний ефект
local rootPart = character:FindFirstChild("HumanoidRootPart")
if rootPart then
local glow = Instance.new("PointLight")
glow.Brightness = 2
glow.Range = 10
glow.Parent = rootPart
end
-- Видаляємо підсилення після активації
powerUp:Destroy()
-- Через кілька секунд повертаємо колізії
task.wait(duration)
setCollisions(character, true)
if rootPart then
rootPart:FindFirstChildOfClass("PointLight"):Destroy()
end
end
end
powerUp.Touched:Connect(onTouch)
Створення рівня з водою, що піднімається
Щоб створити рівень з водою, що піднімається, потрібно зробити об'єкт-«воду» і написати скрипт, який поступово підніматиме її.
🔹 1. Створення води
- Додай
Part
– це буде вода. - Зміни його властивості:
- Transparency = 0.5 (щоб виглядало як вода).
- Material =
"Glass"
або"ForceField"
. - CanCollide =
false
(щоб гравці могли в неї занурюватися). - Anchor =
true
(щоб не падала).
- Перемісти її під лабіринт, де вона стартуватиме.
🔹 2. Написання скрипта для підйому води
Додай Script
всередину об'єкта води та встав цей код:
🔹 3. Налаштування гравця (додатково)
Щоб гравці втрачали здоров'я, коли занурюються:
- Додай в
Script
перевірку дотику:
🔹 4. Перевірка гри
- Запусти Play (F5) і переконайся, що вода поступово піднімається.
- Якщо потрібно, зміни швидкість або максимальну висоту.
🔹 Що ще можна додати?
✅ Плавання гравців (через BodyVelocity
).
✅ Таймер на екрані до початку підйому.
✅ Кнопку, що уповільнює або прискорює підняття води.