
KeylessUniversal

-- REMOTE CONTROL GUI FINAL (FULL INTEGRATED)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local selected
local active = false
local mode = "CAR"
local turn, throttle = 0,0
local pedalsCreated = false
local MAX_SIZE = Vector3.new(20,20,20) -- limite de tamanho do objeto
-- ================= SCREEN GUI =================
local gui = Instance.new("ScreenGui")
gui.Name = "RemoteGUI"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
-- ================= MAIN FRAME =================
local frame = Instance.new("Frame")
frame.Parent = gui
frame.Size = UDim2.new(0, 140, 0, 180)
frame.Position = UDim2.new(0.75,0,0.3,0)
frame.BackgroundColor3 = Color3.fromRGB(40,40,40)
frame.BorderSizePixel = 0
frame.Active = true
frame.ClipsDescendants = false
-- ===== TITLE =====
local title = Instance.new("TextLabel")
title.Parent = frame
title.Size = UDim2.new(1,0,0,25)
title.BackgroundColor3 = Color3.fromRGB(25,25,25)
title.Text = "REMOTE CONTROL"
title.TextColor3 = Color3.new(1,1,1)
title.TextScaled = true
title.Font = Enum.Font.SourceSansBold
-- ===== LAYOUT =====
local layout = Instance.new("UIListLayout")
layout.Parent = frame
layout.Padding = UDim.new(0,4)
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
-- ===== BUTTON CREATOR =====
local function createButton(text)
local b = Instance.new("TextButton")
b.Parent = frame
b.Size = UDim2.new(0.8,0,0,26)
b.BackgroundColor3 = Color3.fromRGB(70,70,70)
b.Text = text
b.TextScaled = true
b.TextColor3 = Color3.new(1,1,1)
b.Font = Enum.Font.SourceSans
b.BorderSizePixel = 0
b.AutoButtonColor = true
return b
end
-- ===== MAIN BUTTONS =====
local btnSelect = createButton("📌 SELECT")
local btnPedals = createButton("🎮 PEDALS")
local btnMode = createButton("🚗 CAR")
local btnActivate = createButton("▶ ACTIVATE")
local btnDelete = createButton("❌ DELETE TARGET")
-- ================= DRAG GUI =================
local dragging, dragInput, dragStart, startPos
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 input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)
RunService.RenderStepped:Connect(function()
if dragging and dragInput then
local delta = dragInput.Position - dragStart
frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
-- ================= SECONDARY GUI (OPEN/CLOSE) =================
local secondFrame = Instance.new("Frame")
secondFrame.Parent = gui
secondFrame.Size = UDim2.new(0,36,0,36)
secondFrame.Position = UDim2.new(0,10,0.3,0)
secondFrame.BackgroundTransparency = 0.5
secondFrame.BackgroundColor3 = Color3.fromRGB(30,30,30)
local btnToggle = Instance.new("TextButton")
btnToggle.Parent = secondFrame
btnToggle.Size = UDim2.new(1,0,1,0)
btnToggle.Text = "≡"
btnToggle.TextScaled = true
btnToggle.BackgroundTransparency = 1
btnToggle.TextColor3 = Color3.new(1,1,1)
btnToggle.BorderSizePixel = 0
btnToggle.MouseButton1Click:Connect(function()
frame.Visible = not frame.Visible
end)
-- ================= HIGHLIGHT CENTER CROSSHAIR =================
local highlight = Instance.new("Highlight")
highlight.Parent = gui
highlight.FillColor = Color3.fromRGB(0,255,255)
highlight.OutlineColor = Color3.fromRGB(255,255,255)
highlight.Adornee = nil
RunService.RenderStepped:Connect(function()
local camera = workspace.CurrentCamera
local center = Vector2.new(camera.ViewportSize.X/2, camera.ViewportSize.Y/2)
local unitRay = camera:ScreenPointToRay(center.X, center.Y)
local ray = Ray.new(unitRay.Origin, unitRay.Direction*500)
local part = workspace:FindPartOnRayWithIgnoreList(ray, {player.Character})
highlight.Adornee = part
end)
-- ================= BUTTON FUNCTIONS =================
local function limitSize(obj)
if obj:IsA("BasePart") then
local size = obj.Size
obj.Size = Vector3.new(
math.min(size.X, MAX_SIZE.X),
math.min(size.Y, MAX_SIZE.Y),
math.min(size.Z, MAX_SIZE.Z)
)
end
end
btnSelect.MouseButton1Click:Connect(function()
if highlight.Adornee then
selected = highlight.Adornee
limitSize(selected)
end
end)
btnDelete.MouseButton1Click:Connect(function()
selected = nil
highlight.Adornee = nil
end)
-- ================= CREATE PEDALS =================
btnPedals.MouseButton1Click:Connect(function()
if pedalsCreated then return end
pedalsCreated = true
local turnGui = Instance.new("Frame", gui)
turnGui.Size = UDim2.new(0.15,0,0.2,0)
turnGui.Position = UDim2.new(0.02,0,0.65,0)
turnGui.BackgroundTransparency = 1
local left = Instance.new("TextButton", turnGui)
left.Size = UDim2.new(0.45,0,1,0)
left.Text = "⬅"
left.TextScaled = true
left.BackgroundColor3 = Color3.fromRGB(60,60,60)
left.TextColor3 = Color3.new(1,1,1)
left.BorderSizePixel = 0
local right = Instance.new("TextButton", turnGui)
right.Size = UDim2.new(0.45,0,1,0)
right.Position = UDim2.new(0.55,0,0,0)
right.Text = "➡"
right.TextScaled = true
right.BackgroundColor3 = Color3.fromRGB(60,60,60)
right.TextColor3 = Color3.new(1,1,1)
right.BorderSizePixel = 0
left.MouseButton1Down:Connect(function() turn = 1 end)
left.MouseButton1Up:Connect(function() turn = 0 end)
right.MouseButton1Down:Connect(function() turn = -1 end)
right.MouseButton1Up:Connect(function() turn = 0 end)
local throttleGui = Instance.new("Frame", gui)
throttleGui.Size = UDim2.new(0.15,0,0.2,0)
throttleGui.Position = UDim2.new(0.78,0,0.65,0)
throttleGui.BackgroundTransparency = 1
local accel = Instance.new("TextButton", throttleGui)
accel.Size = UDim2.new(1,0,0.45,0)
accel.Text = "⬆"
accel.TextScaled = true
accel.BackgroundColor3 = Color3.fromRGB(0,170,255)
accel.TextColor3 = Color3.new(1,1,1)
accel.BorderSizePixel = 0
local brake = Instance.new("TextButton", throttleGui)
brake.Size = UDim2.new(1,0,0.45,0)
brake.Position = UDim2.new(0,0,0.55,0)
brake.Text = "⬇"
brake.TextScaled = true
brake.BackgroundColor3 = Color3.fromRGB(255,0,0)
brake.TextColor3 = Color3.new(1,1,1)
brake.BorderSizePixel = 0
accel.MouseButton1Down:Connect(function() throttle = 1 end)
accel.MouseButton1Up:Connect(function() throttle = 0 end)
brake.MouseButton1Down:Connect(function() throttle = -1 end)
brake.MouseButton1Up:Connect(function() throttle = 0 end)
end)
-- ================= MODE TOGGLE =================
btnMode.MouseButton1Click:Connect(function()
if mode == "CAR" then
mode = "PLANE"
btnMode.Text = "✈️ PLANE"
else
mode = "CAR"
btnMode.Text = "🚗 CAR"
end
end)
-- ================= ACTIVATE =================
local vel, gyro
local function activate()
if not selected then return end
vel = Instance.new("BodyVelocity", selected)
vel.MaxForce = Vector3.new(1e5,1e5,1e5) -- velocidade ilimitada
gyro = Instance.new("BodyGyro", selected)
gyro.MaxTorque = Vector3.new(0,1e5,0)
gyro.CFrame = selected.CFrame
active = true
end
local function deactivate()
active = false
if vel then vel:Destroy() end
if gyro then gyro:Destroy() end
end
btnActivate.MouseButton1Click:Connect(function()
if active then
deactivate()
btnActivate.Text = "▶ ACTIVATE"
else
activate()
btnActivate.Text = "⏹ DEACTIVATE"
end
end)
-- ================= MOVEMENT =================
RunService.RenderStepped:Connect(function()
if not active or not selected then return end
if mode == "CAR" then
vel.Velocity = selected.CFrame.LookVector * throttle * 1e5 -- ilimitado
gyro.CFrame *= CFrame.Angles(0, math.rad(turn*2),0)
else
vel.Velocity = selected.CFrame.LookVector * math.max(throttle,0) * 1e5
gyro.CFrame *= CFrame.Angles(0, math.rad(turn*1.5), math.rad(-turn*6))
end
end)



Has this been tested???
@Flower_boy sim, por mim e funciona, se conseguir, o modo "avião" faz ficar rápido mas não deixa ir Para trás
Yea it does nothing
Jazzghost?
@Cesus993939 não pô, um cavalo kkkk