Open Source Script
Key Required

Open Source Script

Notoriety: A PAYDAY® ExperienceCatBoyCatBoy 11.4K views 77 executesUpdated Mar 21, 2025
0.0/ 5(3 votes)
030% Positive
Lua Script•2414 lines (74593 chars)
local repo = 'https://raw.githubusercontent.com/violin-suzutsuki/LinoriaLib/main/'

local Library = loadstring(game:HttpGet(repo .. 'Library.lua'))()
local ThemeManager = loadstring(game:HttpGet(repo .. 'addons/ThemeManager.lua'))()
local SaveManager = loadstring(game:HttpGet(repo .. 'addons/SaveManager.lua'))()

if not game:IsLoaded() then
	Library:Notify("Waiting for game to be loaded...")
	game.Loaded:Wait()
	Library:Notify("Game loaded!")
end

local ProximityPromptService = game:GetService("ProximityPromptService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
local Players = game:GetService("Players")

local Camera = Workspace.CurrentCamera
local Terrain = Workspace.Terrain
local LocalPlayer = Players.LocalPlayer
local RenderStepped = RunService.RenderStepped
local WaitForSomeone = RenderStepped.Wait
local DamageRemote = ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Assets"):WaitForChild("Remotes"):WaitForChild("Damage")
local Vector2 = Vector2.new

local OldClockTime = Lighting.ClockTime
local OldAmbienceColor = Lighting.OutdoorAmbient
local OldBrightness = Lighting.Brightness

local KillAll = {
	Enabled = false,
	TargetPart = 'HumanoidRootPart'
}
local YellAtCitizens = false
local SelfRevive = false
local SilentInteraction = false
local HE = {
	Enabled = false,
	Citizens = false,
	Polices = false,
	Scale = 1
}
local WeaponModel = {
	Enabled = false,
	ChangeWeapon = false,
	WeaponMaterial = "ForceField",
	WeaponColor = Color3.fromRGB(255, 255, 255),
	ChangeGloves = false,
	GloveMaterial = "ForceField",
	GloveColor = Color3.fromRGB(255, 255, 255),
	ChangeLaser = false,
	LaserColor = Color3.fromRGB(255, 255, 255)
}
local Materials = {"Air", "Asphalt", "Basalt", "Brick", "Cardboard", "Carpet", "CeramicTiles", "ClayRoofTiles", "Concrete", "CorrodedMetal", "Cobblestone", "DiamondPlate", "Fabric", "ForceField", "Glass", "Glacier", "Granite", "Ground", "Ice", "Leather", "Limestone", "Marble", "Metal", "Mud", "Neon", "Pavement", "Pebble", "Plaster", "Plastic", "RoofShingles", "Rubber", "Rock", "Sand", "Sandstone", "Slate", "SmoothPlastic", "Snow", "Water", "Wood", "WoodPlanks", "LeafyGrass", "Grass"}
local AutoAcceptPagers = false

local Drawings = {}
local Utility = {}

getgenv().ESP = {
	Police = {
		Enabled = false,
		Box = false,
		Health = false,
		Name = false,
		Indicators = {
			["Enabled"] = true,
			["Tools"] = false,
			["Distance"] = false
		},
		Font = "Plex",
		BoxColor = Color3.fromRGB(0, 71, 255),
		HealthColor = Color3.new(0, 1, 0),
		NameColor = Color3.fromRGB(0, 71, 255),
		IndicatorsColor = Color3.fromRGB(0, 71, 255),
	},
	Citizen = {
		Enabled = false,
		Box = false,
		Health = false,
		Name = false,
		Indicators = {
			["Enabled"] = true,
			["Tools"] = false,
			["Distance"] = false
		},
		Font = "Plex",
		BoxColor = Color3.fromRGB(255, 255, 255),
		HealthColor = Color3.new(0, 1, 0),
		NameColor = Color3.fromRGB(255, 255, 255),
		IndicatorsColor = Color3.fromRGB(255, 255, 255),
	},
	Player = {
		Enabled = false,
		Box = false,
		Health = false,
		NameType = "Username",
		Name = false,
		Indicators = {
			["Enabled"] = true,
			["Tools"] = false,
			["Distance"] = false
		},
		Font = "Plex",
		BoxColor = Color3.fromRGB(255, 255, 255),
		HealthColor = Color3.new(0, 1, 0),
		NameColor = Color3.fromRGB(255, 255, 255),
		IndicatorsColor = Color3.fromRGB(255, 255, 255),
	},
	MaxDistance = 100000,
	Connections = {},
	DestroyFunction = function()
		for A_1, A_2 in ipairs(getgenv().ESP.Connections) do
			A_2:Disconnect()
			A_2 = nil
		end

		for A_1, A_2 in ipairs(Workspace.Criminals:GetChildren()) do
			if Drawings[A_2] then
				for A_3, A_4 in pairs(Drawings[A_2]) do
					A_4:Remove()
				end
			end
		end
		for A_1, A_2 in ipairs(Workspace.Police:GetChildren()) do
			if Drawings[A_2] then
				for A_3, A_4 in pairs(Drawings[A_2]) do
					A_4:Remove()
				end
			end
		end
		for A_1, A_2 in ipairs(Workspace.Citizens:GetChildren()) do
			if Drawings[A_2] then
				for A_3, A_4 in pairs(Drawings[A_2]) do
					A_4:Remove()
				end
			end
		end

		getgenv().ESP = nil
	end
}

local ESP = getgenv().ESP

getgenv().Aimbot = {}
local AEnv = getgenv().Aimbot

AEnv.Options = {
	Enabled = false,
	Keybind = "MouseButton2",
	mousemoverel = false,
	mousemoverelsens = 3,
	Smoothing = 0,
	TargetPart = "HumanoidRootPart",
	DrawFOV = true,
	TargetedColorChange = false,
	TargetedColor = Color3.fromRGB(255, 70, 70),
	Snapline = false,
	SnaplineColor = Color3.fromRGB(255, 255, 255),
	FOVColor = Color3.fromRGB(255, 255, 255),
	FOVRadius = 90,
	VisibleCheck = false,
	AliveCheck = false,
	PoliceCheck = false,
	CitizenCheck = false,
	Targeted = nil,
	KeyPressed = false,
	Tween = nil
}
AEnv.FOVCircle = Drawing.new("Circle")
AEnv.FOVCircle.Filled = false
AEnv.FOVCircle.Thickness = 1
AEnv.Snapline = Drawing.new("Line")
AEnv.Snapline.Thickness = 1

getgenv().SilentAim = {}
local SAEnv = getgenv().SilentAim

SAEnv.Options = {
	Enabled = false,
	TargetPart = "HumanoidRootPart",
	DrawFOV = true,
	Snapline = false,
	SnaplineColor = Color3.fromRGB(255, 255, 255),
	FOVColor = Color3.fromRGB(255, 255, 255),
	FOVRadius = 90,
	VisibleCheck = false,
	Targeted = nil
}
SAEnv.FOVCircle = Drawing.new("Circle")
SAEnv.FOVCircle.Filled = false	
SAEnv.FOVCircle.Thickness = 1
SAEnv.Snapline = Drawing.new("Line")
SAEnv.Snapline.Thickness = 1

getgenv().AntiAim = {}
local AAEnv = getgenv().AntiAim

AAEnv.Options = {
	Enabled = false,
	CustomValues = false,
	X = 0,
	Y = 0,
	Z = 0
}

getgenv().WorldUtilities = {}
local WorldUtilities = getgenv().WorldUtilities

WorldUtilities.Options = {
	Enabled = false,
	ChangeBrightness = false,
	Brightness = 2,
	ChangeClockTime = false,
	ClockTime = 14.2,
	ChangeOutdoorAmbient = false,
	OutdoorAmbient = Color3.fromRGB(100, 100, 100)
}

getgenv().LocalModifications = {}
local LocalModifications = getgenv().LocalModifications

LocalModifications.Options = {
	Enabled = false,
	WalkspeedEnabled = false,
	Walkspeed = 18,
	InfiniteStamina = false
}

getgenv().Connections = {}
local Connections = getgenv().Connections
Connections.C = {}

getgenv().Autos = {}
local Autos = getgenv().Autos

Autos.Options = {
	Enabled = false,
	AutoFixDrills = false,
}

local ReqDistance = AEnv.Options.FOVRadius
local SAReqDistance = SAEnv.Options.FOVRadius


function GetClosestCharacter()
	if not AEnv.Options.Targeted then
		ReqDistance = AEnv.Options.FOVRadius

		if not AEnv.Options.PoliceCheck then
			for _, v in (Workspace.Police:GetChildren()) do
				if v ~= nil and v:IsA("Model") and v:FindFirstChild(AEnv.Options.TargetPart) ~= nil and v:FindFirstChildOfClass("Humanoid") ~= nil then
					if AEnv.Options.VisibleCheck and #(Camera:GetPartsObscuringTarget({v[AEnv.Options.TargetPart].Position}, v:GetDescendants())) ~= 0 then continue end
					local Vector, OnScreen = Camera:WorldToViewportPoint(v[AEnv.Options.TargetPart].Position)
					local Distance = (Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2(Vector.X, Vector.Y)).Magnitude
					if Distance < ReqDistance and OnScreen then
						ReqDistance = Distance
						AEnv.Options.Targeted = v
					end
				end
			end
		end
		if not AEnv.Options.CitizenCheck then
			for _, v in (Workspace.Citizens:GetChildren()) do
				if v ~= nil and v:IsA("Model") and v:FindFirstChild(AEnv.Options.TargetPart) ~= nil and v:FindFirstChildOfClass("Humanoid") ~= nil then
					if AEnv.Options.VisibleCheck and #(Camera:GetPartsObscuringTarget({v[AEnv.Options.TargetPart].Position}, v:GetDescendants())) ~= 0 then continue end
					local Vector, OnScreen = Camera:WorldToViewportPoint(v[AEnv.Options.TargetPart].Position)
					local Distance = (Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2(Vector.X, Vector.Y)).Magnitude
					if Distance < ReqDistance and OnScreen then
						ReqDistance = Distance
						AEnv.Options.Targeted = v
					end
				end
			end
		end
	elseif AEnv.Options.Targeted:FindFirstChildOfClass("Humanoid") == nil or AEnv.Options.Targeted.Humanoid.Health == 0 or (Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2(Camera:WorldToViewportPoint(AEnv.Options.Targeted[AEnv.Options.TargetPart].Position).X, Camera:WorldToViewportPoint(AEnv.Options.Targeted[AEnv.Options.TargetPart].Position).Y)).Magnitude > ReqDistance then
		AEnv.Options.Targeted = nil
	end
	if not SAEnv.Options.Targeted then
		SAReqDistance = SAEnv.Options.FOVRadius

		for _, v in (Workspace.Police:GetChildren()) do
			if v ~= nil and v:IsA("Model") and v:FindFirstChild(SAEnv.Options.TargetPart) ~= nil and v:FindFirstChildOfClass("Humanoid") ~= nil then
				if SAEnv.Options.VisibleCheck and #(Camera:GetPartsObscuringTarget({v[SAEnv.Options.TargetPart].Position}, v:GetDescendants())) ~= 0 then continue end
				local Vector, OnScreen = Camera:WorldToViewportPoint(v[SAEnv.Options.TargetPart].Position)
				local Distance = (Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2(Vector.X, Vector.Y)).Magnitude
				if Distance < ReqDistance and OnScreen then
					ReqDistance = Distance
					SAEnv.Options.Targeted = v
				end
			end
		end
	elseif SAEnv.Options.Targeted:FindFirstChild("HumanoidRootPart") == nil or SAEnv.Options.Targeted:FindFirstChildOfClass("Humanoid") == nil or SAEnv.Options.Targeted.Humanoid.Health == 0 or (Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2(Camera:WorldToViewportPoint(SAEnv.Options.Targeted[SAEnv.Options.TargetPart].Position).X, Camera:WorldToViewportPoint(SAEnv.Options.Targeted[SAEnv.Options.TargetPart].Position).Y)).Magnitude > SAReqDistance then
		SAEnv.Options.Targeted = nil
	end
end

function Main()
	Connections.C.RenderSteppedConnection = RunService.RenderStepped:Connect(function()
		if AEnv.Options.Enabled and AEnv.Options.DrawFOV then
			AEnv.FOVCircle.Visible = true
			AEnv.FOVCircle.Color = AEnv.Options.FOVColor
			AEnv.FOVCircle.Radius = AEnv.Options.FOVRadius
			AEnv.FOVCircle.Position = Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y)
		else
			AEnv.FOVCircle.Visible = false
		end
		if AEnv.Options.Enabled and AEnv.Options.Snapline then
			AEnv.Snapline.Color = AEnv.Options.SnaplineColor
		else
			AEnv.Snapline.Visible = false
		end
		if AEnv.Options.Enabled then
			if AEnv.Options.Snapline then
				AEnv.Snapline.Color = AEnv.Options.SnaplineColor
				GetClosestCharacter()
				if AEnv.Options.Targeted ~= nil then
					AEnv.Snapline.Visible = true
					AEnv.Snapline.From = Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y)
					AEnv.Snapline.To = Vector2(Camera:WorldToViewportPoint(AEnv.Options.Targeted[AEnv.Options.TargetPart].Position).X, Camera:WorldToViewportPoint(AEnv.Options.Targeted[AEnv.Options.TargetPart].Position).Y)
				else
					AEnv.Snapline.Visible = false
				end
			else
				AEnv.Snapline.Visible = false
			end
			if AEnv.Options.KeyPressed then
				GetClosestCharacter()
				if AEnv.Options.Targeted ~= nil then
					if AEnv.Options.mousemoverel then
						AEnv.Options.mousemoverelsens = math.clamp(AEnv.Options.mousemoverelsens, 0.1, 5)

						local Vector = Camera:WorldToViewportPoint(AEnv.Options.Targeted[AEnv.Options.TargetPart].Position)
						mousemoverel((Vector.X - UserInputService:GetMouseLocation().X) * AEnv.Options.mousemoverelsens, (Vector.Y - UserInputService:GetMouseLocation().Y) * AEnv.Options.mousemoverelsens)
					else
						if AEnv.Options.Smoothing > 0 then
							AEnv.Options.Tween = TweenService:Create(Camera, TweenInfo.new(AEnv.Options.Smoothing, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {CFrame = CFrame.new(Camera.CFrame.Position, AEnv.Options.Targeted[AEnv.Options.TargetPart].Position)})
							AEnv.Options.Tween:Play()
						else
							Camera.CFrame = CFrame.new(Camera.CFrame.Position, AEnv.Options.Targeted[AEnv.Options.TargetPart].Position)
						end
					end
					if AEnv.Options.TargetedColorChange then
						AEnv.FOVCircle.Color = AEnv.Options.TargetedColor
					end
				end
			end
		end
		if SAEnv.Options.Enabled and SAEnv.Options.DrawFOV then
			SAEnv.FOVCircle.Visible = true
			SAEnv.FOVCircle.Color = SAEnv.Options.FOVColor
			SAEnv.FOVCircle.Radius = SAEnv.Options.FOVRadius
			SAEnv.FOVCircle.Position = Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y)
		else
			SAEnv.FOVCircle.Visible = false
		end
		if SAEnv.Options.Enabled then
			GetClosestCharacter()
			if SAEnv.Options.Snapline then
				SAEnv.Snapline.Color = SAEnv.Options.SnaplineColor
				if SAEnv.Options.Targeted ~= nil then
					SAEnv.Snapline.Visible = true
					SAEnv.Snapline.From = Vector2(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y)
					SAEnv.Snapline.To = Vector2(Camera:WorldToViewportPoint(SAEnv.Options.Targeted[SAEnv.Options.TargetPart].Position).X, Camera:WorldToViewportPoint(SAEnv.Options.Targeted[SAEnv.Options.TargetPart].Position).Y)
				else
					SAEnv.Snapline.Visible = false
				end
			end
		end
		if WorldUtilities.Options.Enabled then
			if WorldUtilities.Options.ChangeOutdoorAmbient then
				Lighting.OutdoorAmbient = WorldUtilities.Options.OutdoorAmbient
			else
				Lighting.OutdoorAmbient = OldAmbienceColor
			end
			if WorldUtilities.Options.ChangeClockTime then
				Lighting.ClockTime = WorldUtilities.Options.ClockTime
			else
				Lighting.ClockTime = OldClockTime
			end
			if WorldUtilities.Options.ChangeBrightness then
				Lighting.Brightness = WorldUtilities.Options.Brightness
			else
				Lighting.Brightness = OldBrightness
			end
		else
			Lighting.OutdoorAmbient = OldAmbienceColor
			Lighting.ClockTime = OldClockTime
			Lighting.Brightness = OldBrightness
		end
		if LocalModifications.Options.Enabled then
			if LocalModifications.Options.WalkspeedEnabled then
				LocalPlayer.Character:FindFirstChild("BaseSpeed").Value = LocalModifications.Options.Walkspeed
			end
			if LocalModifications.Options.InfiniteStamina then
				LocalPlayer.Character:FindFirstChild("Stamina").Value = math.huge
			end
		end
		if HE.Enabled then
			if HE.Polices then
				for _, v in ipairs(Workspace.Police:GetChildren()) do
					if v:IsA("Model") and v:FindFirstChild("HumanoidRootPart") ~= nil then
						v.HumanoidRootPart.Size = Vector3.new(2 * HE.Scale, 2 * HE.Scale, 1 * HE.Scale)
						v.HumanoidRootPart.CanCollide = false
					end
				end
			else
				for _, v in ipairs(Workspace.Police:GetChildren()) do
					if v:IsA("Model") and v:FindFirstChild("HumanoidRootPart") ~= nil then
						v.HumanoidRootPart.Size = Vector3.new(2, 2, 1)
						v.HumanoidRootPart.CanCollide = true
					end
				end
			end
			if HE.Citizens then
				for _, v in ipairs(Workspace.Citizens:GetChildren()) do
					if v:IsA("Model") and v:FindFirstChild("HumanoidRootPart") ~= nil then
						v.HumanoidRootPart.Size = Vector3.new(2 * HE.Scale, 2 * HE.Scale, 1 * HE.Scale)
						v.HumanoidRootPart.CanCollide = false
					end
				end
			else
				for _, v in ipairs(Workspace.Citizens:GetChildren()) do
					if v:IsA("Model") and v:FindFirstChild("HumanoidRootPart") ~= nil then
						v.HumanoidRootPart.Size = Vector3.new(2, 2, 1)
						v.HumanoidRootPart.CanCollide = true
					end
				end
			end
		end
		if WeaponModel.Enabled then
			if WeaponModel.ChangeWeapon then
				if Camera:FindFirstChild("CameraModel") ~= nil and Camera.CameraModel:FindFirstChild("Model") ~= nil then
					for _, v in pairs(Camera.CameraModel.Model:GetDescendants()) do
						if v:IsA("BasePart") then
							v.Color = WeaponModel.WeaponColor
							v.Material = Enum.Material[WeaponModel.WeaponMaterial]
						end
					end
				end
			end
			if WeaponModel.ChangeGloves then
				if Camera:FindFirstChild("CameraModel") ~= nil and Camera.CameraModel:FindFirstChild("Left") ~= nil and Camera.CameraModel:FindFirstChild("Right") ~= nil then
					for _, v in pairs(Camera.CameraModel.Left:GetDescendants()) do
						if v.Name == "LeftGlove" and not v:IsA("Weld") then
							v.Color = WeaponModel.GloveColor
							v.Material = Enum.Material[WeaponModel.GloveMaterial]
						end
					end
					for _, v in pairs(Camera.CameraModel.Right:GetDescendants()) do
						if v.Name == "RightGlove" and not v:IsA("Weld") then
							v.Color = WeaponModel.GloveColor
							v.Material = Enum.Material[WeaponModel.GloveMaterial]
						end
					end
				end
			end
			if WeaponModel.ChangeLaser then
				if Terrain:FindFirstChild("LaserObject") ~= nil and Camera:FindFirstChild("CameraModel") ~= nil and Camera.CameraModel:FindFirstChild("Model") ~= nil then
					Terrain.LaserObject.Back.Color3 = WeaponModel.LaserColor
					Terrain.LaserObject.Front.Color3 = WeaponModel.LaserColor
					for _, v in pairs(Camera.CameraModel.Model:GetDescendants()) do
						if v.Name == "LASER_EFFECT" then
							v.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.000, WeaponModel.LaserColor), ColorSequenceKeypoint.new(1.000, WeaponModel.LaserColor)}
						end
					end					
				end
			end
		end
	end)
	Connections.C.InputBeganConnection = UserInputService.InputBegan:Connect(function(Input)
		pcall(function()
			if Input.KeyCode == Enum.KeyCode[AEnv.Options.Keybind] then	
				AEnv.Options.KeyPressed = true
			end
		end)
		pcall(function()
			if Input.UserInputType == Enum.UserInputType[AEnv.Options.Keybind] then	
				AEnv.Options.KeyPressed = true
			end
		end)
	end)
	Connections.C.InputEndedConnection = UserInputService.InputEnded:Connect(function(Input)
		pcall(function()
			if Input.KeyCode == Enum.KeyCode[AEnv.Options.Keybind] then	
				AEnv.Options.KeyPressed = false
				if AEnv.Options.Tween ~= nil then
					AEnv.Options.Tween:Cancel()
				end
			end
		end)
		pcall(function()
			if Input.UserInputType == Enum.UserInputType[AEnv.Options.Keybind] then	
				AEnv.Options.KeyPressed = false
			end
		end)
	end)
	Connections.C.SilentAimCon = Camera.CameraModel.DescendantAdded:Connect(function(erm)
		if SAEnv.Options.Enabled and SAEnv.Options.Targeted ~= nil and erm.Name == "Sound" and erm.Parent.Name == "Muzzle" and DamageRemote ~= nil then
			local Tool = LocalPlayer.Character:FindFirstChildOfClass("Tool")
			DamageRemote:FireServer("Damage", Tool, SAEnv.Options.Targeted["Humanoid"], math.huge, SAEnv.Options.Targeted[SAEnv.Options.TargetPart], Tool.Name, Vector3.new())
		end
	end)
	Connections.C.AutoAcceptPagers = Workspace.Bodies.ChildAdded:Connect(function(body)
		if AutoAcceptPagers then
			if body:IsA("Model") and body.Name == "Pager" and body:FindFirstChild("Torso") ~= nil then
				local oldposition
				oldposition = LocalPlayer.Character.HumanoidRootPart.CFrame
				task.wait()
				LocalPlayer.Character.HumanoidRootPart.CF = v.Torso.CFrame
				task.wait()
				ReplicatedStorage:FindFirstChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(body.Torso.ProximityPrompt)
				task.wait(body.Torso.ProximityPrompt.HoldDuration)
				ReplicatedStorage:FindFirstChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(body.Torso.ProximityPrompt)
				task.wait()
				LocalPlayer.Character.CFrame = oldposition
			end
		end
	end)
