🔓 Keyless
This script for Base plate is a solid all-around tool for players who want more out of their gameplay. It includes Fly and Teleport as core features, with everything working right out of the box. It is keyless.
repeat wait() until game:IsLoaded()
-- Сервисы
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local Camera = Workspace.CurrentCamera
local StarterGui = game:GetService("StarterGui")
-- Ждем игрока
local Player = Players.LocalPlayer
if not Player then
Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
Player = Players.LocalPlayer
end
-- Ждем PlayerGui
local PlayerGui = Player:WaitForChild("PlayerGui")
-- Ждем появления персонажа
local Character = Player.Character or Player.CharacterAdded:Wait()
local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
local Humanoid = Character:WaitForChild("Humanoid")
-- Состояния
local isFreecam = false
local isFly = false
local isESP = false
local flySpeed = 50
local freecamSpeed = 30
-- Переменные для управления камерой
local cameraYaw = 0
local cameraPitch = 0
local sensitivity = 0.003
-- Хранилище ESP объектов
local ESPObjects = {}
-- Функция уведомлений
local function Notify(text)
pcall(function()
StarterGui:SetCore("SendNotification", {
Title = "[RB] Scripts Hub",
Text = text,
Duration = 3
})
end)
end
-- Создание GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "RBScriptsHub"
ScreenGui.Parent = PlayerGui
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
-- Основной фрейм (увеличенный)
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 350, 0, 500)
MainFrame.Position = UDim2.new(0.5, -175, 0.5, -250)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
MainFrame.BackgroundTransparency = 0.1
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
-- Сглаживание углов
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 12)
UICorner.Parent = MainFrame
-- Заголовок
local TitleFrame = Instance.new("Frame")
TitleFrame.Size = UDim2.new(1, 0, 0, 50)
TitleFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 50)
TitleFrame.BorderSizePixel = 0
TitleFrame.Parent = MainFrame
local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 12)
TitleCorner.Parent = TitleFrame
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Size = UDim2.new(1, 0, 1, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "[RB] Scripts Hub"
TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
TitleLabel.TextScaled = true
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextStrokeTransparency = 0.5
TitleLabel.Parent = TitleFrame
-- Кнопка закрытия
local CloseButton = Instance.new("TextButton")
CloseButton.Size = UDim2.new(0, 30, 0, 30)
CloseButton.Position = UDim2.new(1, -40, 0, 10)
CloseButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
CloseButton.BackgroundTransparency = 0.3
CloseButton.Text = "X"
CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseButton.TextScaled = true
CloseButton.Font = Enum.Font.GothamBold
CloseButton.Parent = TitleFrame
local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 6)
CloseCorner.Parent = CloseButton
-- Скроллинг контент
local ScrollingFrame = Instance.new("ScrollingFrame")
ScrollingFrame.Size = UDim2.new(1, -20, 1, -160)
ScrollingFrame.Position = UDim2.new(0, 10, 0, 60)
ScrollingFrame.BackgroundTransparency = 1
ScrollingFrame.ScrollBarThickness = 5
ScrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 120)
ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollingFrame.Parent = MainFrame
-- Функция создания кнопки
local function CreateButton(name, position, color, callback)
local Button = Instance.new("TextButton")
Button.Size = UDim2.new(1, -10, 0, 40)
Button.Position = UDim2.new(0, 5, 0, position)
Button.BackgroundColor3 = color
Button.BackgroundTransparency = 0.2
Button.Text = name
Button.TextColor3 = Color3.fromRGB(255, 255, 255)
Button.TextScaled = true
Button.Font = Enum.Font.Gotham
Button.Parent = ScrollingFrame
local ButtonCorner = Instance.new("UICorner")
ButtonCorner.CornerRadius = UDim.new(0, 8)
ButtonCorner.Parent = Button
-- Эффект при наведении
Button.MouseEnter:Connect(function()
Button.BackgroundTransparency = 0
end)
Button.MouseLeave:Connect(function()
Button.BackgroundTransparency = 0.2
end)
Button.MouseButton1Click:Connect(callback)
return Button
end
-- Функция создания текста
local function CreateText(text, position, color)
local Label = Instance.new("TextLabel")
Label.Size = UDim2.new(1, -10, 0, 25)
Label.Position = UDim2.new(0, 5, 0, position)
Label.BackgroundTransparency = 1
Label.Text = text
Label.TextColor3 = color or Color3.fromRGB(200, 200, 200)
Label.TextScaled = true
Label.Font = Enum.Font.Gotham
Label.TextXAlignment = Enum.TextXAlignment.Center
Label.Parent = ScrollingFrame
return Label
end
-- Создаем разделы
CreateText("=== ОСНОВНЫЕ ФУНКЦИИ ===", 0, Color3.fromRGB(150, 150, 200))
local freecamButton = CreateButton("Freecam (F)", 30, Color3.fromRGB(50, 120, 200), function()
ToggleFreecam()
end)
local flyButton = CreateButton("Fly (G)", 80, Color3.fromRGB(50, 180, 100), function()
ToggleFly()
end)
local teleportButton = CreateButton("Teleport к курсору (T)", 130, Color3.fromRGB(200, 150, 50), function()
TeleportToMouse()
end)
-- Раздел телепорта к игрокам
CreateText("=== ТЕЛЕПОРТ К ИГРОКАМ ===", 180, Color3.fromRGB(150, 200, 150))
-- Список игроков
local PlayerListFrame = Instance.new("Frame")
PlayerListFrame.Size = UDim2.new(1, -10, 0, 150)
PlayerListFrame.Position = UDim2.new(0, 5, 0, 210)
PlayerListFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 45)
PlayerListFrame.BackgroundTransparency = 0.3
PlayerListFrame.BorderSizePixel = 0
PlayerListFrame.Parent = ScrollingFrame
local PlayerListCorner = Instance.new("UICorner")
PlayerListCorner.CornerRadius = UDim.new(0, 8)
PlayerListCorner.Parent = PlayerListFrame
local PlayerListScroll = Instance.new("ScrollingFrame")
PlayerListScroll.Size = UDim2.new(1, -10, 1, -10)
PlayerListScroll.Position = UDim2.new(0, 5, 0, 5)
PlayerListScroll.BackgroundTransparency = 1
PlayerListScroll.ScrollBarThickness = 3
PlayerListScroll.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 120)
PlayerListScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
PlayerListScroll.Parent = PlayerListFrame
-- Функция обновления списка игроков
local function UpdatePlayerList()
-- Очищаем старый список
for _, child in pairs(PlayerListScroll:GetChildren()) do
if child:IsA("TextButton") then
child:Destroy()
end
end
local yPos = 0
local playerCount = 0
for _, otherPlayer in pairs(Players:GetPlayers()) do
if otherPlayer ~= Player and otherPlayer.Character and otherPlayer.Character:FindFirstChild("HumanoidRootPart") then
local PlayerButton = Instance.new("TextButton")
PlayerButton.Size = UDim2.new(1, -10, 0, 30)
PlayerButton.Position = UDim2.new(0, 5, 0, yPos)
PlayerButton.BackgroundColor3 = Color3.fromRGB(60, 60, 80)
PlayerButton.BackgroundTransparency = 0.3
PlayerButton.Text = otherPlayer.Name
PlayerButton.TextColor3 = Color3.fromRGB(255, 255, 255)
PlayerButton.TextScaled = true
PlayerButton.Font = Enum.Font.Gotham
PlayerButton.Parent = PlayerListScroll
local PlayerButtonCorner = Instance.new("UICorner")
PlayerButtonCorner.CornerRadius = UDim.new(0, 5)
PlayerButtonCorner.Parent = PlayerButton
-- Эффекты
PlayerButton.MouseEnter:Connect(function()
PlayerButton.BackgroundTransparency = 0
end)
PlayerButton.MouseLeave:Connect(function()
PlayerButton.BackgroundTransparency = 0.3
end)
-- Телепорт к игроку
PlayerButton.MouseButton1Click:Connect(function()
local targetChar = otherPlayer.Character
if targetChar and targetChar:FindFirstChild("HumanoidRootPart") then
HumanoidRootPart.CFrame = targetChar.HumanoidRootPart.CFrame * CFrame.new(0, 3, 0)
Notify("Телепортирован к " .. otherPlayer.Name)
end
end)
yPos = yPos + 35
playerCount = playerCount + 1
end
end
-- Обновляем размер Canvas
PlayerListScroll.CanvasSize = UDim2.new(0, 0, 0, math.max(yPos, 10))
-- Если нет игроков
if playerCount == 0 then
local NoPlayers = Instance.new("TextLabel")
NoPlayers.Size = UDim2.new(1, 0, 1, 0)
NoPlayers.BackgroundTransparency = 1
NoPlayers.Text = "Нет игроков для телепорта"
NoPlayers.TextColor3 = Color3.fromRGB(150, 150, 150)
NoPlayers.TextScaled = true
NoPlayers.Font = Enum.Font.Gotham
NoPlayers.Parent = PlayerListScroll
end
end
-- Раздел ESP
CreateText("=== ESP ===", 370, Color3.fromRGB(200, 150, 200))
local espButton = CreateButton("ESP (Highlight)", 395, Color3.fromRGB(180, 80, 180), function()
ToggleESP()
end)
-- Обновляем CanvasSize
ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 450)
-- Нижняя панель с Discord ссылкой
local DiscordFrame = Instance.new("Frame")
DiscordFrame.Size = UDim2.new(1, -20, 0, 50)
DiscordFrame.Position = UDim2.new(0, 10, 1, -60)
DiscordFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
DiscordFrame.BackgroundTransparency = 0.2
DiscordFrame.BorderSizePixel = 0
DiscordFrame.Parent = MainFrame
local DiscordCorner = Instance.new("UICorner")
DiscordCorner.CornerRadius = UDim.new(0, 8)
DiscordCorner.Parent = DiscordFrame
-- Текст с ссылкой
local DiscordLabel = Instance.new("TextLabel")
DiscordLabel.Size = UDim2.new(1, -10, 0, 20)
DiscordLabel.Position = UDim2.new(0, 5, 0, 3)
DiscordLabel.BackgroundTransparency = 1
DiscordLabel.Text = "Наш дискорд канал:"
DiscordLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
DiscordLabel.TextScaled = true
DiscordLabel.Font = Enum.Font.Gotham
DiscordLabel.TextXAlignment = Enum.TextXAlignment.Center
DiscordLabel.Parent = DiscordFrame
-- Кликабельная ссылка
local DiscordLink = Instance.new("TextButton")
DiscordLink.Size = UDim2.new(1, -10, 0, 22)
DiscordLink.Position = UDim2.new(0, 5, 0, 24)
DiscordLink.BackgroundTransparency = 1
DiscordLink.Text = "https://discord.gg/JADNRKjEQz"
DiscordLink.TextColor3 = Color3.fromRGB(100, 180, 255)
DiscordLink.TextScaled = true
DiscordLink.Font = Enum.Font.Gotham
DiscordLink.TextXAlignment = Enum.TextXAlignment.Center
DiscordLink.TextStrokeTransparency = 0.5
DiscordLink.Parent = DiscordFrame
-- Эффект при наведении на ссылку
DiscordLink.MouseEnter:Connect(function()
DiscordLink.TextColor3 = Color3.fromRGB(150, 200, 255)
DiscordLink.TextStrokeTransparency = 0.3
end)
DiscordLink.MouseLeave:Connect(function()
DiscordLink.TextColor3 = Color3.fromRGB(100, 180, 255)
DiscordLink.TextStrokeTransparency = 0.5
end)
-- Копирование ссылки
DiscordLink.MouseButton1Click:Connect(function()
pcall(function()
setclipboard("https://discord.gg/JADNRKjEQz")
end)
DiscordLink.Text = "✓ Скопировано!"
DiscordLink.TextColor3 = Color3.fromRGB(100, 255, 100)
task.wait(2)
DiscordLink.Text = "https://discord.gg/JADNRKjEQz"
DiscordLink.TextColor3 = Color3.fromRGB(100, 180, 255)
end)
-- Закрытие GUI
CloseButton.MouseButton1Click:Connect(function()
ScreenGui:Destroy()
end)
-- Функции
function ToggleFreecam()
isFreecam = not isFreecam
if isFreecam then
if isFly then ToggleFly() end
local lookVector = Camera.CFrame.LookVector
cameraYaw = math.atan2(-lookVector.X, -lookVector.Z)
cameraPitch = math.asin(lookVector.Y)
Camera.CameraType = Enum.CameraType.Scriptable
Humanoid.PlatformStand = true
UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter
freecamButton.Text = "Freecam (F) ✓"
freecamButton.BackgroundColor3 = Color3.fromRGB(30, 80, 150)
Notify("Freecam включен")
else
Camera.CameraType = Enum.CameraType.Custom
Humanoid.PlatformStand = false
UserInputService.MouseBehavior = Enum.MouseBehavior.Default
freecamButton.Text = "Freecam (F)"
freecamButton.BackgroundColor3 = Color3.fromRGB(50, 120, 200)
Notify("Freecam выключен")
end
end
function ToggleFly()
isFly = not isFly
if isFly then
if isFreecam then ToggleFreecam() end
Humanoid.PlatformStand = true
local bv = Instance.new("BodyVelocity")
bv.Name = "FlyVelocity"
bv.MaxForce = Vector3.new(10000, 10000, 10000)
bv.Velocity = Vector3.new(0, 0, 0)
bv.Parent = HumanoidRootPart
flyButton.Text = "Fly (G) ✓"
flyButton.BackgroundColor3 = Color3.fromRGB(30, 130, 60)
Notify("Fly включен")
else
Humanoid.PlatformStand = false
local bv = HumanoidRootPart:FindFirstChild("FlyVelocity")
if bv then bv:Destroy() end
flyButton.Text = "Fly (G)"
flyButton.BackgroundColor3 = Color3.fromRGB(50, 180, 100)
Notify("Fly выключен")
end
end
function ToggleESP()
isESP = not isESP
if isESP then
-- Создаем ESP для всех игроков
for _, otherPlayer in pairs(Players:GetPlayers()) do
if otherPlayer ~= Player then
CreateESP(otherPlayer)
end
end
-- Отслеживаем новых игроков
Players.PlayerAdded:Connect(function(newPlayer)
if isESP then
CreateESP(newPlayer)
end
end)
espButton.Text = "ESP (Highlight) ✓"
espButton.BackgroundColor3 = Color3.fromRGB(130, 40, 130)
Notify("ESP включен")
else
-- Удаляем все ESP
for _, esp in pairs(ESPObjects) do
if esp and esp.Parent then
esp:Destroy()
end
end
ESPObjects = {}
espButton.Text = "ESP (Highlight)"
espButton.BackgroundColor3 = Color3.fromRGB(180, 80, 180)
Notify("ESP выключен")
end
end
function CreateESP(targetPlayer)
-- Ждем появления персонажа
local function AddESP(character)
if not character then return end
-- Создаем Highlight
local highlight = Instance.new("Highlight")
highlight.Name = "ESP_Highlight"
highlight.FillColor = Color3.fromRGB(255, 50, 50)
highlight.FillTransparency = 0.5
highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
highlight.OutlineTransparency = 0.3
highlight.Parent = character
-- Создаем BillboardGui с именем
local billboard = Instance.new("BillboardGui")
billboard.Name = "ESP_Name"
billboard.Size = UDim2.new(0, 200, 0, 50)
billboard.StudsOffset = Vector3.new(0, 3, 0)
billboard.AlwaysOnTop = true
billboard.Parent = character
local nameLabel = Instance.new("TextLabel")
nameLabel.Size = UDim2.new(1, 0, 1, 0)
nameLabel.BackgroundTransparency = 1
nameLabel.Text = targetPlayer.Name
nameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
nameLabel.TextScaled = true
nameLabel.Font = Enum.Font.GothamBold
nameLabel.TextStrokeTransparency = 0.3
nameLabel.Parent = billboard
-- Сохраняем для удаления
table.insert(ESPObjects, highlight)
table.insert(ESPObjects, billboard)
end
-- Если персонаж уже существует
if targetPlayer.Character then
AddESP(targetPlayer.Character)
end
-- Отслеживаем появление персонажа
targetPlayer.CharacterAdded:Connect(function(character)
if isESP then
AddESP(character)
end
end)
end
function TeleportToMouse()
local mouse = Player:GetMouse()
local target = mouse.Hit
if target then
HumanoidRootPart.CFrame = CFrame.new(target.p + Vector3.new(0, 3, 0))
if isFreecam then
Camera.CFrame = CFrame.new(target.p + Vector3.new(0, 3, 0)) * CFrame.Angles(cameraPitch, cameraYaw, 0)
end
Notify("Телепортирован!")
end
end
-- Обработка клавиш
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.F then
ToggleFreecam()
end
if input.KeyCode == Enum.KeyCode.G then
ToggleFly()
end
if input.KeyCode == Enum.KeyCode.T then
TeleportToMouse()
end
if input.KeyCode == Enum.KeyCode.Escape and isFreecam then
ToggleFreecam()
end
end)
-- Обработка мыши
UserInputService.InputChanged:Connect(function(input)
if isFreecam and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Delta
cameraYaw = cameraYaw - delta.X * sensitivity
cameraPitch = cameraPitch - delta.Y * sensitivity
cameraPitch = math.clamp(cameraPitch, -math.pi/2 + 0.1, math.pi/2 - 0.1)
end
end)
-- Обновление камеры
RunService.RenderStepped:Connect(function(deltaTime)
if isFreecam then
local move = Vector3.new(0, 0, 0)
if UserInputService:IsKeyDown(Enum.KeyCode.W) then
move = move + Vector3.new(-math.sin(cameraYaw), 0, -math.cos(cameraYaw))
end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then
move = move - Vector3.new(-math.sin(cameraYaw), 0, -math.cos(cameraYaw))
end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then
move = move - Vector3.new(math.cos(cameraYaw), 0, -math.sin(cameraYaw))
end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then
move = move + Vector3.new(math.cos(cameraYaw), 0, -math.sin(cameraYaw))
end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
move = move + Vector3.new(0, 1, 0)
end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
move = move - Vector3.new(0, 1, 0)
end
local newPosition = Camera.CFrame.Position + (move * freecamSpeed * deltaTime)
Camera.CFrame = CFrame.new(newPosition) * CFrame.Angles(cameraPitch, cameraYaw, 0)
end
end)
-- Обновление Fly
RunService.RenderStepped:Connect(function(deltaTime)
if isFly then
local bv = HumanoidRootPart:FindFirstChild("FlyVelocity")
if bv then
local moveDirection = Vector3.new(0, 0, 0)
if UserInputService:IsKeyDown(Enum.KeyCode.W) then
moveDirection = moveDirection + Camera.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then
moveDirection = moveDirection - Camera.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then
moveDirection = moveDirection - Camera.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then
moveDirection = moveDirection + Camera.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
moveDirection = moveDirection + Vector3.new(0, 1, 0)
end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
moveDirection = moveDirection - Vector3.new(0, 1, 0)
end
bv.Velocity = moveDirection * flySpeed
end
end
end)
-- Защита от падения
Humanoid.StateChanged:Connect(function(oldState, newState)
if isFly and newState == Enum.HumanoidStateType.FallingDown then
Humanoid.PlatformStand = true
end
end)
-- Обновляем список игроков каждые 5 секунд
spawn(function()
while ScreenGui and ScreenGui.Parent do
pcall(UpdatePlayerList)
task.wait(5)
end
end)
-- Уведомление о загрузке
task.wait(1)
Notify("[RB] Scripts Hub v2.0 загружен! F - Freecam, G - Fly, T - Teleport")
No comments yet. Be the first!