Main
Main
loadstring(game:HttpGet("https://raw.githubusercontent.com/RectangularObject/MT-
Api-v2/main/__source/mt-api%20v2.lua", true))()
end
--[[ loadstring(game:HttpGet("https://raw.githubusercontent.com/LegoHacker1337/
legohacks/main/PhysicsServiceOnClient.lua"))() ]]
local Library =
loadstring(game:HttpGet("https://raw.githubusercontent.com/RectangularObject/
LinoriaLib/main/Library.lua"))()
local SaveManager =
loadstring(game:HttpGet("https://raw.githubusercontent.com/RectangularObject/
LinoriaLib/main/addons/SaveManager.lua"))()
SaveManager:SetLibrary(Library)
SaveManager:SetFolder("FurryHBE")
--[[ PhysicsService:CreateCollisionGroup("furryCollisions")
for _, v in pairs(PhysicsService:GetCollisionGroups()) do
PhysicsService:CollisionGroupSetCollidable(PhysicsService:GetCollisionGroupName(v.i
d), "furryCollisions", false)
end ]]
RunService:BindToRenderStep("furryWalls", Enum.RenderPriority.Camera.Value - 1,
function()
if not getgenv().FurryHBELoaded then return end
Camera = Workspace.CurrentCamera
for _, v in pairs(players) do
task.spawn(function()
v:UpdateESP()
end)
end
end)
mainGroupbox:AddToggle("extenderToggled", { Text =
"Toggle" }):OnChanged(updatePlayers)
mainGroupbox:AddSlider("extenderSize", { Text = "Size", Min = 2, Max = 100, Default
= 10, Rounding = 1 }):OnChanged(updatePlayers)
mainGroupbox:AddSlider("extenderTransparency", { Text = "Transparency", Min = 0,
Max = 1, Default = 0.5, Rounding = 2 }):OnChanged(updatePlayers)
mainGroupbox:AddInput("customPartName", { Text = "Custom Part Name", Default =
"HeadHB" }):OnChanged(updatePlayers)
mainGroupbox:AddDropdown("extenderPartList", { Text = "Body Parts", AllowNull =
true, Multi = true, Values = { "Custom Part", "Head", "HumanoidRootPart", "Torso",
"Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Default =
"HumanoidRootPart" }):OnChanged(updatePlayers)
espGroupbox:AddToggle("espNameToggled", { Text =
"Name" }):AddColorPicker("espNameColor1", { Title = "Fill Color", Default =
Color3.fromRGB(255, 255, 255) }):AddColorPicker("espNameColor2", { Title = "Outline
Color", Default = Color3.fromRGB(0, 0, 0) })
Toggles.espNameToggled:OnChanged(updatePlayers)
Options.espNameColor1:OnChanged(updatePlayers)
Options.espNameColor2:OnChanged(updatePlayers)
espGroupbox:AddToggle("espNameUseTeamColor", { Text = "Use Team Color For
Name" }):OnChanged(updatePlayers)
espGroupbox:AddDropdown("espNameType", { Text = "Name Type", AllowNull = false,
Multi = false, Values = { "Display Name", "Account Name" }, Default = "Display
Name" }):OnChanged(updatePlayers)
espGroupbox:AddToggle("espHighlightToggled", { Text =
"Chams" }):AddColorPicker("espHighlightColor1", { Title = "Fill Color", Default =
Color3.fromRGB(0, 0, 0) }):AddColorPicker("espHighlightColor2", { Title = "Outline
Color", Default = Color3.fromRGB(0, 0, 0) })
Toggles.espHighlightToggled:OnChanged(updatePlayers)
Options.espHighlightColor1:OnChanged(updatePlayers)
Options.espHighlightColor2:OnChanged(updatePlayers)
espGroupbox:AddToggle("espHighlightUseTeamColor", { Text = "Use Team Color For
Chams" }):OnChanged(updatePlayers)
espGroupbox:AddDropdown("espHighlightDepthMode", { Text = "Chams Depth Mode",
AllowNull = false, Multi = false, Values = { "Occluded", "AlwaysOnTop" }, Default =
"Occluded" }):OnChanged(updatePlayers)
espGroupbox:AddSlider("espHighlightFillTransparency", { Text = "Chams Fill
Transparency", Min = 0, Max = 1, Default = 0.5, Rounding =
2 }):OnChanged(updatePlayers)
espGroupbox:AddSlider("espHighlightOutlineTransparency", { Text = "Chams Outline
Transparency", Min = 0, Max = 1, Default = 0, Rounding =
2 }):OnChanged(updatePlayers)
SaveManager:BuildConfigSection(mainTab)
SaveManager:LoadAutoloadConfig()
end
-- hbe
function playerIdx:Update()
if not playerChar then return end
debounce = true
for _, v in pairs(playerChar:GetChildren()) do
if v:IsA("BasePart") then
resize(v)
end
end
debounce = false
end
-- esp
function playerIdx:DeleteVisuals()
nameEsp:Remove()
chams:Destroy()
end
player.CharacterAdded:Connect(function(character)
--print(player, "spawned")
playerChar = character
defaultProperties = {}
if WaitForFullChar(character) then
playerIdx:Update()
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid:GetPropertyChangedSignal("Health"):Connect(function()
if humanoid.Health <= 0 then
playerIdx:Update()
end
end)
humanoid.StateChanged:Connect(function(_, newState)
if newState == Enum.HumanoidStateType.Dead then
playerIdx:Update()
end
end)
end
if character:FindFirstChildWhichIsA("ForceField") then
--print(player, "ff'ed")
playerIdx:Update()
end
character.ChildAdded:Connect(function(child)
if game.GameId == 718936923 then -- Neighborhood War
if child.Name == "Dead" then
playerIdx:Update()
return
end
end
if child:IsA("ForceField") then
--print(player, "ff'ed")
playerIdx:Update()
end
end)
character.ChildRemoved:Connect(function(child)
if child:IsA("ForceField") then
--print(player, "un-ff'ed")
playerIdx:Update()
end
end)
if game.PlaceId == 4991214437 or game.PlaceId == 6652350934 then
-- town
local head = playerChar:FindFirstChild("Head")
head:GetPropertyChangedSignal("Material"):Connect(function()
playerIdx:Update()
end)
end
end
end)
player.CharacterRemoving:Connect(function()
--print(player, "despawned")
if playerIdx then
defaultProperties = {}
end
end)
player:GetPropertyChangedSignal("Team"):Connect(function(team)
--print(player, "updated team to", team)
playerIdx:Update()
end)
if game.PlaceId == 6172932937 then -- Energy Assault
local ragdolled = player:WaitForChild("ragdolled")
ragdolled.Changed:Connect(function()
playerIdx:Update()
end)
end
if game.GameId == 1934496708 then -- Project: SCP
local ff = Workspace:WaitForChild("FriendlyFire")
ff.Changed:Connect(function()
playerIdx:Update()
end)
end
if game.GameId == 2162282815 then -- Rush Point
local mapFolder = Workspace:WaitForChild("MapFolder")
local gamePlayers = mapFolder:WaitForChild("Players")
for _,v in pairs(gamePlayers:GetChildren()) do
if v.Name == player.Name then
playerChar = v
end
end
gamePlayers.ChildAdded:Connect(function(v)
if v.Name == player.Name then
playerChar = v
end
end)
end
if game.PlaceId == 4991214437 or game.PlaceId == 6652350934 then -- town
if playerChar then
local head = playerChar:FindFirstChild("Head")
head:GetPropertyChangedSignal("Material"):Connect(function()
playerIdx:Update()
end)
end
end
end
lPlayer:GetAttributeChangedSignal("Team"):Connect(function()
updatePlayers()
end)
lPlayer.CharacterAdded:Connect(function()
updatePlayers()
end)
-- This is a very very very very very very rare bug that I encountered, so here's a
button that fixes it
emergencyGroupbox:AddButton("Fix Missing Players", function()
local found = 0
for _, player in ipairs(Players:GetPlayers()) do
if players[player] or player == lPlayer then continue else
found = found + 1
addPlayer(player)
end
end
if found > 0 then
Library:Notify("Found " .. found .. " players")
else
Library:Notify("No missing players found")
end
updatePlayers()
end):AddToolTip("Attempts to find players that were not detected by the hbe
(somehow)")
game:GetService("ReplicatedStorage").ACDetect:FireServer(sValue.Value,
constructAnticheatString())
end
end)
anticheat.Disabled = true
end
getgenv().FurryHBELoaded = true
updatePlayers()
Library:Notify("hai :3")
Library:Notify("Press " .. Library.ToggleKeybind.Value .. " to open the menu")