end

function AEnv:Exit()
	AEnv.Options.Targeted = nil
	AEnv.FOVCircle:Remove()
	AEnv.Snapline:Remove()
	AEnv = nil
end

function SAEnv:Exit()
	SAEnv.Options.Targeted = nil
	SAEnv.FOVCircle:Remove()
	SAEnv.Snapline:Remove()
	SAEnv = nil
end

function WorldUtilities:Exit()
	WorldUtilities.Options.Enabled = false
	WorldUtilities = nil
end

function LocalModifications:Exit()
	LocalModifications.Options.Enabled = false
	LocalModifications = nil
end

function Connections:Exit()
	for _, con in next, Connections.C do
		con:Disconnect()
		con = nil
	end
end

Main()

--[[
if LocalPlayer.Character ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil and LocalPlayer.Character:FindFirstChild("Health") ~= nil then	
	local ProximityPrompt = LocalPlayer.Character.HumanoidRootPart:FindFirstChildOfClass("ProximityPrompt")

	LocalPlayer.Character.Health.Changed:Connect(function()
		if SelfRevive then
			if LocalPlayer.Character.Health.Value == 0 then
				ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(ProximityPrompt)
				task.wait(0.1)
				ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(ProximityPrompt)
			end
		end
	end)
else
	LocalPlayer.CharacterAdded:Connect(function()
		if LocalPlayer.Character ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil and LocalPlayer.Character:FindFirstChild("Health") ~= nil then
			local ProximityPrompt = LocalPlayer.Character.HumanoidRootPart:FindFirstChildOfClass("ProximityPrompt")

			LocalPlayer.Character.Health.Changed:Connect(function(property)
				if SelfRevive then
					if LocalPlayer.Character.Health.Value == 0 then
						ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(ProximityPrompt)
						task.wait(0.1)
						ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(ProximityPrompt)
					end
				end
			end)
		end
	end)
end]]

