Anomic Revamp New Script hack | 2022 SILENT AIM, INSTANT KILL, AUTO RELOAD

  • Feb 19, 2022

Report

Description

Anomic Revamp New Script hack Features are brought with script for you. Hard times await you in this game and you have to earn a very careful life if you want to survive. Do it whether bandit or cop it’s your choice good games. We have scripts with many new features on our web page for you. I suggest you take a look at our newly updated “New Arsenal Script Hack” script.

If you have a problem with Scripts, please let us know in the “Report Script” section

anomic revamp new script hack
anomic revamp new script hack

Features Of Anomic Revamp New Script hack ?

  • SILENT AIM
  • INSTANT KILL
  • AUTO RELOAD

How to run Anomic Revamp New Script hack

  1. You need a script to run the cheat. You can get it from this article.
  2. You need an exploit to bring the cheat to the game, I’m removing KRNL. You can use something different. You can download the krnl by clicking here.
  3. Copy the script and open the exploit. Paste the exploit script.
  4. Inject/attach the game
  5. Then execute and check if the script is opened. If the cheat does not open, there is something you did wrong.
  6. Try to enjoy the Anomic Revamp Script Hack.

Join Our Discord Server

How to use Anomic Revamp New Script hack | 2022 SILENT AIM, INSTANT KILL, AUTO RELOAD?

  1. Press the "Get Script" button to Copy the "Anomic Revamp New Script hack | 2022 SILENT AIM, INSTANT KILL, AUTO RELOAD" .
  2. Lua scripts require a Lua Executor, Open your executor and attach it to the game.
  3. After copying & pasting the script in your executor press the "Execute" button and "Anomic Revamp New Script hack | 2022 SILENT AIM, INSTANT KILL, AUTO RELOAD" will show up in the game.
  4. If you find an old/faulty script, please let us know using the "Report" section.
  5. If you need an exploit, check out our Free Roblox Exploits Category.

Anomic Revamp New Script hack | 2022 SILENT AIM, INSTANT KILL, AUTO RELOAD

