Загрузка данных


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)