Utility.Settings = {
	Line = {
		Thickness = 1,
		Color = Color3.fromRGB(0, 255, 0)
	},
	Circle = {
		Radius = 15,
		Color = Color3.fromRGB(255, 255, 255),
		Filled = true,
		Thickness = 2
	},
	Text = {
		Size = 13,
		Center = true,
		Outline = true,
		Font = Drawing.Fonts.Plex,
		Color = Color3.fromRGB(255, 255, 255)
	},
	Square = {
		Thickness = 1,
		Color = ESP.BoxColor,
		Filled = false,
	},
	Triangle = {
		Color = Color3.fromRGB(255, 255, 255),
		Filled = true,
		Visible = false,
		Thickness = 1,
	}
}
function Utility.New(Type, Outline, Name)
	local drawing = Drawing.new(Type)
	for i, v in pairs(Utility.Settings[Type]) do
		drawing[i] = v
	end
	if Outline then
		drawing.Color = Color3.new(0,0,0)
		drawing.Thickness = 2
	end
	return drawing
end
function Utility.Add(Char)
	if not Drawings[Char] then
		Drawings[Char] = {
			Offscreen = Utility.New("Triangle", nil, "Offscreen"),
			Name = Utility.New("Text", nil, "Name"),
			Tool = Utility.New("Text", nil, "Tool"),
			Distance = Utility.New("Text", nil, "Distance"),
			BoxOutline = Utility.New("Square", true, "BoxOutline"),
			Box = Utility.New("Square", nil, "Box"),
			HealthOutline = Utility.New("Line", true, "HealthOutline"),
			Health = Utility.New("Line", nil, "Health")
		}
	end
end

for _, Police in ipairs(Workspace.Police:GetChildren()) do	
	if Police ~= nil then
		Utility.Add(Police)
	end
end
for _, Citizen in ipairs(Workspace.Citizens:GetChildren()) do	
	if Citizen ~= nil then
		Utility.Add(Citizen)
	end
end
for _, Player in ipairs(Workspace.Criminals:GetChildren()) do
	if Player ~= LocalPlayer.Character then
		Utility.Add(Player)
	end
end
ESP.Connections.PoliceAdded = Workspace.Police.ChildAdded:Connect(Utility.Add)
ESP.Connections.PoliceRemoved = Workspace.Police.ChildRemoved:Connect(function(Police)
	if Drawings[Police] then
		for i,v in pairs(Drawings[Police]) do
			v:Remove()
		end

		Drawings[Police] = nil
	end
end)
ESP.Connections.CitizenAdded = Workspace.Citizens.ChildAdded:Connect(Utility.Add)
ESP.Connections.CitizenRemoved = Workspace.Citizens.ChildRemoved:Connect(function(Citizen)
	if Drawings[Citizen] then
		for i,v in pairs(Drawings[Citizen]) do
			v:Remove()
		end

		Drawings[Citizen] = nil
	end
end)
ESP.Connections.CriminalAdded = Workspace.Criminals.ChildAdded:Connect(Utility.Add)
ESP.Connections.CriminalRemoved = Workspace.Criminals.ChildRemoved:Connect(function(Player)
	if Drawings[Player] then
		for i,v in pairs(Drawings[Player]) do
			v:Remove()
		end

		Drawings[Player] = nil
	end
end)

