From f7074f5cd702bbb8dfb30e958c07636257a5f380 Mon Sep 17 00:00:00 2001 From: min Date: Tue, 9 Jun 2026 17:21:56 +0300 Subject: [PATCH] =?UTF-8?q?feat(lua-games):=20=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BF=D0=B0=D1=80=D0=B8=D1=82=D0=B5=D1=82=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=B8=D0=B3=D1=80=D1=8B=205=20=C2=AB?= =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=B8=D1=80=D0=B8=D0=BD=D1=82=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JS-версия: - ui.showText('Найди выход из лабиринта!', 3) - onMessage 'win' → showText + win sound + confetti - g5_finish: onTouch → broadcast 'win' Lua-версия: - __rbxl_show_text подсказка + 'Победа!' - BindableEvent WinReached - g5_finish: Touched на финиш-зоне → ev:Fire (с fired-флагом) - На победе: confetti над игроком --- src/community/docsGamesBuildersLua.js | 29 +++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/community/docsGamesBuildersLua.js b/src/community/docsGamesBuildersLua.js index b06708b..216ef8c 100644 --- a/src/community/docsGamesBuildersLua.js +++ b/src/community/docsGamesBuildersLua.js @@ -377,14 +377,35 @@ end)`, // ═══════════════════════════════════════════════════════════════ 'maze': { g5_main: `-- === ИГРА «ЛАБИРИНТ» — главный скрипт (Lua) === -print("Найди выход из лабиринта!")`, - g5_finish: `-- === Финиш лабиринта (Lua) === +${SNIPPET_BROADCAST} + +__rbxl_show_text("Найди выход из лабиринта!", 3) + +local winSound = Instance.new("Sound", workspace) +winSound.SoundId = "win"; winSound.Volume = 1 + +local winEvent = getEvent("WinReached") +winEvent.Event:Connect(function() + __rbxl_show_text("Победа! Ты нашёл выход!", 5) + winSound:Play() + local px = __rbxl_player_x() + local py = __rbxl_player_y() + local pz = __rbxl_player_z() + __rbxl_spawn_particles("confetti", px, py + 3, pz, 3, 3) +end)`, + g5_finish: `-- === Скрипт финиша лабиринта (Lua) === +-- Висит на невидимой зоне над зелёным ковриком. +local ReplicatedStorage = game:GetService("ReplicatedStorage") local part = script.Parent +local fired = false + part.Touched:Connect(function(hit) + if fired then return end local h = hit.Parent and hit.Parent:FindFirstChild("Humanoid") if not h then return end - print("ПОБЕДА! Ты нашёл выход!") - h.WalkSpeed = 0 + fired = true + local ev = ReplicatedStorage:FindFirstChild("WinReached") + if ev then ev:Fire() end end)`, },