local player = game.Players.LocalPlayer local gui = Instance.new("ScreenGui") gui.Name = "CheeseTeleportGUI" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.Parent = player.PlayerGui -- Делаем GUI крупным и заметным local frame = Instance.new("Frame") frame.Name = "MainFrame" frame.Size = UDim2.new(0, 280, 0, 140) -- Увеличил высоту для новой кнопки frame.Position = UDim2.new(0.5, -140, 0.5, -70) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 40) frame.BackgroundTransparency = 0.1 frame.BorderSizePixel = 3 frame.BorderColor3 = Color3.fromRGB(255, 200, 50) frame.Parent = gui -- Делаем фон с эффектом свечения local glow = Instance.new("UIGradient") glow.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 200, 50)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 150, 0)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 200, 50)) }) glow.Rotation = 45 glow.Parent = frame -- Заголовок local title = Instance.new("TextLabel") title.Name = "Title" title.Size = UDim2.new(1, 0, 0.2, 0) title.Position = UDim2.new(0, 0, 0, 0) title.BackgroundTransparency = 1 title.Text = "🍕 CHEESE TELEPORT 🍕" title.TextColor3 = Color3.fromRGB(255, 200, 50) title.TextScaled = true title.Font = Enum.Font.GothamBold title.Parent = frame -- Статус local status = Instance.new("TextLabel") status.Name = "Status" status.Size = UDim2.new(1, 0, 0.15, 0) status.Position = UDim2.new(0, 0, 0.2, 0) status.BackgroundTransparency = 1 status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) status.TextScaled = true status.Font = Enum.Font.Gotham status.Parent = frame -- Кнопка телепорта local button = Instance.new("TextButton") button.Name = "TeleportButton" button.Size = UDim2.new(0.8, 0, 0.3, 0) button.Position = UDim2.new(0.1, 0, 0.35, 0) button.Text = "▶ TELEPORT ◀" button.BackgroundColor3 = Color3.fromRGB(255, 180, 0) button.TextColor3 = Color3.fromRGB(0, 0, 0) button.Font = Enum.Font.GothamBold button.TextScaled = true button.BorderSizePixel = 2 button.BorderColor3 = Color3.fromRGB(255, 255, 255) button.AutoButtonColor = true button.Parent = frame -- Кнопка Discord local discordButton = Instance.new("TextButton") discordButton.Name = "DiscordButton" discordButton.Size = UDim2.new(0.8, 0, 0.25, 0) discordButton.Position = UDim2.new(0.1, 0, 0.7, 0) discordButton.Text = "💬 JOIN THE DISCORD" discordButton.BackgroundColor3 = Color3.fromRGB(88, 101, 242) -- Цвет Discord discordButton.TextColor3 = Color3.fromRGB(255, 255, 255) discordButton.Font = Enum.Font.GothamBold discordButton.TextScaled = true discordButton.BorderSizePixel = 2 discordButton.BorderColor3 = Color3.fromRGB(255, 255, 255) discordButton.AutoButtonColor = true discordButton.Parent = frame -- Анимация пульсации кнопки телепорта local runService = game:GetService("RunService") local pulseConnection pulseConnection = runService.Heartbeat:Connect(function() if button and button.Parent then local pulse = math.sin(os.clock() * 3) * 0.1 + 1 button.BackgroundColor3 = Color3.fromRGB( 255, 180 * pulse, 0 ) else pulseConnection:Disconnect() end end) -- Делаем перетаскивание local dragging = false local dragStart = nil local startPos = nil frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) -- Функция для копирования в буфер обмена local function copyToClipboard(text) if setclipboard then setclipboard(text) return true elseif game:GetService("GuiService") and game:GetService("GuiService"):GetClipboard() then -- Альтернативный метод для некоторых исполнений game:GetService("GuiService"):SetClipboard(text) return true else return false end end -- Обработчик для кнопки Discord discordButton.MouseButton1Click:Connect(function() local discordLink = "https://discord.gg/qR36JUm3qK" if copyToClipboard(discordLink) then status.Text = "✅ Discord link copied!" status.TextColor3 = Color3.fromRGB(100, 255, 100) discordButton.Text = "✅ COPIED!" task.wait(2) discordButton.Text = "💬 JOIN THE DISCORD" status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) else status.Text = "❌ Failed to copy!" status.TextColor3 = Color3.fromRGB(255, 0, 0) -- Если копирование не удалось, показываем ссылку в статусе task.wait(1) status.Text = discordLink status.TextColor3 = Color3.fromRGB(100, 200, 255) task.wait(3) status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) end end) -- Основная логика local character = player.Character or player.CharacterAdded:Wait() local humanoidRootPart = character:WaitForChild("HumanoidRootPart") local function teleportTo(position) if character and character.Parent and humanoidRootPart then humanoidRootPart.CFrame = CFrame.new(position) end end local function teleportPlayerTo(playerToTeleport, position) local char = playerToTeleport.Character if char and char.Parent then local root = char:FindFirstChild("HumanoidRootPart") if root then root.CFrame = CFrame.new(position) end end end -- Переменные local isTeleporting = false local antiCheeseLoop = nil local bearDanceLoop = nil -- Функция для проверки команды игрока local function isPlayerInTeam(teamName) local team = game:GetService("Teams"):FindFirstChild(teamName) if not team then return false end return player.Team == team end -- Функция для получения всех игроков в команде local function getPlayersInTeam(teamName) local team = game:GetService("Teams"):FindFirstChild(teamName) if not team then return {} end local players = {} for _, plr in ipairs(game.Players:GetPlayers()) do if plr.Team == team then table.insert(players, plr) end end return players end -- Функция для запуска анти-сырной механики local function startAntiCheese() if antiCheeseLoop then antiCheeseLoop:Disconnect() antiCheeseLoop = nil end status.Text = "⚠️ NO CHEESE! FLYING!" status.TextColor3 = Color3.fromRGB(255, 0, 0) antiCheeseLoop = runService.Heartbeat:Connect(function() if isPlayerInTeam("Survivors") and character and character.Parent then local currentPos = humanoidRootPart.Position local upPosition = currentPos + Vector3.new(0, 60, 0) teleportTo(upPosition) else if antiCheeseLoop then antiCheeseLoop:Disconnect() antiCheeseLoop = nil status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) end end end) end -- Функция для танца медведя local function startBearDance() if bearDanceLoop then bearDanceLoop:Disconnect() bearDanceLoop = nil end -- Получаем всех игроков в команде Survivors local survivors = getPlayersInTeam("Survivors") if #survivors == 0 then status.Text = "No Survivors to teleport!" status.TextColor3 = Color3.fromRGB(255, 200, 0) return end -- Получаем позицию медведя (игрока в команде Bear) local bearPos = humanoidRootPart.Position -- Телепортируем всех выживших к медведю for _, survivor in ipairs(survivors) do teleportPlayerTo(survivor, bearPos) end status.Text = "🐻 TELEPORTED TO BEAR!" status.TextColor3 = Color3.fromRGB(255, 100, 100) -- Сохраняем исходные позиции выживших local originalPositions = {} for _, survivor in ipairs(survivors) do local char = survivor.Character if char and char.Parent then local root = char:FindFirstChild("HumanoidRootPart") if root then originalPositions[survivor] = root.Position end end end local startTime = os.clock() local duration = 10 bearDanceLoop = runService.Heartbeat:Connect(function() local elapsed = os.clock() - startTime -- Проверяем, не вышел ли игрок из команды Bear if not isPlayerInTeam("Bear") then if bearDanceLoop then bearDanceLoop:Disconnect() bearDanceLoop = nil status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) end return end -- Проверяем время if elapsed >= duration then if bearDanceLoop then bearDanceLoop:Disconnect() bearDanceLoop = nil status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) end return end -- Двигаем выживших вперед-назад относительно их исходных позиций local step = math.sin(elapsed * 4) -- Быстрое движение вперед-назад for _, survivor in ipairs(survivors) do local char = survivor.Character if char and char.Parent then local root = char:FindFirstChild("HumanoidRootPart") if root then local originalPos = originalPositions[survivor] if originalPos then -- Двигаем на 1 студ вперед и назад по оси Z local newPos = originalPos + Vector3.new(0, 0, step * 1) root.CFrame = CFrame.new(newPos) end end end end end) end button.MouseButton1Click:Connect(function() if isTeleporting then return end local map = workspace:FindFirstChild("Map") if not map then warn("Map not found!") return end -- Проверяем команду игрока if isPlayerInTeam("Bear") then -- Игрок в команде Bear - телепортируем всех Survivors и запускаем танец startBearDance() return end -- Если игрок не в команде Survivors - выходим if not isPlayerInTeam("Survivors") then status.Text = "❌ Wrong team!" status.TextColor3 = Color3.fromRGB(255, 0, 0) task.wait(2) status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) return end -- Проверяем Cheese local cheeseAltar = map:FindFirstChild("CheeseAltar") if not cheeseAltar then warn("CheeseAltar not found!") return end local items = cheeseAltar:FindFirstChild("Items") if not items then warn("Items not found!") return end local item = items:FindFirstChild("Item") if not item then warn("Item not found!") return end local cheesePart = item:FindFirstChild("Cheese") -- Если Cheese нет - запускаем анти-сыр if not cheesePart or not cheesePart:IsA("BasePart") then warn("Cheese not found! Starting anti-cheese!") startAntiCheese() return end -- Если Cheese есть, но игрок в Survivors - телепортируем к сыру if isPlayerInTeam("Survivors") then -- Проверяем Detect local base = cheeseAltar:FindFirstChild("Base") if not base then warn("Base not found!") return end local detectPart = base:FindFirstChild("Detect") if not detectPart or not detectPart:IsA("BasePart") then warn("Detect not found!") return end isTeleporting = true button.Text = "⏳ TELEPORTING..." button.BackgroundColor3 = Color3.fromRGB(150, 150, 150) button.TextColor3 = Color3.fromRGB(100, 100, 100) status.Text = "🔄 TELEPORTING..." status.TextColor3 = Color3.fromRGB(100, 200, 255) local originalPosition = humanoidRootPart.Position teleportTo(cheesePart.Position) task.wait(1) teleportTo(detectPart.Position) task.wait(0.5) local belowPosition = detectPart.Position - Vector3.new(0, 2, 0) teleportTo(belowPosition) task.wait(0.5) teleportTo(originalPosition) isTeleporting = false button.Text = "▶ TELEPORT ◀" button.BackgroundColor3 = Color3.fromRGB(255, 180, 0) button.TextColor3 = Color3.fromRGB(0, 0, 0) status.Text = "✅ Teleport complete!" status.TextColor3 = Color3.fromRGB(100, 255, 100) task.wait(1.5) status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) end end) -- Обработка перезагрузки персонажа player.CharacterAdded:Connect(function(newCharacter) character = newCharacter humanoidRootPart = character:WaitForChild("HumanoidRootPart") end) -- Обработка смены команды player:GetPropertyChangedSignal("Team"):Connect(function() if antiCheeseLoop then antiCheeseLoop:Disconnect() antiCheeseLoop = nil status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) end if bearDanceLoop then bearDanceLoop:Disconnect() bearDanceLoop = nil status.Text = "Ready" status.TextColor3 = Color3.fromRGB(100, 255, 100) end end)