ESP.Connections.ESPLoop = RunService.RenderStepped:Connect(function()
	for _, Police in pairs(Workspace.Police:GetChildren()) do
		local PoliceDrawing = Drawings[Police]
		if not PoliceDrawing then continue end

		for _, Drawing in pairs(PoliceDrawing) do
			Drawing.Visible = false
		end

		local Character = Police
		local RootPart, Humanoid = Character and Character:FindFirstChild("HumanoidRootPart"), Character and Character:FindFirstChildOfClass("Humanoid")
		if not Character or not RootPart or not Humanoid then continue end

		local DistanceFromCharacter = (Camera.CFrame.Position - RootPart.Position).Magnitude
		if ESP.MaxDistance < DistanceFromCharacter then continue end

		local Pos, OnScreen = Camera:WorldToViewportPoint(RootPart.Position)
		if OnScreen then
			local Size           = (Camera:WorldToViewportPoint(RootPart.Position - Vector3.new(0, 3, 0)).Y - Camera:WorldToViewportPoint(RootPart.Position + Vector3.new(0, 2.6, 0)).Y) / 2
			local BoxSize        = Vector2(math.floor(Size * 1.5), math.floor(Size * 1.9))
			local BoxPos         = Vector2(math.floor(Pos.X - Size * 1.5 / 2), math.floor(Pos.Y - Size * 1.6 / 2))

			local Name           = PoliceDrawing.Name
			local Tool           = PoliceDrawing.Tool
			local Distance       = PoliceDrawing.Distance
			local Box            = PoliceDrawing.Box
			local BoxOutline     = PoliceDrawing.BoxOutline
			local Health         = PoliceDrawing.Health
			local HealthOutline  = PoliceDrawing.HealthOutline

			if not ESP.Police.Enabled then continue end

			if ESP.Police.Box then
				Box.Size = BoxSize
				Box.Position = BoxPos
				Box.Visible = true
				Box.Color = ESP.Police.BoxColor
				Box.ZIndex = 1

				BoxOutline.Size = BoxSize
				BoxOutline.Position = BoxPos
				BoxOutline.Visible = true
				BoxOutline.ZIndex = 0
			end

			if ESP.Police.Health then
				Health.From = Vector2((BoxPos.X - 5), BoxPos.Y + BoxSize.Y)
				Health.To = Vector2(Health.From.X, Health.From.Y - (Humanoid.Health / Humanoid.MaxHealth) * BoxSize.Y)
				Health.Color = ESP.Police.HealthColor
				Health.Visible = true
				Health.ZIndex = 1

				HealthOutline.From = Vector2(Health.From.X, BoxPos.Y + BoxSize.Y + 1)
				HealthOutline.To = Vector2(Health.From.X, (Health.From.Y - 1 * BoxSize.Y) -1)
				HealthOutline.Visible = true
				HealthOutline.ZIndex = 0
			end

			if ESP.Police.Name then
				Name.Text = "Police"
				Name.Position = Vector2(BoxSize.X / 2 + BoxPos.X, BoxPos.Y - 16)
				Name.Color = ESP.Police.NameColor
				Name.Font = Drawing.Fonts[ESP.Police.Font]
				Name.Visible = true
			end

			if ESP.Police.Indicators.Enabled then
				local BottomOffset = BoxSize.Y + BoxPos.Y + 1
				if ESP.Police.Indicators.Tools then
					local EquippedTool = Character:FindFirstChildOfClass("Tool")
					local Name = EquippedTool and EquippedTool.Name or "None"
					Tool.Text = Name
					Tool.Position = Vector2(BoxSize.X/2 + BoxPos.X, BottomOffset)
					Tool.Color = ESP.Police.IndicatorsColor
					Tool.Font = Drawing.Fonts[ESP.Police.Font]
					Tool.Visible = true
					BottomOffset = BottomOffset + 15
				end

				if ESP.Police.Indicators.Distance then
					Distance.Text = math.floor(DistanceFromCharacter).."m"
					Distance.Position = Vector2(BoxSize.X/2 + BoxPos.X, BottomOffset)
					Distance.Color = ESP.Police.IndicatorsColor
					Distance.Font = Drawing.Fonts[ESP.Police.Font]
					Distance.Visible = true

					BottomOffset = BottomOffset + 15
				end
			end
		end
	end
	for _, Citizen in pairs(Workspace.Citizens:GetChildren()) do
		local CitizenDrawing = Drawings[Citizen]
		if not CitizenDrawing then continue end

		for _, Drawing in pairs(CitizenDrawing) do
			Drawing.Visible = false
		end

		local Character = Citizen
		local RootPart, Humanoid = Character and Character:FindFirstChild("HumanoidRootPart"), Character and Character:FindFirstChildOfClass("Humanoid")
		if not Character or not RootPart or not Humanoid then continue end

		local DistanceFromCharacter = (Camera.CFrame.Position - RootPart.Position).Magnitude
		if ESP.MaxDistance < DistanceFromCharacter then continue end

		local Pos, OnScreen = Camera:WorldToViewportPoint(RootPart.Position)
		if OnScreen then
			local Size           = (Camera:WorldToViewportPoint(RootPart.Position - Vector3.new(0, 3, 0)).Y - Camera:WorldToViewportPoint(RootPart.Position + Vector3.new(0, 2.6, 0)).Y) / 2
			local BoxSize        = Vector2(math.floor(Size * 1.5), math.floor(Size * 1.9))
			local BoxPos         = Vector2(math.floor(Pos.X - Size * 1.5 / 2), math.floor(Pos.Y - Size * 1.6 / 2))

			local Name           = CitizenDrawing.Name
			local Tool           = CitizenDrawing.Tool
			local Distance       = CitizenDrawing.Distance
			local Box            = CitizenDrawing.Box
			local BoxOutline     = CitizenDrawing.BoxOutline
			local Health         = CitizenDrawing.Health
			local HealthOutline  = CitizenDrawing.HealthOutline

			if not ESP.Citizen.Enabled then continue end

			if ESP.Citizen.Box then
				Box.Size = BoxSize
				Box.Position = BoxPos
				Box.Visible = true
				Box.Color = ESP.Citizen.BoxColor
				Box.ZIndex = 1

				BoxOutline.Size = BoxSize
				BoxOutline.Position = BoxPos
				BoxOutline.Visible = true
				BoxOutline.ZIndex = 0
			end

			if ESP.Citizen.Health then
				Health.From = Vector2((BoxPos.X - 5), BoxPos.Y + BoxSize.Y)
				Health.To = Vector2(Health.From.X, Health.From.Y - (Humanoid.Health / Humanoid.MaxHealth) * BoxSize.Y)
				Health.Color = ESP.Citizen.HealthColor
				Health.Visible = true
				Health.ZIndex = 1

				HealthOutline.From = Vector2(Health.From.X, BoxPos.Y + BoxSize.Y + 1)
				HealthOutline.To = Vector2(Health.From.X, (Health.From.Y - 1 * BoxSize.Y) -1)
				HealthOutline.Visible = true
				HealthOutline.ZIndex = 0
			end

			if ESP.Citizen.Name then
				Name.Text = "Citizen"
				Name.Position = Vector2(BoxSize.X / 2 + BoxPos.X, BoxPos.Y - 16)
				Name.Color = ESP.Citizen.NameColor
				Name.Font = Drawing.Fonts[ESP.Citizen.Font]
				Name.Visible = true
			end

			if ESP.Citizen.Indicators.Enabled then
				local BottomOffset = BoxSize.Y + BoxPos.Y + 1
				if ESP.Citizen.Indicators.Tools then
					local EquippedTool = Character:FindFirstChildOfClass("Tool")
					local Name = EquippedTool and EquippedTool.Name or "None"
					Tool.Text = Name
					Tool.Position = Vector2(BoxSize.X/2 + BoxPos.X, BottomOffset)
					Tool.Color = ESP.Citizen.IndicatorsColor
					Tool.Font = Drawing.Fonts[ESP.Citizen.Font]
					Tool.Visible = true
					BottomOffset = BottomOffset + 15
				end

				if ESP.Citizen.Indicators.Distance then
					Distance.Text = math.floor(DistanceFromCharacter).."m"
					Distance.Position = Vector2(BoxSize.X/2 + BoxPos.X, BottomOffset)
					Distance.Color = ESP.Citizen.IndicatorsColor
					Distance.Font = Drawing.Fonts[ESP.Citizen.Font]
					Distance.Visible = true

					BottomOffset = BottomOffset + 15
				end
			end
		end
	end
	for _, Player in pairs(Workspace.Criminals:GetChildren()) do
		local PlayerDrawing = Drawings[Player]
		if not PlayerDrawing then continue end

		for _, Drawing in pairs(PlayerDrawing) do
			Drawing.Visible = false
		end

		local Character = Player
		local RootPart, Humanoid = Character and Character:FindFirstChild("HumanoidRootPart"), Character and Character:FindFirstChildOfClass("Humanoid")
		if not Character or not RootPart or not Humanoid then continue end

		local DistanceFromCharacter = (Camera.CFrame.Position - RootPart.Position).Magnitude
		if ESP.MaxDistance < DistanceFromCharacter then continue end

		local Pos, OnScreen = Camera:WorldToViewportPoint(RootPart.Position)
		if OnScreen then
			local Size           = (Camera:WorldToViewportPoint(RootPart.Position - Vector3.new(0, 3, 0)).Y - Camera:WorldToViewportPoint(RootPart.Position + Vector3.new(0, 2.6, 0)).Y) / 2
			local BoxSize        = Vector2(math.floor(Size * 1.5), math.floor(Size * 1.9))
			local BoxPos         = Vector2(math.floor(Pos.X - Size * 1.5 / 2), math.floor(Pos.Y - Size * 1.6 / 2))

			local Name           = PlayerDrawing.Name
			local Tool           = PlayerDrawing.Tool
			local Distance       = PlayerDrawing.Distance
			local Box            = PlayerDrawing.Box
			local BoxOutline     = PlayerDrawing.BoxOutline
			local Health         = PlayerDrawing.Health
			local HealthOutline  = PlayerDrawing.HealthOutline

			if not ESP.Player.Enabled then continue end

			if ESP.Player.Box then
				Box.Size = BoxSize
				Box.Position = BoxPos
				Box.Visible = true
				Box.Color = ESP.Player.BoxColor
				Box.ZIndex = 1

				BoxOutline.Size = BoxSize
				BoxOutline.Position = BoxPos
				BoxOutline.Visible = true
				BoxOutline.ZIndex = 0
			end

			if ESP.Player.Health then
				Health.From = Vector2((BoxPos.X - 5), BoxPos.Y + BoxSize.Y)
				Health.To = Vector2(Health.From.X, Health.From.Y - (Player.Health.Value / Player.Health.Total.Value) * BoxSize.Y)
				Health.Color = ESP.Player.HealthColor
				Health.Visible = true
				Health.ZIndex = 1

				HealthOutline.From = Vector2(Health.From.X, BoxPos.Y + BoxSize.Y + 1)
				HealthOutline.To = Vector2(Health.From.X, (Health.From.Y - 1 * BoxSize.Y) -1)
				HealthOutline.Visible = true
				HealthOutline.ZIndex = 0
			end

			if ESP.Player.Name then
				local PlayerName = ""

				if ESP.Player.NameType == "Username" then
					PlayerName = Player.Name
				else
					PlayerName = Humanoid.DisplayName
				end

				Name.Text = PlayerName
				Name.Position = Vector2(BoxSize.X / 2 + BoxPos.X, BoxPos.Y - 16)
				Name.Color = ESP.Player.NameColor
				Name.Font = Drawing.Fonts[ESP.Player.Font]
				Name.Visible = true
			end

			if ESP.Player.Indicators.Enabled then
				local BottomOffset = BoxSize.Y + BoxPos.Y + 1
				if ESP.Player.Indicators.Tools then
					local EquippedTool = Character:FindFirstChildOfClass("Tool")
					local Name = EquippedTool and EquippedTool.Name or "None"
					Tool.Text = Name
					Tool.Position = Vector2(BoxSize.X/2 + BoxPos.X, BottomOffset)
					Tool.Color = ESP.Player.IndicatorsColor
					Tool.Font = Drawing.Fonts[ESP.Player.Font]
					Tool.Visible = true
					BottomOffset = BottomOffset + 15
				end

				if ESP.Player.Indicators.Distance then
					Distance.Text = math.floor(DistanceFromCharacter).."m"
					Distance.Position = Vector2(BoxSize.X/2 + BoxPos.X, BottomOffset)
					Distance.Color = ESP.Player.IndicatorsColor
					Distance.Font = Drawing.Fonts[ESP.Player.Font]
					Distance.Visible = true

					BottomOffset = BottomOffset + 15
				end
			end
		end
	end
end)

ProximityPromptService.PromptButtonHoldBegan:Connect(function(prompt)
	if SilentInteraction then
		ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(prompt)
		task.wait(prompt.HoldDuration)
		ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(prompt)
	end
end)

local Window = Library:CreateWindow({
	Title = 'Notreality \240\159\146\148 | discord.gg/rinnshub',
	Center = true,
	AutoShow = true,
	TabPadding = 8,
	MenuFadeTime = 0.2
})

local Tabs = {
	Main = Window:AddTab("Main"),
	Visuals = Window:AddTab("Visuals"),
	Local = Window:AddTab("Local"),
	Misc = Window:AddTab("Misc"),
	World = Window:AddTab('World'),
	Settings = Window:AddTab("Settings")
}

local AimbotGroup = Tabs.Main:AddLeftGroupbox("Aimbot")
local SilentAimGroup = Tabs.Main:AddRightGroupbox("Silent Aim")
local HitboxExpanderGroup = Tabs.Main:AddLeftGroupbox('Hitbox Expander')
local AutoCollectLootablesGroup = Tabs.Main:AddLeftGroupbox('Auto Collect Lootables')
local KillAllGroup = Tabs.Main:AddRightGroupbox("Kill All")
--local SelfReviveGroup = Tabs.Main:AddRightGroupbox('Self Revive')
local AntiAimGroup = Tabs.Main:AddRightGroupbox('Anti Aim')
local CreditsGroup = Tabs.Main:AddRightGroupbox('Credits')

local PoliceESPGroup = Tabs.Visuals:AddLeftGroupbox('PoliceESP')
local CitizenESPGroup = Tabs.Visuals:AddRightGroupbox('CitizenESP')
local PlayerESPGroup = Tabs.Visuals:AddLeftGroupbox('PlayerESP')
local WeaponModelChangerGroup = Tabs.Visuals:AddRightGroupbox('Weapon Model Changer')

local LocalModificationsGroup = Tabs.Local:AddLeftGroupbox('Humanoid Modifications')

local AutosGroup = Tabs.Misc:AddLeftGroupbox('Auto')
local DisableCameraGroup = Tabs.Misc:AddRightGroupbox('Disable cameras by powerbox')
local YellAtCitizensGroup = Tabs.Misc:AddRightGroupbox('Yell at citizens')

local LightingGroup = Tabs.World:AddLeftGroupbox("Lighting Modifier")
--local RemoveCorpsesGroup = Tabs.World:AddRightGroupbox('Remove Corpses')

AimbotGroup:AddToggle('AimbotEnabled', {
	Text = 'Enabled',
	Default = AEnv.Options.Enabled,
	Tooltip = 'Enable/Disable aimbot',

	Callback = function(Value)
		AEnv.Options.Enabled = Value
	end
})

AimbotGroup:AddInput('AimbotKeybind', {
	Default = AEnv.Options.Keybind,
	Numeric = false,
	Finished = false,

	Text = 'Aimbot Keybind',
	Tooltip = 'Allows you to change the keybind of the Aimbot',
	Placeholder = 'Aimbot Keybind',

	Callback = function(Value)
		AEnv.Options.Keybind = Value
	end
})