---------------- [[Local Variables]] local ReplicatedStorageService = game:GetService("ReplicatedStorage") local ContextActionService = game:GetService("ContextActionService") local UserInputService = game:GetService("UserInputService") local PlayersService = game:GetService("Players") local GuiService = game:GetService("GuiService") local System = {} ---------------- [[Main Variables]] System.IsSilentAimEnabled = true System.IsInstantKillEnabled = true System.SACircleSizeControlSpeed = 10 -- don't touch unless you understand what it does System.SACircleTransparencyControlSpeed = .1 -- don't touch unless you understand what it does System.SilentAimCircleRange = System.SACircleSizeControlSpeed * 10 -- just don't touch --------- System.LocalPlayer = PlayersService.LocalPlayer System.Mouse = System.LocalPlayer:GetMouse() System.RSRemotesFolder = ReplicatedStorageService:WaitForChild("Events", 100) System.RSAmmoFolder = ReplicatedStorageService:WaitForChild("AmmoFolder", 100) System.PlayerVehiclesFolder = workspace:WaitForChild("PlayerVehicles", 100) System.ViewModelsFolder = workspace:WaitForChild("ViewModels", 100) System.TemporaryIgnore = workspace:WaitForChild("TemporaryIgnore", 100) System.Modules = {} System.Modules.GunModule = require(ReplicatedStorageService:WaitForChild("GunModule",100)) System.Modules.TeamList = require(ReplicatedStorageService:WaitForChild("TeamList",100)) System.Modules.ItemList = require(ReplicatedStorageService:WaitForChild("ItemList",100)) System.Modules.CameraModifier = require(ReplicatedStorageService:WaitForChild("CameraModifier",100)) System.Modules.ShoulderCamera = require(ReplicatedStorageService.CameraModifier:WaitForChild("ShoulderCamera",100)) System.Remotes = {} System.Remotes.GunServer = System.RSRemotesFolder:WaitForChild("GunServer", 100) System.Remotes.GetDataInfo = System.RSRemotesFolder:WaitForChild("GetDataInfo", 100) System.ServerRunTimeHolder = ReplicatedStorageService:WaitForChild("ServerRunTime", 100) System.LocalPlayerAmmoFolder = System.RSAmmoFolder:WaitForChild(System.LocalPlayer.Name, 100) System.RecordedToolData = {} System.VehiclesDataTab = {} System.TargetsDataTab = {} System.LocalPlayerDataTab = nil System.LastGunUsedTick = 0 System.CurrentGunRange = 300 System.LocalPlayerPing = 1 System.LocalPlayerPingHalf = 1 System.SilentAimIgnoreList = {System.ViewModelsFolder, System.TemporaryIgnore} System.SilentAimIgnoreListStartFrom = #System.SilentAimIgnoreList + 1 ---------------- [[Functions]] local TickForPing function System:updateLocalPlayerPing() TickForPing = tick() self.Remotes.GetDataInfo:InvokeServer("Playtime") TickForPing = tick() - TickForPing self.LocalPlayerPing, self.LocalPlayerPingHalf = TickForPing, TickForPing/2 end function System:registerNewObjectToTable(TargetTable, NewObject, OldObject, TableFindStartFrom) if NewObject ~= nil then table.insert(TargetTable, NewObject) end if OldObject ~= nil then local OldObjectIndex = table.find(TargetTable, OldObject, TableFindStartFrom) --warn("Removing Value: ", OldObject, "Index: ", OldObjectIndex) if OldObjectIndex ~= nil then table.remove(TargetTable, OldObjectIndex) end end end function System:registerItemType(ToolName) if self.RecordedToolData[ToolName] == nil then local CurrentToolData = self.Modules.ItemList[ToolName] if CurrentToolData ~= nil then local ItemDataTab = {} ItemDataTab.MaxAmmo = CurrentToolData.MaxAmmo -- fixed ItemDataTab.AmmoType = CurrentToolData.AmmoType -- fixed ItemDataTab.Damage = CurrentToolData.Damage -- fixed ItemDataTab.Firerate = CurrentToolData.Firerate -- fixed ItemDataTab.Accuracy = (CurrentToolData.Accuracy ~= nil and CurrentToolData.Accuracy.MinAimingAccuracy) or nil -- fixed ItemDataTab.ReloadTime = CurrentToolData.ReloadTime -- fixed ItemDataTab.DamageMultiplier = CurrentToolData.DamageMultiplier -- fixed ItemDataTab.ProjectileAmount = CurrentToolData.ProjectileAmount -- fixed ItemDataTab.FullDamageRange = CurrentToolData.FullDamageRange -- fixed ItemDataTab.Range = CurrentToolData.Range -- fixed self.RecordedToolData[ToolName] = ItemDataTab return ItemDataTab else self.RecordedToolData[ToolName] = false return false end else return self.RecordedToolData[ToolName] end end function System:returnIsGovernmentFromTeamName(TeamName) local CurrentTeamData = self.Modules.TeamList[TeamName] if CurrentTeamData ~= nil then return CurrentTeamData.IsGovernment else return false end end function System:findCharacterHeadFromTargetPart(TargetPart) if TargetPart.Name ~= "Head" then local CurrentParent for Repeat = 1, 5 do CurrentParent = TargetPart.Parent if CurrentParent == nil then break elseif CurrentParent:IsA("Model") == true and CurrentParent:FindFirstChildOfClass("Humanoid") ~= nil then return CurrentParent:FindFirstChild("Head") or TargetPart, CurrentParent.Humanoid end end else return TargetPart, TargetPart.Parent:FindFirstChildOfClass("Humanoid") end return TargetPart end System.ProcessedToolNamesForPass = {} function System:generatePassForGunRemote(ToolName, MagValue) local ToolData = self:registerItemType(ToolName) local Pass1, Pass2 = nil, 1 local ToolNameLength = ToolName:len() if self.ProcessedToolNamesForPass[ToolName] == nil then for Num1 = 1, ToolNameLength do Pass2 = Pass2 + (string.byte(string.sub(ToolName, Num1, Num1)) * 2) end self.ProcessedToolNamesForPass[ToolName] = Pass2 else Pass2 = self.ProcessedToolNamesForPass[ToolName] end Pass1 = self.ServerRunTimeHolder.Value Pass2 = tonumber(string.sub(tostring(Pass2 * Pass1 * MagValue * ToolNameLength * ToolData.Firerate * ToolData.Accuracy), 1, 16)) return Pass2, Pass1 end function System:customGunReloadFunction(GunTool) self.Remotes.GunServer:FireServer("Reload", GunTool) end System.DamageHitInfoHolderTabs = {} System.DamageHitInfoTab = {} System.DamageHitInfoTab.HitType = "Player" function System:returnHitInfoHolderTab(GunProjectileAmount) local CurrentDamageHitInfoHolderTab = self.DamageHitInfoHolderTabs[GunProjectileAmount] if CurrentDamageHitInfoHolderTab == nil then CurrentDamageHitInfoHolderTab = {} for ProjectileCount = 1, GunProjectileAmount or 1 do CurrentDamageHitInfoHolderTab["HitInfo"..tostring(ProjectileCount)] = self.DamageHitInfoTab end self.DamageHitInfoHolderTabs[GunProjectileAmount] = CurrentDamageHitInfoHolderTab end return CurrentDamageHitInfoHolderTab end function System:customDamagePlayerFunction(RepeatCount, HitPosition, HitObject, HitNormal, GunTool, GunMagValue, GunProjectileAmount) local CurrentDamageHitInfoHolderTab = self:returnHitInfoHolderTab(GunProjectileAmount) self.DamageHitInfoTab.HitPoint = HitPosition self.DamageHitInfoTab.HitPart = HitObject self.DamageHitInfoTab.Surface = HitPosition.Unit for ShootCount = 0, RepeatCount - 1 do self.Remotes.GunServer:FireServer("Fire", GunTool, CurrentDamageHitInfoHolderTab, self:generatePassForGunRemote(GunTool.Name, GunMagValue - ShootCount)); end end -------- function System:returnDamageFromTargetDistance(TargetDistance, TargetDamageMultiplier, FullDamageRange, MaxGunRange, DamageValue) if TargetDistance > FullDamageRange then if TargetDistance < MaxGunRange then return math.floor(math.ceil(DamageValue-DamageValue*((TargetDistance-FullDamageRange)/(MaxGunRange-FullDamageRange))) * TargetDamageMultiplier) else return 0 end else return math.floor(DamageValue * TargetDamageMultiplier) end end function System:requestInstantKill(GunSelf, HitPosition, HitObject, HitNormal) --warn(GunSelf, HitPosition, HitObject, HitNormal, "End") if HitObject ~= nil and HitObject:IsA("BasePart") == true and HitObject.Parent ~= nil then local HitHumanoid, HitPlayer, HitPlayerDataTab; HitObject, HitHumanoid = self:findCharacterHeadFromTargetPart(HitObject) if HitHumanoid ~= nil and HitHumanoid.Health > 0 then HitPlayer = PlayersService:GetPlayerFromCharacter(HitObject.Parent) HitPlayerDataTab = self.TargetsDataTab[HitPlayer] --warn("Player About To Target: ", HitPlayer, HitPlayerDataTab.IsOnVehicleSeat, HitPlayerDataTab.WantedStatusHolder.Value, HitPlayerDataTab.InMyTeam) if HitPlayerDataTab ~= nil and HitPlayerDataTab.InMyTeam == false then local CurrentShootDamage = System:returnDamageFromTargetDistance((GunSelf.GunHandle.Position - HitPosition).Magnitude, HitPlayerDataTab.DamageMultiplier or 1, GunSelf.FullDamageRange, GunSelf.MaxGunRange, GunSelf.GunDamageOnHead) --print("+Damage From Range ::", CurrentShootDamage, (GunSelf.GunHandle.Position - HitPosition).Magnitude, HitPlayerDataTab.DamageMultiplier or 1, GunSelf.FullDamageRange, GunSelf.MaxGunRange, GunSelf.GunDamageOnHead) if CurrentShootDamage ~= 0 then local CurrentShootLoopCount = math.ceil((HitHumanoid.Health/CurrentShootDamage)/GunSelf.GunProjectileAmount) -- ModuleTab.FullDamageRange if CurrentShootLoopCount > GunSelf.GunMagHolder.Value then CurrentShootLoopCount = GunSelf.GunMagHolder.Value end self:customDamagePlayerFunction(CurrentShootLoopCount, HitPosition, HitObject, HitNormal, GunSelf.GunTool, GunSelf.GunMagHolder.Value, GunSelf.GunProjectileAmount) --print("+Damage Loop Count : ", CurrentShootLoopCount, GunSelf.GunTool, GunSelf.GunMagHolder.Value) return nil end end end end return HitPosition, HitObject, HitNormal end System.CosmeticBulletObject = Instance.new("Part") System.CosmeticBulletObject.Anchored = true System.CosmeticBulletObject.CanCollide = false System.CosmeticBulletObject.CanTouch = false System.CosmeticBulletObject.Transparency = 0 System.CosmeticBulletObject.Material = Enum.Material.Neon System.CosmeticBulletObject.Color = Color3.new(0.666667, 0, 1) System.CosmeticBulletObject.Size = Vector3.new(.1, .1, 0) function System.playSilentAimBulletEffect(Origin, TargetHead) local cosmeticBulletObject = System.CosmeticBulletObject:Clone() cosmeticBulletObject.Size = Vector3.new(cosmeticBulletObject.Size.X, cosmeticBulletObject.Size.Y, (TargetHead.Position - Origin).Magnitude) cosmeticBulletObject.CFrame = CFrame.new(Origin, TargetHead.Position) * CFrame.new(0, 0, -cosmeticBulletObject.Size.Z/2) cosmeticBulletObject.Parent = System.TemporaryIgnore task.wait(.1) cosmeticBulletObject:Destroy() end function System.modedFireSingleProjectile(GunSelf, GunTool) System.LastGunUsedTick = tick() System.CurrentGunRange = GunSelf.MaxGunRange --print("Using ModedFireSingleShot", GunSelf, GunTool) local TargetPosition, TargetObject, TargetNormal if System.IsSilentAimEnabled == true then if GunSelf.AmmoType ~= "12 Gauge" or tick() - GunSelf.SilentShotgunTick >= .1 then local SilentTargetHead = System:returnClosestVisibleTargetToMouse() if SilentTargetHead ~= nil then TargetPosition, TargetObject, TargetNormal = SilentTargetHead.Position, SilentTargetHead, SilentTargetHead.Position.Unit task.spawn(System.playSilentAimBulletEffect, GunSelf.GunHandle.Position, SilentTargetHead) else TargetPosition, TargetObject, TargetNormal = GunSelf:FireCuteProjectile(GunTool) end else return nil end else TargetPosition, TargetObject, TargetNormal = GunSelf:FireCuteProjectile(GunTool) end if System.IsInstantKillEnabled == true then if GunSelf.AmmoType == "12 Gauge" then if tick() - GunSelf.SilentShotgunTick < .1 then return nil else GunSelf.SilentShotgunTick = tick() end end return System:requestInstantKill(GunSelf, TargetPosition, TargetObject, TargetNormal) end return TargetPosition, TargetObject, TargetNormal end function System:modifyGunHandlerModule(Module, ModuleTab) if ModuleTab.LoumecDum == nil then ModuleTab.LoumecDum = true if Module.Parent ~= nil and Module.Parent.Parent ~= nil then ModuleTab.GunTool = Module.Parent.Parent ModuleTab.GunName = ModuleTab.GunTool.Name ModuleTab.GunHandle = ModuleTab.GunTool.Handle ModuleTab.GunInfoFolder = ModuleTab.GunTool.InfoFolder ModuleTab.GunMagHolder = ModuleTab.GunInfoFolder.Mag ModuleTab.GunDataTab = self:registerItemType(ModuleTab.GunName) ModuleTab.AmmoType, ModuleTab.GunDamage, ModuleTab.GunProjectileAmount, ModuleTab.FullDamageRange, ModuleTab.MaxGunRange = ModuleTab.GunDataTab.AmmoType, ModuleTab.GunDataTab.Damage, ModuleTab.GunDataTab.ProjectileAmount, ModuleTab.GunDataTab.FullDamageRange, ModuleTab.GunDataTab.Range ModuleTab.GunDamageOnHead = ModuleTab.GunDamage.Head --warn(Module:GetFullName(), ModuleTab, ModuleTab.AmmoType, ModuleTab.GunDamage, ModuleTab.GunDamageOnHead) ModuleTab.SilentShotgunTick = 0 ModuleTab.FireCuteProjectile = ModuleTab.FireSingleProjectile ModuleTab.FireSingleProjectile = self.modedFireSingleProjectile end end end System.OriginalRequire = getrenv().require function System:initiateGunHandlerModification() getrenv().require = function(Module) if Module.Name == "GunHandlerLocal" then self:modifyGunHandlerModule(Module, require(Module)) end return self.OriginalRequire(Module) end local ClientInteractor, GunHandlerLocal for _, GunTool in next, self.LocalPlayer:WaitForChild("Backpack"):GetChildren() do if GunTool:IsA("Tool") == true then ClientInteractor = GunTool:FindFirstChild("ClientInteractor") if ClientInteractor ~= nil then GunHandlerLocal = ClientInteractor:FindFirstChild("GunHandlerLocal") if GunHandlerLocal ~= nil then task.spawn(self.modifyGunHandlerModule, self, GunHandlerLocal, require(GunHandlerLocal)) end end end end if self.LocalPlayer.Character ~= nil then for _, GunTool in next, self.LocalPlayer.Character:GetChildren() do if GunTool:IsA("Tool") == true then ClientInteractor = GunTool:FindFirstChild("ClientInteractor") if ClientInteractor ~= nil then GunHandlerLocal = ClientInteractor:FindFirstChild("GunHandlerLocal") if GunHandlerLocal ~= nil then task.spawn(self.modifyGunHandlerModule, self, GunHandlerLocal, require(GunHandlerLocal)) end end end end end end ---- function System:updateInMyTeamTargetData(TargetData) if TargetData.WantedStatusHolder ~= nil then local CurrentTargetWantedValue = TargetData.WantedStatusHolder.Value if self.LocalPlayerDataTab.TeamIsGovernment == true then if CurrentTargetWantedValue == 1 or (CurrentTargetWantedValue == 2 and TargetData.IsOnVehicleSeat == false) then TargetData.InMyTeam = true else TargetData.InMyTeam = false end else TargetData.InMyTeam = self.LocalPlayerDataTab.PassiveMode end end end function System.updateTargetCharacterData(Character) local Player = PlayersService:GetPlayerFromCharacter(Character) if Player ~= nil then local CurrentPlayerData, CurrentHumanoidSeatPart = System.TargetsDataTab[Player], nil System:registerNewObjectToTable(System.SilentAimIgnoreList, Character, CurrentPlayerData.Character, System.SilentAimIgnoreListStartFrom) CurrentPlayerData.DamageMultiplier = 1 CurrentPlayerData.Character = Character CurrentPlayerData.Head = Character:WaitForChild("Head", 10) CurrentPlayerData.Humanoid = Character:WaitForChild("Humanoid", 10) local function onChildAddedToCharacter(Child) if Child:IsA("Accessory") == true and Child.Name:find("Helmet") ~= nil then local CurrentAccessoryData = System:registerItemType(Child.Name) if CurrentAccessoryData ~= false and CurrentAccessoryData.DamageMultiplier ~= nil then CurrentPlayerData.DamageMultiplier = CurrentAccessoryData.DamageMultiplier end end end Character.ChildAdded:Connect(onChildAddedToCharacter) for _, Child in next, Character:GetChildren() do if Child:IsA("Accessory") == true then task.spawn(onChildAddedToCharacter, Child) end end CurrentPlayerData.Dead = false end end function System.registerTargetPlayer(TargetPlayer) if TargetPlayer ~= System.LocalPlayer then local CurrentTargetTab = {} CurrentTargetTab.Dead = true CurrentTargetTab.InMyTeam = false CurrentTargetTab.IsOnVehicleSeat = false CurrentTargetTab.LastVisiblityCheck = 0 CurrentTargetTab.DamageMultiplier = 1 System.TargetsDataTab[TargetPlayer] = CurrentTargetTab CurrentTargetTab.WantedStatusFolder = TargetPlayer:WaitForChild("WantedStatus", 10) if CurrentTargetTab.WantedStatusFolder ~= nil then CurrentTargetTab.WantedStatusHolder = CurrentTargetTab.WantedStatusFolder:WaitForChild("WantedStatus", 10) if CurrentTargetTab.WantedStatusHolder ~= nil then local function WantedValueChanged() --warn("--++++--", Value, CurrentPlayerData.WantedHolder.Value, " Wanted Or Team Changed ", Player) System:updateInMyTeamTargetData(CurrentTargetTab) end CurrentTargetTab.WantedStatusHolder.Changed:Connect(WantedValueChanged) System:updateInMyTeamTargetData(CurrentTargetTab) TargetPlayer.CharacterAdded:Connect(System.updateTargetCharacterData) if TargetPlayer.Character ~= nil and TargetPlayer.Character.Parent ~= nil then System.updateTargetCharacterData(TargetPlayer.Character) end end end else if System.LocalPlayerDataTab == nil then local NewLocalPlayerDataTab = {} NewLocalPlayerDataTab.TeamHolder = {Value = "IDK"} NewLocalPlayerDataTab.TeamValue = "IDK" NewLocalPlayerDataTab.TeamIsGovernment = false NewLocalPlayerDataTab.PassiveMode = true System.LocalPlayerDataTab = NewLocalPlayerDataTab NewLocalPlayerDataTab.WantedStatusFolder = TargetPlayer:WaitForChild("WantedStatus", 10) NewLocalPlayerDataTab.PassiveModeHolder = NewLocalPlayerDataTab.WantedStatusFolder:WaitForChild("PassiveMode", 10) local function updateAllTargetsData() for _, TargetDataTab in next, System.TargetsDataTab do System:updateInMyTeamTargetData(TargetDataTab) end end local function onLocalTeamValueChanged() if NewLocalPlayerDataTab.TeamHolder.Value ~= NewLocalPlayerDataTab.TeamValue then NewLocalPlayerDataTab.TeamValue = NewLocalPlayerDataTab.TeamHolder.Value NewLocalPlayerDataTab.TeamIsGovernment = System:returnIsGovernmentFromTeamName(NewLocalPlayerDataTab.TeamValue) updateAllTargetsData() end end local function onLocalCharacterAdded(Character) System:registerNewObjectToTable(System.SilentAimIgnoreList, Character, NewLocalPlayerDataTab.Character, System.SilentAimIgnoreListStartFrom) NewLocalPlayerDataTab.Character = Character NewLocalPlayerDataTab.TeamHolder = Character:WaitForChild("PlayerTeam", 10) NewLocalPlayerDataTab.TeamHolder.Changed:Connect(onLocalTeamValueChanged) onLocalTeamValueChanged() end local function onPassiveModeChanged() if NewLocalPlayerDataTab.PassiveModeHolder.Value ~= NewLocalPlayerDataTab.PassiveMode then NewLocalPlayerDataTab.PassiveMode = NewLocalPlayerDataTab.PassiveModeHolder.Value updateAllTargetsData() end end NewLocalPlayerDataTab.PassiveModeHolder.Changed:Connect(onPassiveModeChanged) onPassiveModeChanged() System.LocalPlayer.CharacterAdded:Connect(onLocalCharacterAdded) if System.LocalPlayer.Character ~= nil then onLocalCharacterAdded(System.LocalPlayer.Character) end end end end function System.unregisterTargetPlayer(Player) local PlayerDataTab = System.TargetsDataTab[Player] --print("Player Left: ", Player, "Data: ", PlayerDataTab) if PlayerDataTab ~= nil and PlayerDataTab.Character ~= nil then --print("Player Left: ", Player, "Removing Character") System:registerNewObjectToTable(System.SilentAimIgnoreList, nil, PlayerDataTab.Character, System.SilentAimIgnoreListStartFrom) end System.TargetsDataTab[Player] = nil end System.raycastParams = RaycastParams.new() System.raycastParams.FilterType = Enum.RaycastFilterType.Blacklist System.raycastParams.FilterDescendantsInstances = {} System.raycastParams.IgnoreWater = true function System:isTargetHeadVisible(TargetCharacterHeadPosition, LocalPlayerRootPosition, IgnoreList) local CurrentCameraPosition = workspace.CurrentCamera.CFrame.Position --table.insert(IgnoreList, TargetCharacter) self.raycastParams.FilterDescendantsInstances = IgnoreList if workspace:Raycast(CurrentCameraPosition, TargetCharacterHeadPosition - CurrentCameraPosition, self.raycastParams) == nil and workspace:Raycast(CurrentCameraPosition, LocalPlayerRootPosition - CurrentCameraPosition, self.raycastParams) == nil then return true end return false end function System:returnClosestVisibleTargetToMouse() if self.LocalPlayer.Character ~= nil and self.LocalPlayer.Character.PrimaryPart ~= nil then local LocalPlayerCharacter = self.LocalPlayer.Character local LocalPlayerRootPart = LocalPlayerCharacter.PrimaryPart local CurrentCamera = workspace.CurrentCamera local MousePositionVector2 = Vector2.new(self.Mouse.X, self.Mouse.Y) local CurrentIgnoreList = self.SilentAimIgnoreList local ClosestTargetData = {} local currentTargetScreenPositionV2, currentTargetScreenPosition, currentTargetScreenZIndex, currentTargetDistanceFromMouse, currentTargetOnScreen, currentTargetVisible for TargetPlayer, TargetPlayerTab in next, self.TargetsDataTab do if TargetPlayerTab.InMyTeam == false and TargetPlayerTab.Dead == false then if TargetPlayerTab.Humanoid.Health > 0 then if self.LocalPlayer:DistanceFromCharacter(TargetPlayerTab.Head.Position) < self.CurrentGunRange then --print("WorldToViewportPoint --- --- ---", CurrentCamera:WorldToViewportPoint(TargetPlayerTab.Head.Position)) currentTargetScreenPosition, currentTargetOnScreen = CurrentCamera:WorldToScreenPoint(TargetPlayerTab.Head.Position) if currentTargetOnScreen == true then currentTargetScreenPositionV2 = Vector2.new(currentTargetScreenPosition.X, currentTargetScreenPosition.Y) --currentTargetScreenZIndex = currentTargetScreenPosition.Z currentTargetDistanceFromMouse = (MousePositionVector2 - currentTargetScreenPositionV2).Magnitude --print(TargetPlayer, "-------- 1", currentTargetDistanceFromMouse) --if CurrentIgnoreList == nil then CurrentIgnoreList = self:returnNewSilentIgnoreList(LocalPlayerCharacter) end if currentTargetDistanceFromMouse <= self.SilentAimCircleRange and (tick() - TargetPlayerTab.LastVisiblityCheck <= .1 or self:isTargetHeadVisible(TargetPlayerTab.Head.Position, LocalPlayerRootPart.Position, CurrentIgnoreList) == true) then --print(TargetPlayer, "----------------- 2", currentTargetDistanceFromMouse) if tick() - TargetPlayerTab.LastVisiblityCheck > .1 then TargetPlayerTab.LastVisiblityCheck = tick() end if ClosestTargetData.Head == nil then ClosestTargetData.Head = TargetPlayerTab.Head --ClosestTargetData.ScreenZIndex = currentTargetScreenZIndex ClosestTargetData.DistanceFromMouse = currentTargetDistanceFromMouse --warn("-- Updated List ", TargetPlayerTab.Head, currentTargetDistanceFromMouse) elseif ClosestTargetData.DistanceFromMouse > currentTargetDistanceFromMouse then --and ClosestTargetData.ScreenZIndex > currentTargetScreenZIndex then ClosestTargetData.Head = TargetPlayerTab.Head --ClosestTargetData.ScreenZIndex = currentTargetScreenZIndex ClosestTargetData.DistanceFromMouse = currentTargetDistanceFromMouse --warn("-- Updated List 2 ", TargetPlayerTab.Head, currentTargetDistanceFromMouse) end end end end else TargetPlayerTab.Dead = true end end end if ClosestTargetData.Head ~= nil then return ClosestTargetData.Head end end end -------- function System:updateSeatedPlayerFromSeatWeld(VehicleDataTab, VehicleSeatWeld) local LastSeatedPlayerDataTab = VehicleDataTab.SeatedPlayerDataTab if LastSeatedPlayerDataTab ~= nil then VehicleDataTab.SeatedPlayerDataTab = nil LastSeatedPlayerDataTab.IsOnVehicleSeat = false if self.LocalPlayerDataTab.TeamIsGovernment == true then self:updateInMyTeamTargetData(LastSeatedPlayerDataTab) end --warn("-- Player Un-Seated: ", LastSeatedPlayerDataTab.Character) end if VehicleSeatWeld ~= nil and VehicleSeatWeld.Part1 ~= nil and VehicleSeatWeld.Part1.Parent ~= nil then local SeatedPlayerDataTab = self.TargetsDataTab[PlayersService:GetPlayerFromCharacter(VehicleSeatWeld.Part1.Parent)] if SeatedPlayerDataTab ~= nil then VehicleDataTab.SeatedPlayerDataTab = SeatedPlayerDataTab SeatedPlayerDataTab.IsOnVehicleSeat = true --warn("++ Player Seated: ", SeatedPlayerDataTab.Character) if self.LocalPlayerDataTab.TeamIsGovernment == true then self:updateInMyTeamTargetData(SeatedPlayerDataTab) end end end end function System.registerVehicleModel(VehicleModel) local VehicleDataTab = {} System.VehiclesDataTab[VehicleModel] = VehicleDataTab VehicleDataTab.SeatedPlayerDataTab = nil VehicleDataTab.VehicleChassis = VehicleModel:WaitForChild("Chassis", 5) if VehicleDataTab.VehicleChassis ~= nil and System.VehiclesDataTab[VehicleModel] ~= nil then VehicleDataTab.VehicleSeat = VehicleDataTab.VehicleChassis:WaitForChild("VehicleSeat", 5) if VehicleDataTab.VehicleSeat ~= nil and System.VehiclesDataTab[VehicleModel] ~= nil then VehicleDataTab.VehicleSeat.ChildAdded:Connect(function(Child) if Child.Name == "SeatWeld" then System:updateSeatedPlayerFromSeatWeld(VehicleDataTab, Child) end end) VehicleDataTab.VehicleSeat.ChildRemoved:Connect(function(Child) if Child.Name == "SeatWeld" then System:updateSeatedPlayerFromSeatWeld(VehicleDataTab, nil) end end) if VehicleDataTab.VehicleSeat:FindFirstChild("SeatWeld") ~= nil then System:updateSeatedPlayerFromSeatWeld(VehicleDataTab, VehicleDataTab.VehicleSeat.SeatWeld) end end end end function System.unregisterVehicleModel(VehicleModel) System.VehiclesDataTab[VehicleModel] = nil end function System:initiateVehicleRegistrationSystem() self.PlayerVehiclesFolder.ChildAdded:Connect(self.registerVehicleModel) self.PlayerVehiclesFolder.ChildRemoved:Connect(self.unregisterVehicleModel) for _, VehicleModel in next, self.PlayerVehiclesFolder:GetChildren() do task.spawn(self.registerVehicleModel, VehicleModel) end end -------- System.CurrentGuiInest = GuiService:GetGuiInset() function System.updateSilentAimCirclePosition() System.SilentAimCircle.Position = Vector2.new(System.Mouse.X + System.CurrentGuiInest.X, System.Mouse.Y + System.CurrentGuiInest.Y) end function System:updateSilentAimCircleRadius(CurrentSrollDirection) local CurrentRadius, CurrentSizeControlSpeed = self.SilentAimCircle.Radius, self.SACircleSizeControlSpeed if CurrentSrollDirection == 1 then self.SilentAimCircle.Radius = self.SilentAimCircle.Radius + CurrentSizeControlSpeed else if CurrentRadius - CurrentSizeControlSpeed <= 0 then self.SilentAimCircle.Radius = CurrentSizeControlSpeed else self.SilentAimCircle.Radius = self.SilentAimCircle.Radius - CurrentSizeControlSpeed end end self.SilentAimCircleRange = self.SilentAimCircle.Radius end System.SilentAimCircleTransparencySave = 1 function System:updateSilentAimCircleTransparency(CurrentSrollDirection) local CurrentTransparency, CurrentTransparencyControlSpeed = self.SilentAimCircle.Transparency, self.SACircleTransparencyControlSpeed if CurrentSrollDirection == 1 then if CurrentTransparency + CurrentTransparencyControlSpeed >= 1 then self.SilentAimCircle.Transparency = 1 else self.SilentAimCircle.Transparency = self.SilentAimCircle.Transparency + CurrentTransparencyControlSpeed end else if CurrentTransparency + CurrentTransparencyControlSpeed <= 0 then self.SilentAimCircle.Transparency = 0 else self.SilentAimCircle.Transparency = self.SilentAimCircle.Transparency - CurrentTransparencyControlSpeed end end self.SilentAimCircleTransparencySave = self.SilentAimCircle.Transparency end function System:updateSilentAimCircleFilled(CurrentSrollDirection) if CurrentSrollDirection == 1 then self.SilentAimCircle.Filled = true self.SilentAimCircle.Transparency = self.SilentAimCircleTransparencySave else self.SilentAimCircle.Filled = false self.SilentAimCircle.Transparency = 1 end end function System.onLocalPlayerScroll(actionName, inputState, inputObj) local CurrentSrollDirection, ContextActionResult = inputObj.Position.Z, Enum.ContextActionResult.Pass if UserInputService:IsKeyDown(Enum.KeyCode.J) == true then System:updateSilentAimCircleRadius(CurrentSrollDirection) ContextActionResult = Enum.ContextActionResult.Sink end if UserInputService:IsKeyDown(Enum.KeyCode.K) == true then System:updateSilentAimCircleTransparency(CurrentSrollDirection) ContextActionResult = Enum.ContextActionResult.Sink end if UserInputService:IsKeyDown(Enum.KeyCode.L) == true then System:updateSilentAimCircleFilled(CurrentSrollDirection) ContextActionResult = Enum.ContextActionResult.Sink end return ContextActionResult end -------- function System:AntiSmallBrainCamera() local CameraModifierModule, ShoulderCameraModule = self.Modules.CameraModifier, self.Modules.ShoulderCamera local NiceFunctionBTW, CurrentTool = function()end, nil if self.LocalPlayer.Character ~= nil then CurrentTool = self.LocalPlayer.Character:FindFirstChildOfClass("Tool") end CameraModifierModule.EnableADS = NiceFunctionBTW CameraModifierModule.EnableOSC = NiceFunctionBTW if CurrentTool ~= nil then if CameraModifierModule:GetADSEnabled() == true then CameraModifierModule.DisableADS(nil, CurrentTool) end if CameraModifierModule:GetOSCEnabled() == true then CameraModifierModule.DisableOSC(nil, CurrentTool) end if ShoulderCameraModule.enabled == true then ShoulderCameraModule:setEnabled(false) end end CameraModifierModule.DisableADS = NiceFunctionBTW CameraModifierModule.DisableOSC = NiceFunctionBTW ShoulderCameraModule.setEnabled = NiceFunctionBTW CameraModifierModule.InitiateHolsterCountdown = NiceFunctionBTW CameraModifierModule:ToggleWeaponHolster(true) CameraModifierModule.ToggleWeaponHolster = NiceFunctionBTW CameraModifierModule.GunHolstered = false end -------- System.RegisteredCharacterGuns = {} function System.onAutoReloadChildAdded(Child) if Child:IsA("Tool") == true then local CurrentGunDataTab = {} System.RegisteredCharacterGuns[Child] = CurrentGunDataTab local CurrentToolDataTab = System:registerItemType(Child.Name) if CurrentToolDataTab ~= false and CurrentToolDataTab.ReloadTime ~= nil then CurrentGunDataTab.ToolDataTab = CurrentToolDataTab CurrentGunDataTab.ReloadTick = 0 CurrentGunDataTab.ReloadTime = CurrentToolDataTab.ReloadTime CurrentGunDataTab.GunInfoFolder = Child:WaitForChild("InfoFolder", 4) CurrentGunDataTab.GunHandle = Child:WaitForChild("Handle", 4) if CurrentGunDataTab.GunInfoFolder ~= nil and CurrentGunDataTab.GunHandle ~= nil then CurrentGunDataTab.MagHolder = CurrentGunDataTab.GunInfoFolder:WaitForChild("Mag", 4) CurrentGunDataTab.FakeAmmoHolder = CurrentGunDataTab.GunHandle:WaitForChild("ClientAmmo", 4) if CurrentGunDataTab.MagHolder ~= nil and CurrentGunDataTab.FakeAmmoHolder ~= nil then CurrentGunDataTab.OwnedAmmoHolder = System.LocalPlayerAmmoFolder[CurrentToolDataTab.AmmoType] CurrentGunDataTab.Registered = true end end else System.RegisteredCharacterGuns[Child] = nil end end end function System.onAutoReloadChildRemoved(Child) System.RegisteredCharacterGuns[Child] = nil end function System.onAutoReloadCharacterAdded(Character) table.clear(System.RegisteredCharacterGuns) Character.ChildAdded:Connect(System.onAutoReloadChildAdded) Character.ChildRemoved:Connect(System.onAutoReloadChildRemoved) for _, Object in next, Character:GetChildren() do if Object:IsA("Tool") == true then System.onAutoReloadChildAdded(Object) end end warn("----------------------------------------------------------------------------------") print("OP Gun Script:: Join Discord Server for support related to the script and to report bugs oh ofc i accept suggestions too") print("Discord Join Link: https://discord.gg/GdU7xkQpsp") warn("----------------------------------------------------------------------------------") end function System:checkIfGunMagHasEnoughBullets(GunTab) if GunTab.OwnedAmmoHolder.Value > 0 then if GunTab.ToolDataTab.AmmoType == "12 Gauge" then if GunTab.MagHolder.Value < GunTab.ToolDataTab.MaxAmmo and tick() - self.LastGunUsedTick >= self.LocalPlayerPing then return false else return true end else if GunTab.MagHolder.Value <= 1 or (tick() - self.LastGunUsedTick >= 4.5 + self.LocalPlayerPing and GunTab.MagHolder.Value < GunTab.ToolDataTab.MaxAmmo/2) then return false else return true end end end end function System:checkIfGunNeedsReload(GunTool, GunTab) if GunTab.Registered == true then GunTab.FakeAmmoHolder.Value = GunTab.MagHolder.Value if self:checkIfGunMagHasEnoughBullets(GunTab) == false and tick() - GunTab.ReloadTick > GunTab.ReloadTime + self.LocalPlayerPing then GunTab.ReloadTick = tick() self:customGunReloadFunction(GunTool) end end end function System:requestCheckRegisteredGunsForReload() for GunTool, GunTab in next, System.RegisteredCharacterGuns do self:checkIfGunNeedsReload(GunTool, GunTab) end end -------- function System:initiateSystem() PlayersService.PlayerAdded:Connect(self.registerTargetPlayer) PlayersService.PlayerRemoving:Connect(self.unregisterTargetPlayer) self.registerTargetPlayer(self.LocalPlayer) for _, Player in next, PlayersService:GetPlayers() do if Player ~= self.LocalPlayer then task.spawn(self.registerTargetPlayer, Player) end end self:initiateVehicleRegistrationSystem() if Drawing ~= nil then self.SilentAimCircle = Drawing.new("Circle") self.SilentAimCircle.Radius = self.SilentAimCircleRange self.SilentAimCircle.Visible = true self.SilentAimCircle.Thickness = 2 self.SilentAimCircle.Filled = false self.SilentAimCircle.Color = Color3.fromRGB(255, 0, 127) self.SilentAimCircle.Transparency = 1 self.SilentAimCircleTransparencySave = 1 self.Mouse.Move:Connect(self.updateSilentAimCirclePosition) ContextActionService:BindAction("SilentAimScrollEvent", self.onLocalPlayerScroll, false, Enum.UserInputType.MouseWheel) else self.SilentAimCircleRange = 9999 end self:AntiSmallBrainCamera() self:initiateGunHandlerModification() self.LocalPlayer.CharacterAdded:Connect(self.onAutoReloadCharacterAdded) if self.LocalPlayer.Character ~= nil then self.onAutoReloadCharacterAdded(self.LocalPlayer.Character) end while task.wait(0) do --print("Players Count: ", #PlayersService:GetPlayers(), "SilentAimIgnoreList Count: ", #self.SilentAimIgnoreList - 2, #self.CustomIgnoreList) --[[local VehicleCount = 0 for _, _ in next, self.VehiclesDataTab do VehicleCount = VehicleCount + 1 end print("Registered Vehicle Count: ", VehicleCount, "GetChildren Vehicle Count: ", #self.PlayerVehiclesFolder:GetChildren())]] self:updateLocalPlayerPing() self:requestCheckRegisteredGunsForReload() --warn("Last LocalPlayer Ping ====== ", self.LocalPlayerPing) end end ---------------- [[ ;) ]] if _G.OPOPGunScript == nil then _G.OPOPGunScript = true System:initiateSystem() end