local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Shared = ReplicatedStorage:WaitForChild("Shared") local Weapons = Shared:WaitForChild("Weapons") local RecoilConfigModule = Weapons:WaitForChild("RecoilConfig") local RecoilConfig = require(RecoilConfigModule) local LocalPlayer = Players.LocalPlayer local function removeRecoilAndSpread(configTable) if not configTable then return end if configTable.Punch then configTable.Punch.VelocityDegPerSec = 0 configTable.Punch.MagnitudeVariance = 0 configTable.Punch.AngleVarianceDeg = 0 configTable.Punch.AimPunchScale = 0 configTable.Punch.ViewRecoilTracking = 0 configTable.Punch.ViewPunchExtraFrac = 0 configTable.Punch.ViewPunchDecay = 9999 end if configTable.Inaccuracy then configTable.Inaccuracy.SpreadDeg = 0 configTable.Inaccuracy.StandDeg = 0 configTable.Inaccuracy.CrouchDeg = 0 configTable.Inaccuracy.FireDeg = 0 configTable.Inaccuracy.MoveDeg = 0 configTable.Inaccuracy.JumpDeg = 0 configTable.Inaccuracy.JumpInitialDeg = 0 configTable.Inaccuracy.JumpApexDeg = 0 configTable.Inaccuracy.MaxInaccuracyDeg = 0 if configTable.Inaccuracy.Movement then configTable.Inaccuracy.Movement.SlideAddDeg = 0 end end end removeRecoilAndSpread(RecoilConfig) if RecoilConfig.Configs then for weaponName, configList in pairs(RecoilConfig.Configs) do if configList.Primary then removeRecoilAndSpread(configList.Primary) end if configList.Secondary then removeRecoilAndSpread(configList.Secondary) end removeRecoilAndSpread(configList) end end local originalGet = RecoilConfig.Get RecoilConfig.Get = function(self, weaponName, fireMode) local currentConfig = originalGet(self, weaponName, fireMode) removeRecoilAndSpread(currentConfig) return currentConfig end LocalPlayer:SetAttribute("StrafeStyleId", "Autohop") LocalPlayer:SetAttribute("AutoJump", true) task.spawn(function() local SharedFolder = ReplicatedStorage:WaitForChild("Shared", 10) if SharedFolder then local MovementV2 = SharedFolder:WaitForChild("MovementV2", 10) if MovementV2 then local StrafeStyleConfig = MovementV2:FindFirstChild("StrafeStyleConfig") if StrafeStyleConfig then local success, config = pcall(require, StrafeStyleConfig) if success and type(config) == "table" then for _, style in pairs(config) do if type(style) == "table" then style.AutoJump = true style.AutoBhop = true end end end end local MovementConfig = MovementV2:FindFirstChild("MovementConfig") if MovementConfig then local success, moveConfig = pcall(require, MovementConfig) if success and type(moveConfig) == "table" then moveConfig.AutoJump = true end end end end end) RunService.RenderStepped:Connect(function() if UserInputService:IsKeyDown(Enum.KeyCode.Space) then local char = LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum and hum:GetState() ~= Enum.HumanoidStateType.Freefall then hum.Jump = true end end end end)