AimbotGroup:AddDropdown('TargetPart', {
	Values = { 'Head', 'Torso', 'HumanoidRootPart', 'Left Arm', 'Right Arm', 'Left Leg', 'Right Leg' },
	Default = AEnv.Options.TargetPart,
	Multi = false,

	Text = 'AimPart',
	Tooltip = 'AimPart of Aimbot',

	Callback = function(Value)
		AEnv.Options.TargetPart = Value
	end
})

AimbotGroup:AddSlider('Smoothness', {
	Text = 'Smoothness',
	Max = 1,
	Default = AEnv.Options.Smoothing,
	Min = 0,
	Rounding = 3,

	Callback = function(Value)
		AEnv.Options.Smoothing = Value
	end
})

AimbotGroup:AddDivider()

AimbotGroup:AddToggle('DrawAimbotFOV', {
	Text = 'DrawFOV',
	Default = AEnv.Options.DrawFOV,
	Tooltip = 'Enable/Disable FOV circle',

	Callback = function(Value)
		AEnv.Options.DrawFOV = Value
	end
}):AddColorPicker('FovColor', {
	Default = AEnv.Options.FOVColor,
	Title = 'FOV Color',
	Transparency = nil,

	Callback = function(Value)
		AEnv.Options.FOVColor = Value
	end
})

AimbotGroup:AddToggle('TargetAimbotColorToggle', {
	Text = 'Change Color on Locked',
	Default = AEnv.Options.TargetedColorChange,
	Tooltip = 'Changes the Color of the FOV when locked on something',

	Callback = function(Value)
		AEnv.Options.TargetedColorChange = Value
	end
}):AddColorPicker('TargetedFovColor', {
	Default = AEnv.Options.TargetedColor,
	Title = 'Locked FOV Color',
	Transparency = nil,

	Callback = function(Value)
		AEnv.Options.TargetedColor = Value
	end
})

AimbotGroup:AddSlider('FOVRadius', {
	Text = 'FOV Radius',
	Max = 1000,
	Default = AEnv.Options.FOVRadius,
	Min = 0,
	Rounding = 0,

	Callback = function(Value)
		AEnv.Options.FOVRadius = Value
	end
})

AimbotGroup:AddToggle('AimbotSnapline', {
	Text = 'Snaplines',
	Default = AEnv.Options.Snapline,
	Tooltip = 'Draws line to the target',

	Callback = function(Value)
		AEnv.Options.Snapline = Value
	end
}):AddColorPicker('SnaplineColor', {
	Default = AEnv.Options.SnaplineColor,
	Title = 'FOV Color',
	Transparency = nil,

	Callback = function(Value)
		AEnv.Options.SnaplineColor = Value
	end
})

AimbotGroup:AddDivider()

AimbotGroup:AddToggle('AimbotVisibleCheck', {
	Text = 'Visible Check',
	Default = AEnv.Options.VisibleCheck,
	Tooltip = 'Checks if there is something blocking the part',

	Callback = function(Value)
		AEnv.Options.VisibleCheck = Value
	end
})

AimbotGroup:AddToggle('AimbotAliveCheck', {
	Text = 'Alive Check',
	Default = AEnv.Options.AliveCheck,
	Tooltip = 'Checks if the target is alive',

	Callback = function(Value)
		AEnv.Options.AliveCheck = Value
	end
})

AimbotGroup:AddToggle('AimbotPoliceCheck', {
	Text = 'Police Check',
	Default = AEnv.Options.PoliceCheck,
	Tooltip = 'Checks if the target is a police',

	Callback = function(Value)
		AEnv.Options.PoliceCheck = Value
	end
})

AimbotGroup:AddToggle('AimbotCitizenCheck', {
	Text = 'Citizen Check',
	Default = AEnv.Options.CitizenCheck,
	Tooltip = 'Checks if the target is a citizen',

	Callback = function(Value)
		AEnv.Options.CitizenCheck = Value
	end
})

AimbotGroup:AddDivider()

if mousemoverel then
	AimbotGroup:AddToggle('Aimbotmousemoverel', {
		Text = 'Use mousemoverel',
		Default = AEnv.Options.mousemoverel,
		Tooltip = 'Uses mousemoverel to aimbot instead of camera CFrame',

		Callback = function(Value)
			AEnv.Options.mousemoverel = Value
		end
	})

	AimbotGroup:AddSlider('mousemoverelSensitivity', {
		Text = 'mousemoverel Sensitivity',
		Max = 5,
		Default = AEnv.Options.mousemoverelsens,
		Min = 0.1,
		Rounding = 1,

		Callback = function(Value)
			AEnv.Options.mousemoverelsens = Value
		end
	})
else
	AimbotGroup:AddLabel('Your exploit does not support the function "mousemoverel". Because of that, mousemoverel features has been hidden', true)
end

SilentAimGroup:AddToggle('SilentAimEnabled', {
	Text = 'Enabled',
	Default = SAEnv.Options.Enabled,
	Tooltip = 'Enable/Disable Silent Aim',

	Callback = function(Value)
		SAEnv.Options.Enabled = Value
	end
})

SilentAimGroup:AddDropdown('SilentAimTargetPart', {
	Values = { 'Head', 'Torso', 'HumanoidRootPart', 'Left Arm', 'Right Arm', 'Left Leg', 'Right Leg' },
	Default = SAEnv.Options.TargetPart,
	Multi = false,

	Text = 'AimPart',
	Tooltip = 'AimPart of SilentAim',

	Callback = function(Value)
		SAEnv.Options.TargetPart = Value
	end
})

SilentAimGroup:AddDivider()

SilentAimGroup:AddToggle('DrawSilentAimFOV', {
	Text = 'DrawFOV',
	Default = SAEnv.Options.DrawFOV,
	Tooltip = 'Enable/Disable FOV circle',

	Callback = function(Value)
		SAEnv.Options.DrawFOV = Value
	end
}):AddColorPicker('SilentAimFovColor', {
	Default = SAEnv.Options.FOVColor,
	Title = 'FOV Color',
	Transparency = nil,

	Callback = function(Value)
		SAEnv.Options.FOVColor = Value
	end
})

SilentAimGroup:AddSlider('SilentAimFOVRadius', {
	Text = 'FOV Radius',
	Max = 1000,
	Default = SAEnv.Options.FOVRadius,
	Min = 0,
	Rounding = 0,

	Callback = function(Value)
		SAEnv.Options.FOVRadius = Value
	end
})

SilentAimGroup:AddToggle('SilentAimSnapline', {
	Text = 'Snaplines',
	Default = SAEnv.Options.Snapline,
	Tooltip = 'Draws line to the target',

	Callback = function(Value)
		SAEnv.Options.Snapline = Value
	end
}):AddColorPicker('SilentAimSnaplineColor', {
	Default = SAEnv.Options.SnaplineColor,
	Title = 'FOV Color',
	Transparency = nil,

	Callback = function(Value)
		SAEnv.Options.SnaplineColor = Value
	end
})

SilentAimGroup:AddDivider()

SilentAimGroup:AddToggle('SilentAimVisibleCheck', {
	Text = 'Visible Check',
	Default = SAEnv.Options.VisibleCheck,
	Tooltip = 'Checks if there is something blocking the part',

	Callback = function(Value)
		SAEnv.Options.VisibleCheck = Value
	end
})

HitboxExpanderGroup:AddToggle('HEEnabled', {
	Text = 'Enabled',
	Default = HE.Enabled,
	Tooltip = 'Enable/Disable hitbox expander',

	Callback = function(Value)
		HE.Enabled = Value
	end
})

HitboxExpanderGroup:AddSlider('HEScale', {
	Text = 'Scale',
	Max = 50,
	Min = 1,
	Default = HE.Scale,
	Rounding = 1,

	Callback = function(Value)
		HE.Scale = Value
	end
})

HitboxExpanderGroup:AddDivider()

HitboxExpanderGroup:AddToggle('HEPolices', {
	Text = 'Polices',
	Default = HE.Polices,
	Tooltip = 'Changes the hitboxes of Polices',

	Callback = function(Value)
		HE.Polices = Value
	end
})

HitboxExpanderGroup:AddToggle('HECitizens', {
	Text = 'Citizens',
	Default = HE.Citizens,
	Tooltip = 'Changes the hitboxes of Citizens',

	Callback = function(Value)
		HE.Citizens = Value
	end
})

KillAllGroup:AddToggle('KillAllEnabled', {
	Text = 'Enabled',
	Default = KillAll.Enabled,
	Tooltip = 'Enable/Disable Kill All',

	Callback = function(Value)
		KillAll.Enabled = Value
		if Value then
			while WaitForSomeone(RenderStepped) do
				if KillAll.Enabled then
					local Tool = LocalPlayer.Character:FindFirstChildOfClass("Tool")
					if Tool ~= nil then
						for _, model in ipairs(Workspace:FindFirstChild("Police"):GetChildren()) do
							if model ~= nil and model:IsA("Model") and model:FindFirstChild(KillAll.TargetPart) ~= nil and model:FindFirstChildOfClass("Humanoid") ~= nil and DamageRemote ~= nil then
								DamageRemote:FireServer("Damage", Tool, model.Humanoid, math.huge, model[KillAll.TargetPart], Tool.Name, Vector3.new())
							end
						end
						task.wait()
					end
				else
					break
				end
			end
		end
	end
})

KillAllGroup:AddDropdown('KillAllTargetPart', {
	Values = { 'Head', 'Torso', 'HumanoidRootPart', 'Left Arm', 'Right Arm', 'Left Leg', 'Right Leg' },
	Default = KillAll.TargetPart,
	Multi = false,

	Text = 'Target Part',
	Tooltip = 'Changes the part where it hits',

	Callback = function(Value)
		KillAll.TargetPart = Value
	end
})

--[[
SelfReviveGroup:AddToggle('SelfReviveEnabled', {
	Text = 'Enabled',
	Default = SelfRevive,
	Tooltip = 'Enable/Disable Self Revive',

	Callback = function(Value)
		SelfRevive = Value
		if Value and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil and LocalPlayer.Character:FindFirstChild("Health") ~= nil and LocalPlayer.Character.HumanoidRootPart:FindFirstChildOfClass("ProximityPrompt") ~= nil then
			ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(LocalPlayer.Character.HumanoidRootPart:FindFirstChildOfClass("ProximityPrompt"))
			task.wait(0.1)
			ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(LocalPlayer.Character.HumanoidRootPart:FindFirstChildOfClass("ProximityPrompt"))
		end
	end
})]]

AntiAimGroup:AddToggle('AntiAimEnabled', {
	Text = 'Enabled',
	Default = AAEnv.Options.Enabled,
	Tooltip = 'Enabled/Disable Anti Aim',

	Callback = function(Value)
		AAEnv.Options.Enabled = Value
		if Value then
			while WaitForSomeone(RenderStepped) do
				if AAEnv.Options.Enabled then
					if AAEnv.Options.CustomValues then
						ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("LookVector"):FireServer(Vector3.new(AAEnv.Options.X, AAEnv.Options.Y, AAEnv.Options.Z), 0)
					else
						ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("LookVector"):FireServer(Vector3.new(math.huge), 0)
					end
				else
					break
				end
			end
		end
	end
})

