
KeylessUniversal

--[[
QuaRobloxBotClient v1.1
UI: Rayfield
--]]
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local HttpService = game:GetService("HttpService")
local TextChatService = game:GetService("TextChatService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local activeWS = nil
local isConnected = false
local targetURL = "ht" .. "tps://127." .. "0.0.1:8000/"
-- something?
local function parseWebSocketURL(rawUrl)
local url = tostring(rawUrl):gsub("%s+", "")
url = url:gsub("^https?://", "ws://")
if not url:match("^ws://") and not url:match("^wss://") then
url = "ws://" .. url
end
if url:sub(-1) == "/" then
url = url:sub(1, -2)
end
return url
end
-- window!?
local Window = Rayfield:CreateWindow({
Name = "Qua Roblox Bot Client",
LoadingTitle = "Qua Roblox Bot Client",
LoadingSubtitle = "by PyNoob CaSP Software AKA t3m7kidd",
ConfigurationSaving = { Enabled = false },
KeySystem = false,
RayfieldFolder = "QuaEngineData"
})
local ConnectionTab = Window:CreateTab("Connection", 4483362458)
local ControlsTab = Window:CreateTab("Movement", 4483345998)
local StatusParagraph = ConnectionTab:CreateParagraph({
Title = "Server Status",
Content = "🔴 Disconnected"
})
-- CHATINGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
local chatHooked = false
local function setupChatHook()
if chatHooked then return end
chatHooked = true
local function sendChatToServer(speaker, message)
if activeWS and isConnected then
pcall(function()
activeWS:Send(HttpService:JSONEncode({
event = "newChatMessage",
user = tostring(speaker),
text = tostring(message)
}))
end)
end
end
if TextChatService and TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then
TextChatService.MessageReceived:Connect(function(msg)
if msg.TextSource then
sendChatToServer(msg.TextSource.Name, msg.Text)
end
end)
else
local chatEvents = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents")
if chatEvents and chatEvents:FindFirstChild("OnMessageDoneFiltering") then
chatEvents.OnMessageDoneFiltering.OnClientEvent:Connect(function(data)
sendChatToServer(data.FromSpeaker, data.Message)
end)
end
end
end
-- connection
local function connectToServer()
if activeWS then
pcall(function() activeWS:Close() end)
activeWS = nil
end
local wsUrl = parseWebSocketURL(targetURL)
Rayfield:Notify({
Title = "Connecting...",
Content = "Target: " .. wsUrl,
Duration = 2
})
local success, ws = pcall(function()
return WebSocket.connect(wsUrl)
end)
if success and ws then
activeWS = ws
isConnected = true
getgenv().QuaConnected = true
StatusParagraph:Set({
Title = "Server Status",
Content = "🟢 Connected (" .. wsUrl .. ")"
})
Rayfield:Notify({
Title = "Connected!",
Content = "Qua Engine Ready",
Duration = 3
})
setupChatHook()
ws.OnMessage:Connect(function(raw_data)
local ok, data = pcall(function()
return HttpService:JSONDecode(raw_data)
end)
if not ok or type(data) ~= "table" then return end
local character = LocalPlayer.Character
local hrp = character and character:FindFirstChild("HumanoidRootPart")
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if data.action == "jump" and humanoid then
for i = 1, (data.count or 1) do
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
task.wait(0.2)
end
elseif data.action == "move" and hrp then
local studs = data.studs or 10
local dir = data.dir
local lookVector = hrp.CFrame.LookVector
local rightVector = hrp.CFrame.RightVector
if dir == "forward" then hrp.CFrame = hrp.CFrame + (lookVector * studs)
elseif dir == "backward" then hrp.CFrame = hrp.CFrame - (lookVector * studs)
elseif dir == "right" then hrp.CFrame = hrp.CFrame + (rightVector * studs)
elseif dir == "left" then hrp.CFrame = hrp.CFrame - (rightVector * studs)
end
elseif data.action == "print" then
Rayfield:Notify({
Title = "Qua Output",
Content = tostring(data.text),
Duration = 4
})
end
end)
ws.OnClose:Connect(function()
isConnected = false
activeWS = nil
getgenv().QuaConnected = false
StatusParagraph:Set({
Title = "Server Status",
Content = "🔴 Connection Lost"
})
end)
else
isConnected = false
getgenv().QuaConnected = false
StatusParagraph:Set({
Title = "Server Status",
Content = "❌ Failed to connect"
})
Rayfield:Notify({
Title = "Error",
Content = "Could not connect to " .. wsUrl,
Duration = 4
})
end
end
-- connection
ConnectionTab:CreateInput({
Name = "Server Address",
PlaceholderText = "https://127.0.0.1:8000/",
RemoveTextOnFocusLost = false,
Callback = function(Text)
targetURL = Text
end,
})
ConnectionTab:CreateButton({
Name = "Connect",
Callback = function()
connectToServer()
end,
})
ConnectionTab:CreateButton({
Name = "Disconnect",
Callback = function()
if activeWS then
activeWS:Close()
activeWS = nil
isConnected = false
getgenv().QuaConnected = false
StatusParagraph:Set({Title = "Server Status", Content = "🔴 Disconnected"})
end
end,
})
-- movement
ControlsTab:CreateSlider({
Name = "WalkSpeed Override",
Range = {16, 300},
Increment = 1,
Suffix = " studs/s",
CurrentValue = 16,
Callback = function(Value)
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then hum.WalkSpeed = Value end
end,
})
ControlsTab:CreateSlider({
Name = "JumpPower Override",
Range = {50, 600},
Increment = 5,
Suffix = " power",
CurrentValue = 50,
Callback = function(Value)
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then
hum.UseJumpPower = true
hum.JumpPower = Value
end
end,
})
ControlsTab:CreateButton({
Name = "Reset Speed & Jump",
Callback = function()
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then
hum.WalkSpeed = 16
hum.JumpPower = 50
end
Rayfield:Notify({ Title = "Reset", Content = "Default Movement Restored", Duration = 2 })
end,
})
ControlsTab:CreateButton({
Name = "Force Jump",
Callback = function()
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end
end,
})
ControlsTab:CreateButton({
Name = "Reset Character",
Callback = function()
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then hum.Health = 0 end
end,
})No comments yet for this script.



