Кодовий замок

Ідея з кодовим замком і трьома розкиданими цифрами — це популярна головоломка в іграх, і вона легко реалізується в Roblox Studio. Нижче я детально поясню, як створити її з нуля, і дам готовий код.


🔐 🎮 Суть ідеї:

  • На мапі є 3 цифри, розкидані в різних місцях.

  • Гравець має знайти ці цифри → підійти до замка → ввести код.

  • Якщо введений правильно → відкриваються двері / ворота.


🧱 КРОКИ У ROBLOX STUDIO

1. Створи 3 цифри (підказки)

  • У Workspace створи три Part'и (назви: Digit1, Digit2, Digit3)

  • На кожному Part напиши число (наприклад, через SurfaceGui + TextLabel)

  • У кожен Part додай скрипт, який при дотику запам’ятає значення

-- У Part Digit1 (приклад для першої цифри) local value = "7" -- цифра, що показана local Players = game:GetService("Players") script.Parent.Touched:Connect(function(hit) local player = Players:GetPlayerFromCharacter(hit.Parent) if player then player:SetAttribute("Digit1", value) end end)

! Повтори те ж саме для Digit2 і Digit3, змінивши цифру і атрибут.

2. Створи сам кодовий замок

  • Створи екран у StarterGui → ScreenGui > Frame > TextBoxes для вводу трьох цифр > Button "Відкрити"

  • Назви TextBoxes як Input1, Input2, Input3, а кнопку — OpenButton


3. Логіка перевірки коду (в LocalScript)

-- LocalScript у ScreenGui local input1 = script.Parent.Input1 local input2 = script.Parent.Input2 local input3 = script.Parent.Input3 local button = script.Parent.OpenButton local correctCode = {"7", "3", "5"} -- код, що гравець має знайти button.MouseButton1Click:Connect(function() if input1.Text == correctCode[1] and input2.Text == correctCode[2] and input3.Text == correctCode[3] then game.ReplicatedStorage.CodeSolved:FireServer() else warn("Неправильний код!") end end)

4. Створи RemoteEvent для відкриття дверей

  • У ReplicatedStorage створи RemoteEvent з назвою CodeSolved


5. Скрипт у ServerScriptService: відкрити двері

-- Script у ServerScriptService game.ReplicatedStorage.CodeSolved.OnServerEvent:Connect(function(player) local door = workspace:FindFirstChild("SecretDoor") if door then door.Transparency = 1 door.CanCollide = false end end)

! SecretDoor — це Part, що блокує шлях.
Після успішного коду стає "невидимим".

💡 Бонусні деталі

  • 🎨 Цифри можна анімувати: щоб світилися або блиміли.

  • 🧠 Код можна зберігати в ServerStorage, і змінювати щоразу при запуску гри.

  • 🛑 Безпека: важливо, щоб код перевірявся на сервері, а не лише в LocalScript — інакше гравці можуть зламати.


✅ Підсумок:

ЧастинаЩо робить
Digit1, Digit2, Digit3Встановлюють гравцю знайдені цифри
ScreenGuiДозволяє вводити код
RemoteEventПередає підтвердження успішного вводу
ServerScriptВідкриває двері