AntiAimGroup:AddToggle('AntiAimCustomValues', {
	Text = 'Custom Values',
	Default = AAEnv.Options.CustomValues,
	Tooltip = "Not recommended to turn this feature on if you don't know what you are doing",

	Callback = function(Value)
		AAEnv.Options.CustomValues = Value
	end
})

AntiAimGroup:AddSlider('AntiAimX', {
	Text = 'Custom X Vector',
	Max = 360,
	Default = AAEnv.Options.X,
	Min = -360,
	Rounding = 0,

	Callback = function(Value)
		AAEnv.Options.X = Value
	end
})

AntiAimGroup:AddSlider('AntiAimY', {
	Text = 'Custom Y Vector',
	Max = 360,
	Default = AAEnv.Options.Y,
	Min = -360,
	Rounding = 0,

	Callback = function(Value)
		AAEnv.Options.Y = Value
	end
})

AntiAimGroup:AddSlider('AntiAimZ', {
	Text = 'Custom Z Vector',
	Max = 360,
	Default = AAEnv.Options.Z,
	Min = -360,
	Rounding = 0,

	Callback = function(Value)
		AAEnv.Options.Z = Value
	end
})

CreditsGroup:AddLabel('Made by kylosilly and netpa!', true)

CreditsGroup:AddButton({
	Text = 'Copy discord invite',
	Func = function()
		setclipboard("discord.gg/rinnshub")
	end,
	DoubleClick = false,
	Tooltip = 'Join our discord server!'
})

--[[]
AutoCollectLootablesGroup:AddButton({
	Text = 'Collect Small Loot',
	Func = function()
		if Workspace:FindFirstChild("Map") ~= nil and Workspace.Map:WaitForChild("SmallLoot") ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil then
			for _, v in ipairs(Workspace.Map.SmallLoot:GetDescendants()) do
				if v:IsA("ProximityPrompt") then
					local oldposition
					oldposition = LocalPlayer.Character.HumanoidRootPart.CFrame
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = v.Parent.CFrame
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(v)
					task.wait(v.HoldDuration)
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(v)
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = oldposition
				end
			end
		else
			Library:Notify('There are no small loots in the current map.')
		end
	end,
	DoubleClick = false,
	Tooltip = 'Collects small loots'
})

AutoCollectLootablesGroup:AddButton({
	Text = 'Collect Big Loot',
	Func = function()
		if Workspace:FindFirstChild("Map") ~= nil and Workspace.Map:WaitForChild("BigLoot") ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil then
			for _, v in ipairs(Workspace.Map.BigLoot:GetDescendants()) do
				if v:IsA("ProximityPrompt") then
					local oldposition
					oldposition = LocalPlayer.Character.HumanoidRootPart.CFrame
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = v.Parent.CFrame
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(v)
					task.wait(v.HoldDuration)
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(v)
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = oldposition
				end
			end
		else
			Library:Notify('There are no big loots in the current map.')
		end
	end,
	DoubleClick = false,
	Tooltip = 'Collects big loots'
})

AutoCollectLootablesGroup:AddButton({
	Text = 'Collect Lootables',
	Func = function()
		if Workspace:FindFirstChild("Lootables") ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil then
			for _, v in ipairs(Workspace.Lootables:GetDescendants()) do
				if v:IsA("ProximityPrompt") then
					local oldposition
					oldposition = LocalPlayer.Character.HumanoidRootPart.CFrame
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = v.Parent.CFrame
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(v)
					task.wait(v.HoldDuration)
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(v)
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = oldposition
				end
			end
		else
			Library:Notify('There are no lootables in the current map.')
		end
	end,
	DoubleClick = false,
	Tooltip = 'Collects lootables'
})

AutoCollectLootablesGroup:AddButton({
	Text = 'Collect Keys',
	Func = function()
		if Workspace:FindFirstChild("Map") ~= nil and Workspace.Map:WaitForChild("Keys") ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil then
			for _, v in ipairs(Workspace.Map.Keys:GetDescendants()) do
				if v:IsA("ProximityPrompt") then
					local oldposition
					oldposition = LocalPlayer.Character.HumanoidRootPart.CFrame
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = v.Parent.CFrame
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(v)
					task.wait(v.HoldDuration)
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(v)
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = oldposition
				end
			end
		else
			Library:Notify('There are no keys in the current map.')
		end
	end,
	DoubleClick = false,
	Tooltip = 'Collects keys'
})

AutoCollectLootablesGroup:AddButton({
	Text = 'Collect Crates',
	Func = function()
		if Workspace:FindFirstChild("Map") ~= nil and Workspace.Map:WaitForChild("Crates") ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil then
			for _, v in ipairs(Workspace.Map.Crates:GetDescendants()) do
				if v:IsA("ProximityPrompt") then
					local oldposition
					oldposition = LocalPlayer.Character.HumanoidRootPart.CFrame
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = v.Parent.CFrame
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(v)
					task.wait(v.HoldDuration)
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(v)
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = oldposition
				end
			end
		else
			Library:Notify('There are no crates in the current map.')
		end
	end,
	DoubleClick = false,
	Tooltip = 'Collects crates'
})

AutoCollectLootablesGroup:AddButton({
	Text = 'Collect Safes',
	Func = function()
		if Workspace:FindFirstChild("SafeSpots") ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil then
			for _, v in ipairs(Workspace.SafeSpots:GetDescendants()) do
				if v:IsA("ProximityPrompt") then
					local oldposition
					oldposition = LocalPlayer.Character.HumanoidRootPart.CFrame
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = v.Parent.CFrame
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(v)
					task.wait(v.HoldDuration)
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(v)
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = oldposition
				end
			end
		else
			Library:Notify('There are no safes in the current map.')
		end
	end,
	DoubleClick = false,
	Tooltip = 'Collects safes'
})
]]

AutoCollectLootablesGroup:AddButton({
	Text = 'Teleport all bags to safezone',
	Func = function()
		if Workspace:FindFirstChild("Bags") ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil and Workspace:FindFirstChild("BagSecuredArea") ~= nil then
			for _, bags in ipairs(Workspace.Bags:GetChildren()) do
				if bags:FindFirstChild("LastHeldBy").Value ~= LocalPlayer.Character then
					local oldpos
					oldpos = LocalPlayer.Character.HumanoidRootPart.CFrame
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = bags.MoneyBag.CFrame
					task.wait()	
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(bags.MoneyBag.ProximityPrompt)
					task.wait(0.25)
					ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(bags.MoneyBag.ProximityPrompt)
					task.wait()
					if bags.MoneyBag:FindFirstChild("BagWeld") ~= nil then
						ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("ThrowBag"):FireServer(Vector3.new())
					end
					task.wait()
					bags.PrimaryPart.CFrame = Workspace.BagSecuredArea:FindFirstChildOfClass("BasePart").CFrame
					task.wait()
					LocalPlayer.Character.HumanoidRootPart.CFrame = oldpos
				else
					if bags.MoneyBag:FindFirstChild("BagWeld") ~= nil then
						ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("ThrowBag"):FireServer(Vector3.new())
					end
					task.wait()
					bags.PrimaryPart.CFrame = Workspace.BagSecuredArea:FindFirstChildOfClass("BasePart").CFrame
				end
			end
		end
	end,
	DoubleClick = false,
	Tooltip = 'Teleports all bags to safezone, pretty self explanatory'
})

PoliceESPGroup:AddToggle('PoliceESP', {
	Text = 'Enabled',
	Default = ESP.Police.Enabled,
	Tooltip = 'Enable/Disable police ESP',

	Callback = function(Value)
		ESP.Police.Enabled = Value
	end
})

PoliceESPGroup:AddToggle('PoliceBoxESP', {
	Text = 'Box ESP',
	Default = ESP.Police.Box,
	Tooltip = 'Draws box around police',

	Callback = function(Value)
		ESP.Police.Box = Value
	end
}):AddColorPicker('PoliceBoxESPColor', {
	Default = ESP.Police.BoxColor,
	Title = 'Box ESP color',
	Transparency = 0,

	Callback = function(Value)
		ESP.Police.BoxColor = Value
	end
})

PoliceESPGroup:AddToggle('PoliceNameESP', {
	Text = 'Role',
	Default = ESP.Police.Name,
	Tooltip = 'Shows the role of the police',

	Callback = function(Value)
		ESP.Police.Name = Value
	end
}):AddColorPicker('PoliceNameESPColor', {
	Default = ESP.Police.NameColor,
	Title = 'Name ESP color',
	Transparency = 0,

	Callback = function(Value)
		ESP.Police.NameColor = Value
	end
})

PoliceESPGroup:AddToggle('PoliceHealthbar', {
	Text = 'HealthBar',
	Default = ESP.Police.Health,
	Tooltip = 'Shows the health of the police',

	Callback = function(Value)
		ESP.Police.Health = Value
	end
}):AddColorPicker('PoliceHealthbarColor', {
	Default = ESP.Police.HealthColor,
	Title = 'HealthBar Color',
	Transparency = 0,

	Callback = function(Value)
		ESP.Police.HealthColor = Value
	end
})

PoliceESPGroup:AddToggle('PoliceToolsESP', {
	Text = 'Tools',
	Default = ESP.Police.Indicators["Tools"],
	Tooltip = 'Shows the tool of the police holding',

	Callback = function(Value)
		ESP.Police.Indicators["Tools"] = Value
	end
})

PoliceESPGroup:AddToggle('PoliceDistanceESP', {
	Text = 'Distance',
	Default = ESP.Police.Indicators["Distance"],
	Tooltip = 'Shows the distance of the police',

	Callback = function(Value)
		ESP.Police.Indicators["Distance"] = Value
	end
})

PoliceESPGroup:AddLabel('Indicators color'):AddColorPicker('PoliceIndicatorsColor', {
	Default = ESP.Police.IndicatorsColor,
	Title = 'Indicators Color',
	Transparency = nil,

	Callback = function(Value)
		ESP.Police.IndicatorsColor = Value
	end
})

PoliceESPGroup:AddDropdown('PoliceESPTextFont', {
	Values = { 'Plex', 'UI', 'System', 'Monospace' },
	Default = ESP.Police.Font,
	Multi = false,

	Text = 'Text Font',
	Tooltip = 'Changes the font of the Texts on the ESP',

	Callback = function(Value)
		ESP.Police.Font = Value
	end
})

CitizenESPGroup:AddToggle('CitizenESP', {
	Text = 'Enabled',
	Default = ESP.Citizen.Enabled,
	Tooltip = 'Enable/Disable Citizen ESP',

	Callback = function(Value)
		ESP.Citizen.Enabled = Value
	end
})

