
KeylessUniversal

if not getgenv().CTR then
getgenv().CTR = true
else
repeat task.wait() until true ~= true
end
local plrsT = {}
local wayPoints = {}
local plrs = game:GetService("Players")
local num = 1
for i, v in next, plrs:GetPlayers() do
plrsT[i] = v
print(i, v, "/", v.DisplayName)
end
local Character = plrs.LocalPlayer.Character or plrs.LocalPlayer.CharacterAdded:Wait()
plrs.LocalPlayer.CharacterAdded:Connect(function(c)
Character = c
end)
local function indexOverHead(model, i, plr)
if model:FindFirstChild(model.PrimaryPart.Name) and not model:FindFirstChild("IndexOverGUI") then
local bill = Instance.new("BillboardGui", model)
bill.Adornee = model
bill.Size = UDim2.new(0, 200, 0, 200)
bill.AlwaysOnTop = true
bill.Name = "IndexOverGUI"
local tl = Instance.new("TextLabel", bill)
tl.Font = Enum.Font.GothamBlack
tl.Text = "Index: "..tostring(i).."\nName: "..model.Name.."\nDisplay: "..plr.DisplayName
tl.BackgroundTransparency = 1
tl.TextSize = 12
tl.TextColor3 = Color3.fromRGB(25, 50, 75)
tl.Size = UDim2.new(0, 50, 0, 50)
end
end
if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.TextChatService then
method = 1
game:GetService("TextChatService").TextChannels.RBXGeneral:DisplaySystemMessage("[System] Chat Tools Loaded.\nJoin the discord: https://discord.gg/Fyu6nTNrfy\nFor more projects visit https://scriptblox.com/u/vxsty")
else
method = 2
game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage", {
Text = "[System] Chat Tools Loaded.\nJoin the discord: https://discord.gg/Fyu6nTNrfy\nFor more projects visit https://scriptblox.com/u/vxsty",
Color = Color3.fromRGB(255, 89, 98),
Font = Enum.Font.GothamBlack,
FontSize = 16
})
end
if method == 2 then
game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.OnMessageDoneFiltering.OnClientEvent:Connect(function(msg)
full = ""
if msg.FromSpeaker == plrs.LocalPlayer.Name then
local s, e = pcall(function()
number = tonumber(msg.Message)
end)
if s then
local plr = plrsT[number]
local s, e = pcall(function()
Character:FindFirstChildWhichIsA("BasePart").CFrame = plrs[plr.Name].Character:FindFirstChildWhichIsA("BasePart").CFrame
end)
end
local s, e = pcall(function()
if msg.Message:sub(1, 1) == "s" then
local wayPoint = tonumber(msg.Message:sub(2))
local cf = Character:FindFirstChildWhichIsA("BasePart").CFrame
wayPoints[wayPoint] = cf
local wayPointIndex = tostring(wayPoint)
print("Saved waypoint " .. wayPointIndex .. ", use it by saying g" .. wayPointIndex)
local waypointPart = Instance.new("Part", workspace)
waypointPart.CFrame = cf
waypointPart.Size = Vector3.new(3, 9999999, 3)
waypointPart.Color = Color3.fromRGB(0, 50, 255)
waypointPart.CanCollide = false
waypointPart.Transparency = 0.42
waypointPart.Anchored = true
local gui = Instance.new("BillboardGui", waypointPart)
gui.Size = UDim2.new(0, 200, 0, 50)
gui.Adornee = waypointPart
gui.AlwaysOnTop = true
local textLabel = Instance.new("TextLabel", gui)
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundTransparency = 1
textLabel.Text = "Waypoint " .. wayPointIndex
textLabel.Font = Enum.Font.GothamBlack
textLabel.TextSize = 30
textLabel.TextColor3 = Color3.new(1, 1, 1)
end
end)
if msg.Message:sub(1, 1) == "g" then
local s, e = pcall(function()
wayPointIndex = tonumber(msg.Message:sub(2))
local wayPoint = wayPoints[wayPointIndex]
Character:FindFirstChildWhichIsA("BasePart").CFrame = wayPoint
end)
if not s and not wayPointIndex == nil and plrs.LocalPlayer:FindFirstChild("Character") and plrs.LocalPlayer:FindFirstChild("Character"):FindFirstChild("HumanoidRootPart") then
print("Report the following error to the discord: " .. tostring(e))
end
end
if msg.Message == "listwps" then
for i, v in pairs(wayPoints) do
print("Waypoint " .. i)
end
elseif msg.Message == "rlist" then
print("New list: ")
for i, v in next, plrs:GetPlayers() do
plrsT[i] = v
print(i, v)
end
elseif msg.Message:sub(1, 1) == "d" then
local s, e = pcall(function()
num = tonumber(msg.Message:sub(2))
for i, v in pairs(wayPoints) do
if num == i then
local g = "Waypoint " .. tostring(i) .. ".txt"
writefile(g, [[workspace[game:GetService("Players").LocalPlayer.Name].HumanoidRootPart.CFrame = CFrame.new(]] .. tostring(v) .. ")")
print("Successfully downloaded waypoint " .. tostring(i))
end
end
end)
elseif msg.Message == "nbps" then
for _, part in next, workspace:GetDescendants() do
if part:IsA("Part") and not part:IsDescendantOf(Character) and (part.Position - Character.HumanoidRootPart.Position).Magnitude <= 10 then
local touch = false
for i, v in next, part:GetDescendants() do
if v:IsA("TouchInterest") then
touch = true
break
else
touch = false
end
end
full = "game."..part:GetFullName()
print("Found part, table of information: \n{\n Name: " .. part.Name .. ";\n Magnitude: " .. tostring((part.Position - Character.HumanoidRootPart.Position).Magnitude) .. ";\n Position: \n {\n X: " .. tostring(part.Position.X) .. "\n Y: " .. tostring(part.Position.Y) .. ";\n Z: " .. tostring(part.Position.Z) .. ";\n }\n Parent: " .. part.Parent.Name .. "\n Parent class: " .. part.Parent.ClassName .. "\n Full Name: " .. full .. "\n Brick Color: " .. tostring(part.BrickColor) .. "\n Has a touch interest: " .. tostring(touch) .. "\n Material: "..tostring(part.Material):gsub("Enum.Material.", ""))
end
end
end
if msg.Message == "rj" then
game:GetService("TeleportService"):Teleport(game.PlaceId, game:GetService("Players").LocalPlayer)
end
if msg.Message == ";ioh" then
for i, v in next, plrs:GetPlayers() do
for _, model in next, workspace:GetDescendants() do
if model:IsA("Model") and model.Name == v.Name then -- Find player's characters
indexOverHead(model, i, v)
plrs.PlayerAdded:Connect(function(player) for k, val in next, workspace:GetDescendants() do if val.Name == player.Name and val:IsA("Model") then indexOverHead(val.PrimaryPart, #plrsT + 1, player)
end;
end;
end)
end
end
end
end
end
end)
end
if method == 1 then
game:GetService("TextChatService").MessageReceived:Connect(function(msg)
full = ""
if msg.TextSource.Name == plrs.LocalPlayer.Name then
local s, e = pcall(function()
number = tonumber(msg.Text)
end)
if s then
local plr = plrsT[number]
local s, e = pcall(function()
Character:FindFirstChildWhichIsA("BasePart").CFrame = plr.Character:FindFirstChildWhichIsA("BasePart").CFrame
end)
end
local s, e = pcall(function()
if msg.Text:sub(1, 1) == "s" then
local wayPoint = tonumber(msg.Text:sub(2))
local cf = Character:FindFirstChildWhichIsA("BasePart").CFrame
wayPoints[wayPoint] = cf
local wayPointIndex = tostring(wayPoint)
print("Saved waypoint " .. wayPointIndex .. ", use it by saying g" .. wayPointIndex)
local waypointPart = Instance.new("Part", workspace)
waypointPart.CFrame = cf
waypointPart.Size = Vector3.new(3, 99999999, 3)
waypointPart.Color = Color3.fromRGB(0, 50, 255)
waypointPart.CanCollide = false
waypointPart.Transparency = 0.42
waypointPart.Anchored = true
local gui = Instance.new("BillboardGui", waypointPart)
gui.Size = UDim2.new(0, 200, 0, 50)
gui.Adornee = waypointPart
gui.AlwaysOnTop = true
local textLabel = Instance.new("TextLabel", gui)
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundTransparency = 1
textLabel.Text = "Waypoint " .. wayPointIndex
textLabel.Font = Enum.Font.GothamBlack
textLabel.TextScaled = true
textLabel.TextColor3 = Color3.new(1, 1, 1)
end
end)
if msg.Text:sub(1, 1) == "g" then
s, e = pcall(function()
wayPointIndex = tonumber(msg.Text:gsub(" ", ""):sub(2))
local wayPoint = wayPoints[wayPointIndex]
Character:FindFirstChildWhichIsA("BasePart").CFrame = wayPoint
end)
end
if not s and not wayPointIndex == nil and plrs.LocalPlayer:FindFirstChild("Character") and plrs.LocalPlayer:FindFirstChild("Character"):FindFirstChild("HumanoidRootPart") then
print("Report the following error to the discord: " .. tostring(e))
end
if msg.Text == "listwps" then
for i, v in pairs(wayPoints) do
print("Waypoint " .. i)
end
elseif msg.Text == "rlist" then
print("New list: ")
for i, v in next, plrs:GetPlayers() do
plrsT[i] = v
print(i, v)
end
elseif msg.Text:sub(1, 1) == "d" then
local s, e = pcall(function()
num = tonumber(msg.Text:sub(2))
for i, v in pairs(wayPoints) do
if num == i then
local g = "Waypoint " .. tostring(i) .. ".txt"
writefile(g, [[workspace[game:GetService("Players").LocalPlayer.Name].HumanoidRootPart.CFrame = CFrame.new(]] .. tostring(v) .. ")")
print("Successfully downloaded waypoint " .. tostring(i))
end
end
end)
elseif msg.Text == "nbps" then
for _, part in next, workspace:GetDescendants() do
if part:IsA("Part") and not part:IsDescendantOf(Character) and (part.Position - Character.HumanoidRootPart.Position).Magnitude <= 10 then
local touch = false
for i, v in next, part:GetDescendants() do
if v:IsA("TouchInterest") then
touch = true
break
else
touch = false
end
end
full = "game."..part:GetFullName()
print("Found part, table of information: \n{\n Name: " .. part.Name .. ";\n Magnitude: " .. tostring((part.Position - Character.HumanoidRootPart.Position).Magnitude) .. ";\n Position: \n {\n X: " .. tostring(part.Position.X) .. "\n Y: " .. tostring(part.Position.Y) .. ";\n Z: " .. tostring(part.Position.Z) .. ";\n }\n Parent: " .. part.Parent.Name .. "\n Parent class: " .. part.Parent.ClassName .. "\n Full Name: " .. full .. "\n Brick Color: " .. tostring(part.BrickColor) .. "\n Has a touch interest: " .. tostring(touch) .. "\n Material: "..tostring(part.Material):gsub("Enum.Material.", ""))
end
end
end
end
if msg.Text == "rj" then
game:GetService("TeleportService"):Teleport(game.PlaceId, game:GetService("Players").LocalPlayer)
end
if msg.Text == ";ioh" then
for i, v in next, plrs:GetPlayers() do
for _, model in next, workspace:GetDescendants() do
if model:IsA("Model") and model.Name == v.Name then -- Find player's characters
indexOverHead(model, i, v)
plrs.PlayerAdded:Connect(function(player) for k, val in next, workspace:GetDescendants() do if val.Name == player.Name and val:IsA("Model") then indexOverHead(val.PrimaryPart, #plrsT + 1, player)
end;
end;
end)
end
end
end
end
end)
end


![HanamiHub [Keyless] Universal Aimbot, ESP, Mobile](https://scriptblox.com/images/sb/0-1789661460161.png)
W script Im a little slow so took me some time to figure out There is no prefix just type s1 g1
@Mazed read notes and how to use lol
@vxsty yeah i did
ngl bro infinite yield does allat better