local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local TweenService = game:GetService("TweenService") local localPlayer = Players.LocalPlayer -- Координаты точек local posMain = Vector3.new(-179.4, 15, -133.11) local posBox = Vector3.new(-145.64, 13, -125.47) local posEnd = Vector3.new(-122, 15, 182.15) -- Контейнер интерфейса (поднят выше: position Y = 0.22) local screenGui = Instance.new("ScreenGui") screenGui.Name = "SteelTeleportGui" screenGui.ResetOnSpawn = false screenGui.Parent = (gethui and gethui()) or CoreGui or localPlayer:WaitForChild("PlayerGui") local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 210, 0, 135) mainFrame.Position = UDim2.new(0.05, 0, 0.22, 0) -- Высокое положение mainFrame.BackgroundTransparency = 1 mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui -- Универсальный телепорт со сохранением скорости local function teleportTo(targetPos) local character = localPlayer.Character if not character then return end local rootPart = character:FindFirstChild("HumanoidRootPart") local humanoid = character:FindFirstChildOfClass("Humanoid") if rootPart then local savedLinearVelocity = rootPart.AssemblyLinearVelocity local savedAngularVelocity = rootPart.AssemblyAngularVelocity if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Running) end character:PivotTo(CFrame.new(targetPos)) rootPart.AssemblyLinearVelocity = savedLinearVelocity rootPart.AssemblyAngularVelocity = savedAngularVelocity end end local createdButtons = {} -- Функция создания компактных цветных кнопок local function createButton(name, text, position, targetVector, mainColor, strokeColor, gradientColor) local button = Instance.new("TextButton") button.Name = name button.Size = UDim2.new(1, 0, 0, 36) -- Маленькая высота button.Position = position button.BackgroundColor3 = mainColor button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 11 button.Font = Enum.Font.GothamBold button.Text = text button.BackgroundTransparency = 1 button.TextTransparency = 1 button.Parent = mainFrame local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = button local stroke = Instance.new("UIStroke") stroke.Color = strokeColor stroke.Thickness = 2 stroke.Transparency = 1 stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border stroke.Parent = button local gradient = Instance.new("UIGradient") gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, gradientColor), ColorSequenceKeypoint.new(0.5, mainColor), ColorSequenceKeypoint.new(1, gradientColor) }) gradient.Rotation = 45 gradient.Parent = button -- Покачивание кнопки local swayRight = TweenService:Create(button, TweenInfo.new(1.6, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Rotation = 2.5}) local swayLeft = TweenService:Create(button, TweenInfo.new(1.6, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Rotation = -2.5}) task.spawn(function() while button and button.Parent do swayRight:Play() swayRight.Completed:Wait() swayLeft:Play() swayLeft.Completed:Wait() end end) button.MouseButton1Click:Connect(function() teleportTo(targetVector) end) table.insert(createdButtons, {button = button, stroke = stroke}) return button end -- 1. Стальная кнопка createButton("MainTP", "TELEPORT 1\n[-179.4, 15, -133.11]", UDim2.new(0, 0, 0, 0), posMain, Color3.fromRGB(35, 40, 48), Color3.fromRGB(140, 160, 185), Color3.fromRGB(75, 85, 98)) -- 2. Красная кнопка (Помощь новичкам) createButton("BoxTP", "Оставить коробку чтобы помочь новичкам", UDim2.new(0, 0, 0, 44), posBox, Color3.fromRGB(120, 25, 30), Color3.fromRGB(240, 70, 80), Color3.fromRGB(170, 35, 45)) -- 3. Зелёная кнопка (Конец карты на английском) createButton("EndTP", "TELEPORT TO END OF MAP", UDim2.new(0, 0, 0, 88), posEnd, Color3.fromRGB(25, 100, 45), Color3.fromRGB(60, 220, 100), Color3.fromRGB(40, 150, 65)) -- Анимация появления из прозрачности ровно по 120 этапам task.spawn(function() for step = 1, 120 do local alpha = step / 120 for _, data in ipairs(createdButtons) do data.button.BackgroundTransparency = 1 - alpha data.button.TextTransparency = 1 - alpha data.stroke.Transparency = 1 - alpha end task.wait(0.008) -- 120 этапов анимации (~1 секунда) end end)