CitizenESPGroup:AddToggle('CitizenBoxESP', {
	Text = 'Box ESP',
	Default = ESP.Citizen.Box,
	Tooltip = 'Draws box around Citizen',

	Callback = function(Value)
		ESP.Citizen.Box = Value
	end
}):AddColorPicker('CitizenBoxESPColor', {
	Default = ESP.Citizen.BoxColor,
	Title = 'Box ESP color',
	Transparency = 0,

	Callback = function(Value)
		ESP.Citizen.BoxColor = Value
	end
})

CitizenESPGroup:AddToggle('CitizenNameESP', {
	Text = 'Role',
	Default = ESP.Citizen.Name,
	Tooltip = 'Shows the role of the Citizen',

	Callback = function(Value)
		ESP.Citizen.Name = Value
	end
}):AddColorPicker('CitizenNameESPColor', {
	Default = ESP.Citizen.NameColor,
	Title = 'Name ESP color',
	Transparency = 0,

	Callback = function(Value)
		ESP.Citizen.NameColor = Value
	end
})

CitizenESPGroup:AddToggle('CitizenHealthbar', {
	Text = 'HealthBar',
	Default = ESP.Citizen.Health,
	Tooltip = 'Shows the health of the Citizen',

	Callback = function(Value)
		ESP.Citizen.Health = Value
	end
}):AddColorPicker('CitizenHealthbarColor', {
	Default = ESP.Citizen.HealthColor,
	Title = 'HealthBar Color',
	Transparency = 0,

	Callback = function(Value)
		ESP.Citizen.HealthColor = Value
	end
})

CitizenESPGroup:AddToggle('CitizenToolsESP', {
	Text = 'Tools',
	Default = ESP.Citizen.Indicators["Tools"],
	Tooltip = 'Shows the tool of the Citizen holding',

	Callback = function(Value)
		ESP.Citizen.Indicators["Tools"] = Value
	end
})

CitizenESPGroup:AddToggle('CitizenDistanceESP', {
	Text = 'Distance',
	Default = ESP.Citizen.Indicators["Distance"],
	Tooltip = 'Shows the distance of the Citizen',

	Callback = function(Value)
		ESP.Citizen.Indicators["Distance"] = Value
	end
})

CitizenESPGroup:AddLabel('Indicators color'):AddColorPicker('CitizenIndicatorsColor', {
	Default = ESP.Citizen.IndicatorsColor,
	Title = 'Indicators Color',
	Transparency = nil,

	Callback = function(Value)
		ESP.Citizen.IndicatorsColor = Value
	end
})

CitizenESPGroup:AddDropdown('CitizenESPTextFont', {
	Values = { 'Plex', 'UI', 'System', 'Monospace' },
	Default = ESP.Citizen.Font,
	Multi = false,

	Text = 'Text Font',
	Tooltip = 'Changes the font of the Texts on the ESP',

	Callback = function(Value)
		ESP.Citizen.Font = Value
	end
})

PlayerESPGroup:AddToggle('PlayerESP', {
	Text = 'Enabled',
	Default = ESP.Player.Enabled,
	Tooltip = 'Enable/Disable Player ESP',

	Callback = function(Value)
		ESP.Player.Enabled = Value
	end
})

PlayerESPGroup:AddToggle('PlayerBoxESP', {
	Text = 'Box ESP',
	Default = ESP.Player.Box,
	Tooltip = 'Draws box around Player',

	Callback = function(Value)
		ESP.Player.Box = Value
	end
}):AddColorPicker('PlayerBoxESPColor', {
	Default = ESP.Player.BoxColor,
	Title = 'Box ESP color',
	Transparency = 0,

	Callback = function(Value)
		ESP.Player.BoxColor = Value
	end
})

PlayerESPGroup:AddToggle('PlayerNameESP', {
	Text = 'Role',
	Default = ESP.Player.Name,
	Tooltip = 'Shows the role of the Player',

	Callback = function(Value)
		ESP.Player.Name = Value
	end
}):AddColorPicker('PlayerNameESPColor', {
	Default = ESP.Player.NameColor,
	Title = 'Name ESP color',
	Transparency = 0,

	Callback = function(Value)
		ESP.Player.NameColor = Value
	end
})

PlayerESPGroup:AddToggle('PlayerHealthbar', {
	Text = 'HealthBar',
	Default = ESP.Player.Health,
	Tooltip = 'Shows the health of the Player',

	Callback = function(Value)
		ESP.Player.Health = Value
	end
}):AddColorPicker('PlayerHealthbarColor', {
	Default = ESP.Player.HealthColor,
	Title = 'HealthBar Color',
	Transparency = 0,

	Callback = function(Value)
		ESP.Player.HealthColor = Value
	end
})

PlayerESPGroup:AddToggle('PlayerToolsESP', {
	Text = 'Tools',
	Default = ESP.Player.Indicators["Tools"],
	Tooltip = 'Shows the tool of the Player holding',

	Callback = function(Value)
		ESP.Player.Indicators["Tools"] = Value
	end
})

PlayerESPGroup:AddToggle('PlayerDistanceESP', {
	Text = 'Distance',
	Default = ESP.Player.Indicators["Distance"],
	Tooltip = 'Shows the distance of the Player',

	Callback = function(Value)
		ESP.Player.Indicators["Distance"] = Value
	end
})

PlayerESPGroup:AddLabel('Indicators color'):AddColorPicker('PlayerIndicatorsColor', {
	Default = ESP.Player.IndicatorsColor,
	Title = 'Indicators Color',
	Transparency = nil,

	Callback = function(Value)
		ESP.Player.IndicatorsColor = Value
	end
})

PlayerESPGroup:AddDropdown('PlayerESPNameType', {
	Values = { 'Username', 'DisplayName' },
	Default = ESP.Player.NameType,
	Multi = false,

	Text = 'Name ESP type',
	Tooltip = 'Change the name ESP type',

	Callback = function(Value)
		ESP.Player.NameType = Value
	end
})

PlayerESPGroup:AddDropdown('PlayerESPTextFont', {
	Values = { 'Plex', 'UI', 'System', 'Monospace' },
	Default = ESP.Player.Font,
	Multi = false,

	Text = 'Text Font',
	Tooltip = 'Changes the font of the Texts on the ESP',

	Callback = function(Value)
		ESP.Player.Font = Value
	end
})

WeaponModelChangerGroup:AddToggle('ModelChangerEnabled', {
	Text = 'Enabled',
	Default = WeaponModel.Enabled,
	Tooltip = 'Enable/Disable weapon model changer',

	Callback = function(Value)
		WeaponModel.Enabled = Value
	end
})

WeaponModelChangerGroup:AddDivider()

WeaponModelChangerGroup:AddToggle('WeaponEnabled', {
	Text = 'Weapon',
	Default = WeaponModel.ChangeWeapon,
	Tooltip = 'Changes the equipped weapon model',

	Callback = function(Value)
		WeaponModel.ChangeWeapon = Value
	end
}):AddColorPicker('WeaponColor', {
	Default = WeaponModel.WeaponColor,
	Title = 'Weapon Color',
	Transparency = nil,

	Callback = function(Value)
		WeaponModel.WeaponColor = Value
	end
})

WeaponModelChangerGroup:AddDropdown('WeaponMaterial', {
	Values = Materials,
	Default = WeaponModel.WeaponMaterial,
	Multi = false,

	Text = 'Weapon Material',
	Tooltip = 'Sets the material of the weapon',

	Callback = function(Value)
		WeaponModel.WeaponMaterial = Value
	end
})

WeaponModelChangerGroup:AddDivider()

WeaponModelChangerGroup:AddToggle('GlovesEnabled', {
	Text = 'Gloves',
	Default = WeaponModel.ChangeGloves,
	Tooltip = 'Changes the glove model',

	Callback = function(Value)
		WeaponModel.ChangeGloves = Value
	end
}):AddColorPicker('GloveColor', {
	Default = WeaponModel.GloveColor,
	Title = 'Glove Color',
	Transparency = nil,

	Callback = function(Value)
		WeaponModel.GloveColor = Value
	end
})

WeaponModelChangerGroup:AddDropdown('GloveMaterial', {
	Values = Materials,
	Default = WeaponModel.GloveMaterial,
	Multi = false,

	Text = 'Glove Material',
	Tooltip = 'Sets the material of the gloves',

	Callback = function(Value)
		WeaponModel.GloveMaterial = Value
	end
})

WeaponModelChangerGroup:AddDivider()

WeaponModelChangerGroup:AddToggle('LaserEnabled', {
	Text = 'Laser',
	Default = WeaponModel.ChangeLaser,
	Tooltip = 'Changes the color of the laser',

	Callback = function(Value)
		WeaponModel.ChangeLaser = Value
	end
}):AddColorPicker('LaserColor', {
	Default = WeaponModel.LaserColor,
	Title = 'Laser Color',
	Transparency = nil,

	Callback = function(Value)
		WeaponModel.LaserColor = Value
	end
})

LocalModificationsGroup:AddToggle('HumanoidModificationsEnabled', {
	Text = 'Enabled',
	Default = LocalModifications.Options.Enabled,
	Tooltip = 'Enable/Disable humanoid modifications',

	Callback = function(Value)
		LocalModifications.Options.Enabled = Value
	end
})

LocalModificationsGroup:AddToggle('WalkspeedEnabled', {
	Text = 'Walkspeed',
	Default = LocalModifications.Options.WalkspeedEnabled,
	Tooltip = 'Changes your walkspeed if enabled',

	Callback = function(Value)
		LocalModifications.Options.WalkspeedEnabled = Value
	end
})

LocalModificationsGroup:AddSlider('Walkspeed', {
	Text = 'Walkspeed Value',
	Max = 100,
	Default = LocalModifications.Options.Walkspeed,
	Min = 0,
	Rounding = 1,

	Callback = function(Value)
		LocalModifications.Options.Walkspeed = Value
	end
})

LocalModificationsGroup:AddToggle('InfStamina', {
	Text = 'Infinite Stamina',
	Default = LocalModifications.Options.InfiniteStamina,
	Tooltip = 'Gives you infinite stamina while enabled',

	Callback = function(Value)
		LocalModifications.Options.InfiniteStamina = Value
		if not Value and LocalPlayer.Character:FindFirstChild('Stamina').Value == math.huge then
			LocalPlayer.Character:FindFirstChild('Stamina').Value = LocalPlayer.Character:FindFirstChild("MaxStamina").Value
		end
	end
})

AutosGroup:AddButton({
	Text = 'Break all glass',
	Func = function()
		for _, v in ipairs(Workspace.Glass:GetChildren()) do
			if v.Name == "Glass" then
				ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Assets"):WaitForChild("Remotes"):WaitForChild("HitObject"):FireServer(LocalPlayer.Character:FindFirstChildOfClass("Tool"), v, false, nil, nil, Vector3.new(), 100, nil, v.Position)
				ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Assets"):WaitForChild("Remotes"):WaitForChild("HitObject"):FireServer(LocalPlayer.Character:FindFirstChildOfClass("Tool"), v, false, nil, nil, Vector3.new(), 100, nil, v.Position)
			end
		end
	end,
	DoubleClick = false,
	Tooltip = 'Breaks all of the glasses'
})

