-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] --[[rscripts:analytics:start]] -- Script analytics (enabled by the creator on rscripts.net). -- Runs in its own thread and cannot affect the script below. task.spawn(function() pcall(function() loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6aaf594277fd29f402f107e3"))() end) end) --[[rscripts:analytics:end]] --//================================================== --// FIXATION ESP --//================================================== local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") --================================================== -- SETTINGS --================================================== local PaperEnabled = false local DoorEnabled = false local SafeEnabled = false local WillowEnabled = false local PlayerEnabled = false local KillerEnabled = false local RenderDistance = 250 local MenuKey = nil local ListeningForKey = false --================================================== -- COLORS --================================================== local Colors = { Paper = Color3.fromRGB(255, 255, 0), Door = Color3.fromRGB(255, 255, 255), Safe = Color3.fromRGB(255, 0, 0), Willow = Color3.fromRGB(255, 105, 180), Survivor = Color3.fromRGB(0, 255, 0), Interest = Color3.fromRGB(170, 0, 255), Friend = Color3.fromRGB(0, 150, 255), Killer = Color3.fromRGB(255, 0, 0) } --================================================== -- STORAGE --================================================== local ESP = {} local ScanObjects = { Paper = {}, Door = {}, Safe = {}, Willow = {}, Interest = {}, Player = {}, Killer = {} } --================================================== -- GUI --================================================== local OldGui = PlayerGui:FindFirstChild("FixationESP") if OldGui then OldGui:Destroy() end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "FixationESP" ScreenGui.ResetOnSpawn = false ScreenGui.IgnoreGuiInset = true ScreenGui.Parent = PlayerGui --================================================== -- MAIN MENU --================================================== local Main = Instance.new("Frame") Main.Name = "Main" Main.Size = UDim2.new(0, 220, 0, 420) Main.Position = UDim2.new(0, 20, 0.5, -210) Main.BackgroundColor3 = Color3.fromRGB(20, 20, 20) Main.BorderSizePixel = 0 Main.Parent = ScreenGui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 8) MainCorner.Parent = Main --================================================== -- TITLE --================================================== local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 35) Title.BackgroundTransparency = 1 Title.Text = "FIXATION ESP" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 18 Title.Font = Enum.Font.GothamBold Title.Parent = Main --================================================== -- DRAG MENU --================================================== local Dragging = false local DragStart local StartPosition Title.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then Dragging = true DragStart = Input.Position StartPosition = Main.Position end end) UserInputService.InputChanged:Connect(function(Input) if not Dragging then return end if Input.UserInputType ~= Enum.UserInputType.MouseMovement and Input.UserInputType ~= Enum.UserInputType.Touch then return end local Delta = Input.Position - DragStart Main.Position = UDim2.new( StartPosition.X.Scale, StartPosition.X.Offset + Delta.X, StartPosition.Y.Scale, StartPosition.Y.Offset + Delta.Y ) end) UserInputService.InputEnded:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then Dragging = false end end) --================================================== -- BUTTON CREATOR --================================================== local function CreateButton(Text, Y, Callback) local Button = Instance.new("TextButton") Button.Size = UDim2.new(1, -20, 0, 35) Button.Position = UDim2.new(0, 10, 0, Y) Button.BackgroundColor3 = Color3.fromRGB(35, 35, 35) Button.BorderSizePixel = 0 Button.Text = Text Button.TextColor3 = Color3.fromRGB(255, 255, 255) Button.TextSize = 14 Button.Font = Enum.Font.Gotham Button.AutoButtonColor = true Button.Parent = Main local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 5) Corner.Parent = Button Button.MouseButton1Click:Connect(Callback) return Button end --================================================== -- GET CHARACTER ROLE --================================================== local function GetRole(Character) if not Character then return nil end if not Character:IsA("Model") then return nil end if Character == LocalPlayer.Character then return nil end --================================================== -- ATTRIBUTE --================================================== local Role = Character:GetAttribute("FixationRole") if typeof(Role) == "string" then if Role == "Survivor" then return "Survivor" end if Role == "Interest" then return "Interest" end if Role == "Friend" then return "Friend" end -- Killer -- A skin pode mudar o FixationLook, -- mas o FixationRole continua Nikki. if Role == "Nikki" then return "Killer" end end --================================================== -- STRINGVALUE FALLBACK --================================================== local RoleValue = Character:FindFirstChild("FixationRole", true) if RoleValue and RoleValue:IsA("StringValue") then Role = RoleValue.Value if Role == "Survivor" then return "Survivor" end if Role == "Interest" then return "Interest" end if Role == "Friend" then return "Friend" end if Role == "Nikki" then return "Killer" end end return nil end --================================================== -- GET POSITION --================================================== local function GetPosition(Object) if not Object then return nil end if Object:IsA("BasePart") then return Object.Position end if Object:IsA("Model") then local Root = Object:FindFirstChild("HumanoidRootPart") if Root and Root:IsA("BasePart") then return Root.Position end if Object.PrimaryPart then return Object.PrimaryPart.Position end local Head = Object:FindFirstChild("Head") if Head and Head:IsA("BasePart") then return Head.Position end local Part = Object:FindFirstChildWhichIsA( "BasePart", true ) if Part then return Part.Position end end return nil end --================================================== -- IS ENABLED --================================================== local function IsEnabled(Type) if Type == "Paper" then return PaperEnabled end if Type == "Door" then return DoorEnabled end if Type == "Safe" then return SafeEnabled end if Type == "Willow" then return WillowEnabled end if Type == "Survivor" or Type == "Interest" or Type == "Friend" then return PlayerEnabled end if Type == "Killer" then return KillerEnabled end return false end --================================================== -- CREATE ESP --================================================== local function CreateESP(Object, Type) if ESP[Object] then return end local Color = Colors[Type] if not Color then return end if not GetPosition(Object) then return end --================================================== -- HIGHLIGHT --================================================== local Highlight = Instance.new("Highlight") Highlight.Name = "FixationESP_Highlight" Highlight.Adornee = Object Highlight.FillColor = Color Highlight.OutlineColor = Color Highlight.FillTransparency = 0.85 Highlight.OutlineTransparency = 0 Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop Highlight.Enabled = false Highlight.Parent = Object --================================================== -- BILLBOARD --================================================== local Billboard = Instance.new("BillboardGui") Billboard.Name = "FixationESP_Billboard" Billboard.Adornee = Object Billboard.Size = UDim2.new(0, 150, 0, 30) Billboard.StudsOffset = Vector3.new(0, 3, 0) Billboard.AlwaysOnTop = true Billboard.Enabled = false Billboard.MaxDistance = RenderDistance Billboard.Parent = Object --================================================== -- TEXT --================================================== local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, 0, 1, 0) Label.BackgroundTransparency = 1 Label.Text = Type Label.TextColor3 = Color Label.TextSize = 14 Label.Font = Enum.Font.GothamBold Label.TextStrokeTransparency = 0 Label.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) Label.Parent = Billboard --================================================== -- STORE --================================================== ESP[Object] = { Highlight = Highlight, Billboard = Billboard, Label = Label, Type = Type } end --================================================== -- REMOVE ESP --================================================== local function RemoveESP(Object) local Data = ESP[Object] if not Data then return end if Data.Highlight then Data.Highlight:Destroy() end if Data.Billboard then Data.Billboard:Destroy() end ESP[Object] = nil end --================================================== -- UPDATE ESP --================================================== local function UpdateESP(Object, RootPosition) local Data = ESP[Object] if not Data then return end if not Object or not Object.Parent then RemoveESP(Object) return end if not IsEnabled(Data.Type) then Data.Highlight.Enabled = false Data.Billboard.Enabled = false return end local Position = GetPosition(Object) if not Position then Data.Highlight.Enabled = false Data.Billboard.Enabled = false return end local Distance = (RootPosition - Position).Magnitude if RenderDistance == 0 or Distance <= RenderDistance then Data.Highlight.Enabled = true Data.Billboard.Enabled = true else Data.Highlight.Enabled = false Data.Billboard.Enabled = false end end --================================================== -- ENABLE CATEGORY --================================================== local function EnableCategory(Type) local List = ScanObjects[Type] if not List then return end task.spawn(function() for Object, Value in pairs(List) do if Object and Object.Parent then local ObjectType = Type if Type == "Player" then ObjectType = Value end CreateESP(Object, ObjectType) end task.wait() end end) end --================================================== -- DISABLE CATEGORY --================================================== local function DisableCategory(Type) task.spawn(function() for Object, Data in pairs(ESP) do local Remove = false if Type == "Player" then if Data.Type == "Survivor" or Data.Type == "Interest" or Data.Type == "Friend" then Remove = true end elseif Data.Type == Type then Remove = true end if Remove then RemoveESP(Object) end end end) end --================================================== -- REGISTER CHARACTER --================================================== local function RegisterCharacter(Character) if not Character then return end if Character == LocalPlayer.Character then return end local Role = GetRole(Character) if not Role then return end --================================================== -- KILLER --================================================== if Role == "Killer" then ScanObjects.Killer[Character] = true if KillerEnabled then CreateESP(Character, "Killer") end return end --================================================== -- PLAYERS --================================================== if Role == "Survivor" or Role == "Interest" or Role == "Friend" then ScanObjects.Player[Character] = Role if PlayerEnabled then CreateESP(Character, Role) end end end --================================================== -- WATCH CHARACTER --================================================== local function WatchCharacter(Character) if not Character then return end Character:GetAttributeChangedSignal( "FixationRole" ):Connect(function() task.defer(function() local Role = GetRole(Character) if not Role then ScanObjects.Player[Character] = nil ScanObjects.Killer[Character] = nil RemoveESP(Character) return end ScanObjects.Player[Character] = nil ScanObjects.Killer[Character] = nil if Role == "Killer" then ScanObjects.Killer[Character] = true else ScanObjects.Player[Character] = Role end if ESP[Character] then ESP[Character].Type = Role ESP[Character].Label.Text = Role local Color = Colors[Role] if Color then ESP[Character].Label.TextColor3 = Color ESP[Character].Highlight.FillColor = Color ESP[Character].Highlight.OutlineColor = Color end elseif IsEnabled(Role) then CreateESP(Character, Role) end end) end) end --================================================== -- PLAYER SETUP --================================================== local function SetupPlayer(Player) if Player == LocalPlayer then return end Player.CharacterAdded:Connect(function(Character) task.wait(0.25) WatchCharacter(Character) RegisterCharacter(Character) end) if Player.Character then WatchCharacter(Player.Character) RegisterCharacter(Player.Character) end end for _, Player in ipairs(Players:GetPlayers()) do SetupPlayer(Player) end Players.PlayerAdded:Connect(function(Player) SetupPlayer(Player) end) Players.PlayerRemoving:Connect(function(Player) if Player.Character then ScanObjects.Player[Player.Character] = nil ScanObjects.Killer[Player.Character] = nil RemoveESP(Player.Character) end end) --================================================== -- LOBBY CHECK --================================================== local function IsInLobby(Object) local Lobby = workspace:FindFirstChild("Lobby") if not Lobby then return false end return Object:IsDescendantOf(Lobby) end --================================================== -- REGISTER MAP OBJECT --================================================== local function RegisterMapObject(Object) if not Object then return end --================================================== -- IGNORE LOBBY --================================================== if IsInLobby(Object) then return end local Name = Object.Name --================================================== -- PAPER --================================================== if Name == "FixationPolaroid" then ScanObjects.Paper[Object] = true if PaperEnabled then CreateESP(Object, "Paper") end return end --================================================== -- DOOR --================================================== if Name == "Door" then ScanObjects.Door[Object] = true if DoorEnabled then CreateESP(Object, "Door") end return end --================================================== -- SAFE --================================================== if Name == "FixationSafe" then ScanObjects.Safe[Object] = true if SafeEnabled then CreateESP(Object, "Safe") end return end --================================================== -- WILLOW --================================================== if Name == "FixationWillowBox" then ScanObjects.Willow[Object] = true if WillowEnabled then CreateESP(Object, "Willow") end return end --================================================== -- INTEREST --================================================== if Name == "INTERESSE" then ScanObjects.Interest[Object] = true if PlayerEnabled then CreateESP(Object, "Interest") end return end end --================================================== -- INITIAL MAP SCAN --================================================== task.spawn(function() local Lobby = workspace:FindFirstChild("Lobby") for _, Object in ipairs(workspace:GetDescendants()) do if not ( Lobby and Object:IsDescendantOf(Lobby) ) then RegisterMapObject(Object) end end end) --================================================== -- NEW OBJECTS --================================================== workspace.DescendantAdded:Connect(function(Object) task.defer(function() if not IsInLobby(Object) then RegisterMapObject(Object) if Object:IsA("Model") then RegisterCharacter(Object) end end end) end) --================================================== -- REMOVED OBJECTS --================================================== workspace.DescendantRemoving:Connect(function(Object) ScanObjects.Paper[Object] = nil ScanObjects.Door[Object] = nil ScanObjects.Safe[Object] = nil ScanObjects.Willow[Object] = nil ScanObjects.Interest[Object] = nil ScanObjects.Player[Object] = nil ScanObjects.Killer[Object] = nil RemoveESP(Object) end) --================================================== -- PAPER BUTTON --================================================== local PaperButton PaperButton = CreateButton( "Papers: OFF", 45, function() PaperEnabled = not PaperEnabled if PaperEnabled then PaperButton.Text = "Papers: ON" EnableCategory("Paper") else PaperButton.Text = "Papers: OFF" DisableCategory("Paper") end end ) --================================================== -- DOOR BUTTON --================================================== local DoorButton DoorButton = CreateButton( "Doors: OFF", 85, function() DoorEnabled = not DoorEnabled if DoorEnabled then DoorButton.Text = "Doors: ON" EnableCategory("Door") else DoorButton.Text = "Doors: OFF" DisableCategory("Door") end end ) --================================================== -- SAFE BUTTON --================================================== local SafeButton SafeButton = CreateButton( "Safes: OFF", 125, function() SafeEnabled = not SafeEnabled if SafeEnabled then SafeButton.Text = "Safes: ON" EnableCategory("Safe") else SafeButton.Text = "Safes: OFF" DisableCategory("Safe") end end ) --================================================== -- WILLOW BUTTON --================================================== local WillowButton WillowButton = CreateButton( "Willow: OFF", 165, function() WillowEnabled = not WillowEnabled if WillowEnabled then WillowButton.Text = "Willow: ON" EnableCategory("Willow") else WillowButton.Text = "Willow: OFF" DisableCategory("Willow") end end ) --================================================== -- PLAYER BUTTON --================================================== local PlayerButton PlayerButton = CreateButton( "ESP Player: OFF", 205, function() PlayerEnabled = not PlayerEnabled if PlayerEnabled then PlayerButton.Text = "ESP Player: ON" EnableCategory("Player") EnableCategory("Interest") else PlayerButton.Text = "ESP Player: OFF" DisableCategory("Player") DisableCategory("Interest") end end ) --================================================== -- KILLER BUTTON --================================================== local KillerButton KillerButton = CreateButton( "Killer: OFF", 245, function() KillerEnabled = not KillerEnabled if KillerEnabled then KillerButton.Text = "Killer: ON" EnableCategory("Killer") else KillerButton.Text = "Killer: OFF" DisableCategory("Killer") end end ) --================================================== -- DISTANCE LABEL --================================================== local DistanceLabel = Instance.new("TextLabel") DistanceLabel.Size = UDim2.new(1, -20, 0, 25) DistanceLabel.Position = UDim2.new(0, 10, 0, 285) DistanceLabel.BackgroundTransparency = 1 DistanceLabel.Text = "Render Distance: " .. RenderDistance DistanceLabel.TextColor3 = Color3.fromRGB(255, 255, 255) DistanceLabel.TextSize = 13 DistanceLabel.Font = Enum.Font.Gotham DistanceLabel.Parent = Main --================================================== -- SLIDER --================================================== local Slider = Instance.new("Frame") Slider.Size = UDim2.new(1, -30, 0, 8) Slider.Position = UDim2.new(0, 15, 0, 320) Slider.BackgroundColor3 = Color3.fromRGB(55, 55, 55) Slider.BorderSizePixel = 0 Slider.Parent = Main local SliderCorner = Instance.new("UICorner") SliderCorner.CornerRadius = UDim.new(1, 0) SliderCorner.Parent = Slider local Fill = Instance.new("Frame") Fill.Size = UDim2.new( RenderDistance / 500, 0, 1, 0 ) Fill.BackgroundColor3 = Color3.fromRGB(120, 120, 120) Fill.BorderSizePixel = 0 Fill.Parent = Slider local FillCorner = Instance.new("UICorner") FillCorner.CornerRadius = UDim.new(1, 0) FillCorner.Parent = Fill local Knob = Instance.new("TextButton") Knob.Size = UDim2.new(0, 16, 0, 16) Knob.AnchorPoint = Vector2.new(0.5, 0.5) Knob.Position = UDim2.new( RenderDistance / 500, 0, 0.5, 0 ) Knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Knob.Text = "" Knob.Parent = Slider local KnobCorner = Instance.new("UICorner") KnobCorner.CornerRadius = UDim.new(1, 0) KnobCorner.Parent = Knob --================================================== -- SLIDER INPUT --================================================== local SliderDragging = false local function SetDistance(X) local RelativeX = X - Slider.AbsolutePosition.X local Width = Slider.AbsoluteSize.X local Percentage = math.clamp( RelativeX / Width, 0, 1 ) RenderDistance = math.floor( Percentage * 500 + 0.5 ) Fill.Size = UDim2.new( Percentage, 0, 1, 0 ) Knob.Position = UDim2.new( Percentage, 0, 0.5, 0 ) if RenderDistance == 0 then DistanceLabel.Text = "Render Distance: Unlimited" else DistanceLabel.Text = "Render Distance: " .. RenderDistance end for _, Data in pairs(ESP) do if Data.Billboard then Data.Billboard.MaxDistance = RenderDistance end end end Slider.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then SliderDragging = true SetDistance(Input.Position.X) end end) Knob.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then SliderDragging = true end end) UserInputService.InputChanged:Connect(function(Input) if not SliderDragging then return end if Input.UserInputType ~= Enum.UserInputType.MouseMovement and Input.UserInputType ~= Enum.UserInputType.Touch then return end SetDistance(Input.Position.X) end) UserInputService.InputEnded:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then SliderDragging = false end end) --================================================== -- MENU KEYBIND --================================================== local BindLabel = Instance.new("TextLabel") BindLabel.Size = UDim2.new(1, -20, 0, 25) BindLabel.Position = UDim2.new(0, 10, 0, 345) BindLabel.BackgroundTransparency = 1 BindLabel.Text = "Menu Key" BindLabel.TextColor3 = Color3.fromRGB(255, 255, 255) BindLabel.TextSize = 13 BindLabel.Font = Enum.Font.Gotham BindLabel.TextXAlignment = Enum.TextXAlignment.Left BindLabel.Parent = Main --================================================== -- BIND BUTTON --================================================== local BindButton = Instance.new("TextButton") BindButton.Size = UDim2.new(1, -20, 0, 35) BindButton.Position = UDim2.new(0, 10, 0, 370) BindButton.BackgroundColor3 = Color3.fromRGB(35, 35, 35) BindButton.BorderSizePixel = 0 BindButton.Text = "Click to set key" BindButton.TextColor3 = Color3.fromRGB(255, 255, 255) BindButton.TextSize = 14 BindButton.Font = Enum.Font.Gotham BindButton.Parent = Main local BindCorner = Instance.new("UICorner") BindCorner.CornerRadius = UDim.new(0, 5) BindCorner.Parent = BindButton --================================================== -- FLOATING BUTTON --================================================== local FloatingButton = Instance.new("TextButton") FloatingButton.Name = "FloatingESPButton" FloatingButton.Size = UDim2.new(0, 58, 0, 58) FloatingButton.Position = UDim2.new(1, -78, 0.5, -29) FloatingButton.BackgroundColor3 = Color3.fromRGB(25, 25, 30) FloatingButton.BorderSizePixel = 0 FloatingButton.Text = "" FloatingButton.AutoButtonColor = false FloatingButton.ZIndex = 50 FloatingButton.Parent = ScreenGui --================================================== -- FLOATING BUTTON CIRCLE --================================================== local FloatingCorner = Instance.new("UICorner") FloatingCorner.CornerRadius = UDim.new(1, 0) FloatingCorner.Parent = FloatingButton --================================================== -- FLOATING GRADIENT --================================================== local FloatingGradient = Instance.new("UIGradient") FloatingGradient.Rotation = 45 FloatingGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new( 0, Color3.fromRGB(65, 65, 75) ), ColorSequenceKeypoint.new( 0.5, Color3.fromRGB(30, 30, 38) ), ColorSequenceKeypoint.new( 1, Color3.fromRGB(12, 12, 16) ) }) FloatingGradient.Parent = FloatingButton --================================================== -- FLOATING BORDER --================================================== local FloatingStroke = Instance.new("UIStroke") FloatingStroke.Color = Color3.fromRGB(150, 150, 165) FloatingStroke.Thickness = 1.5 FloatingStroke.Transparency = 0.1 FloatingStroke.Parent = FloatingButton --================================================== -- FLOATING SHADOW --================================================== local Shadow = Instance.new("Frame") Shadow.Name = "Shadow" Shadow.Size = UDim2.new(1, 8, 1, 8) Shadow.Position = UDim2.new(0, -4, 0, 5) Shadow.BackgroundColor3 = Color3.fromRGB(0, 0, 0) Shadow.BackgroundTransparency = 0.5 Shadow.BorderSizePixel = 0 Shadow.ZIndex = 49 Shadow.Parent = FloatingButton local ShadowCorner = Instance.new("UICorner") ShadowCorner.CornerRadius = UDim.new(1, 0) ShadowCorner.Parent = Shadow --================================================== -- FLOATING ICON --================================================== local FloatingIcon = Instance.new("TextLabel") FloatingIcon.Size = UDim2.new(1, 0, 1, 0) FloatingIcon.BackgroundTransparency = 1 FloatingIcon.Text = "☰" FloatingIcon.TextColor3 = Color3.fromRGB(255, 255, 255) FloatingIcon.TextSize = 25 FloatingIcon.Font = Enum.Font.GothamBold FloatingIcon.ZIndex = 52 FloatingIcon.Parent = FloatingButton --================================================== -- TOGGLE MENU --================================================== local function ToggleMenu() Main.Visible = not Main.Visible if Main.Visible then FloatingIcon.Text = "×" else FloatingIcon.Text = "☰" end end --================================================== -- FLOATING BUTTON DRAG --================================================== local FloatingDragging = false local FloatingDragStart local FloatingStartPosition local FloatingMoved = false FloatingButton.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then FloatingDragging = true FloatingMoved = false FloatingDragStart = Input.Position FloatingStartPosition = FloatingButton.Position end end) UserInputService.InputChanged:Connect(function(Input) if not FloatingDragging then return end if Input.UserInputType ~= Enum.UserInputType.MouseMovement and Input.UserInputType ~= Enum.UserInputType.Touch then return end local Delta = Input.Position - FloatingDragStart if math.abs(Delta.X) > 5 or math.abs(Delta.Y) > 5 then FloatingMoved = true end FloatingButton.Position = UDim2.new( FloatingStartPosition.X.Scale, FloatingStartPosition.X.Offset + Delta.X, FloatingStartPosition.Y.Scale, FloatingStartPosition.Y.Offset + Delta.Y ) end) UserInputService.InputEnded:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then FloatingDragging = false end end) --================================================== -- FLOATING BUTTON CLICK --================================================== FloatingButton.MouseButton1Click:Connect(function() if FloatingMoved then FloatingMoved = false return end ToggleMenu() end) --================================================== -- KEYBIND BUTTON --================================================== BindButton.MouseButton1Click:Connect(function() ListeningForKey = true BindButton.Text = "Press a key..." end) --================================================== -- KEYBOARD INPUT --================================================== UserInputService.InputBegan:Connect(function(Input) --================================================== -- SET KEY --================================================== if ListeningForKey then if Input.UserInputType == Enum.UserInputType.Keyboard then MenuKey = Input.KeyCode ListeningForKey = false BindButton.Text = MenuKey.Name end return end --================================================== -- MENU KEY --================================================== if not MenuKey then return end if Input.UserInputType == Enum.UserInputType.Keyboard and Input.KeyCode == MenuKey then ToggleMenu() end end) --================================================== -- FPS OPTIMIZED LOOP --================================================== task.spawn(function() while ScreenGui.Parent do local Character = LocalPlayer.Character if Character then local Root = Character:FindFirstChild( "HumanoidRootPart" ) if Root then local RootPosition = Root.Position for Object, Data in pairs(ESP) do if Object and Object.Parent then if IsEnabled(Data.Type) then UpdateESP( Object, RootPosition ) end else RemoveESP(Object) end end end end -- 4 atualizações por segundo task.wait(0.25) end end) --================================================== -- LOADED --================================================== print("================================") print("FIXATION ESP LOADED") print("FPS optimized") print("Lobby Doors excluded") print("Mobile Floating Button enabled") print("Menu Keybind enabled") print("Killer = FixationRole Nikki") print("FixationLook ignored") print("FixationTitle ignored") print("FillTransparency = 0.85") print("================================")