local prompt = script.Parent -- Находим нашу кнопку
local npc = prompt.Parent.Parent -- Находим саму модельку НПС
-- Ищем блок, к которому полетим (он должен лежать в Workspace)
local destination = workspace:WaitForChild("TeleportDestination")
-- Подключаем сервис для облачков текста над головой
local chatService = game:GetService("Chat")
-- Этот код срабатывает, когда игрок нажимает "E"
prompt.Triggered:Connect(function(player)
local character = player.Character -- Получаем персонажа игрока
-- Проверяем, существует ли персонаж
if character and character:FindFirstChild("HumanoidRootPart") then
-- 1. Временно отключаем кнопку, чтобы игрок не нажал её 10 раз подряд
prompt.Enabled = false
-- 2. НПС говорит фразу
local head = npc:FindFirstChild("Head")
if head then
chatService:Chat(head, "Держись крепче, я тебя телепортирую!", "White")
end
-- 3. Ждем 2 секунды (имитируем разговор)
task.wait(2)
-- 4. ТЕЛЕПОРТАЦИЯ
-- Мы берем CFrame (позицию) нашего невидимого блока и телепортируем туда игрока.
-- Vector3.new(0, 3, 0) нужно, чтобы игрок появился чуть выше блока и не застрял в полу.
character:PivotTo(destination.CFrame + Vector3.new(0, 3, 0))
-- 5. Включаем кнопку обратно для других игроков
prompt.Enabled = true
end
end)