AutosGroup:AddButton({
	Text = 'Break all cameras',
	Func = function()
		for _, v in ipairs(Workspace.Cameras:GetChildren()) do
			if v:IsA("Model") and v.Name == "Camera" and v:FindFirstChild("Lens") ~= nil then
				ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Assets"):WaitForChild("Remotes"):WaitForChild("HitObject"):FireServer(LocalPlayer.Character:FindFirstChildOfClass("Tool"), v.Lens, false, nil, nil, Vector3.new(), 50, nil, v.Lens.Position)
			end
		end
	end,
	DoubleClick = false,
	Tooltip = 'Breaks all of the cameras'
})

--[[AutosGroup:AddButton({
	Text = 'Fix Drills',
	Func = function()
		for _, v in ipairs(Workspace.Map:GetChildren()) do
			if v:IsA("Model") and v.Name == "Safe" and v:FindFirstChild("DrillingDoor") ~= nil and v.DrillingDoor:FindFirstChild("BrokenDrill") ~= nil then
				game:GetService("ReplicatedStorage"):WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(v.DrillingDoor.BrokenDrill.Main.ProximityPrompt)
				game:GetService("ReplicatedStorage"):WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(v.DrillingDoor.BrokenDrill.Main.ProximityPrompt)
			end
		end
	end,
	DoubleClick = false,
	Tooltip = 'Fixes all drills'
})]]

AutosGroup:AddToggle('SilentInteraction', {
	Text = 'Silent Interaction',
	Default = SilentInteraction,
	Tooltip = 'Silently interacts with interactions',

	Callback = function(Value)
		SilentInteraction = Value
	end
})

--[[
AutosGroup:AddToggle('AutoAcceptPagers', {
	Text = 'Auto Accept Pagers',
	Default = AutoAcceptPagers,
	Tooltip = 'Automatically accepts pagers',

	Callback = function(Value)
		AutoAcceptPagers = Value
		if Value then
			if Workspace:FindFirstChild("Bodies") ~= nil then
				for _, v in ipairs(Workspace.Bodies:GetChildren()) do
					if v:IsA("Model") and v.Name == "Pager" and v:FindFirstChild("Torso") ~= nil and v.Torso:FindFirstChild("ProximityPrompt") ~= nil then
						local oldposition
						oldposition = LocalPlayer.Character.HumanoidRootPart.CFrame
						task.wait()
						LocalPlayer.Character.HumanoidRootPart.CF = v.Torso.CFrame
						task.wait()
						ReplicatedStorage:FindFirstChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(v.Torso.ProximityPrompt)
						task.wait(v.Torso.ProximityPrompt.HoldDuration)
						ReplicatedStorage:FindFirstChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(v.Torso.ProximityPrompt)
						task.wait()
						LocalPlayer.Character.CFrame = oldposition
					end
				end
			end
		end
	end
})
]]

--[[
DisableCameraGroup:AddButton({
	Text = 'Disable Power Box',
	Func = function()
		if LocalPlayer.Character:FindFirstChild("HumanoidRootPart") ~= nil then
			local oldpos
			oldpos = LocalPlayer.Character.HumanoidRootPart.CFrame
			task.wait()
			if Workspace:FindFirstChild("Map") ~= nil and Workspace.Map:WaitForChild("RemoveLid") ~= nil and Workspace.Map.RemoveLid:WaitForChild("Union") ~= nil and Workspace.Map.RemoveLid.Union:FindFirstChild("ProximityPrompt") ~= nil then
				LocalPlayer.Character.HumanoidRootPart.CFrame = Workspace.Map.RemoveLid.Union.CFrame
				task.wait()
				ReplicatedStorage:FindFirstChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("StartInteraction"):FireServer(Workspace.Map.RemoveLid.Union.ProximityPrompt)
				task.wait(Workspace.Map.RemoveLid.Union.ProximityPrompt.HoldDuration)
				ReplicatedStorage:FindFirstChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("CompleteInteraction"):FireServer(Workspace.Map.RemoveLid.Union.ProximityPrompt)
				task.wait(0.1)
				LocalPlayer.Character.HumanoidRootPart.CFrame = oldpos
			end
		end
	end,
})
]]

YellAtCitizensGroup:AddToggle('YellAtCitizensEnabled', {
	Text = 'Enabled',
	Default = YellAtCitizens,
	Tooltip = 'Yells at all citizens',

	Callback = function(Value)
		YellAtCitizens = Value
		if Value then
			while WaitForSomeone(RenderStepped) do
				if YellAtCitizens then
					if Workspace.Citizens ~= nil then
						local CitizensTable = {}
						for _, citizen in ipairs(Workspace.Citizens:GetChildren()) do
							if citizen:IsA("Model") then
								if CitizensTable[citizen] == nil then
									table.insert(CitizensTable, citizen)
								end
							end
						end
						task.wait(0.1)
						ReplicatedStorage:WaitForChild("RS_Package"):WaitForChild("Remotes"):WaitForChild("PlayerYell"):FireServer(CitizensTable)
					end
				else
					break
				end
			end
		end
	end
})

LightingGroup:AddToggle('LightingEnabled', {
	Text = 'Enabled',
	Default = WorldUtilities.Options.Enabled,
	Tooltip = 'Enable/Disable Lighting Changer',

	Callback = function(Value)
		WorldUtilities.Options.Enabled = Value
	end
})

LightingGroup:AddToggle('ChangeBrightness', {
	Text = 'Brightness',
	Default = WorldUtilities.Options.ChangeBrightness,
	Tooltip = 'Changes the brightness if enabled',

	Callback = function(Value)
		WorldUtilities.Options.ChangeBrightness = Value
	end
})

LightingGroup:AddSlider('BrightnessValue', {
	Text = 'Brightness Value',
	Max = 10,
	Default = WorldUtilities.Options.Brightness,
	Min = -10,
	Rounding = 1,

	Callback = function(Value)
		WorldUtilities.Options.Brightness = Value
	end
})

LightingGroup:AddToggle('ChangeAmbienceColor', {
	Text = 'Ambience Color',
	Default = WorldUtilities.Options.ChangeOutdoorAmbient,
	Tooltip = 'Changes the outdoor ambient if enabled',

	Callback = function(Value)
		WorldUtilities.Options.ChangeOutdoorAmbient = Value
	end
}):AddColorPicker('AmbienceColor', {
	Default = WorldUtilities.Options.OutdoorAmbient,
	Title = 'Ambience Color',
	Transparency = nil,

	Callback = function(Value)
		WorldUtilities.Options.OutdoorAmbient = Value
	end
})

LightingGroup:AddToggle('ChangeTime', {
	Text = 'Time',
	Default = WorldUtilities.Options.ChangeClockTime,
	Tooltip = 'Changes the time if enabled',

	Callback = function(Value)
		WorldUtilities.Options.ChangeClockTime = Value
	end
})

LightingGroup:AddSlider('TimeValue', {
	Text = 'Time Value',
	Max = 24,
	Default = WorldUtilities.Options.ClockTime,
	Min = 0,
	Rounding = 1,

	Callback = function(Value)
		WorldUtilities.Options.ClockTime = Value
	end
})

local FrameTimer = tick()
local FrameCounter = 0;
local FPS = 60;

local WatermarkConnection = game:GetService('RunService').RenderStepped:Connect(function()
	FrameCounter += 1;

	if (tick() - FrameTimer) >= 1 then
		FPS = FrameCounter;
		FrameTimer = tick();
		FrameCounter = 0;
	end;

	Library:SetWatermark(('Notreality | %s fps | %s ms | Game: Notoriety | discord.gg/rinnshub'):format(
		math.floor(FPS),
		math.floor(game:GetService('Stats').Network.ServerStatsItem['Data Ping']:GetValue())
		));
end);

local MenuGroup = Tabs.Settings:AddLeftGroupbox('Menu')
local Overlays = Tabs.Settings:AddRightGroupbox('Overlays')

Overlays:AddToggle('KeybindsOverlay', {
	Text = 'Keybinds',
	Default = false,
	Tooltip = 'Shows a list with your keybinds',

	Callback = function(Value)
		Library.KeybindFrame.Visible = Value
	end
})

MenuGroup:AddButton('Unload', function() Library:Unload() end)
MenuGroup:AddLabel('Menu bind'):AddKeyPicker('MenuKeybind', { Default = 'Insert', NoUI = true, Text = 'Menu keybind' })

Library:OnUnload(function()
	Connections:Exit()
	AEnv:Exit()
	SAEnv:Exit()
	WorldUtilities:Exit()
	LocalModifications:Exit()
	AAEnv.Options.Enabled = false
	AAEnv = nil
	KillAll.Enabled = false
	KillAll = nil
	SelfRevive = false
	YellAtCitizens = false
	ESP.DestroyFunction()
	SilentInteraction = false
	HE.Enabled = false
	HE = nil
	WeaponModel.Enabled = false
	WeaponModel = nil
end)

Library.ToggleKeybind = Options.MenuKeybind

ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library) 

SaveManager:IgnoreThemeSettings()

SaveManager:SetIgnoreIndexes({ 'MenuKeybind' })

ThemeManager:SetFolder('Erm/Themes')
SaveManager:SetFolder('Erm/Notoriety')

SaveManager:BuildConfigSection(Tabs.Settings)

ThemeManager:ApplyToTab(Tabs.Settings)

SaveManager:LoadAutoloadConfig()

Features & Information

Credits to @netpa for making the script and idk what i did tbh Script prob dosent work but have fun fixing it! Rinns Hub is a bad hub cuz errrm he skid and uses ai! Yes I self leaked this WONT WORK ON BAD EXECUTORS
#open source#script#open source script#notoriety#payday

Community Comments (8)

pequeno_Babypequeno_BabyMar 21, 2025(edited)

W

41kstacks41kstacksMar 21, 2025(edited)

This guys day to day life is riding rinns hub everyday + rinns hub doesn't even support this dead game anymore 😭

CatBoyCatBoyMar 21, 2025(edited)

@Yoololepic task.wait(600) ahh rinns hub enjoyer fr...

41kstacks41kstacksMar 21, 2025(edited)

@CatBoy Those who stop riding rinns hub:💀 like your entire lives revolves around riding rinns hub just let it go and find smth else to do bro 💔

CatBoyCatBoyMar 21, 2025(edited)

@Yoololepic you repost rinns hub scripts so many times and dont post anything original....... i only ride rinns hub once a month or week as a joke and you take it seriously glad you fell for my ragebait

41kstacks41kstacksMar 21, 2025(edited)

@CatBoy I repost it so they can get more users that's literally what this website is for + I didn't fall for your ragebaig wrap it up 😭

CatBoyCatBoyMar 22, 2025(edited)

@Yoololepic Mass uploading is against rules

synapseontopsynapseontopOct 15, 2025

does this script work

More Scripts for Notoriety: A PAYDAY® Experience