--============= local player state =============-- local LocalState = { instantInteract = false, infiniteStamina = false, hideName = false, nameText = "", speedEnabled = false, speedValue = 16, jumpEnabled = false, jumpValue = 50, clickTeleport = false, clickKey = Enum.KeyCode.LeftAlt, clickHeld = false, vehicleSpeed = false, vehicleSpeedValue = 5, vehicleBrake = false, vehicleBrakeValue = 5, infiniteFuel = false, } --============= instant interact =============-- local function applyPrompts(root) for _, descendant in ipairs(root:GetDescendants()) do if descendant:IsA("ProximityPrompt") then descendant.HoldDuration = 0 end end if root:IsA("ProximityPrompt") then root.HoldDuration = 0 end end local function refreshPrompts() if not LocalState.instantInteract then return end applyPrompts(Workspace) end track(Workspace.DescendantAdded:Connect(function(descendant) if LocalState.instantInteract and descendant:IsA("ProximityPrompt") then descendant.HoldDuration = 0 end end)) track(ProximityPromptService.PromptButtonHoldBegan:Connect(function(prompt, player) if LocalState.instantInteract and player == LocalPlayer and prompt.HoldDuration ~= 0 then pcall(function() fireproximityprompt(prompt) end) end end)) --============= infinite stamina =============-- local Stamina = { bound = 0, slots = {}, } local function hudNode() local gui = LocalPlayer:FindFirstChild("PlayerGui") local gameGui = gui and gui:FindFirstChild("GameGui") return gameGui and gameGui:FindFirstChild("MainHUD") or nil end local function valuesNode() local main = hudNode() return main and main:FindFirstChild("Values") or nil end local function currStamina() local values = valuesNode() local node = values and values:FindFirstChild("CurrStamina") if node and node:IsA("ValueBase") then return node end return nil end local function findStaminaClosures(main, values) local out = {} local budget = os.clock() + 8 for _, object in pairs(getgc()) do if type(object) == "function" then local holds, matches = false, {} local index = 1 while index <= 16 do local ok, value = pcall(debug.getupvalue, object, index) if not ok then break end if value == values or value == main then holds = true end if type(value) == "number" and index <= 6 and value == math.floor(value) and value >= 0 and value <= 100 then matches[#matches + 1] = index end index = index + 1 end if holds and #matches > 0 then out[#out + 1] = { fn = object, slots = matches } end if os.clock() > budget then break end end end return out end local function bindStamina(force) local curr = currStamina() local values = valuesNode() local main = hudNode() if not (curr and values and main) then return false end if Stamina.bound > 0 and not force then return true end Stamina.slots = {} Stamina.bound = 0 for _, entry in ipairs(findStaminaClosures(main, values)) do for _, index in ipairs(entry.slots) do if pcall(debug.setupvalue, entry.fn, index, 100) then Stamina.slots[#Stamina.slots + 1] = { fn = entry.fn, index = index } end end end Stamina.bound = #Stamina.slots return Stamina.bound > 0 end local function staminaTick() if Stamina.bound == 0 then return end for _, slot in ipairs(Stamina.slots) do local ok = pcall(debug.setupvalue, slot.fn, slot.index, 100) if not ok then Stamina.slots = {} Stamina.bound = 0 return end end local humanoid = getHumanoid() if humanoid and humanoid.JumpPower < 50 and humanoid.Health > 0 then humanoid.JumpPower = 50 end end task.spawn(function() while true do task.wait(0.5) if currStamina() and Stamina.bound == 0 then pcall(bindStamina) end end end) --============= speed / jump / hide name =============-- local function applyLocalTick() local character = LocalPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") if not humanoid then return end if LocalState.speedEnabled then humanoid.WalkSpeed = LocalState.speedValue end if LocalState.jumpEnabled then humanoid.UseJumpPower = true humanoid.JumpPower = LocalState.jumpValue end end local function applyName() local character = LocalPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local head = character and character:FindFirstChild("Head") local overhead = head and head:FindFirstChild("Overhead") local label = overhead and overhead:FindFirstChild("Username") local text = LocalState.nameText or "" if humanoid then pcall(function() humanoid.DisplayName = text end) end if label and label:IsA("TextLabel") then label.Text = text end end local function restoreName() local character = LocalPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local head = character and character:FindFirstChild("Head") local overhead = head and head:FindFirstChild("Overhead") local label = overhead and overhead:FindFirstChild("Username") if humanoid then humanoid.DisplayName = LocalPlayer.DisplayName end if label and label:IsA("TextLabel") then label.Text = LocalPlayer.DisplayName end end task.spawn(function() while true do task.wait(0.4) if LocalState.hideName then applyName() end end end) track(LocalPlayer.CharacterAdded:Connect(function() task.wait(1) if LocalState.hideName then applyName() end end)) --============= fly =============-- local Fly = { enabled = false, speed = 60, bodyVelocity = nil, bodyGyro = nil, connection = nil, } function Fly:stop() self.enabled = false if self.connection then self.connection:Disconnect() self.connection = nil end if self.bodyVelocity then self.bodyVelocity:Destroy() self.bodyVelocity = nil end if self.bodyGyro then self.bodyGyro:Destroy() self.bodyGyro = nil end end function Fly:start() self:stop() local character = LocalPlayer.Character local root = character and character:FindFirstChild("HumanoidRootPart") if not root then return end local velocity = Instance.new("BodyVelocity") velocity.MaxForce = Vector3.new(1e9, 1e9, 1e9) velocity.Velocity = Vector3.zero velocity.Parent = root local gyro = Instance.new("BodyGyro") gyro.MaxTorque = Vector3.new(1e9, 1e9, 1e9) gyro.P = 12000 gyro.D = 500 gyro.CFrame = root.CFrame gyro.Parent = root self.bodyVelocity = velocity self.bodyGyro = gyro self.enabled = true self.connection = RunService.RenderStepped:Connect(function() if not self.enabled then return end local characterNow = LocalPlayer.Character local rootNow = characterNow and characterNow:FindFirstChild("HumanoidRootPart") if not rootNow or not self.bodyVelocity or not self.bodyGyro then return end local cam = camera() local look = cam.CFrame.LookVector local right = cam.CFrame.RightVector local move = Vector3.zero if UserInputService.TouchEnabled then local humanoid = characterNow:FindFirstChildOfClass("Humanoid") move = humanoid and humanoid.MoveDirection or Vector3.zero else if UserInputService:IsKeyDown(Enum.KeyCode.W) then move += look end if UserInputService:IsKeyDown(Enum.KeyCode.S) then move -= look end if UserInputService:IsKeyDown(Enum.KeyCode.A) then move -= right end if UserInputService:IsKeyDown(Enum.KeyCode.D) then move += right end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then move += Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then move -= Vector3.new(0, 1, 0) end end self.bodyVelocity.Velocity = move.Magnitude > 0 and move.Unit * self.speed or Vector3.zero self.bodyGyro.CFrame = cam.CFrame end) end --============= click to teleport =============-- track(UserInputService.InputBegan:Connect(function(input, processed) if processed then return end if input.KeyCode == LocalState.clickKey then LocalState.clickHeld = true end end)) track(UserInputService.InputEnded:Connect(function(input) if input.KeyCode == LocalState.clickKey then LocalState.clickHeld = false end end)) local function clickTeleport() if not (LocalState.clickTeleport and LocalState.clickHeld) then return end local cam = camera() local mouse = UserInputService:GetMouseLocation() local ok, ray = pcall(function() return cam:ScreenPointToRay(mouse.X, mouse.Y - GuiService:GetGuiInset().Y) end) if not ok or not ray then return end local params = newRaycastParams({ LocalPlayer.Character }) local result = Workspace:Raycast(ray.Origin, ray.Direction * 3000, params) if result then task.spawn(function() Teleport:to(result.Position + Vector3.new(0, 3, 0)) end) end end track(LocalPlayer:GetMouse().Button1Down:Connect(clickTeleport)) --============= vehicle mods =============-- track(RunService.Heartbeat:Connect(function() local character = LocalPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") if not humanoid then return end local seat = humanoid.SeatPart if not seat or not seat:IsA("VehicleSeat") then return end local model = seat.Parent if not model then return end if LocalState.vehicleSpeed then local throttle = seat.Throttle if throttle == 1 or UserInputService:IsKeyDown(Enum.KeyCode.W) then local factor = 1 + LocalState.vehicleSpeedValue / 1000 pcall(function() seat.AssemblyLinearVelocity *= Vector3.new(factor, 1, factor) end) end end if LocalState.vehicleBrake then local throttle = seat.Throttle if throttle == -1 or UserInputService:IsKeyDown(Enum.KeyCode.S) then local factor = math.max(1 - LocalState.vehicleBrakeValue / 1000, 0) pcall(function() seat.AssemblyLinearVelocity *= Vector3.new(factor, 1, factor) end) end end if LocalState.infiniteFuel then if model:GetAttribute("Fuel") ~= nil then pcall(function() model:SetAttribute("Fuel", math.huge) end) end end end)) --============= targeting =============-- local Selected = { player = nil } function Selected:get() local player = self.player if player and player.Parent then return player end return nil end local Spectate = { enabled = false, connection = nil } function Spectate:stop() self.enabled = false if self.connection then self.connection:Disconnect() self.connection = nil end local humanoid = getHumanoid() local cam = camera() if humanoid and cam then cam.CameraType = Enum.CameraType.Custom cam.CameraSubject = humanoid end end function Spectate:start(player) self:stop() if not player then return end self.enabled = true local function attach(character) local humanoid = character and character:FindFirstChildOfClass("Humanoid") if humanoid and self.enabled then local cam = camera() cam.CameraType = Enum.CameraType.Custom cam.CameraSubject = humanoid end end attach(player.Character) self.connection = player.CharacterAdded:Connect(attach) end --============= mouse hit override =============-- -- Fire() reads Mouse.Hit once per shot; overriding that one property redirects -- the outgoing Fire remote without touching camera, spread or fire rate. local HitOverride = { part = nil } getgenv().SLR_HitOverride = HitOverride if not getgenv().SLR_MouseHooked then local oldIndex oldIndex = hookmetamethod(game, "__index", newcclosure(function(self, key) local override = getgenv().SLR_HitOverride if key == "Hit" and override and override.part and override.part.Parent then local class = typeof(self) == "Instance" and self.ClassName or nil if class == "PlayerMouse" or class == "Mouse" then return CFrame.new(override.part.Position) end end return oldIndex(self, key) end)) getgenv().SLR_MouseHooked = true end local function heldGun() local character = LocalPlayer.Character local tool = character and character:FindFirstChildOfClass("Tool") if tool and (CollectionService:HasTag(tool, "Gun") or tool:FindFirstChild("Settings")) then return tool end return nil end local function killPlayer(player) if not player or not player.Character then notify("select a player first") return end if player == LocalPlayer then return end local head = player.Character:FindFirstChild("Head") if not head or not head:IsA("BasePart") then notify("target has no head") return end local gun = heldGun() if not gun then notify("hold a gun first") return end HitOverride.part = head task.spawn(function() for _ = 1, 18 do if not head.Parent or not gun.Parent then break end pcall(function() gun:Activate() end) task.wait(0.08) end HitOverride.part = nil end) end --============= apartments / vehicles =============-- local function fetchApartment(playerName) local map = Workspace:FindFirstChild("Map") local doors = map and map:FindFirstChild("Doors") local buy = doors and doors:FindFirstChild("Buy") if not buy then return nil end for _, door in ipairs(buy:GetChildren()) do local homeOwner = door:FindFirstChild("HomeOwner") local gui = homeOwner and homeOwner:FindFirstChild("SurfaceGui") local owner = gui and gui:FindFirstChild("Owner") local main = door:FindFirstChild("Main") if owner and main and main:IsA("BasePart") then local text = "" if owner:IsA("TextLabel") then text = owner.Text elseif owner:IsA("StringValue") then text = owner.Value end text = tostring(text):gsub("OWNER:%s*", "") if text == playerName then return main end end end return nil end local function playerVehicle(player) local vehicles = Workspace:FindFirstChild("Vehicles") if not vehicles then return nil end local model = vehicles:FindFirstChild(player.Name .. "'s Car") if not model then return nil end return model:FindFirstChild("DriveSeat") or model:FindFirstChildOfClass("VehicleSeat") end --============= emotes =============-- local Emotes = { ["Solar System"] = "92281817840531", ["Crawling"] = "76348568458914", ["Chinese Dancing"] = "100193638270362", ["Invisible"] = "130371895389423", ["Helicopter"] = "119431985170060", ["Planet"] = "85275763637868", ["Race Car"] = "121936817462716", ["Tank"] = "85076031433488", ["Obby Head"] = "122814100170962", ["No"] = "77206866044608", ["Wave"] = "105209959441169", ["Ghost"] = "75911227509248", ["Wolf"] = "114131394923812", ["Jamal"] = "71286446361487", ["Kawai"] = "118691207680367", ["Zamn"] = "112516309569252", ["Shake"] = "132367660388476", ["Cute Anime"] = "83496519050227", ["Tuff Emote"] = "85636872110453", ["I Want Money"] = "89114994401113", ["Kawai Sit"] = "113578589119917", ["Kawai Fly"] = "100848613923963", ["Zesty Backflip"] = "78243540508781", ["Zesty Laid Up"] = "75517713793873", } local emoteNames = {} for name in pairs(Emotes) do table.insert(emoteNames, name) end table.sort(emoteNames) local CurrentTrack = nil local SelectedEmote = emoteNames[1] local function playEmote(name) local id = Emotes[name] if not id then return end local character = LocalPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") if not humanoid then return end if CurrentTrack then pcall(function() CurrentTrack:Stop() end) CurrentTrack = nil end local animation = Instance.new("Animation") animation.AnimationId = "rbxassetid://" .. id local ok, track = pcall(function() return humanoid:LoadAnimation(animation) end) if ok and track then CurrentTrack = track track:Play() end end local function stopEmote() if CurrentTrack then pcall(function() CurrentTrack:Stop() end) CurrentTrack = nil end end --============= shops =============-- local ShopData = nil local SelectedGun = nil local SelectedAmmo = nil local function fetchGunStore() local map = Workspace:FindFirstChild("Map") local store = map and map:FindFirstChild("GunStore") if not store then return nil end local weapons, ammo = {}, {} local function read(container, out) if not container then return end for _, child in ipairs(container:GetChildren()) do local price = child:FindFirstChild("Price") local tool = child:FindFirstChild("Tool") if price and tool and tool:IsA("StringValue") then out[tool.Value] = price.Value end end end read(store:FindFirstChild("Wall"), weapons) read(store:FindFirstChild("GWall"), ammo) if next(weapons) == nil and next(ammo) == nil then return nil end return { Weapon = weapons, Ammo = ammo } end local function nearGunStore() local root = getRoot() if not root then return false end for _, point in ipairs({ Vector3.new(649, 52, -396), Vector3.new(26, 72, 602) }) do if (root.Position - point).Magnitude <= 90 then return true end end return false end local function purchase(kind, name) if not name or name == "" then notify("pick a shop item first") return end ShopData = ShopData or fetchGunStore() if not ShopData then notify("gun store not loaded, get near a store") return end local price if kind == "Weapon" then price = ShopData.Weapon[name] else price = ShopData.Ammo[name] end if not price then notify("price not found for " .. tostring(name)) return end if not nearGunStore() then Teleport:to(Vector3.new(649, 52, -396)) task.wait(1.2) end local remotes = ReplicatedStorage:FindFirstChild("Remotes") local gunBuy = remotes and remotes:FindFirstChild("GunBuy") if not gunBuy then notify("GunBuy remote missing") return end pcall(function() gunBuy:FireServer(name, price) end) end --============= clean farm =============-- local CleanFarm = { enabled = false, claim = true, lastAction = "idle", cleans = 0, misses = 0, dirty = 0, spots = 0, running = false, } local JOB_PATH = { "Map", "Jobs", "CleanNPC" } local function jobNode() local node = Workspace for _, part in ipairs(JOB_PATH) do node = node and node:FindFirstChild(part) if not node then return nil end end return node end local function dataValue(name) local data = LocalPlayer:FindFirstChild("Data") local value = data and data:FindFirstChild(name) return value and value:IsA("ValueBase") and value.Value or nil end local function liveCharacter() local character = LocalPlayer.Character if not character or not character.Parent then return nil, nil, nil end local humanoid = character:FindFirstChildOfClass("Humanoid") if not humanoid or humanoid.Health <= 0 then return nil, nil, nil end local root = character:FindFirstChild("HumanoidRootPart") if not root then return nil, nil, nil end return character, humanoid, root end local CLAIM_WORDS = { "claim", "start work", "start job", "apply", "hire", "clock in", "begin work" } local function claimJob() local current = dataValue("Job") if current and current ~= "" then return true end local node = jobNode() if not node then return false end local origin = node:GetPivot().Position for _, descendant in ipairs(Workspace:GetDescendants()) do if descendant:IsA("ProximityPrompt") and descendant.Enabled then local parent = descendant.Parent if parent and parent:IsA("BasePart") and (parent.Position - origin).Magnitude < 60 then local text = (descendant.ActionText .. " " .. descendant.ObjectText):lower() for _, word in ipairs(CLAIM_WORDS) do if text:find(word, 1, true) then Teleport:to(parent.Position + Vector3.new(0, 3, 0)) pcall(function() fireproximityprompt(descendant) end) task.wait(0.5) return true end end end end end return false end local function collectSpots() local node = jobNode() local out = {} local folder = node and node:FindFirstChild("Clean") if not folder then return out end for _, spot in ipairs(folder:GetChildren()) do if spot:IsA("BasePart") then local prompt = spot:FindFirstChildOfClass("ProximityPrompt") if prompt then out[#out + 1] = { part = spot, prompt = prompt } end end end table.sort(out, function(a, b) return a.part.Name < b.part.Name end) return out end local CleanStatusLabel = nil local function cleanTick() if not CleanFarm.enabled then CleanFarm.lastAction = "off" return end local character, humanoid, root = liveCharacter() if not character then CleanFarm.lastAction = "waiting for character" return end if CleanFarm.claim then pcall(claimJob) end local spots = collectSpots() CleanFarm.spots = #spots local dirty = 0 for _, spot in ipairs(spots) do if spot.prompt.Enabled then dirty = dirty + 1 end end CleanFarm.dirty = dirty if dirty == 0 then CleanFarm.lastAction = "no dirty spots" task.wait(0.6) return end for _, spot in ipairs(spots) do if not CleanFarm.enabled then return end if spot.prompt.Enabled then Teleport:to(spot.part.Position + Vector3.new(0, 3, 0)) CleanFarm.lastAction = "cleaning " .. spot.part.Name local before = tonumber(LocalPlayer:GetAttribute("TotalCleaned")) or 0 pcall(function() fireproximityprompt(spot.prompt) end) local deadline = os.clock() + 5 local paid = false while CleanFarm.enabled and os.clock() < deadline do task.wait(0.1) local now = tonumber(LocalPlayer:GetAttribute("TotalCleaned")) or 0 if now > before then paid = true break end end if paid then CleanFarm.cleans = CleanFarm.cleans + 1 else CleanFarm.misses = CleanFarm.misses + 1 end task.wait(0.1) end end end task.spawn(function() while true do CleanFarm.running = true local ok, err = pcall(cleanTick) if not ok then CleanFarm.lastAction = "error: " .. tostring(err) task.wait(1) end task.wait(0.05) end end) task.spawn(function() while true do task.wait(1) if CleanStatusLabel then pcall(function() CleanStatusLabel:SetText(string.format("%s | %d cleaned, %d spot(s), %d dirty", CleanFarm.lastAction, CleanFarm.cleans, CleanFarm.spots, CleanFarm.dirty)) end) end end end) --============= UI =============-- local Window = Library:Window({ Name = "Street Life Remastered", FadeTime = 0.3, }) local Watermark = Library:Watermark("Street Life Remastered") local KeybindList = Library:KeybindList() local MainPage = Window:Page({ Name = "Main", Icon = Icons.Main, SubPages = true }) local CombatPage = Window:Page({ Name = "Combat", Icon = Icons.Combat }) local VisualsPage = Window:Page({ Name = "Visuals", Icon = Icons.Visuals }) local MainTab = MainPage:SubPage({ Name = "Main" }) local PlayerTab = MainPage:SubPage({ Name = "Player" }) --============= main / local player =============-- local LocalSection = MainTab:Section({ Name = "Local Player", Side = 1 }) local VehicleSection = MainTab:Section({ Name = "Vehicle", Side = 2 }) LocalSection:Toggle({ Name = "Instant Interact", Flag = "InstantInteract", Default = false, Callback = function(value) LocalState.instantInteract = value if value then refreshPrompts() end end, }) LocalSection:Toggle({ Name = "Infinite Stamina", Flag = "InfiniteStamina", Default = false, Callback = function(value) LocalState.infiniteStamina = value if value then task.spawn(function() for _ = 1, 20 do if bindStamina() then break end task.wait(0.25) end end) else Stamina.slots = {} Stamina.bound = 0 end end, }) LocalSection:Toggle({ Name = "Hide Name", Flag = "HideName", Default = false, Callback = function(value) LocalState.hideName = value if value then applyName() else restoreName() end end, }) LocalSection:Textbox({ Name = "Name Text", Flag = "NameText", Default = "", Placeholder = "blank = hidden", Callback = function(value) LocalState.nameText = tostring(value or "") if LocalState.hideName then applyName() end end, }) LocalSection:Toggle({ Name = "Click To Teleport", Flag = "ClickTeleport", Default = false, Callback = function(value) LocalState.clickTeleport = value end, }):Keybind({ Flag = "ClickTeleportKey", Mode = "Hold", Default = Enum.KeyCode.LeftAlt, Callback = function(state) if type(state) == "boolean" then return end end, }) LocalSection:Toggle({ Name = "Speed", Flag = "SpeedEnabled", Default = false, Callback = function(value) LocalState.speedEnabled = value if not value then local humanoid = getHumanoid() if humanoid then humanoid.WalkSpeed = 16 end end end, }) LocalSection:Slider({ Name = "Speed Value", Flag = "SpeedValue", Default = 16, Min = 16, Max = 200, Decimals = 1, Suffix = "", Callback = function(value) LocalState.speedValue = value end, }) LocalSection:Toggle({ Name = "Fly", Flag = "FlyEnabled", Default = false, Callback = function(value) if value then Fly:start() else Fly:stop() end end, }) LocalSection:Slider({ Name = "Fly Speed", Flag = "FlySpeed", Default = 60, Min = 10, Max = 300, Decimals = 1, Suffix = "", Callback = function(value) Fly.speed = value end, }) LocalSection:Toggle({ Name = "Jump Power", Flag = "JumpEnabled", Default = false, Callback = function(value) LocalState.jumpEnabled = value local humanoid = getHumanoid() if humanoid and not value then humanoid.JumpPower = 50 end end, }) LocalSection:Slider({ Name = "Jump Power Value", Flag = "JumpValue", Default = 50, Min = 50, Max = 300, Decimals = 1, Suffix = "", Callback = function(value) LocalState.jumpValue = value end, }) VehicleSection:Toggle({ Name = "Vehicle Speed", Flag = "VehicleSpeedEnabled", Default = false, Callback = function(value) LocalState.vehicleSpeed = value end, }) VehicleSection:Slider({ Name = "Speed Boost", Flag = "VehicleSpeedValue", Default = 5, Min = 1, Max = 25, Decimals = 1, Suffix = "", Callback = function(value) LocalState.vehicleSpeedValue = value end, }) VehicleSection:Toggle({ Name = "Vehicle Brake", Flag = "VehicleBrakeEnabled", Default = false, Callback = function(value) LocalState.vehicleBrake = value end, }) VehicleSection:Slider({ Name = "Brake Power", Flag = "VehicleBrakeValue", Default = 5, Min = 1, Max = 25, Decimals = 1, Suffix = "", Callback = function(value) LocalState.vehicleBrakeValue = value end, }) VehicleSection:Toggle({ Name = "Infinite Fuel", Flag = "InfiniteFuel", Default = false, Callback = function(value) LocalState.infiniteFuel = value end, }) --============= player page =============-- local PlayersSection = PlayerTab:Section({ Name = "Players", Side = 1 }) local ActionsSection = PlayerTab:Section({ Name = "Actions", Side = 1 }) local ShopSection = PlayerTab:Section({ Name = "Shops", Side = 2 }) local EmoteSection = PlayerTab:Section({ Name = "Emotes", Side = 2 }) local FarmSection = PlayerTab:Section({ Name = "Auto Farm", Side = 1 }) local initialPlayers = playerList(true) table.insert(initialPlayers, 1, "None") local selectedDropdown = PlayersSection:Dropdown({ Name = "Select Player", Flag = "SelectedPlayer", Default = "None", Items = initialPlayers, Multi = false, Callback = function(value) Selected.player = value ~= "None" and Players:FindFirstChild(value) or nil if Spectate.enabled then local player = Selected:get() if player then Spectate:start(player) else Spectate:stop() end end end, }) PlayersSection:Toggle({ Name = "Spectate", Flag = "Spectate", Default = false, Callback = function(value) if value then local player = Selected:get() if player then Spectate:start(player) end else Spectate:stop() end end, }) ActionsSection:Button():Add("Teleport To Player", function() local player = Selected:get() if not player then notify("select a player first") return end task.spawn(function() Teleport:toCharacter(player) end) end) ActionsSection:Button():Add("Teleport To Apartment", function() local player = Selected:get() if not player then notify("select a player first") return end local main = fetchApartment(player.Name) if not main then notify("no apartment found for " .. player.Name) return end task.spawn(function() Teleport:to(main.Position - main.CFrame.LookVector + Vector3.new(0, 1, 0)) end) end) ActionsSection:Button():Add("Teleport To Vehicle", function() local player = Selected:get() if not player then notify("select a player first") return end local seat = playerVehicle(player) if not seat then notify("no vehicle found for " .. player.Name) return end task.spawn(function() Teleport:to(seat.Position + Vector3.new(0, 3, 0)) end) end) ActionsSection:Button():Add("Kill Player - Hold Gun", function() killPlayer(Selected:get()) end) local gunNames = { "None" } local ammoNames = { "None" } local SelectedGun = "None" local SelectedAmmo = "None" local gunDropdown = ShopSection:Dropdown({ Name = "Purchase Gun", Flag = "ShopGun", Default = "None", Items = gunNames, Multi = false, Callback = function(value) SelectedGun = value end, }) local ammoDropdown = ShopSection:Dropdown({ Name = "Purchase Ammo", Flag = "ShopAmmo", Default = "None", Items = ammoNames, Multi = false, Callback = function(value) SelectedAmmo = value end, }) ShopSection:Button():Add("Refresh Shop", function() ShopData = fetchGunStore() if not ShopData then notify("get near a gun store to load items") return end local weapons, ammo = {}, {} for name in pairs(ShopData.Weapon) do table.insert(weapons, name) end for name in pairs(ShopData.Ammo) do table.insert(ammo, name) end table.sort(weapons) table.sort(ammo) table.insert(weapons, 1, "None") table.insert(ammo, 1, "None") pcall(function() gunDropdown:Refresh(weapons) end) pcall(function() ammoDropdown:Refresh(ammo) end) end) ShopSection:Button():Add("Buy Gun", function() purchase("Weapon", SelectedGun) end) ShopSection:Button():Add("Buy Ammo", function() purchase("Ammo", SelectedAmmo) end) local emoteDropdown = EmoteSection:Dropdown({ Name = "Emote", Flag = "SelectedEmote", Default = emoteNames[1], Items = emoteNames, Multi = false, Callback = function(value) SelectedEmote = value end, }) EmoteSection:Button():Add("Play Emote", function() playEmote(SelectedEmote) end) EmoteSection:Button():Add("Stop Emote", stopEmote) FarmSection:Toggle({ Name = "Auto Farm Cleaning", Flag = "CleanFarm", Default = false, Callback = function(value) CleanFarm.enabled = value end, }) FarmSection:Toggle({ Name = "Claim Job", Flag = "ClaimJob", Default = true, Callback = function(value) CleanFarm.claim = value end, }) CleanStatusLabel = FarmSection:Label("idle") local function refreshTargetLists() local names = playerList(true) table.insert(names, 1, "None") pcall(function() selectedDropdown:Refresh(names) end) end track(Players.PlayerAdded:Connect(function() task.wait(0.5) refreshTargetLists() end)) track(Players.PlayerRemoving:Connect(function(player) if Selected.player == player then Selected.player = nil Spectate:stop() end task.wait(0.1) refreshTargetLists() end)) --============= combat =============-- local AimSection = CombatPage:Section({ Name = "Aimlock", Side = 1 }) local AimFilterSection = CombatPage:Section({ Name = "Aimlock Filters", Side = 2 }) local GunModsSection = CombatPage:Section({ Name = "Gun Mods", Side = 1 }) local HitboxSection = CombatPage:Section({ Name = "Hitbox", Side = 2 }) AimSection:Toggle({ Name = "Enable Aimlock", Flag = "AimEnabled", Default = false, Callback = function(value) Aim.enabled = value end, }) AimSection:Label("Aim Key"):Keybind({ Flag = "AimKey", Mode = "Hold", Default = Enum.KeyCode.E, Callback = function(state) Aim.held = state end, }) AimSection:Toggle({ Name = "Use FOV", Flag = "AimUseFov", Default = true, Callback = function(value) Aim.useFov = value end, }) AimSection:Slider({ Name = "FOV Radius", Flag = "AimFovRadius", Default = 150, Min = 10, Max = 800, Decimals = 1, Callback = function(value) Aim.fovRadius = value FieldOfView.radius = value applyFovStyle() end, }) AimSection:Slider({ Name = "Smoothness", Flag = "AimSmoothness", Default = 1, Min = 1, Max = 20, Decimals = 1, Callback = function(value) Aim.smoothness = value end, }) AimSection:Dropdown({ Name = "Hit Part", Flag = "AimHitPart", Default = "Head", Items = { "Head", "UpperTorso", "LowerTorso", "HumanoidRootPart", "Torso" }, Multi = false, Callback = function(value) Aim.hitPart = value end, }) AimSection:Toggle({ Name = "Auto Fire", Flag = "AimAutoFire", Default = false, Callback = function(value) Aim.autoFire = value end, }) AimSection:Slider({ Name = "Auto Fire Delay", Flag = "AimAutoFireDelay", Default = 0.1, Min = 0.02, Max = 1, Decimals = 2, Suffix = "s", Callback = function(value) Aim.autoFireDelay = value end, }) AimFilterSection:Toggle({ Name = "Visible Check", Flag = "AimVisibleCheck", Default = false, Callback = function(value) Aim.visibleCheck = value end, }) AimFilterSection:Toggle({ Name = "Health Check", Flag = "AimHealthCheck", Default = false, Callback = function(value) Aim.healthCheck = value end, }) AimFilterSection:Slider({ Name = "Minimum Health", Flag = "AimMinHealth", Default = 5, Min = 0, Max = 100, Decimals = 1, Suffix = "%", Callback = function(value) Aim.minHealth = value end, }) AimFilterSection:Toggle({ Name = "Distance Check", Flag = "AimDistanceCheck", Default = false, Callback = function(value) Aim.distanceCheck = value end, }) AimFilterSection:Slider({ Name = "Maximum Distance", Flag = "AimMaxDistance", Default = 500, Min = 10, Max = 2000, Decimals = 1, Suffix = " studs", Callback = function(value) Aim.maxDistance = value end, }) AimFilterSection:Toggle({ Name = "Friend Check", Flag = "AimFriendCheck", Default = false, Callback = function(value) Aim.friendCheck = value end, }) AimFilterSection:Toggle({ Name = "Draw FOV", Flag = "AimDrawFov", Default = false, Callback = function(value) FieldOfView.draw = value applyFovStyle() end, }) AimFilterSection:Label("FOV Color"):Colorpicker({ Flag = "AimFovColor", Default = Color3.new(1, 1, 1), Callback = function(color) FieldOfView.color = color applyFovStyle() end, }) AimFilterSection:Toggle({ Name = "Fill FOV", Flag = "AimFillFov", Default = false, Callback = function(value) FieldOfView.filled = value applyFovStyle() end, }) AimFilterSection:Label("FOV Fill Color"):Colorpicker({ Flag = "AimFovFillColor", Default = Color3.new(1, 1, 1), Callback = function(color) FieldOfView.fillColor = color applyFovStyle() end, }) AimFilterSection:Slider({ Name = "FOV Transparency", Flag = "AimFovTransparency", Default = 0.35, Min = 0, Max = 1, Decimals = 2, Callback = function(value) FieldOfView.transparency = value FieldOfView.filledTransparency = math.clamp(value + 0.2, 0, 1) applyFovStyle() end, }) AimFilterSection:Toggle({ Name = "Draw Snapline", Flag = "AimSnapline", Default = false, Callback = function(value) FieldOfView.snapline = value end, }) AimFilterSection:Label("Snapline Color"):Colorpicker({ Flag = "AimSnaplineColor", Default = Color3.new(1, 1, 1), Callback = function(color) FieldOfView.snaplineColor = color applyFovStyle() end, }) AimFilterSection:Toggle({ Name = "Highlight Target", Flag = "AimHighlight", Default = false, Callback = function(value) FieldOfView.highlight = value end, }) GunModsSection:Toggle({ Name = "No Recoil", Flag = "GunNoRecoil", Default = false, Callback = function(value) GunMods.state.noRecoil = value if not value then restoreGuns() end end, }) GunModsSection:Toggle({ Name = "No Spread", Flag = "GunNoSpread", Default = false, Callback = function(value) GunMods.state.noSpread = value if not value then restoreGuns() end end, }) GunModsSection:Toggle({ Name = "Fire Rate", Flag = "GunFireRate", Default = false, Callback = function(value) GunMods.state.fireRate = value if not value then restoreGuns() end end, }) GunModsSection:Slider({ Name = "Fire Rate Multiplier", Flag = "GunFireRateMult", Default = 3, Min = 1, Max = 15, Decimals = 1, Suffix = "x", Callback = function(value) GunMods.state.fireRateMult = value end, }) GunModsSection:Toggle({ Name = "Automatic", Flag = "GunAutomatic", Default = false, Callback = function(value) GunMods.state.automatic = value if not value then restoreGuns() end end, }) GunModsSection:Toggle({ Name = "No Jam", Flag = "GunNoJam", Default = false, Callback = function(value) GunMods.state.noJam = value if not value then restoreGuns() end end, }) local Hitbox = { enabled = false, size = 2, originals = {}, connection = nil, } local function restoreHitboxes() for head, data in pairs(Hitbox.originals) do if head and head.Parent then pcall(function() head.Size = data.Size head.Massless = data.Massless end) end end Hitbox.originals = {} end local function expandHeads() for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then local head = getHead(player) if head then if not Hitbox.originals[head] then Hitbox.originals[head] = { Size = head.Size, Massless = head.Massless } end pcall(function() head.Size = Vector3.new(Hitbox.size, Hitbox.size, Hitbox.size) head.Massless = true end) end end end end local function hitboxTick() if not Hitbox.enabled then return end for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then local head = getHead(player) if head and not Hitbox.originals[head] then expandHeads() return end end end local character = LocalPlayer.Character local own = character and character:FindFirstChild("Head") if own and Hitbox.originals[own] then Hitbox.originals[own] = nil end end HitboxSection:Slider({ Name = "Hitbox Size", Flag = "HitboxSize", Default = 2, Min = 1, Max = 12, Decimals = 1, Suffix = " studs", Callback = function(value) Hitbox.size = value if Hitbox.enabled then restoreHitboxes() expandHeads() end end, }) HitboxSection:Toggle({ Name = "Hitbox Expander", Flag = "HitboxEnabled", Default = false, Callback = function(value) Hitbox.enabled = value if value then expandHeads() else restoreHitboxes() end end, }) track(RunService.Heartbeat:Connect(function() hitboxTick() end)) --============= visuals =============-- local ESPSection = VisualsPage:Section({ Name = "Player Visuals", Side = 1 }) local ESPSettings = VisualsPage:Section({ Name = "Player Settings", Side = 1 }) local PerfSection = VisualsPage:Section({ Name = "Performance", Side = 2 }) local GraphSection = VisualsPage:Section({ Name = "Graphics", Side = 2 }) local FOVSection = VisualsPage:Section({ Name = "FOV", Side = 2 }) local SkySection = VisualsPage:Section({ Name = "Sky / Time", Side = 2 }) ESPSection:Toggle({ Name = "Enable ESP", Flag = "ESPEnabled", Default = false, Callback = function(value) ESP.options.enabled = value end, }) ESPSection:Toggle({ Name = "Player Names", Flag = "ESPNames", Default = false, Callback = function(value) ESP.options.names = value end, }):Colorpicker({ Flag = "ESPNameColor", Default = Color3.new(1, 1, 1), Callback = function(color) ESP.options.nameColor = color end, }) ESPSection:Toggle({ Name = "Bounding Boxes", Flag = "ESPBoxes", Default = false, Callback = function(value) ESP.options.boxes = value end, }):Colorpicker({ Flag = "ESPBoxColor", Default = Color3.new(1, 1, 1), Callback = function(color) ESP.options.boxesColor = color end, }) ESPSection:Toggle({ Name = "Box Fill", Flag = "ESPBoxFill", Default = false, Callback = function(value) ESP.options.boxFill = value end, }):Colorpicker({ Flag = "ESPBoxFillColor", Default = Color3.new(1, 1, 1), Callback = function(color) ESP.options.boxFillColor = color end, }) ESPSection:Toggle({ Name = "Health Bars", Flag = "ESPHealthBars", Default = false, Callback = function(value) ESP.options.healthBars = value end, }):Colorpicker({ Flag = "ESPHealthBarColor", Default = Color3.new(0, 1, 0), Callback = function(color) ESP.options.healthBarsColor = color end, }) ESPSection:Toggle({ Name = "Health Text", Flag = "ESPHealthText", Default = false, Callback = function(value) ESP.options.healthText = value end, }):Colorpicker({ Flag = "ESPHealthTextColor", Default = Color3.new(1, 1, 1), Callback = function(color) ESP.options.healthTextColor = color end, }) ESPSection:Toggle({ Name = "Distance", Flag = "ESPDistance", Default = false, Callback = function(value) ESP.options.distance = value end, }):Colorpicker({ Flag = "ESPDistanceColor", Default = Color3.new(1, 1, 1), Callback = function(color) ESP.options.distanceColor = color end, }) ESPSection:Toggle({ Name = "Show Tool", Flag = "ESPTool", Default = false, Callback = function(value) ESP.options.tool = value end, }):Colorpicker({ Flag = "ESPToolColor", Default = Color3.new(1, 1, 1), Callback = function(color) ESP.options.toolColor = color end, }) ESPSection:Toggle({ Name = "Tracers", Flag = "ESPTracers", Default = false, Callback = function(value) ESP.options.tracers = value end, }):Colorpicker({ Flag = "ESPTracerColor", Default = Color3.new(1, 1, 1), Callback = function(color) ESP.options.tracerColor = color end, }) ESPSection:Toggle({ Name = "Chams", Flag = "ESPChams", Default = false, Callback = function(value) ESP.options.chams = value end, }):Colorpicker({ Flag = "ESPChamsColor", Default = Color3.new(1, 0, 0), Callback = function(color) ESP.options.chamsFillColor = color end, }) ESPSettings:Toggle({ Name = "Visible Only", Flag = "ESPVisibleOnly", Default = false, Callback = function(value) ESP.options.visibleOnly = value end, }) ESPSettings:Toggle({ Name = "Limit Distance", Flag = "ESPLimitDistance", Default = false, Callback = function(value) ESP.options.limitDistance = value end, }) ESPSettings:Slider({ Name = "Max Distance", Flag = "ESPMaxDistance", Default = 1000, Min = 100, Max = 5000, Decimals = 1, Callback = function(value) ESP.options.maxDistance = value end, }) ESPSettings:Dropdown({ Name = "Tracer Origin", Flag = "ESPTracerOrigin", Default = "Bottom", Items = { "Bottom", "Top", "Mouse" }, Callback = function(value) ESP.options.tracerOrigin = value end, }) ESPSettings:Toggle({ Name = "Team Check", Flag = "ESPTeamCheck", Default = false, Callback = function(value) ESP.options.teamCheck = value end, }) local perfButtons = PerfSection:Button() perfButtons:Add("FPS Boost", function() Graphics.fpsBoost() end) perfButtons:Add("Restore Lighting", function() Graphics.restoreLighting() end) perfButtons:Add("RTX Vibrant", function() Graphics.vibrantLook() end) GraphSection:Toggle({ Name = "Brightness Boost", Flag = "GfxBrightness", Default = false, Callback = function(value) if value then Lighting.Brightness = 2.5 Lighting.Ambient = Color3.fromRGB(200, 200, 200) else Lighting.Brightness = Graphics.base.Brightness Lighting.Ambient = Graphics.base.Ambient end end, }) GraphSection:Toggle({ Name = "Disable Shadows", Flag = "GfxShadows", Default = false, Callback = function(value) Lighting.GlobalShadows = not value end, }) GraphSection:Toggle({ Name = "Bright Outdoor", Flag = "GfxOutdoor", Default = false, Callback = function(value) if value then Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255) Lighting.ClockTime = 14 else Lighting.OutdoorAmbient = Graphics.base.OutdoorAmbient Lighting.ClockTime = Graphics.base.ClockTime end end, }) GraphSection:Toggle({ Name = "Remove Fog", Flag = "GfxFog", Default = false, Callback = function(value) Lighting.FogEnd = value and 100000 or Graphics.base.FogEnd end, }) FOVSection:Toggle({ Name = "Custom FOV", Flag = "FovEnabled", Default = false, Callback = function(value) Graphics.fovEnabled = value if not value then local cam = camera() if cam then cam.FieldOfView = Graphics.base.Fov end end end, }) FOVSection:Slider({ Name = "FOV Value", Flag = "FovValue", Default = 70, Min = 30, Max = 120, Decimals = 1, Callback = function(value) Graphics.fovValue = value end, }) SkySection:Toggle({ Name = "Permanent Day", Flag = "DayLock", Default = false, Callback = function(value) Graphics.day = value if not value and not Graphics.night then Lighting.ClockTime = Graphics.base.ClockTime end end, }) SkySection:Toggle({ Name = "Permanent Night", Flag = "NightLock", Default = false, Callback = function(value) Graphics.night = value if not value and not Graphics.day then Lighting.ClockTime = Graphics.base.ClockTime end end, }) SkySection:Dropdown({ Name = "Sky Preset", Flag = "SkyPreset", Default = "Default", Items = { "Default", "Sunset", "Foggy", "Dawn", "Blood Moon" }, Callback = function(value) Graphics.applyPreset(value) end, }) SkySection:Dropdown({ Name = "Skybox", Flag = "Skybox", Default = "Default", Items = { "Default", "Grim Reaper", "Real", "Island", "Purple Sky", "Purple Galaxy", "Pink", "Aurora", "Among Us", "Spongebob", "Deep Space", "Winter", "Clouded Sky" }, Callback = function(value) Graphics.applySkybox(value) end, }) Library:CreateSettingsPage(Window, Watermark, KeybindList) local settingsPage for _, page in ipairs(Window.Pages) do if page.Name == "Settings" then settingsPage = page break end end if settingsPage then pcall(function() settingsPage.Items.Icon.Instance.Image = Icons.Settings end) end task.spawn(function() local mainFrame = Window.Items and Window.Items.MainFrame and Window.Items.MainFrame.Instance if not mainFrame then return end local glow = Instance.new("UIStroke") glow.Name = "PurpleGlow" glow.Color = Color3.fromRGB(149, 0, 211) glow.Thickness = 4 glow.Transparency = 0.55 glow.ApplyStrokeMode = Enum.ApplyStrokeMode.Border glow.LineJoinMode = Enum.LineJoinMode.Round glow.Parent = mainFrame local stroke = Instance.new("UIStroke") stroke.Name = "PurpleStroke" stroke.Color = Color3.fromRGB(149, 0, 211) stroke.Thickness = 2 stroke.Transparency = 0.15 stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border stroke.LineJoinMode = Enum.LineJoinMode.Round stroke.Parent = mainFrame local gradient = Instance.new("UIGradient") gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0.00, Color3.fromRGB(90, 0, 160)), ColorSequenceKeypoint.new(0.25, Color3.fromRGB(200, 40, 255)), ColorSequenceKeypoint.new(0.50, Color3.fromRGB(255, 140, 255)), ColorSequenceKeypoint.new(0.75, Color3.fromRGB(200, 40, 255)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(90, 0, 160)), }) gradient.Rotation = 0 gradient.Parent = stroke TweenService:Create(gradient, TweenInfo.new(8, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, -1), { Rotation = 360, }):Play() end) local toggleGui = Instance.new("ScreenGui") toggleGui.Name = "SLR_Toggle" toggleGui.ResetOnSpawn = false toggleGui.DisplayOrder = 10 do local toggleParent = (gethui and gethui()) or LocalPlayer:WaitForChild("PlayerGui") local parentOk = pcall(function() toggleGui.Parent = toggleParent end) if not parentOk then toggleGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end end local toggleButton = Instance.new("ImageButton") toggleButton.Name = "ToggleButton" toggleButton.Size = UDim2.new(0, 46, 0, 46) toggleButton.Position = UDim2.new(0, 10, 0, 50) toggleButton.Image = Icons.Logo toggleButton.BackgroundColor3 = Color3.fromRGB(20, 18, 24) toggleButton.BackgroundTransparency = 0.15 toggleButton.ScaleType = Enum.ScaleType.Fit toggleButton.Parent = toggleGui Instance.new("UICorner", toggleButton).CornerRadius = UDim.new(0, 10) local toggleStroke = Instance.new("UIStroke", toggleButton) toggleStroke.Color = Color3.fromRGB(149, 0, 211) toggleStroke.Thickness = 2 toggleStroke.Transparency = 0.25 local dragging, dragInput, dragStart, startPosition = false, nil, nil, nil toggleButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPosition = toggleButton.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) toggleButton.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) track(UserInputService.InputChanged:Connect(function(input) if dragging and input == dragInput then local delta = input.Position - dragStart toggleButton.Position = UDim2.new( startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y ) end end)) toggleButton.MouseButton1Click:Connect(function() Window:SetOpen(not Window.IsOpen) end) ESP:load() task.spawn(function() task.wait(0.2) pcall(function() Window:SetBackgroundImage("rbxassetid://117186050112432") end) end) track(RunService.Heartbeat:Connect(function() applyLocalTick() if LocalState.infiniteStamina then staminaTick() end end)) local api = { Version = "1.0", ESP = ESP, Aim = Aim, Teleport = Teleport, Graphics = Graphics, GunMods = GunMods, LocalState = LocalState, CleanFarm = CleanFarm, Window = Window, Pages = { Main = MainPage, Combat = CombatPage, Visuals = VisualsPage, Settings = settingsPage }, } function api:Destroy() for _, connection in ipairs(Connections) do pcall(function() connection:Disconnect() end) end Connections = {} Fly:stop() Spectate:stop() restoreGuns() restoreHitboxes() Graphics.restore() local function destroyByName(container, name) if not container then return end for _, gui in ipairs(container:GetChildren()) do if gui.Name == name then pcall(function() gui:Destroy() end) end end end destroyByName((gethui and gethui()) or LocalPlayer:FindFirstChild("PlayerGui"), "SLR_ESP") destroyByName((gethui and gethui()) or LocalPlayer:FindFirstChild("PlayerGui"), "SLR_FOV") destroyByName((gethui and gethui()) or LocalPlayer:FindFirstChild("PlayerGui"), "SLR_Toggle") if aimHighlight then aimHighlight:Destroy() end if aimSnapline then destroyDrawing(aimSnapline) end if toggleGui then toggleGui:Destroy() toggleGui = nil end getgenv().SLR_Menu = nil end getgenv().SLR_Menu = api notify("Street Life Remastered loaded")