
KeylessUniversal

--[ 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()



Join my discord to get more scripts. ...
99% IA 1% human