
Key Required

local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local localPlayer = Players.LocalPlayer
local isModified = true
local function getActiveActors()
local actors = {}
local function searchContainer(container)
if not container then return end
for _, obj in ipairs(container:GetDescendants()) do
if obj:IsA("Actor") and obj:FindFirstChild("weap_cl", true) then
table.insert(actors, obj)
end
end
end
if localPlayer.Character then
searchContainer(localPlayer.Character)
end
searchContainer(localPlayer:FindFirstChild("Backpack"))
if #actors == 0 then
if getactors then
for _, actor in ipairs(getactors()) do
if actor:FindFirstChild("weap_cl", true) then
table.insert(actors, actor)
end
end
else
searchContainer(workspace)
end
end
return actors
end
local function runInjection()
local recoilScale = isModified and 0 or 1
local disableAnims = isModified
local scriptCode = string.format([[
local RECOIL_SCALE = %f
local DISABLE_ANIMS = %s
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local success, sharedLib = pcall(function()
return require(ReplicatedStorage.gun_res.lib.shared)
end)
if success and sharedLib and sharedLib.getStat then
-- FIX: Store the old function and states directly inside the module table, avoiding _G entirely.
if not sharedLib._oldGetStat then
sharedLib._oldGetStat = sharedLib.getStat
sharedLib.getStat = function(p1, p2, ...)
-- Call the old function from the table reference
local result = sharedLib._oldGetStat(p1, p2, ...)
if p2 == "mult" or p2 == "recoilMult" then
if type(result) == "number" then
return result * sharedLib._RECOIL_SCALE
end
end
if sharedLib._DISABLE_ANIMS and (p2 == "fire" or p2 == "adsFire" or p2 == "Stockedfire") then
return ""
end
return result
end
end
-- Update the state inside the table so the hook can read it dynamically
sharedLib._RECOIL_SCALE = RECOIL_SCALE
sharedLib._DISABLE_ANIMS = DISABLE_ANIMS
print("[Actor VM] Updated! Recoil Scale: " .. tostring(RECOIL_SCALE) .. " | Disable Fire Anims: " .. tostring(DISABLE_ANIMS))
end
]], recoilScale, tostring(disableAnims))
local actors = getActiveActors()
local injectedCount = 0
for _, actor in ipairs(actors) do
if actor and actor.Parent then
pcall(function()
runonactor(actor, scriptCode)
injectedCount = injectedCount + 1
end)
end
end
if injectedCount > 0 then
print(string.format("[Injector] Successfully updated %d weapon Actor(s) | State -> Recoil: %s, Anims Disabled: %s",
injectedCount, tostring(recoilScale), tostring(disableAnims)))
else
warn("[Injector] No active weapon Actors found. Equip a weapon first.")
end
end
runInjection()
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if not gameProcessed and input.KeyCode == Enum.KeyCode.B then
-- Toggle the state
isModified = not isModified
print(string.format("\n[Keybind] 'B' pressed, Toggling weapon state to: [Recoil Enabled: %s]", tostring(not isModified)))
runInjection()
end
end)
localPlayer.CharacterAdded:Connect(function(char)
task.wait(1)
runInjection()
end)
Does it have a key system
@Cool_guy124 You gotta die for ur stupidity. Itβs literally open sourced
yo, do you have the original code of the keyless esp and silent aim script? the github got taken down, if you do please reupload πππ
@dillydally My github account got shadowbanned, I need to work with support to fix, I can still see the source code but I'll try to get it back up
@janakiikar hey is script back up
@nhukhangpop no. I'll just put the source code as the script for now until it is fixed
@janakiikar preciate you bro much love
@janakiikar hey can you give us the source code of the script
@nhukhangpop ok, Made a temporary github repository until my main is restored. https://github.com/temp-folder/bd
@nhukhangpop Alr tried to use their method, hopefully it works for u: https://raw.githubusercontent.com/temp-folder/bd/refs/heads/main/alt-silent-aim
Doesn't work in BD:PVP
@Z3nie Man it's made only for blood debt. BD:PVP probably uses a different system
@janakiikar same gun system brody
@Z3nie Oh. Well I just tried it on BD PVP and it worked just fine, maybe it's your executor
@janakiikar i use pot*ium so its not my executor
also doesn't work in blood debt either
please fix this issue sometimes when a round ends or anytime it crashes my app