
KeylessUniversal

-- VR Controller GUI
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local SoundService = game:GetService("SoundService")
-- Создаем основной GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "VRController"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = PlayerGui
-- Основной фрейм
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 200, 0, 160)
MainFrame.Position = UDim2.new(0, 10, 0, 10)
MainFrame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1)
MainFrame.BorderSizePixel = 2
MainFrame.BorderColor3 = Color3.new(1, 1, 1)
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
-- Заголовок
local Title = Instance.new("TextLabel")
Title.Name = "Title"
Title.Size = UDim2.new(1, 0, 0, 30)
Title.Position = UDim2.new(0, 0, 0, 0)
Title.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
Title.TextColor3 = Color3.new(1, 1, 1)
Title.Text = "VR Controller"
Title.Font = Enum.Font.GothamBold
Title.TextSize = 16
Title.Parent = MainFrame
-- Кнопка START VR / STOP VR
local VRButton = Instance.new("TextButton")
VRButton.Name = "VRButton"
VRButton.Size = UDim2.new(0.8, 0, 0, 30)
VRButton.Position = UDim2.new(0.1, 0, 0.2, 0)
VRButton.BackgroundColor3 = Color3.new(0, 0.5, 0)
VRButton.TextColor3 = Color3.new(1, 1, 1)
VRButton.Text = "START VR"
VRButton.Font = Enum.Font.Gotham
VRButton.TextSize = 14
VRButton.Parent = MainFrame
-- Кнопка GAMEPASSES
local GamepassesButton = Instance.new("TextButton")
GamepassesButton.Name = "GamepassesButton"
GamepassesButton.Size = UDim2.new(0.8, 0, 0, 30)
GamepassesButton.Position = UDim2.new(0.1, 0, 0.45, 0)
GamepassesButton.BackgroundColor3 = Color3.new(0, 0.3, 0.8)
GamepassesButton.TextColor3 = Color3.new(1, 1, 1)
GamepassesButton.Text = "GAMEPASSES"
GamepassesButton.Font = Enum.Font.Gotham
GamepassesButton.TextSize = 14
GamepassesButton.Parent = MainFrame
-- Кнопка SHOW RIG / HIDE RIG
local RigButton = Instance.new("TextButton")
RigButton.Name = "RigButton"
RigButton.Size = UDim2.new(0.8, 0, 0, 30)
RigButton.Position = UDim2.new(0.1, 0, 0.7, 0)
RigButton.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
RigButton.TextColor3 = Color3.new(1, 1, 1)
RigButton.Text = "SHOW RIG"
RigButton.Font = Enum.Font.Gotham
RigButton.TextSize = 14
RigButton.Parent = MainFrame
-- Переменные для управления VR скриптом
local VRScriptActive = false
local VRScreenGui = nil
local VRConnection = nil
local RigVisible = false
local LeftRigPart = nil
local RightRigPart = nil
local RigConnection = nil
-- Функция проверки R6/R15
local function isR6()
local character = LocalPlayer.Character
if character and character:FindFirstChild("Humanoid") then
return character.Humanoid.RigType == Enum.HumanoidRigType.R6
end
return false
end
-- Функция для безопасного получения персонажа
local function getCharacter()
local character = LocalPlayer.Character
if character and character:FindFirstChild("Humanoid") and character.Humanoid.Health > 0 then
return character
end
return nil
end
-- Функция показа сообщения BY WFSBRO и музыки
local function showIntro()
-- Создаем GUI для текста
local IntroGui = Instance.new("ScreenGui")
IntroGui.Name = "IntroGUI"
IntroGui.ResetOnSpawn = false
IntroGui.Parent = PlayerGui
local IntroFrame = Instance.new("Frame")
IntroFrame.Size = UDim2.new(0, 300, 0, 100)
IntroFrame.Position = UDim2.new(0.5, -150, 0.5, -50)
IntroFrame.BackgroundColor3 = Color3.new(0, 0, 0)
IntroFrame.BackgroundTransparency = 0.3
IntroFrame.BorderSizePixel = 0
IntroFrame.Parent = IntroGui
local IntroText = Instance.new("TextLabel")
IntroText.Size = UDim2.new(1, 0, 1, 0)
IntroText.BackgroundTransparency = 1
IntroText.Text = "BY WFSBRO"
IntroText.TextColor3 = Color3.new(1, 1, 1)
IntroText.Font = Enum.Font.GothamBold
IntroText.TextSize = 24
IntroText.Parent = IntroFrame
-- Запускаем музыку
local introSound = Instance.new("Sound")
introSound.SoundId = "rbxassetid://6350854289"
introSound.Volume = 0.5
introSound.Parent = SoundService
introSound:Play()
-- Через 3 секунды убираем всё
wait(3)
IntroGui:Destroy()
introSound:Stop()
introSound:Destroy()
end
-- Функция создания рига (палочек в руках)
local function createRig()
local character = getCharacter()
if not character then return end
-- Создаем левую палочку
LeftRigPart = Instance.new("Part")
LeftRigPart.Name = "LeftRigStick"
LeftRigPart.Size = Vector3.new(0.2, 2.0, 0.2) -- Длина 2.0
LeftRigPart.BrickColor = BrickColor.new("Medium stone grey")
LeftRigPart.Material = Enum.Material.Neon
LeftRigPart.CanCollide = false
LeftRigPart.Anchored = false
LeftRigPart.Parent = workspace
-- Создаем правую палочку
RightRigPart = Instance.new("Part")
RightRigPart.Name = "RightRigStick"
RightRigPart.Size = Vector3.new(0.2, 2.0, 0.2) -- Длина 2.0
RightRigPart.BrickColor = BrickColor.new("Medium stone grey")
RightRigPart.Material = Enum.Material.Neon
RightRigPart.CanCollide = false
RightRigPart.Anchored = false
RightRigPart.Parent = workspace
-- Создаем Weld для левой палочки (прикрепляем к левой руке)
local leftWeld = Instance.new("Weld")
leftWeld.Part0 = character:FindFirstChild("Left Arm")
leftWeld.Part1 = LeftRigPart
leftWeld.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0) -- Вертикально в центре руки
leftWeld.Parent = LeftRigPart
-- Создаем Weld для правой палочки (прикрепляем к правой руке)
local rightWeld = Instance.new("Weld")
rightWeld.Part0 = character:FindFirstChild("Right Arm")
rightWeld.Part1 = RightRigPart
rightWeld.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0) -- Вертикально в центре руки
rightWeld.Parent = RightRigPart
end
-- Функция удаления рига
local function removeRig()
RigVisible = false
if RigConnection then
RigConnection:Disconnect()
RigConnection = nil
end
if LeftRigPart then
LeftRigPart:Destroy()
LeftRigPart = nil
end
if RightRigPart then
RightRigPart:Destroy()
RightRigPart = nil
end
end
-- Функция переключения рига
local function toggleRig()
if RigButton.Text == "SHOW RIG" then
-- Показываем риг
RigVisible = true
createRig()
RigButton.Text = "HIDE RIG"
RigButton.BackgroundColor3 = Color3.new(0.3, 0.3, 0.3)
else
-- Скрываем риг
removeRig()
RigButton.Text = "SHOW RIG"
RigButton.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
end
end
-- Функция убийства персонажа
local function killCharacter()
local character = getCharacter()
if character and character:FindFirstChild("Humanoid") then
character.Humanoid.Health = 0
end
end
-- Функция запуска VR скрипта
local function StartVRScript()
if VRScriptActive then return end
-- Проверяем R6/R15
if not isR6() then
VRButton.Text = "R15 ERROR"
VRButton.BackgroundColor3 = Color3.new(0.8, 0, 0)
wait(2)
VRButton.Text = "START VR"
VRButton.BackgroundColor3 = Color3.new(0, 0.5, 0)
return
end
-- Проверяем, есть ли живой персонаж
local character = getCharacter()
if not character then
VRButton.Text = "NO CHARACTER"
VRButton.BackgroundColor3 = Color3.new(0.8, 0, 0)
wait(2)
VRButton.Text = "START VR"
VRButton.BackgroundColor3 = Color3.new(0, 0.5, 0)
return
end
-- Показываем интро и музыку
showIntro()
-- Запускаем VR скрипт
VRScriptActive = true
VRButton.Text = "STOP VR"
VRButton.BackgroundColor3 = Color3.new(0.8, 0, 0)
-- Создаем VR GUI
VRScreenGui = Instance.new("ScreenGui")
VRScreenGui.Name = "FakeVR_GUI"
VRScreenGui.ResetOnSpawn = false
VRScreenGui.Parent = PlayerGui
local player = game.Players.LocalPlayer
local runService = game:GetService("RunService")
-- === Настройки ===
local GUI_SIZE = 150
local INNER_SIZE = 40
local ROTATION_ANGLE = 180
local UPDOWN_ANGLE = 120
local SMOOTHNESS = 0.3
-- === GUI ===
local function makeZone(color, posX)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, GUI_SIZE, 0, GUI_SIZE)
frame.Position = UDim2.new(posX, -GUI_SIZE/2, 0.8, -GUI_SIZE/2)
frame.BackgroundColor3 = color
frame.BorderSizePixel = 2
frame.Parent = VRScreenGui
local inner = Instance.new("Frame")
inner.Size = UDim2.new(0, INNER_SIZE, 0, INNER_SIZE)
inner.Position = UDim2.new(0.5, -INNER_SIZE/2, 0.5, -INNER_SIZE/2)
inner.BackgroundColor3 = Color3.new(1,1,1)
inner.Active = true
inner.Draggable = true
inner.Parent = frame
return frame, inner
end
local redZone, redSquare = makeZone(Color3.fromRGB(255,0,0), 0.3)
local blueZone, blueSquare = makeZone(Color3.fromRGB(0,0,255), 0.7)
-- === Персонаж ===
local character = getCharacter()
if not character then
-- Если персонаж умер во время запуска, отключаем VR
VRScriptActive = false
VRButton.Text = "START VR"
VRButton.BackgroundColor3 = Color3.new(0, 0.5, 0)
VRScreenGui:Destroy()
return
end
local humanoid = character:WaitForChild("Humanoid")
-- Отключаем стандартные анимации
local animator = humanoid:FindFirstChildOfClass("Animator")
if animator then animator:Destroy() end
for _, a in ipairs(humanoid:GetChildren()) do
if a:IsA("Animation") then a:Destroy() end
end
local torso = character:WaitForChild("Torso")
local leftShoulder = torso:WaitForChild("Left Shoulder")
local rightShoulder = torso:WaitForChild("Right Shoulder")
-- Базовые положения плеч
local leftBase = leftShoulder.C0
local rightBase = rightShoulder.C0
-- === Преобразование GUI → углы ===
local function guiToRotation(square, zone)
local zoneAbs = zone.AbsoluteSize
local squareAbs = square.AbsolutePosition - zone.AbsolutePosition
-- центр зоны
local centerX, centerY = zoneAbs.X / 2, zoneAbs.Y / 2
-- отклонение от центра (в долях)
local relX = (squareAbs.X + INNER_SIZE/2 - centerX) / zoneAbs.X
local relY = (squareAbs.Y + INNER_SIZE/2 - centerY) / zoneAbs.Y
-- Чем дальше от центра — тем сильнее вращение
local yaw = math.rad(relX * ROTATION_ANGLE)
local pitch = math.rad(relY * UPDOWN_ANGLE)
return yaw, pitch
end
-- Плавность
local leftCurrent = CFrame.new()
local rightCurrent = CFrame.new()
local leftTarget = CFrame.new()
local rightTarget = CFrame.new()
-- === Основной цикл ===
VRConnection = runService.RenderStepped:Connect(function()
if not VRScriptActive then
VRConnection:Disconnect()
return
end
-- Проверяем, жив ли персонаж
local currentCharacter = getCharacter()
if not currentCharacter then
-- Персонаж умер, отключаем VR
VRScriptActive = false
VRButton.Text = "START VR"
VRButton.BackgroundColor3 = Color3.new(0, 0.5, 0)
if VRScreenGui then
VRScreenGui:Destroy()
VRScreenGui = nil
end
VRConnection:Disconnect()
return
end
if not (leftShoulder and rightShoulder) then return end
local lyaw, lpitch = guiToRotation(redSquare, redZone)
local ryaw, rpitch = guiToRotation(blueSquare, blueZone)
leftTarget = CFrame.Angles(lpitch, 0, lyaw)
rightTarget = CFrame.Angles(rpitch, 0, ryaw)
leftCurrent = leftCurrent:Lerp(leftTarget, 1 - SMOOTHNESS)
rightCurrent = rightCurrent:Lerp(rightTarget, 1 - SMOOTHNESS)
leftShoulder.C0 = leftBase * leftCurrent
rightShoulder.C0 = rightBase * rightCurrent
end)
end
-- Функция остановки VR скрипта и убийства персонажа
local function StopVRScript()
-- Убиваем персонажа
killCharacter()
-- Отключаем VR скрипт
VRScriptActive = false
VRButton.Text = "START VR"
VRButton.BackgroundColor3 = Color3.new(0, 0.5, 0)
if VRScreenGui then
VRScreenGui:Destroy()
VRScreenGui = nil
end
if VRConnection then
VRConnection:Disconnect()
end
end
-- Функция для Gamepasses
local function LoadGamepasses()
local function SlicerX(func)
local success, result = pcall(func)
if not success then
warn("[SlicerX ERROR]:", result)
end
return success, result
end
SlicerX(function()
loadstring(game:HttpGet("https://raw.githubusercontent.com/Ahma174/Fake-Gamepasses/refs/heads/main/V5"))()
end)
end
-- Обработчик кнопки START VR / STOP VR
VRButton.MouseButton1Click:Connect(function()
if VRButton.Text == "START VR" then
-- Запускаем VR скрипт
StartVRScript()
else
-- Останавливаем VR скрипт и убиваем персонажа
StopVRScript()
end
end)
-- Обработчик кнопки GAMEPASSES
GamepassesButton.MouseButton1Click:Connect(function()
LoadGamepasses()
GamepassesButton.Text = "LOADED!"
GamepassesButton.BackgroundColor3 = Color3.new(0, 0.8, 0)
wait(2)
GamepassesButton.Text = "GAMEPASSES"
GamepassesButton.BackgroundColor3 = Color3.new(0, 0.3, 0.8)
end)
-- Обработчик кнопки SHOW RIG / HIDE RIG
RigButton.MouseButton1Click:Connect(toggleRig)
-- Обработчик смерти персонажа
LocalPlayer.CharacterAdded:Connect(function(character)
-- Ждем появления Humanoid
local humanoid = character:WaitForChild("Humanoid")
-- Следим за здоровьем персонажа
humanoid.Died:Connect(function()
-- При смерти отключаем VR скрипт и риг
VRScriptActive = false
RigVisible = false
VRButton.Text = "START VR"
VRButton.BackgroundColor3 = Color3.new(0, 0.5, 0)
RigButton.Text = "SHOW RIG"
RigButton.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
if VRScreenGui then
VRScreenGui:Destroy()
VRScreenGui = nil
end
if VRConnection then
VRConnection:Disconnect()
end
removeRig()
end)
end)
print("VR Controller GUI loaded! (R15 protection + Intro + Rig with 2.0 length)")



chatgpt
@Killa he didn't make it he just found it
is this FE?
@WuzRERBorn cilent
HEY YOU, THAT IS MY SCRIPT AND YOU JUST STOLE IT!