--[ CAINE'S SCRIPTS - ADVANCED TELEPORT SYSTEM v4 ]-- -- Añadido: Modo TP Aleatorio, control de intervalo, macro TP Aleatorio local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local CoreGui = game:GetService("CoreGui") local LocalPlayer = Players.LocalPlayer local CaineScripts = { Enabled = true, SelectedPlayer = nil, OriginalPosition = nil, Teleporting = false, MenuVisible = true, Macro1Key = nil, -- Ocultar menú Macro2Key = nil, -- TP Rápido (seleccionado) Macro3Key = nil, -- TP Aleatorio ReturnTime = 5, RandomMode = false, RandomInterval = 5, RandomLoopConnection = nil, Connections = {} } local function createMaterialYouUI() local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "CaineScriptsUI" ScreenGui.Parent = CoreGui ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 280, 0, 400) -- Aumentado de 360 a 400 MainFrame.Position = UDim2.new(0.5, -140, 0.5, -200) MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 35) MainFrame.BackgroundTransparency = 0.1 MainFrame.BorderSizePixel = 0 MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui MainFrame.AnchorPoint = Vector2.new(0.5, 0.5) MainFrame.Position = UDim2.new(0.5, 0, 0.5, 0) MainFrame.BackgroundTransparency = 1 MainFrame.Size = UDim2.new(0, 0, 0, 0) local introTween = TweenService:Create(MainFrame, TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0.1, Size = UDim2.new(0, 280, 0, 400)} ) introTween:Play() local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 12) UICorner.Parent = MainFrame local Shadow = Instance.new("ImageLabel") Shadow.Name = "Shadow" Shadow.Size = UDim2.new(1, 20, 1, 20) Shadow.Position = UDim2.new(0, -10, 0, -10) Shadow.BackgroundTransparency = 1 Shadow.Image = "rbxassetid://6014261994" Shadow.ImageColor3 = Color3.fromRGB(0, 0, 0) Shadow.ImageTransparency = 0.5 Shadow.ScaleType = Enum.ScaleType.Slice Shadow.SliceCenter = Rect.new(49, 49, 450, 450) Shadow.ZIndex = 0 Shadow.Parent = MainFrame -- Barra de título local TitleBar = Instance.new("Frame") TitleBar.Name = "TitleBar" TitleBar.Size = UDim2.new(1, 0, 0, 36) TitleBar.BackgroundColor3 = Color3.fromRGB(40, 40, 45) TitleBar.BackgroundTransparency = 0.2 TitleBar.BorderSizePixel = 0 TitleBar.Parent = MainFrame local TitleCorner = Instance.new("UICorner") TitleCorner.CornerRadius = UDim.new(0, 12) TitleCorner.Parent = TitleBar local TitleText = Instance.new("TextLabel") TitleText.Name = "TitleText" TitleText.Size = UDim2.new(1, -80, 1, 0) TitleText.Position = UDim2.new(0, 40, 0, 0) TitleText.BackgroundTransparency = 1 TitleText.Text = "CAINE'S SCRIPTS" TitleText.TextColor3 = Color3.fromRGB(200, 200, 230) TitleText.TextSize = 16 TitleText.Font = Enum.Font.GothamBold TitleText.TextXAlignment = Enum.TextXAlignment.Left TitleText.Parent = TitleBar local MinimizeButton = Instance.new("TextButton") MinimizeButton.Name = "MinimizeButton" MinimizeButton.Size = UDim2.new(0, 28, 0, 28) MinimizeButton.Position = UDim2.new(1, -64, 0, 4) MinimizeButton.BackgroundColor3 = Color3.fromRGB(50, 50, 55) MinimizeButton.BackgroundTransparency = 0.2 MinimizeButton.Text = "-" MinimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255) MinimizeButton.TextSize = 22 MinimizeButton.Font = Enum.Font.GothamBold MinimizeButton.Parent = TitleBar local MinCorner = Instance.new("UICorner") MinCorner.CornerRadius = UDim.new(0, 6) MinCorner.Parent = MinimizeButton local CloseButton = Instance.new("TextButton") CloseButton.Name = "CloseButton" CloseButton.Size = UDim2.new(0, 28, 0, 28) CloseButton.Position = UDim2.new(1, -32, 0, 4) CloseButton.BackgroundColor3 = Color3.fromRGB(200, 60, 60) CloseButton.BackgroundTransparency = 0.2 CloseButton.Text = "X" CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.TextSize = 18 CloseButton.Font = Enum.Font.GothamBold CloseButton.Parent = TitleBar local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 6) CloseCorner.Parent = CloseButton -- Contenedor de contenido local ContentFrame = Instance.new("Frame") ContentFrame.Name = "ContentFrame" ContentFrame.Size = UDim2.new(1, -16, 1, -52) ContentFrame.Position = UDim2.new(0, 8, 0, 44) ContentFrame.BackgroundTransparency = 1 ContentFrame.BorderSizePixel = 0 ContentFrame.Parent = MainFrame -- Lista de jugadores local PlayerList = Instance.new("ScrollingFrame") PlayerList.Name = "PlayerList" PlayerList.Size = UDim2.new(1, 0, 0, 130) -- Reducido para hacer espacio PlayerList.Position = UDim2.new(0, 0, 0, 0) PlayerList.BackgroundColor3 = Color3.fromRGB(25, 25, 30) PlayerList.BackgroundTransparency = 0.3 PlayerList.BorderSizePixel = 0 PlayerList.ScrollBarThickness = 4 PlayerList.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 120) PlayerList.CanvasSize = UDim2.new(0, 0, 0, 0) PlayerList.Parent = ContentFrame local ListCorner = Instance.new("UICorner") ListCorner.CornerRadius = UDim.new(0, 8) ListCorner.Parent = PlayerList local UIListLayout = Instance.new("UIListLayout") UIListLayout.Padding = UDim.new(0, 3) UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout.SortOrder = Enum.SortOrder.Name UIListLayout.Parent = PlayerList local UIPadding = Instance.new("UIPadding") UIPadding.PaddingTop = UDim.new(0, 3) UIPadding.PaddingBottom = UDim.new(0, 3) UIPadding.PaddingLeft = UDim.new(0, 4) UIPadding.PaddingRight = UDim.new(0, 4) UIPadding.Parent = PlayerList -- Sección de tiempo de retorno local TimeSection = Instance.new("Frame") TimeSection.Name = "TimeSection" TimeSection.Size = UDim2.new(1, 0, 0, 38) TimeSection.Position = UDim2.new(0, 0, 0, 135) TimeSection.BackgroundColor3 = Color3.fromRGB(25, 25, 30) TimeSection.BackgroundTransparency = 0.3 TimeSection.BorderSizePixel = 0 TimeSection.Parent = ContentFrame local TimeCorner = Instance.new("UICorner") TimeCorner.CornerRadius = UDim.new(0, 8) TimeCorner.Parent = TimeSection local TimeLabel = Instance.new("TextLabel") TimeLabel.Size = UDim2.new(1, 0, 0, 15) TimeLabel.BackgroundTransparency = 1 TimeLabel.Text = "⏱️ TIEMPO RETORNO (1-64s)" TimeLabel.TextColor3 = Color3.fromRGB(180, 180, 220) TimeLabel.TextSize = 10 TimeLabel.Font = Enum.Font.GothamBold TimeLabel.Parent = TimeSection local TimeControlFrame = Instance.new("Frame") TimeControlFrame.Size = UDim2.new(1, 0, 0, 20) TimeControlFrame.Position = UDim2.new(0, 0, 0, 17) TimeControlFrame.BackgroundTransparency = 1 TimeControlFrame.Parent = TimeSection local TimeSlider = Instance.new("Frame") TimeSlider.Size = UDim2.new(0.7, 0, 0, 16) TimeSlider.Position = UDim2.new(0, 4, 0, 2) TimeSlider.BackgroundColor3 = Color3.fromRGB(40, 40, 45) TimeSlider.BorderSizePixel = 0 TimeSlider.Parent = TimeControlFrame local SliderCorner = Instance.new("UICorner") SliderCorner.CornerRadius = UDim.new(0, 8) SliderCorner.Parent = TimeSlider local SliderFill = Instance.new("Frame") SliderFill.Size = UDim2.new(CaineScripts.ReturnTime/64, 0, 1, 0) SliderFill.BackgroundColor3 = Color3.fromRGB(100, 150, 250) SliderFill.BorderSizePixel = 0 SliderFill.Parent = TimeSlider local FillCorner = Instance.new("UICorner") FillCorner.CornerRadius = UDim.new(0, 8) FillCorner.Parent = SliderFill local TimeValue = Instance.new("TextLabel") TimeValue.Size = UDim2.new(0.2, 0, 1, 0) TimeValue.Position = UDim2.new(0.72, 0, 0, 0) TimeValue.BackgroundTransparency = 1 TimeValue.Text = tostring(CaineScripts.ReturnTime) .. "s" TimeValue.TextColor3 = Color3.fromRGB(200, 200, 230) TimeValue.TextSize = 12 TimeValue.Font = Enum.Font.GothamBold TimeValue.Parent = TimeControlFrame local TimeResetButton = Instance.new("TextButton") TimeResetButton.Size = UDim2.new(0, 20, 0, 20) TimeResetButton.Position = UDim2.new(1, -22, 0, 0) TimeResetButton.BackgroundColor3 = Color3.fromRGB(200, 80, 80) TimeResetButton.Text = "↻" TimeResetButton.TextColor3 = Color3.fromRGB(255, 255, 255) TimeResetButton.TextSize = 14 TimeResetButton.Font = Enum.Font.GothamBold TimeResetButton.Parent = TimeControlFrame TimeResetButton.ZIndex = 2 local ResetCorner = Instance.new("UICorner") ResetCorner.CornerRadius = UDim.new(1, 0) ResetCorner.Parent = TimeResetButton local function updateReturnSlider(value) value = math.clamp(value, 1, 64) CaineScripts.ReturnTime = value SliderFill.Size = UDim2.new(value/64, 0, 1, 0) TimeValue.Text = tostring(value) .. "s" end local sliderDragging = false TimeSlider.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliderDragging = true local relativeX = math.clamp((input.Position.X - TimeSlider.AbsolutePosition.X) / TimeSlider.AbsoluteSize.X, 0, 1) updateReturnSlider(math.floor(relativeX * 64) + 1) end end) TimeSlider.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliderDragging = false end end) UserInputService.InputChanged:Connect(function(input) if sliderDragging and input.UserInputType == Enum.UserInputType.MouseMovement then local relativeX = math.clamp((input.Position.X - TimeSlider.AbsolutePosition.X) / TimeSlider.AbsoluteSize.X, 0, 1) updateReturnSlider(math.floor(relativeX * 64) + 1) end end) TimeResetButton.MouseButton1Click:Connect(function() updateReturnSlider(5) end) -- Sección de modo aleatorio (NUEVA) local RandomSection = Instance.new("Frame") RandomSection.Name = "RandomSection" RandomSection.Size = UDim2.new(1, 0, 0, 38) RandomSection.Position = UDim2.new(0, 0, 0, 177) RandomSection.BackgroundColor3 = Color3.fromRGB(25, 25, 30) RandomSection.BackgroundTransparency = 0.3 RandomSection.BorderSizePixel = 0 RandomSection.Parent = ContentFrame local RandomCorner = Instance.new("UICorner") RandomCorner.CornerRadius = UDim.new(0, 8) RandomCorner.Parent = RandomSection local RandomLabel = Instance.new("TextLabel") RandomLabel.Size = UDim2.new(0.6, 0, 0, 15) RandomLabel.Position = UDim2.new(0, 5, 0, 2) RandomLabel.BackgroundTransparency = 1 RandomLabel.Text = "🎲 MODO ALEATORIO" RandomLabel.TextColor3 = Color3.fromRGB(180, 180, 220) RandomLabel.TextSize = 10 RandomLabel.Font = Enum.Font.GothamBold RandomLabel.TextXAlignment = Enum.TextXAlignment.Left RandomLabel.Parent = RandomSection -- Botón toggle local ToggleButton = Instance.new("TextButton") ToggleButton.Size = UDim2.new(0, 40, 0, 20) ToggleButton.Position = UDim2.new(0.65, 0, 0, 0) ToggleButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80) -- Inactivo ToggleButton.Text = "OFF" ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleButton.TextSize = 10 ToggleButton.Font = Enum.Font.GothamBold ToggleButton.Parent = RandomSection local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(0, 10) ToggleCorner.Parent = ToggleButton -- Slider intervalo local IntervalControlFrame = Instance.new("Frame") IntervalControlFrame.Size = UDim2.new(1, 0, 0, 18) IntervalControlFrame.Position = UDim2.new(0, 0, 0, 18) IntervalControlFrame.BackgroundTransparency = 1 IntervalControlFrame.Parent = RandomSection local IntervalSlider = Instance.new("Frame") IntervalSlider.Size = UDim2.new(0.7, 0, 0, 14) IntervalSlider.Position = UDim2.new(0, 4, 0, 2) IntervalSlider.BackgroundColor3 = Color3.fromRGB(40, 40, 45) IntervalSlider.BorderSizePixel = 0 IntervalSlider.Parent = IntervalControlFrame local IntervalSliderCorner = Instance.new("UICorner") IntervalSliderCorner.CornerRadius = UDim.new(0, 7) IntervalSliderCorner.Parent = IntervalSlider local IntervalFill = Instance.new("Frame") IntervalFill.Size = UDim2.new(CaineScripts.RandomInterval/64, 0, 1, 0) IntervalFill.BackgroundColor3 = Color3.fromRGB(150, 100, 200) -- Púrpura para diferenciar IntervalFill.BorderSizePixel = 0 IntervalFill.Parent = IntervalSlider local IntervalFillCorner = Instance.new("UICorner") IntervalFillCorner.CornerRadius = UDim.new(0, 7) IntervalFillCorner.Parent = IntervalFill local IntervalValue = Instance.new("TextLabel") IntervalValue.Size = UDim2.new(0.2, 0, 1, 0) IntervalValue.Position = UDim2.new(0.72, 0, 0, 0) IntervalValue.BackgroundTransparency = 1 IntervalValue.Text = tostring(CaineScripts.RandomInterval) .. "s" IntervalValue.TextColor3 = Color3.fromRGB(200, 200, 230) IntervalValue.TextSize = 11 IntervalValue.Font = Enum.Font.GothamBold IntervalValue.Parent = IntervalControlFrame local IntervalResetButton = Instance.new("TextButton") IntervalResetButton.Size = UDim2.new(0, 18, 0, 18) IntervalResetButton.Position = UDim2.new(1, -20, 0, 0) IntervalResetButton.BackgroundColor3 = Color3.fromRGB(200, 80, 80) IntervalResetButton.Text = "↻" IntervalResetButton.TextColor3 = Color3.fromRGB(255, 255, 255) IntervalResetButton.TextSize = 12 IntervalResetButton.Font = Enum.Font.GothamBold IntervalResetButton.Parent = IntervalControlFrame IntervalResetButton.ZIndex = 2 local IntervalResetCorner = Instance.new("UICorner") IntervalResetCorner.CornerRadius = UDim.new(1, 0) IntervalResetCorner.Parent = IntervalResetButton local function updateIntervalSlider(value) value = math.clamp(value, 1, 64) CaineScripts.RandomInterval = value IntervalFill.Size = UDim2.new(value/64, 0, 1, 0) IntervalValue.Text = tostring(value) .. "s" -- Si el modo está activo, reiniciar el loop con nuevo intervalo if CaineScripts.RandomMode then stopRandomLoop() startRandomLoop() end end local intervalDragging = false IntervalSlider.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then intervalDragging = true local relativeX = math.clamp((input.Position.X - IntervalSlider.AbsolutePosition.X) / IntervalSlider.AbsoluteSize.X, 0, 1) updateIntervalSlider(math.floor(relativeX * 64) + 1) end end) IntervalSlider.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then intervalDragging = false end end) UserInputService.InputChanged:Connect(function(input) if intervalDragging and input.UserInputType == Enum.UserInputType.MouseMovement then local relativeX = math.clamp((input.Position.X - IntervalSlider.AbsolutePosition.X) / IntervalSlider.AbsoluteSize.X, 0, 1) updateIntervalSlider(math.floor(relativeX * 64) + 1) end end) IntervalResetButton.MouseButton1Click:Connect(function() updateIntervalSlider(5) end) -- Funciones del modo aleatorio function startRandomLoop() if CaineScripts.RandomLoopConnection then CaineScripts.RandomLoopConnection:Disconnect() end CaineScripts.RandomLoopConnection = RunService.Heartbeat:Connect(function() -- No hacemos nada aquí, usaremos un spawn con wait end) -- Mejor usar un bucle con wait dentro de un coroutine CaineScripts.RandomLoopConnection = coroutine.wrap(function() while CaineScripts.RandomMode and CaineScripts.Enabled do local players = Players:GetPlayers() local others = {} for _, p in ipairs(players) do if p ~= LocalPlayer then table.insert(others, p) end end if #others > 0 then local randomPlayer = others[math.random(1, #others)] teleportToPlayer(randomPlayer, true) -- true = ignore return time? No, usamos tiempo retorno normal end wait(CaineScripts.RandomInterval) end end)() end function stopRandomLoop() if CaineScripts.RandomLoopConnection then CaineScripts.RandomLoopConnection = nil end end ToggleButton.MouseButton1Click:Connect(function() CaineScripts.RandomMode = not CaineScripts.RandomMode if CaineScripts.RandomMode then ToggleButton.BackgroundColor3 = Color3.fromRGB(76, 175, 80) -- Verde activo ToggleButton.Text = "ON" startRandomLoop() else ToggleButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80) ToggleButton.Text = "OFF" stopRandomLoop() end end) -- Sección de macros (3 macros) local MacroSection = Instance.new("Frame") MacroSection.Name = "MacroSection" MacroSection.Size = UDim2.new(1, 0, 0, 100) -- Ajustado para 3 macros MacroSection.Position = UDim2.new(0, 0, 0, 220) MacroSection.BackgroundColor3 = Color3.fromRGB(25, 25, 30) MacroSection.BackgroundTransparency = 0.3 MacroSection.BorderSizePixel = 0 MacroSection.Parent = ContentFrame local MacroCorner = Instance.new("UICorner") MacroCorner.CornerRadius = UDim.new(0, 8) MacroCorner.Parent = MacroSection local MacroTitle = Instance.new("TextLabel") MacroTitle.Size = UDim2.new(1, 0, 0, 18) MacroTitle.BackgroundTransparency = 1 MacroTitle.Text = "MACROS" MacroTitle.TextColor3 = Color3.fromRGB(180, 180, 220) MacroTitle.TextSize = 12 MacroTitle.Font = Enum.Font.GothamBold MacroTitle.Parent = MacroSection -- Macro 1: Ocultar menú local Macro1Frame = Instance.new("Frame") Macro1Frame.Size = UDim2.new(1, -8, 0, 24) Macro1Frame.Position = UDim2.new(0, 4, 0, 22) Macro1Frame.BackgroundColor3 = Color3.fromRGB(35, 35, 40) Macro1Frame.BackgroundTransparency = 0.3 Macro1Frame.BorderSizePixel = 0 Macro1Frame.Parent = MacroSection local Macro1Corner = Instance.new("UICorner") Macro1Corner.CornerRadius = UDim.new(0, 6) Macro1Corner.Parent = Macro1Frame local Macro1Label = Instance.new("TextLabel") Macro1Label.Size = UDim2.new(0.55, 0, 1, 0) Macro1Label.BackgroundTransparency = 1 Macro1Label.Text = "Ocultar Menú" Macro1Label.TextColor3 = Color3.fromRGB(200, 200, 230) Macro1Label.TextSize = 10 Macro1Label.Font = Enum.Font.Gotham Macro1Label.TextXAlignment = Enum.TextXAlignment.Left Macro1Label.Parent = Macro1Frame local Macro1Keybind = Instance.new("TextButton") Macro1Keybind.Size = UDim2.new(0.35, 0, 1, -3) Macro1Keybind.Position = UDim2.new(0.6, 0, 0, 1.5) Macro1Keybind.BackgroundColor3 = Color3.fromRGB(60, 60, 70) Macro1Keybind.Text = "Sin tecla" Macro1Keybind.TextColor3 = Color3.fromRGB(255, 255, 255) Macro1Keybind.TextSize = 9 Macro1Keybind.Font = Enum.Font.Gotham Macro1Keybind.Parent = Macro1Frame local Macro1BtnCorner = Instance.new("UICorner") Macro1BtnCorner.CornerRadius = UDim.new(0, 4) Macro1BtnCorner.Parent = Macro1Keybind local Macro1Reset = Instance.new("TextButton") Macro1Reset.Size = UDim2.new(0, 16, 0, 16) Macro1Reset.Position = UDim2.new(1, -18, 0.5, -8) Macro1Reset.BackgroundColor3 = Color3.fromRGB(200, 80, 80) Macro1Reset.Text = "↻" Macro1Reset.TextColor3 = Color3.fromRGB(255, 255, 255) Macro1Reset.TextSize = 12 Macro1Reset.Font = Enum.Font.GothamBold Macro1Reset.Parent = Macro1Frame Macro1Reset.ZIndex = 2 local Reset1Corner = Instance.new("UICorner") Reset1Corner.CornerRadius = UDim.new(1, 0) Reset1Corner.Parent = Macro1Reset -- Macro 2: TP Rápido (seleccionado) local Macro2Frame = Instance.new("Frame") Macro2Frame.Size = UDim2.new(1, -8, 0, 24) Macro2Frame.Position = UDim2.new(0, 4, 0, 48) Macro2Frame.BackgroundColor3 = Color3.fromRGB(35, 35, 40) Macro2Frame.BackgroundTransparency = 0.3 Macro2Frame.BorderSizePixel = 0 Macro2Frame.Parent = MacroSection local Macro2Corner = Instance.new("UICorner") Macro2Corner.CornerRadius = UDim.new(0, 6) Macro2Corner.Parent = Macro2Frame local Macro2Label = Instance.new("TextLabel") Macro2Label.Size = UDim2.new(0.55, 0, 1, 0) Macro2Label.BackgroundTransparency = 1 Macro2Label.Text = "TP Rápido" Macro2Label.TextColor3 = Color3.fromRGB(200, 200, 230) Macro2Label.TextSize = 10 Macro2Label.Font = Enum.Font.Gotham Macro2Label.TextXAlignment = Enum.TextXAlignment.Left Macro2Label.Parent = Macro2Frame local Macro2Keybind = Instance.new("TextButton") Macro2Keybind.Size = UDim2.new(0.35, 0, 1, -3) Macro2Keybind.Position = UDim2.new(0.6, 0, 0, 1.5) Macro2Keybind.BackgroundColor3 = Color3.fromRGB(60, 60, 70) Macro2Keybind.Text = "Sin tecla" Macro2Keybind.TextColor3 = Color3.fromRGB(255, 255, 255) Macro2Keybind.TextSize = 9 Macro2Keybind.Font = Enum.Font.Gotham Macro2Keybind.Parent = Macro2Frame local Macro2BtnCorner = Instance.new("UICorner") Macro2BtnCorner.CornerRadius = UDim.new(0, 4) Macro2BtnCorner.Parent = Macro2Keybind local Macro2Reset = Instance.new("TextButton") Macro2Reset.Size = UDim2.new(0, 16, 0, 16) Macro2Reset.Position = UDim2.new(1, -18, 0.5, -8) Macro2Reset.BackgroundColor3 = Color3.fromRGB(200, 80, 80) Macro2Reset.Text = "↻" Macro2Reset.TextColor3 = Color3.fromRGB(255, 255, 255) Macro2Reset.TextSize = 12 Macro2Reset.Font = Enum.Font.GothamBold Macro2Reset.Parent = Macro2Frame Macro2Reset.ZIndex = 2 local Reset2Corner = Instance.new("UICorner") Reset2Corner.CornerRadius = UDim.new(1, 0) Reset2Corner.Parent = Macro2Reset -- Macro 3: TP Aleatorio (NUEVA) local Macro3Frame = Instance.new("Frame") Macro3Frame.Size = UDim2.new(1, -8, 0, 24) Macro3Frame.Position = UDim2.new(0, 4, 0, 74) Macro3Frame.BackgroundColor3 = Color3.fromRGB(35, 35, 40) Macro3Frame.BackgroundTransparency = 0.3 Macro3Frame.BorderSizePixel = 0 Macro3Frame.Parent = MacroSection local Macro3Corner = Instance.new("UICorner") Macro3Corner.CornerRadius = UDim.new(0, 6) Macro3Corner.Parent = Macro3Frame local Macro3Label = Instance.new("TextLabel") Macro3Label.Size = UDim2.new(0.55, 0, 1, 0) Macro3Label.BackgroundTransparency = 1 Macro3Label.Text = "TP Aleatorio" Macro3Label.TextColor3 = Color3.fromRGB(200, 200, 230) Macro3Label.TextSize = 10 Macro3Label.Font = Enum.Font.Gotham Macro3Label.TextXAlignment = Enum.TextXAlignment.Left Macro3Label.Parent = Macro3Frame local Macro3Keybind = Instance.new("TextButton") Macro3Keybind.Size = UDim2.new(0.35, 0, 1, -3) Macro3Keybind.Position = UDim2.new(0.6, 0, 0, 1.5) Macro3Keybind.BackgroundColor3 = Color3.fromRGB(60, 60, 70) Macro3Keybind.Text = "Sin tecla" Macro3Keybind.TextColor3 = Color3.fromRGB(255, 255, 255) Macro3Keybind.TextSize = 9 Macro3Keybind.Font = Enum.Font.Gotham Macro3Keybind.Parent = Macro3Frame local Macro3BtnCorner = Instance.new("UICorner") Macro3BtnCorner.CornerRadius = UDim.new(0, 4) Macro3BtnCorner.Parent = Macro3Keybind local Macro3Reset = Instance.new("TextButton") Macro3Reset.Size = UDim2.new(0, 16, 0, 16) Macro3Reset.Position = UDim2.new(1, -18, 0.5, -8) Macro3Reset.BackgroundColor3 = Color3.fromRGB(200, 80, 80) Macro3Reset.Text = "↻" Macro3Reset.TextColor3 = Color3.fromRGB(255, 255, 255) Macro3Reset.TextSize = 12 Macro3Reset.Font = Enum.Font.GothamBold Macro3Reset.Parent = Macro3Frame Macro3Reset.ZIndex = 2 local Reset3Corner = Instance.new("UICorner") Reset3Corner.CornerRadius = UDim.new(1, 0) Reset3Corner.Parent = Macro3Reset -- Ventana arrastrable local dragging = false local dragStart, startPos TitleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = MainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) TitleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then local delta = input.Position - dragStart MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) MinimizeButton.MouseButton1Click:Connect(function() ContentFrame.Visible = not ContentFrame.Visible MainFrame.Size = ContentFrame.Visible and UDim2.new(0, 280, 0, 400) or UDim2.new(0, 280, 0, 44) end) CloseButton.MouseButton1Click:Connect(function() CaineScripts.RandomMode = false stopRandomLoop() local closeTween = TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {BackgroundTransparency = 1, Size = UDim2.new(0, 0, 0, 0)} ) closeTween:Play() closeTween.Completed:Wait() ScreenGui:Destroy() CaineScripts.Enabled = false for _, conn in pairs(CaineScripts.Connections) do conn:Disconnect() end end) -- Sistema de keybinds para macros local settingMacro = nil Macro1Keybind.MouseButton1Click:Connect(function() settingMacro = 1 Macro1Keybind.Text = "Presiona..." end) Macro2Keybind.MouseButton1Click:Connect(function() settingMacro = 2 Macro2Keybind.Text = "Presiona..." end) Macro3Keybind.MouseButton1Click:Connect(function() settingMacro = 3 Macro3Keybind.Text = "Presiona..." end) Macro1Reset.MouseButton1Click:Connect(function() CaineScripts.Macro1Key = nil Macro1Keybind.Text = "Sin tecla" if settingMacro == 1 then settingMacro = nil end end) Macro2Reset.MouseButton1Click:Connect(function() CaineScripts.Macro2Key = nil Macro2Keybind.Text = "Sin tecla" if settingMacro == 2 then settingMacro = nil end end) Macro3Reset.MouseButton1Click:Connect(function() CaineScripts.Macro3Key = nil Macro3Keybind.Text = "Sin tecla" if settingMacro == 3 then settingMacro = nil end end) UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if settingMacro then if input.UserInputType == Enum.UserInputType.Keyboard then if settingMacro == 1 then CaineScripts.Macro1Key = input.KeyCode Macro1Keybind.Text = input.KeyCode.Name elseif settingMacro == 2 then CaineScripts.Macro2Key = input.KeyCode Macro2Keybind.Text = input.KeyCode.Name else CaineScripts.Macro3Key = input.KeyCode Macro3Keybind.Text = input.KeyCode.Name end settingMacro = nil end return end if input.KeyCode == CaineScripts.Macro1Key then ScreenGui.Enabled = not ScreenGui.Enabled elseif input.KeyCode == CaineScripts.Macro2Key and CaineScripts.SelectedPlayer then teleportToSelectedPlayer() elseif input.KeyCode == CaineScripts.Macro3Key then teleportToRandomPlayer() end end) -- Función para actualizar lista de jugadores local function updatePlayerList() for _, child in pairs(PlayerList:GetChildren()) do if child:IsA("Frame") then child:Destroy() end end local ySize = 0 for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then local PlayerFrame = Instance.new("Frame") PlayerFrame.Name = player.Name PlayerFrame.Size = UDim2.new(1, 0, 0, 24) PlayerFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 40) PlayerFrame.BackgroundTransparency = 0.3 PlayerFrame.BorderSizePixel = 0 PlayerFrame.Parent = PlayerList local FrameCorner = Instance.new("UICorner") FrameCorner.CornerRadius = UDim.new(0, 6) FrameCorner.Parent = PlayerFrame local PlayerName = Instance.new("TextButton") PlayerName.Size = UDim2.new(0.7, 0, 1, 0) PlayerName.BackgroundTransparency = 1 PlayerName.Text = player.Name PlayerName.TextColor3 = CaineScripts.SelectedPlayer == player and Color3.fromRGB(255, 100, 100) or Color3.fromRGB(200, 200, 230) PlayerName.TextSize = 12 PlayerName.Font = Enum.Font.Gotham PlayerName.TextXAlignment = Enum.TextXAlignment.Left PlayerName.Parent = PlayerFrame local OmegaButton = Instance.new("TextButton") OmegaButton.Size = UDim2.new(0.25, 0, 0.8, 0) OmegaButton.Position = UDim2.new(0.75, 0, 0.1, 0) OmegaButton.BackgroundColor3 = Color3.fromRGB(60, 60, 70) OmegaButton.Text = "Ω" OmegaButton.TextColor3 = Color3.fromRGB(255, 255, 255) OmegaButton.TextSize = 13 OmegaButton.Font = Enum.Font.GothamBold OmegaButton.Parent = PlayerFrame local OmegaCorner = Instance.new("UICorner") OmegaCorner.CornerRadius = UDim.new(0, 4) OmegaCorner.Parent = OmegaButton PlayerName.MouseButton1Click:Connect(function() if CaineScripts.SelectedPlayer == player then CaineScripts.SelectedPlayer = nil else CaineScripts.SelectedPlayer = player end updatePlayerList() end) OmegaButton.MouseButton1Click:Connect(function() teleportToPlayer(player) end) ySize = ySize + 27 end end PlayerList.CanvasSize = UDim2.new(0, 0, 0, ySize) end -- Función de teletransporte a un jugador específico function teleportToPlayer(targetPlayer) local localChar = LocalPlayer.Character local targetChar = targetPlayer.Character if not localChar or not targetChar then return end local localHRP = localChar:FindFirstChild("HumanoidRootPart") local targetHRP = targetChar:FindFirstChild("HumanoidRootPart") if not localHRP or not targetHRP then return end CaineScripts.OriginalPosition = localHRP.CFrame local behindOffset = targetHRP.CFrame.LookVector * -5 local teleportCFrame = CFrame.new(targetHRP.Position + behindOffset) * CFrame.Angles(0, math.pi, 0) localHRP.CFrame = teleportCFrame if CaineScripts.Teleporting then CaineScripts.Teleporting = false end CaineScripts.Teleporting = true local returnTime = CaineScripts.ReturnTime spawn(function() wait(returnTime) if CaineScripts.Teleporting and CaineScripts.OriginalPosition then local currentChar = LocalPlayer.Character local currentHRP = currentChar and currentChar:FindFirstChild("HumanoidRootPart") if currentHRP then currentHRP.CFrame = CaineScripts.OriginalPosition end CaineScripts.Teleporting = false end end) end function teleportToSelectedPlayer() if CaineScripts.SelectedPlayer then teleportToPlayer(CaineScripts.SelectedPlayer) end end function teleportToRandomPlayer() local players = Players:GetPlayers() local others = {} for _, p in ipairs(players) do if p ~= LocalPlayer then table.insert(others, p) end end if #others > 0 then local randomPlayer = others[math.random(1, #others)] teleportToPlayer(randomPlayer) end end updatePlayerList() table.insert(CaineScripts.Connections, Players.PlayerAdded:Connect(updatePlayerList)) table.insert(CaineScripts.Connections, Players.PlayerRemoving:Connect(function() updatePlayerList() -- Si el jugador seleccionado se va, limpiar selección if CaineScripts.SelectedPlayer and not CaineScripts.SelectedPlayer:IsDescendantOf(Players) then CaineScripts.SelectedPlayer = nil end end)) return ScreenGui end local ui = createMaterialYouUI()