
Key RequiredUniversal

getgenv().FalconWare = {
['Global'] = {
['Checks'] = {
Friend = false,
Crew = false,
Wall = true
},
['Resolver'] = { Mode = 'Detection', DetectionValue = 50 },
['Memory Spoofer'] = { Percentage = 100 --[[ 0 to 100 ]] },
['Debug'] = true
-- Friend_Check = false,
-- Crew_Check = false,
},
['Bullet Redirection'] = {
Enabled = true,
Prediction = 0.1245,
HitChance = 100,
['Keybind'] = {
Bind = Enum.KeyCode.P,
Mode = 'Toggle' -- Hold , Toggle
},
['Gun Settings'] = {
Enabled = true,
['Distance Detections'] = {
Close = 35,
Mid = 65,
Far = math.huge
},
['Pistols'] = {
['FOV'] = { Close = 14, Mid = 12, Far = 7 },
['Prediction'] = { Close = 0.1185, Mid = 0.1165, Far = 0.105 },
['Hit Chance'] = { Close = 100, Mid = 100, Far = 100 }
},
['Shotguns'] = {
['FOV'] = { Close = 18, Mid = 14, Far = 7 },
['Prediction'] = { Close = 0.1225, Mid = 0.12, Far = 0.115 },
['Hit Chance'] = { Close = 100, Mid = 100, Far = 100 }
},
['Automatics'] = {
['FOV'] = { Close = 14, Mid = 12, Far = 7 },
['Prediction'] = { Close = 0.13, Mid = 0.1256, Far = 0.12125 },
['Hit Chance'] = { Close = 25, Mid = 50, Far = 75 }
},
['Other'] = {
['FOV'] = { Close = 14, Mid = 12, Far = 7 },
['Prediction'] = { Close = 0.13, Mid = 0.1256, Far = 0.12125 },
['Hit Chance'] = { Close = 25, Mid = 50, Far = 75 }
}
}
},
['AimAssist'] = {
Enabled = true,
Sensitivity = 2,
['Easing'] = {
Style = Enum.EasingStyle.Circular,
Direction = Enum.EasingDirection.InOut
},
['Ground'] = {
Part = 'Head',
Prediction = 0.12,
Smoothing = 0.1145
},
['Air'] = {
Part = 'Head',
Prediction = 0.14,
Smoothing = 0.12
},
['Checks'] = {
Disable_On_ThirdPerson = true,
Disable_On_Reload = true,
Disable_When_Not_Holding_Gun = false
},
['Keybind'] = {
Bind = Enum.KeyCode.C,
Mode = 'Toggle' -- Hold , Toggle
},
['Gun Settings'] = {
Enabled = false,
['Distance Detections'] = {
Close = 35,
Mid = 65,
Far = math.huge
},
['Pistols'] = {
['Part'] = { Close = "Head", Mid = "UpperTorso", Far = "UpperTorso" },
['Air Part'] = { Close = "Head", Mid = "Head", Far = "Head" },
['Sensitivity'] = { Close = 2, Mid = 2, Far = 2 },
['Smoothing'] = { Close = 0.073, Mid = 0.0745, Far = 0.074 },
['Air Smoothing'] = { Close = 0.078, Mid = 0.077, Far = 0.074 },
['Prediction'] = { Close = 0.26, Mid = 0.22, Far = 0.2 },
['Air Prediction'] = { Close = 0.23, Mid = 0.2, Far = 0.19 }
},
['Shotguns'] = {
['Part'] = { Close = "Head", Mid = "UpperTorso", Far = "UpperTorso" },
['Air Part'] = { Close = "Head", Mid = "Head", Far = "Head" },
['Sensitivity'] = { Close = 2, Mid = 2, Far = 2 },
['Smoothing'] = { Close = 0.073, Mid = 0.0745, Far = 0.074 },
['Air Smoothing'] = { Close = 0.078, Mid = 0.077, Far = 0.074 },
['Prediction'] = { Close = 0.26, Mid = 0.22, Far = 0.2 },
['Air Prediction'] = { Close = 0.23, Mid = 0.2, Far = 0.19 }
},
['Automatics'] = {
['Part'] = { Close = "Head", Mid = "UpperTorso", Far = "UpperTorso" },
['Air Part'] = { Close = "Head", Mid = "Head", Far = "Head" },
['Sensitivity'] = { Close = 2, Mid = 2, Far = 2 },
['Smoothing'] = { Close = 0.073, Mid = 0.0745, Far = 0.074 },
['Air Smoothing'] = { Close = 0.078, Mid = 0.077, Far = 0.074 },
['Prediction'] = { Close = 0.26, Mid = 0.22, Far = 0.2 },
['Air Prediction'] = { Close = 0.23, Mid = 0.2, Far = 0.19 }
},
['Other'] = {
['Part'] = { Close = "Head", Mid = "UpperTorso", Far = "UpperTorso" },
['Air Part'] = { Close = "Head", Mid = "Head", Far = "Head" },
['Sensitivity'] = { Close = 2, Mid = 2, Far = 2 },
['Smoothing'] = { Close = 0.073, Mid = 0.0745, Far = 0.074 },
['Air Smoothing'] = { Close = 0.078, Mid = 0.077, Far = 0.074 },
['Prediction'] = { Close = 0.26, Mid = 0.22, Far = 0.2 },
['Air Prediction'] = { Close = 0.23, Mid = 0.2, Far = 0.19 }
}
}
},
['TriggerBot'] = {
Enabled = false,
Prediction = 0.124,
Delay = 0.001,
Keybind = {
Bind = Enum.KeyCode.X,
Mode = 'Hold'
},
['Gun Prediction Settings'] = {
Enabled = false,
['Distance Detections'] = {
Close = 35,
Mid = 65,
Far = math.huge
},
['Pistols'] = { Close = 0.13, Mid = 0.1256, Far = 0.12125 },
['Shotguns'] = { Close = 0.132, Mid = 0.127, Far = 0.124 },
['Automatics'] = { Close = 0.132, Mid = 0.1256, Far = 0.1254 },
['Other'] = { Close = 0.132, Mid = 0.1256, Far = 0.1254 }
}
},
['FOVs'] = {
['Silent'] = {
FOVType = "Circle", -- Circle , Box
['Attach To Target'] = {
Enabled = false,
Prediction = true
},
Visible = false,
BoxWidth = 55,
BoxHeight = 85,
CircleRadius = 100,
Color = Color3.fromRGB(0, 0, 0),
Filled = false,
Transparency = 0.5
},
['Trigger Bot'] = {
FOVType = "Box", -- Circle , Box
['Attach To Target'] = {
Enabled = true,
Prediction = true
},
Visible = true,
BoxWidth = 55,
BoxHeight = 85,
CircleRadius = 300,
Color = Color3.fromRGB(255, 255, 255),
Filled = true,
Transparency = 0.5
}
}
--[[
Misc = {
MemorySpoofer = {
Percent = 100 -- // %
},
SpeedThreshold = 50,
}
]]
}
-- // Load Adonis Bypass
(function()
-- // Find the detected function
local DetectedF
for _, v in ipairs(getgc()) do
if (typeof(v) == "function" and islclosure(v) and table.find(debug.getconstants(v), ":: Adonis Anti Cheat::\n") and #debug.getupvalues(v) > 0) then
DetectedF = v
break
end
end
-- // Make sure found
if (not DetectedF) then
return
end
-- // Hook disconnect, kill
local DisconnectF = debug.getupvalue(DetectedF, 7)
local KillF = debug.getupvalue(DetectedF, 8)
hookfunction(DisconnectF, function() end)
hookfunction(KillF, function() end)
-- // Special hook for detected
local OldDetectedF
OldDetectedF = hookfunction(DetectedF, function(action, info, nocrash)
-- // Check if legit actions
if (action ~= "_") then
return coroutine.yield()
end
-- // Return default
return OldDetectedF(action, info, nocrash)
end)
-- // Load Anti Kick
do
-- // Services
local Players = game:GetService("Players")
-- // Vars
local LocalPlayer = Players.LocalPlayer
local BlockedMethods = {"Kick", "kick"}
-- // Index hook
hookfunction(LocalPlayer.Kick, function() end)
-- // Namecall hook
local __namecall
__namecall = hookmetamethod(game, "__namecall", function(self, ...)
-- // Check if kick attempt
if (self == LocalPlayer and table.find(BlockedMethods, getnamecallmethod())) then
-- // Cancel it
return
end
-- // Return - so everything else that uses namecall does not break
return __namecall(self, ...)
end)
end
end)()
-- // Configuration
local Configuration = {
['Global'] = {
['Checks'] = {
Friend = false,
Crew = false,
Wall = true
},
['Resolver'] = { Mode = 'Always', DetectionValue = 50 },
['Memory Spoofer'] = { Percentage = 100 --[[ 0 to 100 ]] }
-- Friend_Check = false,
-- Crew_Check = false,
},
['Bullet Redirection'] = {
Enabled = true,
Prediction = 0.125765754365423622,
HitChance = 100,
['Keybind'] = {
Bind = Enum.KeyCode.P,
Mode = 'Hold' -- Hold , Toggle
},
['Gun Settings'] = {
Enabled = true,
['Distance Detections'] = {
Close = 35,
Mid = 65,
Far = math.huge
},
['Pistols'] = {
['FOV'] = { Close = 15, Mid = 13, Far = 7 },
['Prediction'] = { Close = 0.12, Mid = 0.1185, Far = 0.1085 },
['Hit Chance'] = { Close = 100, Mid = 100, Far = 100 }
},
['Shotguns'] = {
['FOV'] = { Close = 18, Mid = 14, Far = 7 },
['Prediction'] = { Close = 0.1245, Mid = 0.1225, Far = 0.12 },
['Hit Chance'] = { Close = 100, Mid = 100, Far = 100 }
},
['Automatics'] = {
['FOV'] = { Close = 14, Mid = 12, Far = 7 },
['Prediction'] = { Close = 0.13, Mid = 0.1256, Far = 0.12125 },
['Hit Chance'] = { Close = 25, Mid = 50, Far = 75 }
},
['Other'] = {
['FOV'] = { Close = 14, Mid = 12, Far = 7 },
['Prediction'] = { Close = 0.13, Mid = 0.1256, Far = 0.12125 },
['Hit Chance'] = { Close = 25, Mid = 50, Far = 75 }
}
}
},
['AimAssist'] = {
Enabled = false,
Sensitivity = 2,
['Easing'] = {
Style = Enum.EasingStyle.Circular,
Direction = Enum.EasingDirection.InOut
},
['Ground'] = {
Part = 'UpperTorso',
Prediction = 0.125,
Smoothing = 0.095
},
['Air'] = {
Part = 'Head',
Prediction = 0.13,
Smoothing = 0.105
},
['Checks'] = {
Disable_On_ThirdPerson = true,
Disable_On_Reload = true,
Disable_When_Not_Holding_Gun = false
},
['Keybind'] = {
Bind = Enum.KeyCode.C,
Mode = 'Hold' -- Hold , Toggle
},
['Gun Settings'] = {
Enabled = false,
['Distance Detections'] = {
Close = 35,
Mid = 65,
Far = math.huge
},
['Pistols'] = {
['Part'] = { Close = "Head", Mid = "UpperTorso", Far = "UpperTorso" },
['Air Part'] = { Close = "Head", Mid = "Head", Far = "Head" },
['Sensitivity'] = { Close = 2, Mid = 2, Far = 2 },
['Smoothing'] = { Close = 0.073, Mid = 0.0745, Far = 0.074 },
['Air Smoothing'] = { Close = 0.078, Mid = 0.077, Far = 0.074 },
['Prediction'] = { Close = 0.26, Mid = 0.22, Far = 0.2 },
['Air Prediction'] = { Close = 0.23, Mid = 0.2, Far = 0.19 }
},
['Shotguns'] = {
['Part'] = { Close = "Head", Mid = "UpperTorso", Far = "UpperTorso" },
['Air Part'] = { Close = "Head", Mid = "Head", Far = "Head" },
['Sensitivity'] = { Close = 2, Mid = 2, Far = 2 },
['Smoothing'] = { Close = 0.073, Mid = 0.0745, Far = 0.074 },
['Air Smoothing'] = { Close = 0.078, Mid = 0.077, Far = 0.074 },
['Prediction'] = { Close = 0.26, Mid = 0.22, Far = 0.2 },
['Air Prediction'] = { Close = 0.23, Mid = 0.2, Far = 0.19 }
},
['Automatics'] = {
['Part'] = { Close = "Head", Mid = "UpperTorso", Far = "UpperTorso" },
['Air Part'] = { Close = "Head", Mid = "Head", Far = "Head" },
['Sensitivity'] = { Close = 2, Mid = 2, Far = 2 },
['Smoothing'] = { Close = 0.073, Mid = 0.0745, Far = 0.074 },
['Air Smoothing'] = { Close = 0.078, Mid = 0.077, Far = 0.074 },
['Prediction'] = { Close = 0.26, Mid = 0.22, Far = 0.2 },
['Air Prediction'] = { Close = 0.23, Mid = 0.2, Far = 0.19 }
},
['Other'] = {
['Part'] = { Close = "Head", Mid = "UpperTorso", Far = "UpperTorso" },
['Air Part'] = { Close = "Head", Mid = "Head", Far = "Head" },
['Sensitivity'] = { Close = 2, Mid = 2, Far = 2 },
['Smoothing'] = { Close = 0.073, Mid = 0.0745, Far = 0.074 },
['Air Smoothing'] = { Close = 0.078, Mid = 0.077, Far = 0.074 },
['Prediction'] = { Close = 0.26, Mid = 0.22, Far = 0.2 },
['Air Prediction'] = { Close = 0.23, Mid = 0.2, Far = 0.19 }
}
}
},
['FOVs'] = {
['Silent'] = {
FOVType = "Circle", -- Circle , Box
['Attach To Target'] = {
Enabled = false,
Prediction = false
},
Visible = false,
BoxWidth = 55,
BoxHeight = 85,
CircleRadius = 110,
Color = Color3.fromRGB(255, 255, 255),
Filled = true,
Transparency = 0.5
},
['Trigger Bot'] = {
FOVType = "Box", -- Circle , Box
['Attach To Target'] = {
Enabled = true,
Prediction = true
},
Visible = true,
BoxWidth = 55,
BoxHeight = 85,
CircleRadius = 300,
Color = Color3.fromRGB(255, 255, 255),
Filled = true,
Transparency = 0.5
}
},
['TriggerBot'] = {
Enabled = true,
Prediction = 0.124,
Delay = 0.001,
Keybind = {
Bind = Enum.KeyCode.X,
Mode = 'Hold'
},
['Gun Prediction Settings'] = {
Enabled = false,
['Distance Detections'] = {
Close = 35,
Mid = 65,
Far = math.huge
},
['Pistols'] = { Close = 0.13, Mid = 0.1256, Far = 0.12125 },
['Shotguns'] = { Close = 0.132, Mid = 0.127, Far = 0.124 },
['Automatics'] = { Close = 0.132, Mid = 0.1256, Far = 0.1254 },
['Other'] = { Close = 0.132, Mid = 0.1256, Far = 0.1254 }
}
}
--[[
Misc = {
MemorySpoofer = {
Percent = 100 -- // %
},
SpeedThreshold = 50,
}
]]
}
-- // Combine two tables
local function CombineTables(Base, ToAdd)
-- // Default
Base = Base or {}
ToAdd = ToAdd or {}
-- // Loop through data we want to add
for i, v in pairs(ToAdd) do
-- // Recursive
local BaseValue = Base[i] or false
if (typeof(v) == "table" and typeof(BaseValue) == "table") then
CombineTables(BaseValue, v)
continue
end
-- // Set
Base[i] = v
end
-- // Return
return Base
end
-- // Setup configuration
Configuration = CombineTables(Configuration, getgenv().FalconWare)
getgenv().FalconWare = Configuration
-- // Services
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")
local Stats = game:GetService("Stats")
local VirtualInputManager = game:GetService("VirtualInputManager") -- // THIS CAN BE DETECTED BUT BYPASSED :relieved:
local HttpService = game:GetService("HttpService")
local LogService = game:GetService("LogService")
-- // Setup Luraph
if (not LPH_OBFUSCATED) then
LPH_JIT_MAX = function(...)
return ...
end
end
-- // Dependencies
local KeybindHandler
do
-- // Vars
local Binds = {}
-- //
local Module = {
TestMode = false
}
do
-- // Returns all or one of the binds
function Module.Get(Id)
-- // Return all
if (not Id) then
return Binds
end
-- // Loop through each bind
local FoundI = -1
for i, Bind in ipairs(Binds) do
-- // Check if id matches
if (Bind.Id == Id) then
-- // Set
FoundI = i
break
end
end
-- // Make sure we got something
if (FoundI == -1) then
return false
end
-- // Return
return Binds[FoundI], FoundI
end
-- // Creates a bind
local ValidInputItems = {"KeyCode", "UserInputType"}
function Module.CreateBind(Data)
-- // Make sure we gave a keybind
local Keybind = typeof(Data.Keybind) == "function" and Data.Keybind() or Data.Keybind
assert(typeof(Keybind) == "EnumItem" and table.find(ValidInputItems, tostring(Keybind.EnumType)), "Invalid keybind")
-- // Add to binds
local Id = HttpService:GenerateGUID()
table.insert(Binds, {
Id = Id,
Keybind = Data.Keybind,
Callback = Data.Callback or function(State, Bind) end,
ProcessedCheck = Data.ProcessedCheck or false,
Hold = Data.Hold or false,
State = Data.State or false
})
-- // Return the Id
return Id
end
-- // Updates a bind's property
function Module.Update(Id, Property, NewValue)
-- // Get the bind
local Bind = Module.Get(Id)
if (not Bind) then
return false
end
-- // Set
Bind[Property] = NewValue
return true
end
-- // Updates a bind's keybind
function Module.UpdateKeybind(Id, NewKeybind)
return Module.Update(Id, "Keybind", NewKeybind)
end
-- // Updates a bind's callback
function Module.UpdateCallback(Id, NewCallback)
return Module.Update(Id, "Callback", NewCallback)
end
-- // Removes a bind
function Module.RemoveBind(Id)
-- // Get the bind
local _, FoundI = Module.Get(Id)
if (not FoundI) then
return false
end
-- // Remove
table.remove(Binds, FoundI)
return true
end
-- // Creates the connection
function Module.CreateConnection()
-- // Connects to whenever we make an input
Module.InputBeganConnection = UserInputService.InputBegan:Connect(function(Input, gameProcessedEvent)
-- // Loop through all binds
for _, Bind in ipairs(Binds) do
-- // Check
local Keybind = Bind.Keybind
Keybind = typeof(Keybind) == "function" and Keybind() or Keybind
local Property = tostring(Keybind.EnumType)
if (Input[Property] ~= Keybind) or (Bind.ProcessedCheck and gameProcessedEvent) then
continue
end
-- // Fire
if (Bind.Hold) then
Bind.State = true
else
Bind.State = not Bind.State
end
Bind.Callback(Bind.State, Bind)
end
end)
-- // See whenever we lift up
Module.InputEndedConnection = UserInputService.InputEnded:Connect(function(Input, gameProcessedEvent)
-- // Loop through all binds
for _, Bind in ipairs(Binds) do
-- // Make sure is a hold
if (not Bind.Hold) then
continue
end
-- // Check
local Keybind = Bind.Keybind
Keybind = typeof(Keybind) == "function" and Keybind() or Keybind
local Property = tostring(Keybind.EnumType)
if (Input[Property] ~= Keybind) or (Bind.ProcessedCheck and gameProcessedEvent) then
continue
end
-- // Fire
Bind.State = false
Bind.Callback(Bind.State, Bind)
end
end)
end
-- // Completely destroys everything
function Module.Destroy(KeepConnection)
-- // Destroy connection
if (not KeepConnection) then
if (Module.InputBeganConnection) then
Module.InputBeganConnection:Disconnect()
Module.InputBeganConnection = nil
end
if (Module.InputEndedConnection) then
Module.InputEndedConnection:Disconnect()
Module.InputEndedConnection = nil
end
end
-- // Empty binds
Binds = {}
end
end
-- // Start
Module.CreateConnection()
-- // Test + Example usage
if (Module.TestMode) then
Module.CreateBind({
Keybind = Enum.KeyCode.X,
ProcessedCheck = true,
Callback = function(State, Bind)
print(Bind.Keybind.Name .. " was pressed with state " .. tostring(State))
end
})
Module.CreateBind({
Keybind = Enum.UserInputType.MouseButton2,
ProcessedCheck = true,
Callback = function(State, Bind)
print(Bind.Keybind.Name .. " was pressed with state " .. tostring(State))
end
})
Module.CreateBind({
Keybind = Enum.UserInputType.MouseButton2,
ProcessedCheck = true,
Callback = function(State, Bind)
local Action = State and "pressed" or "released"
print(Bind.Keybind.Name .. " was " .. Action)
end,
Hold = true
})
end
-- // Return
KeybindHandler = Module
end
-- // Resolve all weapons
local PlaceId = game.PlaceId
local DaHoodId = {2788229376, 7213786345, 16033173781}
local HoodModdedId = {5602055394, 7951883376}
local HoodCustomId = {9825515356}
local Weapons = {
Pistols = {},
Shotguns = {},
Automatics = {},
Other = {}
}
if table.find(DaHoodId, PlaceId) then
Weapons = {
Pistols = {"[Revolver]", "[Glock]", "[Silencer]"},
Shotguns = {"[Shotgun]", "[Double-Barrel SG]", "[TacticalShotgun]"},
Automatics = {"[SMG]", "[P90]", "[LMG]", "[AR]", "[SilencerAR]", "[AK47]", "[DrumGun]"},
Other = {"[Rifle]"}
}
elseif table.find(HoodCustomId, PlaceId) then
Weapons = {
Pistols = {"[Revolver]", "[Glock]", "[Silencer]"},
Shotguns = {"[Shotgun]", "[DoubleBarrel]", "[TacticalShotgun]"},
Automatics = {"[SMG]"},
Other = {}
}
elseif table.find(HoodModdedId, PlaceId) then
Weapons = {
Pistols = {"[Sniper]", "[Glock]", "[R8]", "[Revolver]", "[Deagle]"},
Shotguns = {"[TacticalShotgun]", "[Shotgun]", "[Double Barrel SG]"},
Automatics = {"[AA12]", "[AK-47]", "[Akimbo SMG]", "[AR]", "[Famas]", "[Golden AK-47]", "[HMinigun]", "[LMG]", "[LMinigun]", "[P90]", "[Tec-9]", "[UMP]", "[Vector]", "[DrumGun]", "[SCAR-H]", "[Silencer]", "[SilencerAR]", "[SMG]"},
Other = {"AUG", "[RPG]", "[Grenade Launcher]", "[Railgun]", "[Flamethrower]", "[FlareGun]", "[Ray Gun]", "[Homing Launcher ]", "[PlasmaRifle]"}
}
else
return -- // UNSUPPORTED GAME
end
local function GetUpdatedMouseArg()
local MousePos
for i, v in ipairs(game:GetDescendants()) do
if v:IsA("LocalScript") or v:IsA("ModuleScript") then
local bytecode = getscriptbytecode(v)
bytecode = tostring(bytecode)
for l in bytecode:gmatch("%w+") do
if l:match("UpdateMousePosI") and l ~= 'UpdateMousePositionI' then
MousePos = l
end
end
end
end
return MousePos
end
-- // See what the game uses for updating mouse pos
local function GetUpdateMouseArg()
local Resolve = {
[2788229376] = GetUpdatedMouseArg(),
[16033173781] = GetUpdatedMouseArg(),
[7213786345] = GetUpdatedMouseArg(),
[5602055394] = "MousePos",
[7951883376] = "MousePos",
[9825515356] = "GetMousePos"
}
return Resolve[PlaceId] or "UpdateMousePosI"
end
-- // Find MainEvent
local function GetMainEvent()
-- // Check for special cases
if (table.find({5602055394, 7951883376}, PlaceId)) then
return ReplicatedStorage:FindFirstChild("Bullets")
end
-- // Default
return ReplicatedStorage:FindFirstChild("MainEvent")
end
-- // Vars
local R15_LIMBS = {
"Head", "UpperTorso", "LowerTorso", "LeftLowerLeg", "LeftUpperLeg",
"RightLowerLeg", "RightUpperLeg", "LeftHand", "LeftLowerArm",
"LeftUpperArm", "RightHand", "RightLowerArm", "RightUpperArm"
}
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local CurrentGun
local Target
local Hit
local CamlockTarget
local UpdateMouseArg = GetUpdateMouseArg()
local MainEvent = GetMainEvent()
-- // Wait for Data
local OurDataFolder = LocalPlayer:WaitForChild("DataFolder", 1/0)
-- // Create trigger part
local TriggerPart = Instance.new("Part")
TriggerPart.Name = tostring(math.random(1000000, 999999999))
TriggerPart.Size = Vector3.new(1.7, 6, 1.7)
TriggerPart.Parent = Workspace
TriggerPart.Anchored = true
TriggerPart.CanCollide = false
TriggerPart.Transparency = Configuration['Global']['Debug'] and 0.5 or 1
-- // Create FOV
local SilentFOV
local TriggerBotFOV
local AimAssistFOV
local function CreateFOV()
-- // Vars
local SilentCustomisation = Configuration['FOVs']['Silent']
local IsSquare = SilentCustomisation.FOVType == 'Box'
SilentFOV = Drawing.new(IsSquare and "Square" or "Circle")
-- // Set
SilentFOV.Visible = Configuration['FOVs']['Silent'].Visible
SilentFOV.Transparency = SilentCustomisation.Transparency
SilentFOV.Color = SilentCustomisation.Color
SilentFOV.Thickness = 0.1
SilentFOV.Filled = SilentCustomisation.Filled
-- // Individual properties
if (IsSquare) then
SilentFOV.Size = Vector2.new(SilentCustomisation.BoxWidth, SilentCustomisation.BoxHeight)
else
SilentFOV.Radius = SilentCustomisation.CircleRadius
SilentFOV.NumSides = 100 / 3
end
-- // Return
return SilentFOV
end
CreateFOV()
-- // Update FOV
local function UpdateFOV()
local SilentCustomisation = Configuration['FOVs']['Silent']
-- // Circle
SilentFOV.Visible = SilentCustomisation.Visible
if (not SilentCustomisation['Attach To Target'].Enabled) then
SilentFOV.Position = UserInputService:GetMouseLocation()
return
end
-- // Make sure we have a target
if (not Target) then
SilentFOV.Visible = false
return
end
local CurrentCamera = Workspace.CurrentCamera
local TargetPart = Target.Character:FindFirstChild("UpperTorso")
if (not TargetPart) then
return
end
local TargetPosition = Target.Character.UpperTorso.Position
local TargetScreenPosition, _ = CurrentCamera:WorldToViewportPoint(TargetPosition)
local TargetScreenPosition2 = Vector2.new(TargetScreenPosition.X, TargetScreenPosition.Y)
if (SilentCustomisation['Attach To Target'].Enabled) then
local SilentAimConfiguration = Configuration['Bullet Redirection']
local Velocity = IsAntiAim and GetNewVelocity(TargetPart) or TargetPart.Velocity
if SilentAimConfiguration.Prediction ~= nil then
Velocity = Velocity * SilentAimConfiguration.Prediction
end
if (SilentCustomisation.FOVType == 'Box') then
local ScaleFactor = 1 / (TargetScreenPosition.Z * math.tan(math.rad(CurrentCamera.FieldOfView / 2)) * 2) * 100
if (SilentCustomisation['Attach To Target'].Prediction) then
SilentFOV.Size = Vector2.new(
math.floor(SilentCustomisation.BoxWidth * ScaleFactor),
math.floor(SilentCustomisation.BoxHeight * ScaleFactor)
)
else
SilentFOV.Size = Vector2.new(
math.floor(SilentCustomisation.BoxWidth * ScaleFactor),
math.floor(SilentCustomisation.BoxHeight * ScaleFactor)
)
end
SilentFOV.Position = SilentCustomisation['Attach To Target'].Prediction and TargetScreenPosition2 + Vector2.new(Velocity.X, 0) - (SilentFOV.Size / 2) or TargetScreenPosition2 - (SilentFOV.Size / 2)
else
local Distance = (CurrentCamera.CFrame.Position - TargetPosition).Magnitude
SilentFOV.Radius = 100 * SilentCustomisation.CircleRadius / Distance
SilentFOV.Position = SilentCustomisation['Attach To Target'].Prediction and TargetScreenPosition2 + Vector2.new(Velocity.X, 0) or TargetScreenPosition2
end
end
end
-- // Updates GunSpecific stuff
local function UpdateGunSpecific()
-- // Make sure target exists
if not (Target and CurrentGun) then
return
end
-- // Make sure is enabled
local SilentAimConfiguration = Configuration['Bullet Redirection']
local SilentCustomisation = Configuration['FOVs']['Silent']
local SilentGunSpecific = SilentAimConfiguration['Gun Settings']
local TriggerBotConfiguration = Configuration.TriggerBot
local TriggerBotGunSpecific = TriggerBotConfiguration['Gun Prediction Settings']
local CamlockConfiguration = Configuration.AimAssist
local CamlockGunSpecific = CamlockConfiguration['Gun Settings']
if not (SilentGunSpecific.Enabled or TriggerBotGunSpecific.Enabled or CamlockGunSpecific.Enabled) then
return
end
-- // Vars
local CurrentCamera = Workspace.CurrentCamera
local Distance = (CurrentCamera.CFrame.Position - Target.Character.UpperTorso.Position).Magnitude
-- //
local function SetMatchedData(DetectionType)
-- // Silent
if (SilentGunSpecific.Enabled) then
-- // Set
local GunSpecificData = SilentGunSpecific[CurrentGun]
SilentAimConfiguration.Prediction = GunSpecificData.Prediction[DetectionType]
SilentAimConfiguration.HitChance = GunSpecificData['Hit Chance'][DetectionType]
-- // Type specific
if (not SilentCustomisation['Attach To Target'].Enabled) then
SilentFOV.Radius = GunSpecificData.FOV[DetectionType] * 3
end
end
-- // Triggerbot
if (TriggerBotGunSpecific.Enabled) then
TriggerBotConfiguration.Prediction = TriggerBotGunSpecific[CurrentGun][DetectionType]
end
-- // Camlock
if (CamlockGunSpecific.Enabled) then
-- // Set for each type
for _, Type in ipairs({"Prediction", "Air Prediction", "Smoothing", "Air Smoothing", "Sensitivity", "Air Part", "Part"}) do
CamlockConfiguration[Type] = CamlockGunSpecific[CurrentGun][Type][DetectionType]
end
end
end
-- // Match the detection distances
local GunSpecificDetection = SilentGunSpecific['Distance Detections']
if (Distance <= GunSpecificDetection.Close) then
SetMatchedData("Close")
elseif (Distance <= GunSpecificDetection.Mid) then
SetMatchedData("Mid")
else
SetMatchedData("Far")
end
end
-- // Check if a vector is inside another
local function IsVectorInVector(A, B, Size)
return A.X >= B.X and A.Y >= B.Y and
A.X <= B.X + Size.X and A.Y <= B.Y + Size.Y
end
-- // Silent FOV Check
local function InFOV(Character)
-- // Vars
local MousePosition = UserInputService:GetMouseLocation()
local SilentCustomisation = Configuration['FOVs']['Silent']
if (SilentCustomisation['Attach To Target'].Enabled) then
-- // Box
if (SilentCustomisation.FOVType == 'Box') then
return IsVectorInVector(MousePosition, SilentFOV.Position, SilentFOV.Size)
else
-- // Circle
local Distance = (MousePosition - SilentFOV.Position).Magnitude
return Distance <= SilentFOV.Radius
end
end
-- // FOV type 1
local SilentRadius = SilentFOV.Radius
local CurrentCamera = Workspace.CurrentCamera
for _, LimbName in ipairs(R15_LIMBS) do
-- // Grab the limb
local Limb = Character:FindFirstChild(LimbName)
if (not Limb) then
return
end
-- // Check
local Position = CurrentCamera:WorldToViewportPoint(Limb.Position)
local Distance = (Vector2.new(Position.X, Position.Y) - MousePosition).Magnitude
if (Distance < SilentRadius )then
return true
end
end
-- // Default
return false
end
-- // Check if using velocity anti aim
local function AntiAiming(Player)
return Player.Character.HumanoidRootPart.Velocity.Magnitude > Configuration['Global']['Resolver'].DetectionValue
end
-- // Hitchance
local function SilentHitChance()
return math.random(0, 100) <= Configuration['Bullet Redirection'].HitChance
end
-- // Check if holding gun
local function CheckHoldingGun()
-- // Check if we want to disable when not holding
if (Configuration['AimAssist']['Checks'].Disable_When_Not_Holding_Gun) then
return CurrentGun ~= nil
end
-- // Default
return true
end
-- // Crew Check
local function CrewCheck(Player)
-- // Make sure we actually want to check
if (not Configuration.Global.Crew_Check) then
return false
end
-- // PlaceId check
if (table.find({5602055394, 7951883376}, PlaceId)) then
-- // Make sure they have information
local OurInformation = LocalPlayer:FindFirstChild("Information")
local TheirInformation = Player:FindFirstChild("Information")
if not (OurInformation and TheirInformation) then
return false
end
-- // Return if match
return OurInformation.Crew.Value ~= TheirInformation.Crew.Value
end
-- // Make sure we have data folder
local TheirDataFolder = Player:FindFirstChild("DataFolder")
if (not TheirDataFolder) then
return false
end
-- // Grab their information
local TheirInformation = TheirDataFolder:FindFirstChild("Information")
if (not TheirInformation) then
return false
end
-- // Make sure we both have crew
local OurCrew = OurDataFolder.Information:FindFirstChild("Crew")
local TheirCrew = TheirInformation:FindFirstChild("Crew")
if not (OurCrew and TheirCrew) then
return false
end
-- // Check if either is nil
OurCrew = OurCrew.Value
TheirCrew = TheirCrew.Value
if (not OurCrew or OurCrew == "") or (not TheirCrew or TheirCrew == "") then
return false
end
-- // Check same
return OurCrew ~= TheirCrew
end
-- // Check if we are friends with player
local function FriendCheck(PlayerId)
-- // Make sure we want to check
if (not Configuration.Global.Friend_Check) then
return false
end
-- // Return
return LocalPlayer:IsFriendsWith(PlayerId)
end
-- // Check if we are in third person
local function DisableOnThirdPerson()
-- // Make sure we want to check
if (not Configuration['AimAssist']['Checks'].Disable_On_ThirdPerson) then
return true
end
-- // Return
local CurrentCamera = Workspace.CurrentCamera
return (CurrentCamera.CFrame.Position - CurrentCamera.Focus.Position).Magnitude < 0.7 and UserInputService.MouseBehavior == Enum.MouseBehavior.LockCenter
end
-- // Get closest part
local function GetClosestPartToCursor(Character)
-- // Vars
local CurrentCamera = Workspace.CurrentCamera
local Closest
local Distance = 1/0
-- // Loop through children
for _, Part in ipairs(Character:GetChildren()) do
-- // Make sure is a part
if (not Part:IsA("BasePart")) then
continue
end
-- // Vars
local Position = CurrentCamera:WorldToViewportPoint(Part.Position)
Position = Vector2.new(Position.X, Position.Y)
local Magnitude = (UserInputService:GetMouseLocation() - Position).Magnitude
-- // Check
if (Magnitude < Distance) then
Closest = Part
Distance = Magnitude
end
end
-- // Return
return Closest
end
-- // Check if reloading
local function IsReloading()
-- // Make sure we want to check
if (not Configuration['AimAssist']['Checks'].Disable_On_Reload) then
return true
end
-- // Specific game checks
if (PlaceId == 9825515356) then
return not LocalPlayer.Character.BodyEffects.Reloading.Value
end
if (table.find({5602055394, 7951883376}, PlaceId)) then
return not LocalPlayer.Character.I_LOADED_I.Reload.Value
end
-- // Default
return not LocalPlayer.Character.BodyEffects.Reload.Value
end
-- // Gets the closest point on a part
local function GetClosestPointOnPart(Part)
-- // Vars
local PartCFrame = Part.CFrame
local PartSize = Part.Size
local PartSizeTransformed = PartSize * (0.93 / 2)
local MousePosition = UserInputService:GetMouseLocation()
local CurrentCamera = Workspace.CurrentCamera
local MouseRay = CurrentCamera:ViewportPointToRay(MousePosition.X, MousePosition.Y)
local Transformed = PartCFrame:PointToObjectSpace(MouseRay.Origin + (MouseRay.Direction * MouseRay.Direction:Dot(PartCFrame.Position - MouseRay.Origin)))
-- // Check if we are on target
if (Mouse.Target == Part) then
return Mouse.Hit
end
-- // Return transformed
return PartCFrame * Vector3.new(
math.clamp(Transformed.X, -PartSizeTransformed.X, PartSizeTransformed.X),
math.clamp(Transformed.Y, -PartSizeTransformed.Y, PartSizeTransformed.Y),
math.clamp(Transformed.Z, -PartSizeTransformed.Z, PartSizeTransformed.Z)
)
end
-- // Calculate velocity
local function GetNewVelocity(Part)
-- // Grab positions
local LastPosition = Part.Position
task.wait(0.085)
local CurrentPosition = Part.Position
-- // Calculate
local Velocity = (CurrentPosition - LastPosition) / 0.085
return Velocity * Vector3.new(1, 0, 1)
end
-- // Custom checks
local function CustomCheck(Player)
-- // Vars
local CurrentCameraPosition = Workspace.CurrentCamera.CFrame.Position
local PlayerCharacter = Player.Character
local PlayerHRP = PlayerCharacter.HumanoidRootPart
local Grabbed = PlayerCharacter:FindFirstChild("GRABBING_CONSTRAINT") ~= nil
-- // Cast a ray
local raycastParms = RaycastParams.new()
raycastParms.FilterDescendantsInstances = {
LocalPlayer.Character,
PlayerCharacter.Parent,
TriggerPart
}
local RaycastResult = Workspace:Raycast(CurrentCameraPosition, PlayerHRP.Position - CurrentCameraPosition)
-- // KO Checks
local KOd = false
if (table.find({5602055394, 7951883376}, PlaceId) and Player:FindFirstChild("Information") and Player.Information:FindFirstChild("KO")) then
KOd = Player.Information.KO.Value
else
if (PlayerCharacter:FindFirstChild("BodyEffects") and PlayerCharacter.BodyEffects:FindFirstChild("K.O")) then
KOd = PlayerCharacter.BodyEffects["K.O"].Value
end
end
-- // Return
return not (KOd or Grabbed)
end
-- // Apply normal prediction formula
local function ApplyNormalPredictionFormula(Part)
local Character = Part.Parent
local Humanoid = Character:FindFirstChild("Humanoid")
if (not Humanoid) then
return
end
local IsInAir = Humanoid:GetState() == Enum.HumanoidStateType.Freefall or Humanoid:GetState() == Enum.HumanoidStateType.Jumping
local TargetPart = Part
local TargetVelocity = TargetPart.Velocity
local PredictionVelocity = Vector3.new(TargetVelocity.X, 0, TargetVelocity.Z) * Configuration['Bullet Redirection'].Prediction
local Gravity = Workspace.Gravity
if IsInAir then
local TimeToHit = 2 * PredictionVelocity.Y / Gravity
local GravityAdjustment = Vector3.new(0, -0.5 * Gravity * TimeToHit * TimeToHit, 0)
PredictionVelocity = PredictionVelocity + GravityAdjustment
local YOffset = Vector3.new(0, 0.85, 0)
PredictionVelocity = PredictionVelocity + YOffset
end
local ClosestPoint = GetClosestPointOnPart(Part)
local PredictedCFrame = ClosestPoint + PredictionVelocity
return PredictedCFrame
end
-- // Apply recalculated resolver prediction formula
local function ApplyRecalculatedPredictionFormula(Part)
-- // Grab closest point and add prediction to it
local ClosestPoint = GetClosestPointOnPart(Part)
local PredictionVelocity = GetNewVelocity(Part) * Configuration['Bullet Redirection'].Prediction
local PredictedCFrame = ClosestPoint + PredictionVelocity
-- // Return
return PredictedCFrame
end
-- // Get the closest player to cursor
local function GetClosestPlayerToCursor()
-- // Vars
local CurrentCamera = Workspace.CurrentCamera
local MousePosition = UserInputService:GetMouseLocation()
local Closest
local Distance = 1/0
-- // Loop through all players
for _, Player in ipairs(Players:GetPlayers()) do
-- // Ignore local player
if (Player == LocalPlayer) then
continue
end
-- // Make sure they have a character
local Character = Player.Character
if (not Character) then
continue
end
-- // Make sure they have a HRP
local HumanoidRootPart = Character:FindFirstChild("HumanoidRootPart")
if (not HumanoidRootPart) then
continue
end
-- // Checks...
if (FriendCheck(Player.UserId) or CrewCheck(Player)) then
continue
end
-- // On screen check
local Position, OnScreen = CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position)
if (not OnScreen) then
continue
end
-- // Custom check
if (not CustomCheck(Player)) then
continue
end
-- // Distance check (and custom)
local Magnitude = (Vector2.new(Position.X, Position.Y) - MousePosition).Magnitude
if (Magnitude < Distance) then
Closest = Player
Distance = Magnitude
end
end
-- // Return player
return Closest
end
-- // Grabs the tool type
local function GetToolType(ToolName)
-- // Loop through all weapons
for Type, Guns in pairs(Weapons) do
-- // Check if inside
if (table.find(Guns, ToolName)) then
return Type
end
end
end
-- // See when our LocalPlayer's Character is spawned
local Activated
local function OnLocalCharacterAdded(Character)
-- // Check we have a character
if (not Character) then
return
end
-- // Vars
CurrentGun = nil
-- // See whenever we equip something
Character.ChildAdded:Connect(function(Tool)
-- // Make sure is a tool
if (not Tool:IsA("Tool")) then
return
end
-- // Set
CurrentGun = GetToolType(Tool.Name)
-- // See when the tool is activated
Activated = Tool.Activated:Connect(function()
-- // Make sure silent is enabled
if (not Configuration['Bullet Redirection'].Enabled ) then
return
end
-- // Make sure we have target in range
if not (Target and InFOV(Target.Character) and SilentHitChance()) then
return
end
-- // Fire
if (table.find({5602055394, 7951883376}, PlaceId)) then
MainEvent:FireServer(UpdateMouseArg, Hit, "P")
else
MainEvent:FireServer(UpdateMouseArg, Hit)
end
end)
end)
-- // See when we unequip something
Character.ChildRemoved:Connect(function(Tool)
-- // Make sure is a tool
if (not Tool:IsA("Tool")) then
return
end
-- // Set
CurrentGun = nil
Activated:Disconnect()
end)
end
OnLocalCharacterAdded(LocalPlayer.Character)
LocalPlayer.CharacterAdded:Connect(OnLocalCharacterAdded)
-- // See when pressed camlock bind
KeybindHandler.CreateBind({
Keybind = function() return Configuration['AimAssist'].Keybind.Bind end,
ProcessedCheck = true,
Hold = Configuration['AimAssist'].Keybind.Mode == 'Hold',
Callback = function(Value)
if (Value) then
CamlockTarget = GetClosestPlayerToCursor()
return
end
CamlockTarget = nil
end
})
-- // See when pressed silent bind
KeybindHandler.CreateBind({
Keybind = function() return Configuration['Bullet Redirection'].Keybind.Bind end, -- Access the keybind
ProcessedCheck = true,
Hold = Configuration['Bullet Redirection'].Keybind.Mode == 'Hold',
Callback = function(Value)
if Configuration['Bullet Redirection'].Keybind.Mode == 'Hold' then
Configuration['Bullet Redirection'].Enabled = Value
return
end
Configuration['Bullet Redirection'].Enabled = not Configuration['Bullet Redirection'].Enabled -- Toggle the 'Enabled' state
end
})
-- // See when pressed triggerbot bind
if Configuration['TriggerBot'].Enabled then
Configuration['TriggerBot'].Enabled = false
end
KeybindHandler.CreateBind({
Keybind = function() return Configuration['TriggerBot'].Keybind.Bind end,
ProcessedCheck = true,
Hold = Configuration['TriggerBot'].Keybind.Mode == 'Hold',
Callback = function(Value)
if Configuration['TriggerBot'].Keybind.Mode == 'Hold' then
Configuration['TriggerBot'].Enabled = Value
return
end
Configuration['TriggerBot'].Enabled = not Configuration['TriggerBot'].Enabled -- Toggle the 'Enabled' state
end
})
-- // Memory Spoofer
do
-- // Configuration
local SelectedConfiguration = Configuration['Global']['Memory Spoofer'].Percentage / 100
-- // Vars
local RobloxGui = CoreGui:WaitForChild("RobloxGui", 9e9)
local Debug = false
-- // Debug print
local function DebugPrint(...)
if (Debug) then
print(...)
end
end
-- // Rounds a number to a certain amount of decimal places
local function math_round(n, scale)
return ("%." .. (scale or 0) .. "f"):format(n)
end
-- // Calculate the amount of untracked memory
local function GetUntrackedMemory()
-- // Grab total memory
local TotalMemory = Stats:GetTotalMemoryUsageMb()
-- // Remove it all from total
for i = 0, 24 do
pcall(function()
TotalMemory = TotalMemory - Stats:GetMemoryUsageMbForTag(i)
end)
end
-- // Return
return TotalMemory
end
-- // Calculates fake memory
local function CalculateFakeMemoryTotal(Rounding, Remove)
Remove = Remove or 0
-- // Parse current value and decrease
local UntrackedMemory = math.clamp(GetUntrackedMemory() * SelectedConfiguration, 0, 1/0)
local Removed = UntrackedMemory + Remove
local Value = 10000 - Stats:GetTotalMemoryUsageMb() - Removed
Value = math_round(Value, Rounding)
-- // Return
return Value, math_round(UntrackedMemory, Rounding), math_round(Removed, Rounding)
end
-- // Done whenever PSViewer stuff is added
local function OnPSViewerChild(Frame)
-- // Ensure is frame
if (not Frame or Frame.Name ~= "Frame") then
return
end
DebugPrint("OnPSViewerChild called")
-- // Vars
local Type = Frame:WaitForChild("TextLabel", 9e9)
DebugPrint("OnPSViewerChild got vars")
-- // Check type
if not (Type.Text == "Memory") then
return
end
-- // Resolve labels by their name
local PSLabels = {}
for _, v in ipairs(Frame:GetChildren()) do
-- // Make sure is a label
if (v.Name ~= "PS_DecoratedValueLabel") then
continue
end
-- // Add
local Label = v:WaitForChild("Label", 9e9)
repeat task.wait() until Label.Text ~= "Label"
local Name = Label.Text:match("(%a+):")
PSLabels[Name] = Label
end
DebugPrint("Initialised PS_Viewer children")
-- // Set Current
local CurrentLabel = PSLabels.Current
CurrentLabel.Text = "Current: " .. CalculateFakeMemoryTotal(2) .. " MB"
CurrentLabel:GetPropertyChangedSignal("Text"):Connect(function()
-- // Set
CurrentLabel.Text = "Current: " .. CalculateFakeMemoryTotal(2) .. " MB"
DebugPrint("Set Memory Current (PerformanceStats 2)")
end)
-- // Set Average
local AverageLabel = PSLabels.Average
AverageLabel.Text = "Average: " .. CalculateFakeMemoryTotal(2, math.random(10, 100) / 100) .. " MB"
AverageLabel:GetPropertyChangedSignal("Text"):Connect(function()
-- // Set
AverageLabel.Text = "Average: " .. CalculateFakeMemoryTotal(2, math.random(10, 100) / 100) .. " MB"
DebugPrint("Set Memory Average (PerformanceStats 2)")
end)
end
-- // Done whenever performance stats exists
local function OnPerformanceStats(PerformanceStats)
-- // Make sure it exists
if (not PerformanceStats) then
return
end
-- // Vars
local PSViewer = PerformanceStats:WaitForChild("PS_Viewer", 9e9)
local PSButtons = {}
-- // Resolve buttons by their name
for _, v in ipairs(PerformanceStats:GetChildren()) do
-- // Make sure is a button
if (v.Name ~= "PS_Button") then
continue
end
-- // Set
PSButtons[v.StatsMiniTextPanelClass.TitleLabel.Text] = v
end
DebugPrint("Initialised PS_Button children")
-- // Constantly set memory in top left
local PSButtonsMem = PSButtons.Mem.StatsMiniTextPanelClass.ValueLabel
PSButtonsMem.Text = CalculateFakeMemoryTotal(2) .. " MB"
PSButtonsMem:GetPropertyChangedSignal("Text"):Connect(function()
-- // Set
PSButtonsMem.Text = CalculateFakeMemoryTotal(2) .. " MB"
DebugPrint("Set Memory (PerformanceStats)")
end)
-- // See when viewer added
OnPSViewerChild(PSViewer:FindFirstChild("Frame"))
PSViewer.ChildAdded:Connect(OnPSViewerChild)
end
OnPerformanceStats(RobloxGui:FindFirstChild("PerformanceStats"))
RobloxGui.ChildAdded:Connect(function(child)
if (child.Name == "PerformanceStats") then
OnPerformanceStats(child)
end
end)
-- // Whenever graphs spawns
local function OnLatestEntryText(LatestEntryText)
-- // Check
if (not LatestEntryText) then
DebugPrint("Fake LatestEntryText")
return
end
-- //
local function Set()
-- // Set
LatestEntryText.Text = CalculateFakeMemoryTotal(3)
DebugPrint("Set Memory (LatestEntryText)")
end
-- // See when LatestEntryText changes
Set()
LatestEntryText:GetPropertyChangedSignal("Text"):Connect(Set)
end
local function OnHoverTextY(HoverTextY)
-- // Check
if (not HoverTextY) then
return
end
-- //
local debounce = false
local function Set()
-- // Check
if (debounce) then
debounce = false
return
end
debounce = true
-- // Set
local _, _, Removed = CalculateFakeMemoryTotal(3)
local FakeValue = tonumber(HoverTextY.Text) - tonumber(Removed)
HoverTextY.Text = math_round(FakeValue, 3)
DebugPrint("Set Memory (HoverTextY)")
end
-- // See when HoverTextY changes
Set()
HoverTextY:GetPropertyChangedSignal("Text"):Connect(Set)
end
local function OnAxisTextY0(AxisTextY0)
-- // Check
if (not AxisTextY0) then
DebugPrint("Fake AxisTextY0")
return
end
-- //
local debounce = false
local function Set()
-- // Check
if (debounce) then
debounce = false
DebugPrint("AxisTextY0 debounce")
return
end
debounce = true
-- // Set
local _, _, Removed = CalculateFakeMemoryTotal(3)
local FakeValue = tonumber(AxisTextY0.Text) - tonumber(Removed)
AxisTextY0.Text = math_round(FakeValue, 3)
DebugPrint("Set Memory (AxisTextY0)")
end
-- // See when AxisTextY0 changes
Set()
AxisTextY0:GetPropertyChangedSignal("Text"):Connect(Set)
end
local function OnMemoryGraph(Graph)
-- // Check
if (not Graph) then
return
end
DebugPrint("Graph Added")
-- // Vars
local graph = Graph:WaitForChild("graph", 9e9)
local AxisTextY0 = graph:WaitForChild("AxisTextY0", 9e9)
local LatestEntryText = graph:FindFirstChild("LatestEntryText")
local HoverTextY = graph:FindFirstChild("HoverTextY", true)
-- // See whenever latest entry text shows
graph.DescendantAdded:Connect(function(child)
-- // Set
if (child.Name == "LatestEntryText") then
OnLatestEntryText(child)
end
-- // Set
if (child.Name == "HoverTextY") then
OnHoverTextY(child)
end
-- // Set
if (child.Name == "AxisTextY0") then
OnAxisTextY0(child)
end
end)
OnAxisTextY0(AxisTextY0)
OnLatestEntryText(LatestEntryText)
OnHoverTextY(HoverTextY)
end
local function GetErrorCount()
-- // Vars
local Count = 0
-- // Loop through LogHistory
for _, Log in ipairs(LogService:GetLogHistory()) do
-- // Add one if error and not bad error
if (not Log.message:find("depth exceeded for Instance.TextChanged") and Log.messageType == Enum.MessageType.MessageError) then
Count += 1
end
end
-- // Return count
return Count
end
-- //
local function OnClientLog(ClientLog)
-- // Make sure we have a client log
if (not ClientLog) then
return
end
DebugPrint("ClientLog added")
-- // See whenever a message is added
ClientLog.ChildAdded:Connect(function(child)
-- // Make sure is a number
if (tonumber(child.Name) == nil) then
return
end
-- // Check the message
local Message = child:WaitForChild("msg", 9e9)
if (Message.Text:find("depth exceeded for Instance.TextChanged")) then
child.Visible = false
DebugPrint("Attempt to destroy error")
end
end)
end
-- // Below requires DevConsole
local function OnDevConsoleMaster()
-- // Ensure it exists
if (not CoreGui:FindFirstChild("DevConsoleMaster")) then
return
end
DebugPrint("DevConsoleMaster added")
-- // Vars
local DevConsoleUI = CoreGui.DevConsoleMaster.DevConsoleWindow.DevConsoleUI
local LiveStatsModule = DevConsoleUI.TopBar.LiveStatsModule
local MemoryUsageDevConsole = LiveStatsModule["MemoryUsage_MB"]
-- // Constantly set memory in dev console
MemoryUsageDevConsole.Text = CalculateFakeMemoryTotal(0) .. " MB"
MemoryUsageDevConsole:GetPropertyChangedSignal("Text"):Connect(function()
-- // Set
MemoryUsageDevConsole.Text = CalculateFakeMemoryTotal(0) .. " MB"
DebugPrint("Set Memory (DevConsole Top)")
end)
DebugPrint("Set MemoryUsageDevConsole")
-- // Constantly set errors
local LogErrorCount = LiveStatsModule.LogErrorCount
local Connection
Connection = RunService.RenderStepped:Connect(function()
-- // Check
if (not LogErrorCount.Parent) then
return Connection:Disconnect()
end
-- // Set
LogErrorCount.Text = tostring(GetErrorCount())
end)
-- // Below require on main view
local function OnMainView(DevConsoleEntries)
-- // Ensure it exists
local MainView = DevConsoleUI:FindFirstChild("MainView")
if (not MainView) then
return
end
DebugPrint("MainView added")
-- // See when child added
MainView.ChildAdded:Connect(function(child)
-- // Check
DebugPrint("MainView:", child)
if (child.Name == "ClientLog") then
OnClientLog(child)
end
end)
OnClientLog(MainView:FindFirstChild("ClientLog"))
-- // Vars
DevConsoleEntries = DevConsoleEntries or MainView:WaitForChild("ClientMemory", 9e9):WaitForChild("Entries", 9e9)
-- // Set graph
local function SetGraph(Memory)
Memory.ChildAdded:Connect(function(child)
if (child.Name == "Graph") then
OnMemoryGraph(child)
end
end)
OnMemoryGraph(Memory:FindFirstChild("Graph"))
end
-- // Constantly set memory usage in memory tab
local function SetMemoryUsageDevConsole2()
-- // Ensure it exists
local MemoryUsageDevConsole2 = DevConsoleEntries:FindFirstChild("Memory")
if (not MemoryUsageDevConsole2) then
return
end
-- // Vars
SetGraph(MemoryUsageDevConsole2)
MemoryUsageDevConsole2 = MemoryUsageDevConsole2.value
MemoryUsageDevConsole2.Text = CalculateFakeMemoryTotal(3)
MemoryUsageDevConsole2:GetPropertyChangedSignal("Text"):Connect(function()
-- // Set
MemoryUsageDevConsole2.Text = CalculateFakeMemoryTotal(3)
DebugPrint("Set Memory (DevConsole Details)")
end)
DebugPrint("Set MemoryUsageDevConsole2")
end
SetMemoryUsageDevConsole2()
-- // Constantly set untracked memory
local function SetUntrackedMemoryDevConsole()
-- // Ensure it exists first
local UntrackedMemoryDevConsole = DevConsoleEntries:FindFirstChild("UntrackedMemory")
if (not UntrackedMemoryDevConsole) then
return
end
DebugPrint("UntrackedMemory added")
-- // Setting and connecting
UntrackedMemoryDevConsole = UntrackedMemoryDevConsole.value
UntrackedMemoryDevConsole.Text = select(2, CalculateFakeMemoryTotal(3))
UntrackedMemoryDevConsole:GetPropertyChangedSignal("Text"):Connect(function()
-- // Set
UntrackedMemoryDevConsole.Text = select(2, CalculateFakeMemoryTotal(3))
DebugPrint("Set Untracked Memory")
end)
DebugPrint("Set UntrackedMemoryDevConsole")
end
SetUntrackedMemoryDevConsole()
-- // See whenever the untracked memory thing pops up
DevConsoleEntries.ChildAdded:Connect(function(child)
-- // Set, if it does
if (child.Name == "UntrackedMemory") then
SetUntrackedMemoryDevConsole()
end
-- // Other memory
if (child.Name == "Memory") then
SetMemoryUsageDevConsole2()
end
end)
end
task.spawn(OnMainView)
DevConsoleUI.ChildAdded:Connect(function(child)
if (child.Name == "MainView") then
OnMainView()
end
end)
end
OnDevConsoleMaster()
CoreGui.ChildAdded:Connect(function(child)
if (child.Name == "DevConsoleMaster") then
OnDevConsoleMaster()
end
end)
end
-- // Main logic
RunService.Heartbeat:Connect(function(dT)
-- // Set target
Target = GetClosestPlayerToCursor()
local IsAntiAim = Target and AntiAiming(Target)
UpdateGunSpecific()
-- // Silent
if (Configuration['Bullet Redirection'].Enabled) then
-- // Update stuff
UpdateFOV()
-- // Set, depending upon if anti aiming
if (Target) then
local Part = GetClosestPartToCursor(Target.Character)
Hit = IsAntiAim and ApplyRecalculatedPredictionFormula(Part) or ApplyNormalPredictionFormula(Part)
end
else
SilentFOV.Visible = false
end
-- // Triggerbot
local TriggerBotConfiguration = Configuration['TriggerBot']
if (TriggerBotConfiguration.Enabled and Target) then
-- // Grab a tool, then activate it
local Tool = LocalPlayer.Character:FindFirstChildOfClass("Tool")
if (CurrentGun ~= nil and Mouse.Target == TriggerPart) then
Tool:Activate()
end
-- // Setting trigger part's position
local TargetCharacter = Target.Character
local LowerTorso = TargetCharacter.LowerTorso
local Velocity = IsAntiAim and GetNewVelocity(LowerTorso) or TargetCharacter.HumanoidRootPart.Velocity
local Prediction = TriggerBotConfiguration.Prediction
TriggerPart.Position = LowerTorso.Position + (Velocity * Prediction)
else
TriggerPart.Position = Vector3.zero
end
-- // Camlock
local CamlockConfiguration = Configuration['AimAssist']
if (Configuration['AimAssist'].Enabled and CamlockTarget and CamlockTarget.Character and DisableOnThirdPerson() and IsReloading() and CheckHoldingGun()) then
-- // Vars
local CurrentCamera = Workspace.CurrentCamera
local TargetCharacter = CamlockTarget.Character
local MaxOffset = 0.05
local RandomOffset = Vector3.new(
math.random(-MaxOffset, MaxOffset),
math.random(-MaxOffset, MaxOffset),
math.random(-MaxOffset, MaxOffset)
)
local Center = Vector2.new(0.5, 0.5)
local MousePosition = UserInputService:GetMouseLocation()
local MouseDelta = (MousePosition.X / CurrentCamera.ViewportSize.X - Center.X) * CamlockConfiguration.Sensitivity
-- // Figure out air part
local inAir = TargetCharacter.Humanoid:GetState() == Enum.HumanoidStateType.Freefall
local Part = inAir and CamlockConfiguration['Air'].Part or CamlockConfiguration['Ground'].Part
Part = TargetCharacter[Part]
-- // Figure out what smoothing
local Smoothing = inAir and CamlockConfiguration['Air'].Smoothing or CamlockConfiguration['Ground'].Smoothing
local EasedSmoothing = TweenService:GetValue(Smoothing, CamlockConfiguration.Easing.Style, CamlockConfiguration.Easing.Direction)
-- // Figure out what prediction values to use
local BasePrediction = inAir and CamlockConfiguration['Air'].Prediction or CamlockConfiguration['Ground'].Prediction
local Prediction = AntiAiming(CamlockTarget) and (GetNewVelocity(Part) * BasePrediction) or (GetNewVelocity(TargetCharacter.HumanoidRootPart) * BasePrediction)
-- // Set CFrame
CurrentCamera.CFrame = CurrentCamera.CFrame:Lerp(
CFrame.new(CurrentCamera.CFrame.Position, Part.Position + Prediction + RandomOffset) * CFrame.Angles(0, MouseDelta, 0),
EasedSmoothing
)
-- // Check if dead
if (TargetCharacter.BodyEffects["K.O"].Value) then
CamlockTarget = nil
end
end
end)No comments yet for this script.



