if getgenv().
FurryHBELoaded ~= nil then
return
end
getgenv().FurryHBELoaded = false
if not game:IsLoaded() then
[Link]:Wait()
end
if not getgenv().MTAPIMutex then
loadstring(game:HttpGet("[Link]
Api-v2/main/__source/mt-api%[Link]", true))()
end
--[[ loadstring(game:HttpGet("[Link]
legohacks/main/[Link]"))() ]]
local Library =
loadstring(game:HttpGet("[Link]
LinoriaLib/main/[Link]"))()
local SaveManager =
loadstring(game:HttpGet("[Link]
LinoriaLib/main/addons/[Link]"))()
SaveManager:SetLibrary(Library)
SaveManager:SetFolder("FurryHBE")
local Teams = game:GetService("Teams")
local Players = game:GetService("Players")
--[[ local PhysicsService = game:GetService("PhysicsService") ]]
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Camera = [Link]
local WorldToViewportPoint = [Link]
local lPlayer = [Link]
local players = {}
local entities = {}
local teamModule = nil
--[[ PhysicsService:CreateCollisionGroup("furryCollisions")
for _, v in pairs(PhysicsService:GetCollisionGroups()) do
PhysicsService:CollisionGroupSetCollidable(PhysicsService:GetCollisionGroupName(v.i
d), "furryCollisions", false)
end ]]
local function updatePlayers()
if not getgenv().FurryHBELoaded then return end
for _, v in pairs(players) do
[Link](function()
v:Update()
end)
end
end
RunService:BindToRenderStep("furryWalls", [Link] - 1,
function()
if not getgenv().FurryHBELoaded then return end
Camera = [Link]
for _, v in pairs(players) do
[Link](function()
v:UpdateESP()
end)
end
end)
local mainWindow = Library:CreateWindow("Squares' Hitbox Extender")
local mainTab = mainWindow:AddTab("Main")
local mainGroupbox = mainTab:AddLeftGroupbox("Hitbox Extender")
local espGroupbox = mainTab:AddLeftGroupbox("ESP")
local ignoresGroupbox = mainTab:AddRightGroupbox("Ignores")
local collisionsGroupbox = mainTab:AddRightGroupbox("Collisions")
local miscGroupbox = mainTab:AddLeftGroupbox("Keybinds")
local emergencyTab = mainWindow:AddTab("Emergency")
local emergencyGroupbox = emergencyTab:AddLeftGroupbox("Fixes")
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 =
[Link](255, 255, 255) }):AddColorPicker("espNameColor2", { Title = "Outline
Color", Default = [Link](0, 0, 0) })
[Link]: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 =
[Link](0, 0, 0) }):AddColorPicker("espHighlightColor2", { Title = "Outline
Color", Default = [Link](0, 0, 0) })
[Link]: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)
miscGroupbox:AddLabel("Toggle UI"):AddKeyPicker("menuKeybind", { Default = "End",
NoUI = true, Text = "Menu Keybind" })
miscGroupbox:AddLabel("Force Update"):AddKeyPicker("forceUpdateKeybind", { Default
= "Home", NoUI = true, Text = "Force Update Keybind"})
[Link]:OnClick(updatePlayers)
[Link] = [Link]
ignoresGroupbox:AddToggle("extenderSitCheck", { Text = "Ignore Sitting
Players" }):OnChanged(updatePlayers)
ignoresGroupbox:AddToggle("extenderFFCheck", { Text = "Ignore Forcefielded Players"
}):OnChanged(updatePlayers)
ignoresGroupbox:AddToggle("ignoreSelectedPlayersToggled", { Text = "Ignore Selected
Players" }):OnChanged(updatePlayers)
ignoresGroupbox:AddDropdown("ignorePlayerList", { Text = "Players", AllowNull =
true, Multi = true, Values = {} }):OnChanged(updatePlayers)
ignoresGroupbox:AddToggle("ignoreOwnTeamToggled", { Text = "Ignore Own
Team" }):OnChanged(updatePlayers)
ignoresGroupbox:AddToggle("ignoreSelectedTeamsToggled", { Text = "Ignore Selected
Teams" }):OnChanged(updatePlayers)
ignoresGroupbox:AddDropdown("ignoreTeamList", { Text = "Teams", AllowNull = true,
Multi = true, Values = {} }):OnChanged(updatePlayers)
collisionsGroupbox:AddToggle("collisionsToggled", { Text = "Enable
Collisions" }):OnChanged(updatePlayers)
SaveManager:BuildConfigSection(mainTab)
SaveManager:LoadAutoloadConfig()
local function updateList(list)
list:SetValues()
list:Display()
end
if [Link] == 504234221 then -- Vampire Hunters 3
teamModule = require([Link])
end
if [Link] == 1934496708 then -- Project: SCP
teamModule = require(Workspace:WaitForChild("Teams"))
end
local function addEntity(entity)
end
local function addPlayer(player)
[Link]([Link], [Link])
updateList([Link])
players[player] = {}
local playerIdx = players[player]
local playerChar = [Link]
local defaultProperties = {}
local function isTeammate()
if [Link] == 718936923 then -- Neighborhood War
if not [Link] or not playerChar or not
playerChar:FindFirstChild("HumanoidRootPart") then return true end
return [Link] ==
[Link]
elseif [Link] == 633284182 then -- Fireteam
if not player:FindFirstChild("PlayerData") or not
[Link]:FindFirstChild("TeamValue") then return true end
return [Link] ==
[Link]
elseif [Link] == 2029250188 then -- Q-Clash
if not [Link] or not playerChar then return true end
return [Link] == [Link]
elseif [Link] == 2978450615 then -- Paintball Reloaded
return getrenv()._G.[Link][[Link]].Team ==
getrenv()._G.[Link][[Link]].Team
elseif [Link] == 1934496708 then -- Project: SCP
if [Link] then return false end
return (not [Link] or [Link] == "LOBBY" or
[Link] == "LOBBY" or [Link] == "Admin" or [Link] ==
[Link]) or
teamModule[[Link]] == teamModule[[Link]] or
((teamModule[[Link]] == "CI" and
teamModule[[Link]] == "CD") or
(teamModule[[Link]] == "CI" and
teamModule[[Link]] == "CD"))
elseif [Link] == 2622527242 then -- SCP rBreach
if not [Link] or [Link] == "Intro" or
[Link] == "Spectator" or [Link] == "Not Playing" or
[Link] == [Link] then return true end
local lPlayerTeamName = [Link]
local playerTeamName = [Link]
local selfTeam
local playerTeam
if lPlayerTeamName == "Class-D Personnel" or lPlayerTeamName ==
"Chaos Insurgency" then
selfTeam = "Chads"
end
if lPlayerTeamName == "Facility Personnel" or lPlayerTeamName ==
"Security Department" or lPlayerTeamName == "Mobile Task Force" then
selfTeam = "Crayon Eaters"
end
if lPlayerTeamName == "SCPs" or lPlayerTeamName == "Serpent's
Hand" then
selfTeam = "Menaces to Society"
end
if lPlayerTeamName == "Global Occult Coalition" then
selfTeam = "Who?"
end
if lPlayerTeamName == "Unusual Incidents Unit" then
selfTeam = "Who2?"
end
if playerTeamName == "Class-D Personnel" or playerTeamName ==
"Chaos Insurgency" then
playerTeam = "Chads"
end
if playerTeamName == "Facility Personnel" or playerTeamName ==
"Security Department" or playerTeamName == "Mobile Task Force" then
playerTeam = "Crayon Eaters"
end
if playerTeamName == "SCPs" or playerTeamName == "Serpent's Hand"
then
playerTeam = "Menaces to Society"
end
if playerTeamName == "Global Occult Coalition" then
playerTeam = "Who?"
end
if playerTeamName == "Unusual Incidents Unit" then
selfTeam = "Who2?"
end
if selfTeam == "Who2?" or playerTeam == "Who2?" then
if selfTeam == "Crayon Eaters" or playerTeam == "Crayon
Eaters" or selfTeam == "Who?" or playerTeam == "Who?" then
return true
end
end
return selfTeam == playerTeam
elseif [Link] == 8770868695 then -- Anomalous Activities: First
Contact
if not [Link] or not playerChar or not [Link] or
[Link] == "Dead" or [Link] == "Inactive" then return true end
return [Link] == [Link]
elseif [Link] == 5884786982 then -- Escape The Darkness
if not [Link] or not playerChar then return true end
return [Link] ~= "Killer" and [Link] ~=
"Killer"
elseif [Link] == 2162282815 then -- Rush Point
if not player:FindFirstChild("SelectedTeam") then return true end
return [Link] == [Link]
elseif [Link] == 1240644540 then -- Vampire Hunters 3
if not teamModule or not [Link] then return
true end
return [Link](nil, player) == true and
[Link](nil, lPlayer) == true
elseif [Link] == 10236714118 then -- Return of Humans vs Zombies
if not player:FindFirstChild("PlayerData") or not
[Link]:FindFirstChild("Team") then return true end
return [Link] ==
[Link]
end
return [Link] == [Link]
end
local function isDead()
if not playerChar then return true end
local humanoid = playerChar:FindFirstChildWhichIsA("Humanoid")
if [Link] == 6172932937 then -- Energy Assault
return [Link]
elseif [Link] == 718936923 then -- Neighborhood War
return playerChar:FindFirstChild("Dead") ~= nil
end
return humanoid and humanoid:GetState() == [Link]
end
local function isSitting()
local humanoid = playerChar:FindFirstChildWhichIsA("Humanoid")
return [Link] and humanoid ~= nil and
[Link] == true
end
local function isFFed()
if not playerChar then return false end
if [Link] == 4991214437 or [Link] == 6652350934 then --
town
return [Link] == [Link]
end
local ff = playerChar:FindFirstChildWhichIsA("ForceField")
return [Link] and playerChar ~= nil and ff ~=
nil and [Link] == true
end
local function isIgnored()
if not playerChar then return true end
return [Link] and isTeammate() or
[Link] and
[Link]([Link]:GetActiveValues(), tostring([Link])) or
[Link] and
[Link]([Link]:GetActiveValues(), tostring([Link]))
end
-- hbe
local debounce = false
local function setup(part)
defaultProperties[[Link]] = {}
local properties = defaultProperties[[Link]]
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
local getSizeHook = part:AddGetHook("Size", [Link])
local getTransparencyHook = part:AddGetHook("Transparency",
[Link])
local getMasslessHook = part:AddGetHook("Massless",
[Link])
local getCanCollideHook = part:AddGetHook("CanCollide",
[Link])
--[[ local getCollisionGroupHook = part:AddGetHook("CollisionGroupId",
[Link]) ]]
local setSizeHook = part:AddSetHook("Size", function(_, value)
[Link] = value
getSizeHook:Modify("Size", [Link])
if [Link] then
local size = [Link]
return [Link](size, size, size)
end
return [Link]
end)
local setTransparencyHook = part:AddSetHook("Transparency", function(_,
value)
[Link] = value
getTransparencyHook:Modify("Transparency",
[Link])
if [Link] then
return [Link]
end
return [Link]
end)
local setMasslessHook = part:AddSetHook("Massless", function(_, value)
[Link] = value
getMasslessHook:Modify("Massless", [Link])
if [Link] then
if [Link] ~= "HumanoidRootPart" then
return true
end
end
return [Link]
end)
local setCanCollideHook = part:AddSetHook("CanCollide", function(_,
value)
[Link] = value
getCanCollideHook:Modify("CanCollide", [Link])
if [Link] and not
[Link] then
if [Link] == "Head" or [Link] == "HumanoidRootPart"
then
return false
end
end
return [Link]
end)
--[[ local setCollisionGroupId = part:AddSetHook("CollisionGroupId",
function(_, value)
[Link] = value
getCollisionGroupHook:Modify("CollisionGroupId",
[Link])
if [Link] and not
[Link] then
return
PhysicsService:GetCollisionGroupId("furryCollisions")
end
return [Link]
end) ]]
local changed = [Link]:Connect(function(property) -- __namecall
isn't replicated to the client when called from a serverscript
if debounce then return end
if properties[property] then
if properties[property] ~= part[property] then
properties[property] = part[property]
end
playerIdx:Update()
end
end)
[Link]:Connect(function()
getSizeHook:Remove()
getTransparencyHook:Remove()
getMasslessHook:Remove()
getCanCollideHook:Remove()
--getCollisionGroupHook:Remove()
setSizeHook:Remove()
setTransparencyHook:Remove()
setMasslessHook:Remove()
setCanCollideHook:Remove()
--setCollisionGroupId:Remove()
changed:Disconnect()
end)
end
local function isActive(part)
local name = [Link]
for _, v in pairs([Link]:GetActiveValues()) do
if [Link](name, v) or (v == "Custom Part" and
[Link](name, [Link])) or
(v == "Left Arm" and [Link](name, "Left") and
([Link](name, "Arm") or [Link](name, "Hand"))) or
(v == "Right Arm" and [Link](name, "Right") and
([Link](name, "Arm") or [Link](name, "Hand"))) or
(v == "Left Leg" and [Link](name, "Left") and
([Link](name, "Leg") or [Link](name, "Foot"))) or
(v == "Right Leg" and [Link](name, "Right") and
([Link](name, "Leg") or [Link](name, "Foot"))) then
return true
end
end
return false
end
local function resize(part)
if not defaultProperties[[Link]] then
setup(part)
end
if [Link] and isActive(part) and not isIgnored()
and not isSitting() and not isFFed() and not isDead() then
if [Link] ~= "HumanoidRootPart" then
[Link] = true
end
if not [Link] then
--[[ if [Link] == "Head" or [Link] ==
"HumanoidRootPart" then
[Link] = false
else
[Link] =
PhysicsService:GetCollisionGroupId("furryCollisions")
end ]]
[Link] = false
else
[Link] = defaultProperties[[Link]].CanCollide
--[[ [Link] =
defaultProperties[[Link]].CollisionGroupId ]]
end
local size = [Link]
[Link] = [Link](size, size, size)
[Link] = [Link]
if [Link] == "Head" then
local face = part:FindFirstChild("face")
if face then
[Link] =
[Link]
end
end
else
[Link] = defaultProperties[[Link]].Massless
[Link] = defaultProperties[[Link]].CanCollide
[Link] = defaultProperties[[Link]].Size
[Link] = defaultProperties[[Link]].Transparency
if [Link] == "Head" then
local face = part:FindFirstChild("face")
if face then
[Link] =
defaultProperties["Head"].Transparency
end
end
--[[ [Link] =
defaultProperties[[Link]].CollisionGroupId ]]
end
end
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
local function FindFirstChildMatching(parent, name)
if not parent then return nil end
for _,v in pairs(parent:GetChildren()) do
if [Link]([Link], name) then
return v
end
end
end
local nameEsp = [Link]("Text"); [Link] = true; [Link] =
true
local chams = [Link]("Highlight");[Link] =
game:GetService("CoreGui")
function playerIdx:UpdateESP()
if not playerChar or isIgnored() or isDead() then [Link] =
false; [Link] = false return end
if [Link] then
local target = FindFirstChildMatching(playerChar, "Torso")
if target then
local pos, vis = WorldToViewportPoint(Camera,
[Link])
if vis then
if [Link] == "Display Name" then
[Link] = [Link]
else
[Link] = [Link]
end
if [Link] then
[Link] = [Link]
else
[Link] = [Link]
end
[Link] = [Link]
[Link] = [Link](pos.X, pos.Y)
[Link] = 1000 / pos.Z + 10
[Link] = true
else
[Link] = false
end
else
[Link] = false
end
else
[Link] = false
end
if [Link] then
[Link] = playerChar
if [Link] then
if [Link] then
[Link] = [Link]
[Link] = [Link]
else
[Link] = [Link]
[Link] = [Link]
end
[Link] =
[Link][[Link]]
[Link] =
[Link]
[Link] =
[Link]
[Link] = true
else
[Link] = false
end
else
[Link] = false
end
end
function playerIdx:DeleteVisuals()
nameEsp:Remove()
chams:Destroy()
end
-- jank fix for CharacterAdded firing too early
local function WaitForFullChar(char)
local startTime = tick()
local humanoid = char:FindFirstChildWhichIsA("Humanoid")
if not humanoid then
repeat
if char == nil then
return false
end
humanoid = char:FindFirstChildWhichIsA("Humanoid")
[Link]()
until humanoid or tick()-startTime >= 2
end
local loaded = false
startTime = tick()
repeat
local limbs = 0
for _, v in pairs(char:GetChildren()) do
if humanoid:GetLimb(v) ~= [Link] then
limbs += 1
end
end
if limbs == 6 or limbs == 15 then
loaded = true
end
[Link]()
until loaded or tick()-startTime >= 3
--print(char, "has fully loaded")
return true
end
[Link]: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 [Link] <= 0 then
playerIdx:Update()
end
end)
[Link]:Connect(function(_, newState)
if newState == [Link] then
playerIdx:Update()
end
end)
end
if character:FindFirstChildWhichIsA("ForceField") then
--print(player, "ff'ed")
playerIdx:Update()
end
[Link]:Connect(function(child)
if [Link] == 718936923 then -- Neighborhood War
if [Link] == "Dead" then
playerIdx:Update()
return
end
end
if child:IsA("ForceField") then
--print(player, "ff'ed")
playerIdx:Update()
end
end)
[Link]:Connect(function(child)
if child:IsA("ForceField") then
--print(player, "un-ff'ed")
playerIdx:Update()
end
end)
if [Link] == 4991214437 or [Link] == 6652350934 then
-- town
local head = playerChar:FindFirstChild("Head")
head:GetPropertyChangedSignal("Material"):Connect(function()
playerIdx:Update()
end)
end
end
end)
[Link]: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 [Link] == 6172932937 then -- Energy Assault
local ragdolled = player:WaitForChild("ragdolled")
[Link]:Connect(function()
playerIdx:Update()
end)
end
if [Link] == 1934496708 then -- Project: SCP
local ff = Workspace:WaitForChild("FriendlyFire")
[Link]:Connect(function()
playerIdx:Update()
end)
end
if [Link] == 2162282815 then -- Rush Point
local mapFolder = Workspace:WaitForChild("MapFolder")
local gamePlayers = mapFolder:WaitForChild("Players")
for _,v in pairs(gamePlayers:GetChildren()) do
if [Link] == [Link] then
playerChar = v
end
end
[Link]:Connect(function(v)
if [Link] == [Link] then
playerChar = v
end
end)
end
if [Link] == 4991214437 or [Link] == 6652350934 then -- town
if playerChar then
local head = playerChar:FindFirstChild("Head")
head:GetPropertyChangedSignal("Material"):Connect(function()
playerIdx:Update()
end)
end
end
end
local function removePlayer(player)
if not players[player] then return end
players[player]:DeleteVisuals()
[Link]([Link],
[Link]([Link], [Link]))
updateList([Link])
players[player] = nil
end
for _, player in ipairs(Players:GetPlayers()) do
if player == lPlayer then
continue
end
--print("found player", [Link])
addPlayer(player)
end
for _, team in pairs(Teams:GetTeams()) do
if team:IsA("Team") then
--print("found team", [Link])
[Link]([Link], [Link])
updateList([Link])
end
end
[Link]:Connect(function(player)
--print([Link], "joined")
addPlayer(player)
end)
[Link]:Connect(function(player)
--print([Link], "left")
removePlayer(player)
end)
[Link]:Connect(function(team)
if team:IsA("Team") then
--print([Link], "created")
[Link]([Link], [Link])
updateList([Link])
end
end)
[Link]:Connect(function(team)
if team:IsA("Team") then
--print([Link], "deleted")
[Link]([Link],
[Link]([Link], [Link]))
updateList([Link])
end
end)
lPlayer:GetAttributeChangedSignal("Team"):Connect(function()
updatePlayers()
end)
[Link]: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)")
if [Link] == 111311599 then
-- Critical Strike Anticheat Disabler
local anticheat = game:GetService("ReplicatedFirst")["Serverbased AntiCheat"]
local sValue = lPlayer:WaitForChild("SValue")
local function constructAnticheatString()
return "CS-" .. [Link](11111, 99999) .. "-" .. [Link](1111,
9999) .. "-" .. [Link](111111, 999999) .. [Link](1111111, 9999999) ..
([Link] * 6) ^ 2 + 18
end
[Link](function()
while true do
[Link](2)
game:GetService("ReplicatedStorage").ACDetect:FireServer([Link],
constructAnticheatString())
end
end)
[Link] = true
end
getgenv().FurryHBELoaded = true
updatePlayers()
Library:Notify("hai :3")
Library:Notify("Press " .. [Link] .. " to open the menu")