Message
Message
░██████╗░░█████╗░███╗░░░███╗███████╗░██████╗███████╗███╗░░██╗░██████╗███████╗
██╔════╝░██╔══██╗████╗░████║██╔════╝██╔════╝██╔════╝████╗░██║██╔════╝██╔════╝
██║░░██╗░███████║██╔████╔██║█████╗░░╚█████╗░█████╗░░██╔██╗██║╚█████╗░█████╗░░
██║░░╚██╗██╔══██║██║╚██╔╝██║██╔══╝░░░╚═══██╗██╔══╝░░██║╚████║░╚═══██╗██╔══╝░░
╚██████╔╝██║░░██║██║░╚═╝░██║███████╗██████╔╝███████╗██║░╚███║██████╔╝███████╗
░╚═════╝░╚═╝░░╚═╝╚═╝░░░░░╚═╝╚══════╝╚═════╝░╚══════╝╚═╝░░╚══╝╚═════╝░╚══════╝
-- ORGIGINAL CREATOR: @__woj__
-- keep the fuckass credits or gay and love cock
]]
--///// Services
local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Debris = game:GetService("Debris")
local TextChatService = game:GetService("TextChatService")
local HTTPService = game:GetService("HttpService")
--///// UI Library
local repo = "https://raw.githubusercontent.com/deividcomsono/Obsidian/main/"
local Library = loadstring(game:HttpGet(repo .. "Library.lua"))()
local ThemeManager = loadstring(game:HttpGet(repo .. "addons/ThemeManager.lua"))()
local SaveManager = loadstring(game:HttpGet(repo .. "addons/SaveManager.lua"))()
Library.ForceCheckbox = false
Library.ShowToggleFrameInKeybinds = true
--///// Variables
--// Tables
local Dump = {
BallPrediction = {}
}
--// Miscs
local IS_4ASIDE = false
local IS_LEGACY = false
local NO_FOLDER = false
--// Instances
local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character
local Humanoid = Character:WaitForChild("Humanoid")
local HRP = Character:WaitForChild("HumanoidRootPart")
--///// Functions
local function findLandingPosition(Vo, startingPosition, acc, max)
local seconds = quadraticSolver((0.5 * -acc), Vo.Y, startingPosition.Y)
local lastPosition = startingPosition
for i = 1, max do
local t = seconds * (1/max * i)
local nextPosition = findPositionAtTime(Vo, t, startingPosition, acc)
ReachMainGroupbox:AddToggle("ReachMasterToggle", {
Text = "Enabled",
Tooltip = "Master toggle for reach.",
})
ReachMainGroupbox:AddToggle("ReachVisualizerToggle", {
Text = "Visualizer",
Tooltip = "Visualizer of the reach box.",
}):AddColorPicker("ReachVisualizerColor", {
Default = Color3.new(1, 1, 1),
Title = "Visualizer Color.",
Transparency = 0.9,
})
if UserInputService.TouchEnabled then
CreateReachTab(ReachMainTab, "Main")
else
CreateReachTab(ReachShootTab, "Shoot")
CreateReachTab(ReachPassTab, "Pass")
CreateReachTab(ReachLongTab, "Long")
CreateReachTab(ReachTackleTab, "Tackle")
CreateReachTab(ReachDribbleTab, "Dribble")
CreateReachTab(ReachSaveTab, "Save")
end
BallPredictionGroupbox:AddToggle("BallPredToggle", {
Text = "Ball Prediction",
Tooltip = "Predicts where the ball will land.",
Default = false,
Visible = true,
}):AddColorPicker("BallPredTrailColor", {
Default = Color3.new(1, 1, 1),
Title = " Color",
Transparency = 0,
})
BallPredictionGroupbox:AddSlider("BallPredTrailSize", {
Text = "Trail Size",
Default = 0.1,
Min = 0.01,
Max = 0.5,
Rounding = 2,
Tooltip = "Changes the trail thickness.",
})
BallPredictionGroupbox:AddSlider("BallPredHZ", {
Text = "Refresh Rate",
Default = 0.1,
Min = 0,
Max = 1,
Rounding = 2,
Tooltip = "Changes how often the ball prediction will refresh.",
})
BallPredictionGroupbox:AddSlider("BallPredThreshold", {
Text = "Prediction Threshold",
Default = 25,
Min = 0,
Max = 100,
Rounding = 0,
Tooltip = "Sets the minimal ball velocity to show the prediction trail.",
})
BallPredictionGroupbox:AddSlider("BallPredAccuracy", {
Text = "Prediction Accuracy",
Default = 5,
Min = 1,
Max = 10,
Rounding = 0,
Tooltip = "Sets how many raycast will be fired per prediction refresh to
ensure accracy. WARNING: The higher the value the more resources it will take to
calculate.",
})
BallMacrosGroupbox:AddToggle("HomboloMacroToggle", {
Text = "Hombolo Macro",
Tooltip = "Makes the ball always be over your head",
Default = false,
Visible = true,
}):AddKeyPicker("HomboloMacroKeybind", {
Default = "P",
SyncToggleState = true,
Mode = "Toggle",
VisualsOtherTab:AddToggle("DumbassToggle", {
Text = "Dumbass on your screen",
Tooltip = "What do you even want to know?",
Default = false,
Visible = true,
})
ConfigGroupbox:AddToggle("KeybindMenuOpen", {
Default = Library.KeybindFrame.Visible,
Text = "Open Keybind Menu",
Callback = function(value)
Library.KeybindFrame.Visible = value
end,
})
ConfigGroupbox:AddToggle("ShowCustomCursor", {
Text = "Custom Cursor",
Default = true,
Callback = function(Value)
Library.ShowCustomCursor = Value
end,
})
ConfigGroupbox:AddDropdown("NotificationSide", {
Values = { "Left", "Right" },
Default = "Right",
Callback = function(Value)
Library:SetNotifySide(Value)
end,
})
ConfigGroupbox:AddDropdown("DPIDropdown", {
Values = { "50%", "75%", "100%", "125%", "150%", "175%", "200%" },
Default = "100%",
Callback = function(Value)
Value = Value:gsub("%%", "")
local DPI = tonumber(Value)
Library:SetDPIScale(DPI)
end,
})
ConfigGroupbox:AddDivider()
ConfigGroupbox:AddLabel("Menu bind")
:AddKeyPicker("MenuKeybind", { Default = "RightShift", NoUI = true, Text =
"Menu keybind" })
-- ConfigGroupbox:AddButton("Unload", function()
-- Library:Unload()
-- end)
Library.ToggleKeybind = Options.MenuKeybind
ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library)
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({"MenuKeybind"})
ThemeManager:SetFolder("gamesense-mps")
SaveManager:SetFolder("gamesense-mps/mps")
SaveManager:BuildConfigSection(Tabs.Config)
ThemeManager:ApplyToTab(Tabs.Config)
SaveManager:LoadAutoloadConfig()
Toggles.DumbassToggle:OnChanged(function()
Dumbass.Visible = Toggles.DumbassToggle.Value
end)
Options.SkyboxColor:OnChanged(function()
if Lighting:FindFirstChild("GS_ATMO") then
Lighting:FindFirstChild("GS_ATMO").Color = Options.SkyboxColor.Value
end
end)
Options.SkyboxDecay:OnChanged(function()
if Lighting:FindFirstChild("GS_ATMO") then
Lighting:FindFirstChild("GS_ATMO").Decay = Options.SkyboxDecay.Value
end
end)
Options.SkyboxGlare:OnChanged(function()
if Lighting:FindFirstChild("GS_ATMO") then
Lighting:FindFirstChild("GS_ATMO").Glare = Options.SkyboxGlare.Value
end
end)
Options.SkyboxHaze:OnChanged(function()
if Lighting:FindFirstChild("GS_ATMO") then
Lighting:FindFirstChild("GS_ATMO").Haze = Options.SkyboxHaze.Value
end
end)
Options.CorrectionColor:OnChanged(function()
if Lighting:FindFirstChild("GS_CCOR") then
Lighting:FindFirstChild("GS_CCOR").TintColor =
Options.CorrectionColor.Value
end
end)
Options.CorrectionBrightness:OnChanged(function()
if Lighting:FindFirstChild("GS_CCOR") then
Lighting:FindFirstChild("GS_CCOR").Brightness =
Options.CorrectionBrightness.Value
end
end)
Options.CorrectionContrast:OnChanged(function()
if Lighting:FindFirstChild("GS_CCOR") then
Lighting:FindFirstChild("GS_CCOR").Contrast =
Options.CorrectionContrast.Value
end
end)
Options.CorrectionSaturation:OnChanged(function()
if Lighting:FindFirstChild("GS_CCOR") then
Lighting:FindFirstChild("GS_CCOR").Saturation =
Options.CorrectionSaturation.Value
end
end)
LocalPlayer.CharacterAdded:Connect(function(NewCharacter)
Character = NewCharacter
Humanoid = Character:WaitForChild("Humanoid")
HRP = NewCharacter:WaitForChild("HumanoidRootPart")
if LocalPlayer.Backpack:FindFirstChild("ToolManagment") then
MainModule = LocalPlayer.Backpack:WaitForChild("ToolManagment")
elseif LocalPlayer.Backpack:FindFirstChild("module") then
MainModule = LocalPlayer.Backpack:WaitForChild("module")
end
pcall(function()
for ID, Function in pairs(getgc(true)) do
if typeof(Function) == "function" then
local FunctionName = debug.info(Function, "n")
if FunctionName == "reachcheck" then
hookfunction(Function, newcclosure(function()
return false
end))
elseif FunctionName == "touchingcheck" then
hookfunction(Function, newcclosure(function()
return false
end))
elseif FunctionName == "IsBallBoundingHitbox" then
hookfunction(Function, newcclosure(function()
return true
end))
end
end
end
end)
pcall(function()
local OldTouchingParts
OldTouchingParts = hookmetamethod(Instance.new("Part"), "__namecall",
newcclosure(function(Self, ...)
local Method = getnamecallmethod()
if not checkcaller() and Method == "GetTouchingParts" then
if (NO_FOLDER and table.find(_BALLS, Self)) or
table.find(BallsFolder:GetChildren(), Self) then
local TouchingParts = OldTouchingParts(Self, ...)
for ID, Limb in pairs(Character:GetChildren()) do
if Limb:IsA("Part") then
table.insert(TouchingParts, Limb)
end
end
return TouchingParts
end
end
return OldTouchingParts(Self, ...)
end))
end)
if NO_FOLDER then
workspace.ChildAdded:Connect(function(Ball)
_BALLS = {}
for ID, Ball in pairs(workspace:GetChildren()) do
if Ball.Name == "fakeBaIlExpIoiter" or Ball.Name == "fakeBall" or
Ball.Name == "MPS" or Ball.Name == "TPS" or Ball.Name == "CSF" or Ball.Name ==
"l̸̼̔il̷͎̅ ḭ̴͘iḮ̷̙il̶̼̈́ il̴̘̕Ĩ̵̹į̴̌" then
table.insert(_BALLS, Ball)
end
end
end)
workspace.ChildRemoved:Connect(function(Ball)
_BALLS = {}
for ID, Ball in pairs(workspace:GetChildren()) do
if Ball.Name == "fakeBaIlExpIoiter" or Ball.Name == "fakeBall" or
Ball.Name == "MPS" or Ball.Name == "TPS" or Ball.Name == "CSF" or Ball.Name ==
"l̸̼̔il̷͎̅ ḭ̴͘iḮ̷̙il̶̼̈́ il̴̘̕Ĩ̵̹į̴̌" then
table.insert(_BALLS, Ball)
end
end
end)
end
RunService.RenderStepped:Connect(function(DeltaTime)
if HRP and Humanoid then
if Toggles.ReachMasterToggle.Value then
local ReachType = nil
local InfReach = false
if UserInputService.TouchEnabled and Toggles.ReachMainToggle and
Toggles.ReachMainToggle.Value then
ReachType = "Main"
if Toggles.InfiniteReachMainToggle.Value then
InfReach = true
end
elseif Character:FindFirstChild("Shoot") or
Character:FindFirstChild("Kick") and Toggles.ReachShootToggle.Value then
ReachType = "Shoot"
if Toggles.InfiniteReachShootToggle.Value then
InfReach = true
end
elseif Character:FindFirstChild("Pass") and
Toggles.ReachPassToggle.Value then
ReachType = "Pass"
if Toggles.InfiniteReachPassToggle.Value then
InfReach = true
end
elseif Character:FindFirstChild("Long") and
Toggles.ReachLongToggle.Value then
ReachType = "Long"
if Toggles.InfiniteReachLongToggle.Value then
InfReach = true
end
elseif Character:FindFirstChild("Tackle") and
Toggles.ReachTackleToggle.Value then
ReachType = "Tackle"
if Toggles.InfiniteReachTackleToggle.Value then
InfReach = true
end
elseif Character:FindFirstChild("Dribble") and
Toggles.ReachDribbleToggle.Value then
ReachType = "Dribble"
if Toggles.InfiniteReachDribbleToggle.Value then
InfReach = true
end
elseif Character:FindFirstChild("Save") or
Character:FindFirstChild("Clear") or Character:FindFirstChild("GK") and
Toggles.ReachSaveToggle.Value then
ReachType = "Save"
if Toggles.InfiniteReachSaveToggle.Value then
InfReach = true
end
end
if ReachType == nil or InfReach then
ReachBox.Size = Vector3.new(0, 0, 0)
ReachBox.CFrame = CFrame.new(math.huge, math.huge,
math.huge)
else
ReachBox.Size =
Vector3.new(Options["Reach"..ReachType.."SizeX"].Value,
Options["Reach"..ReachType.."SizeY"].Value,
Options["Reach"..ReachType.."SizeZ"].Value)
ReachBox.CFrame = HRP.CFrame *
CFrame.new(Options["Reach"..ReachType.."OffsetX"].Value,
Options["Reach"..ReachType.."OffsetY"].Value,
Options["Reach"..ReachType.."OffsetZ"].Value)
end
ReachBox.Color = Options.ReachVisualizerColor.Value
if Toggles.ReachVisualizerToggle.Value then
ReachBox.Transparency =
Options.ReachVisualizerColor.Transparency
else
ReachBox.Transparency = 1
end
task.spawn(function()
RunService.Heartbeat:Wait()
local TouchingBalls
if InfReach then
if NO_FOLDER then
TouchingBalls = _BALLS
else
TouchingBalls = BallsFolder:GetChildren()
end
else
TouchingBalls = workspace:GetPartsInPart(ReachBox,
ReachOverlapParams)
end
table.sort(TouchingBalls, function(a, b) return (a.Position
- HRP.Position).Magnitude < (b.Position - HRP.Position).Magnitude end)
if #TouchingBalls > 0 then
local Ball = TouchingBalls[1]
if Toggles["Reach"..ReachType.."CompToggle"].Value
then
if Ball:FindFirstChild("Owner") or
Ball:FindFirstChild("owner") then
local OwnerTag =
Ball:WaitForChild("Owner") or Ball:WaitForChild("owner")
if OwnerTag.Value == LocalPlayer or
OwnerTag.Value == LocalPlayer.Name or OwnerTag.Value == LocalPlayer.UserId then
return
end
end
end
for ID, Limb in pairs(Character:GetChildren()) do
if Limb:IsA("Part") then
firetouchinterest(Limb, Ball, 0)
firetouchinterest(Limb, Ball, 1)
end
end
end
end)
else
ReachBox.Size = Vector3.new(0, 0, 0)
ReachBox.CFrame = CFrame.new(math.huge, math.huge, math.huge)
end
end
end)
RunService.Heartbeat:Connect(function(DeltaTime)
if HRP and Humanoid then
if Toggles.CharSpeedToggle.Value and Character.PrimaryPart then
Character.PrimaryPart:PivotTo(Character.PrimaryPart.CFrame +
Humanoid.MoveDirection * DeltaTime * Options.CharSpeed.Value)
end
end
end)
UserInputService.InputBegan:Connect(function(Key, GameProcessed)
if not GameProcessed then
if Key.KeyCode == Enum.KeyCode.G then
if not UserInputService.TouchEnabled then
if Character:FindFirstChild("Shoot") and
Toggles.InsanePowerShoot.Value then
pcall(function()
local rlCFrame = CFrame.new(0.5, -1.5, -1) *
CFrame.fromEulerAnglesXYZ(0.3490658503988659, 0, 0)
local raCFrame = CFrame.new(1.5, 0.5, 0.5) *
CFrame.fromEulerAnglesXYZ(-3.141592653589793, 4, 4)
local laCFrame = CFrame.new(-1.5, 0.5, -0.5) *
CFrame.fromEulerAnglesXYZ(-3.141592653589793, 4, -4)
require(MainModule).EditWeld("Right Leg",
rlCFrame)
require(MainModule).EditWeld("Right Arm",
raCFrame)
require(MainModule).EditWeld("Left Arm",
laCFrame)
end)
local TouchEvent
TouchEvent = Character["Right
Leg"].Touched:Connect(function(Ball)
if (NO_FOLDER and table.find(_BALLS, Ball)) or
table.find(BallsFolder:GetChildren(), Ball) then
if IS_4ASIDE then
require(MainModule).shoot(Ball,
Character.Torso.CFrame.LookVector * Options.InsanePowerValue.Value + Vector3.new(0,
Options.InsanePowerHeight.Value, 0), Vector3.new(math.huge, math.huge, math.huge),
false)
elseif IS_LEGACY then
task.spawn(function()
while task.wait(Options.BallPredHZ.Value) do
ClearDump("BallPrediction")
if Toggles.BallPredToggle.Value then
if NO_FOLDER then
for ID, Ball in pairs(_BALLS) do
if Ball.AssemblyLinearVelocity.Magnitude >
Options.BallPredThreshold.Value then
PredictBall(Ball)
end
end
else
for ID, Ball in pairs(BallsFolder:GetChildren()) do
if Ball.AssemblyLinearVelocity.Magnitude >
Options.BallPredThreshold.Value then
PredictBall(Ball)
end
end
end
end
end
end)
-- this is so fucking ass i dont know on what drug i was on while making this
if PingRemote and PingHandler then
task.spawn(function()
while task.wait(Options.PingSpoofHZ.Value) do
if Toggles.PingSpoofToggle.Value then
PingRemote:FireServer(math.clamp(Options.PingSpoof.Value +
math.random(-Options.PingSpoofSpike.Value, Options.PingSpoofSpike.Value), 15,
math.huge))
end
end
end)
end