local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer local Mouse = LocalPlayer:GetMouse() local SelectedTarget = nil local CurrentMode = "None" local Angle, Timer = 0, 0 local IsVisible = true local NoclipEnabled = false local TracersEnabled = false local SoundID = "rbxassetid://139421450430380" local FriendDance = nil local ScriptCreator = "ZasPas01" local function RunOriginalUI() local ScreenGui = Instance.new("ScreenGui", LocalPlayer.PlayerGui) ScreenGui.Name = "FollowerV1_Elite_FriendUpdate" ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.Size = UDim2.new(0, 720, 0, 520) MainFrame.Position = UDim2.new(0.5, -360, 0.5, -260) MainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10) MainFrame.BorderSizePixel = 0 MainFrame.ClipsDescendants = false Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 15) local CloseBtn = Instance.new("TextButton", MainFrame) CloseBtn.Size = UDim2.new(0, 35, 0, 35) CloseBtn.Position = UDim2.new(1, 5, 0, -15) CloseBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) CloseBtn.Text = "X" CloseBtn.TextColor3 = Color3.new(1, 1, 1) CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextSize = 16 Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 8) local CloseStroke = Instance.new("UIStroke", CloseBtn) CloseStroke.Thickness = 2 CloseStroke.Color = Color3.new(0,0,0) CloseBtn.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) local Sidebar = Instance.new("Frame", MainFrame) Sidebar.Size = UDim2.new(0, 200, 1, 0) Sidebar.BackgroundColor3 = Color3.fromRGB(15, 15, 15) Sidebar.BorderSizePixel = 0 Instance.new("UICorner", Sidebar).CornerRadius = UDim.new(0, 15) local ProfileCard = Instance.new("Frame", Sidebar) ProfileCard.Size = UDim2.new(1, -20, 0, 60) ProfileCard.Position = UDim2.new(0, 10, 1, -70) ProfileCard.BackgroundTransparency = 1 local UserImg = Instance.new("ImageLabel", ProfileCard) UserImg.Size = UDim2.new(0, 45, 0, 45) UserImg.Image = "rbxthumb://type=AvatarHeadShot&id="..LocalPlayer.UserId.."&w=150&h=150" Instance.new("UICorner", UserImg).CornerRadius = UDim.new(1, 0) local UserName = Instance.new("TextLabel", ProfileCard) UserName.Size = UDim2.new(1, -55, 0, 20) UserName.Position = UDim2.new(0, 50, 0, 5) UserName.Text = LocalPlayer.DisplayName UserName.TextColor3 = Color3.new(1, 1, 1) UserName.Font = Enum.Font.GothamMedium UserName.TextSize = 13 UserName.TextXAlignment = Enum.TextXAlignment.Left UserName.BackgroundTransparency = 1 local CreatorTag = Instance.new("TextLabel", ProfileCard) CreatorTag.Size = UDim2.new(1, -55, 0, 20) CreatorTag.Position = UDim2.new(0, 50, 0, 22) CreatorTag.Text = "by " .. ScriptCreator CreatorTag.TextColor3 = Color3.fromRGB(150, 150, 150) CreatorTag.Font = Enum.Font.Gotham CreatorTag.TextSize = 11 CreatorTag.TextXAlignment = Enum.TextXAlignment.Left CreatorTag.BackgroundTransparency = 1 local Title = Instance.new("TextLabel", Sidebar) Title.Size = UDim2.new(1, 0, 0, 80) Title.Text = "FOLLOWER V.1" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 22 Title.BackgroundTransparency = 1 local Container = Instance.new("Frame", MainFrame) Container.Size = UDim2.new(1, -230, 1, -40) Container.Position = UDim2.new(0, 215, 0, 20) Container.BackgroundTransparency = 1 local Pages = { Players = Instance.new("ScrollingFrame", Container), Modes = Instance.new("ScrollingFrame", Container), Troll = Instance.new("ScrollingFrame", Container), Other = Instance.new("ScrollingFrame", Container), Settings = Instance.new("ScrollingFrame", Container) } for name, page in pairs(Pages) do page.Size = UDim2.new(1, 0, 1, 0) page.BackgroundTransparency = 1 page.Visible = (name == "Players") page.ScrollBarThickness = 0 local layout = Instance.new("UIListLayout", page) layout.Padding = UDim.new(0, 10) end local function playClick() local s = Instance.new("Sound", ScreenGui) s.SoundId = SoundID s.Volume = 2 s.PlayOnRemove = true s:Destroy() end local function dragGui(frame) local dragging, dragStart, startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = frame.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) end dragGui(MainFrame) local function createNavBtn(name, yPos, pageKey) local btn = Instance.new("TextButton", Sidebar) btn.Size = UDim2.new(0.9, 0, 0, 40) btn.Position = UDim2.new(0.05, 0, 0, yPos) btn.Text = name btn.BackgroundColor3 = Color3.fromRGB(25, 25, 25) btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.GothamMedium btn.TextSize = 11 Instance.new("UICorner", btn) btn.MouseButton1Click:Connect(function() playClick() for k, p in pairs(Pages) do p.Visible = (k == pageKey) end end) end createNavBtn("PLAYERS", 100, "Players") createNavBtn("FOLLOW MODES", 145, "Modes") createNavBtn("TROLL STUFF", 190, "Troll") createNavBtn("OTHER STUFF", 235, "Other") createNavBtn("SETTINGS", 280, "Settings") local function updateList() for _, child in pairs(Pages.Players:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer then local pBtn = Instance.new("TextButton", Pages.Players) pBtn.Size = UDim2.new(1, -10, 0, 45) pBtn.Text = " "..p.DisplayName.." (@"..p.Name..")" pBtn.BackgroundColor3 = Color3.fromRGB(22, 22, 22) pBtn.TextColor3 = Color3.new(1,1,1) pBtn.Font = Enum.Font.Gotham pBtn.TextSize = 12 pBtn.TextXAlignment = Enum.TextXAlignment.Left Instance.new("UICorner", pBtn) pBtn.MouseButton1Click:Connect(function() playClick() SelectedTarget = p Title.Text = p.Name:upper() end) end end end Players.PlayerAdded:Connect(updateList) Players.PlayerRemoving:Connect(updateList) updateList() local function createActionBtn(parent, name, func) local btn = Instance.new("TextButton", parent) btn.Size = UDim2.new(1, -10, 0, 45) btn.Text = name btn.BackgroundColor3 = Color3.fromRGB(25, 25, 25) btn.TextColor3 = Color3.new(1,1,1) btn.Font = Enum.Font.GothamBold btn.TextSize = 13 Instance.new("UICorner", btn) btn.MouseButton1Click:Connect(function() playClick() func(btn) end) end createActionBtn(Pages.Modes, "NORMAL FOLLOW", function() CurrentMode = "Normal" end) createActionBtn(Pages.Modes, "HAT (ON HEAD)", function() CurrentMode = "Hat" end) createActionBtn(Pages.Modes, "SPINNING", function() CurrentMode = "Spin" end) createActionBtn(Pages.Modes, "BACKPACK", function() CurrentMode = "Backpack" end) createActionBtn(Pages.Modes, "UPSIDE DOWN", function() CurrentMode = "UpsideDown" end) createActionBtn(Pages.Modes, "FRIEND", function() CurrentMode = "Friend" local Hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if Hum then local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://182435933" FriendDance = Hum:LoadAnimation(anim) FriendDance:Play() end end) createActionBtn(Pages.Modes, "BACKSHOTS", function() CurrentMode = "Backshots" end) createActionBtn(Pages.Modes, "STOP ALL", function() CurrentMode = "None" if FriendDance then FriendDance:Stop() end end) createActionBtn(Pages.Troll, "LOAD UTG V3", function() loadstring(game:HttpGet("https://raw.githubusercontent.com/Blukez/Scripts/main/UTG%20V3%20RAW"))() end) createActionBtn(Pages.Troll, "FE YEET GUI", function() local lp = game:FindService("Players").LocalPlayer local function gplr(String) local Found = {} local strl = String:lower() if strl == "all" then for i,v in pairs(game:FindService("Players"):GetPlayers()) do table.insert(Found,v) end elseif strl == "others" then for i,v in pairs(game:FindService("Players"):GetPlayers()) do if v.Name ~= lp.Name then table.insert(Found,v) end end elseif strl == "me" then for i,v in pairs(game:FindService("Players"):GetPlayers()) do if v.Name == lp.Name then table.insert(Found,v) end end else for i,v in pairs(game:FindService("Players"):GetPlayers()) do if v.Name:lower():sub(1, #String) == String:lower() then table.insert(Found,v) end end end return Found end local h = Instance.new("ScreenGui", game:GetService("CoreGui")) local Main = Instance.new("ImageLabel", h) Main.Active = true Main.Draggable = true Main.Size = UDim2.new(0, 454, 0, 218) Main.Position = UDim2.new(0.2, 0, 0.4, 0) Main.Image = "rbxassetid://2005276185" local TextButton = Instance.new("TextButton", Main) TextButton.Size = UDim2.new(0, 359, 0, 50) TextButton.Position = UDim2.new(0.1, 0, 0.6, 0) TextButton.Text = "Cheese em'" local TextBox = Instance.new("TextBox", Main) TextBox.Size = UDim2.new(0, 388, 0, 62) TextBox.Position = UDim2.new(0.07, 0, 0.27, 0) TextBox.BackgroundColor3 = Color3.fromRGB(49, 49, 49) TextBox.PlaceholderText = "Target Name" TextButton.MouseButton1Click:Connect(function() local Target = gplr(TextBox.Text) if Target[1] then Target = Target[1] local Thrust = Instance.new('BodyThrust', lp.Character.HumanoidRootPart) Thrust.Force = Vector3.new(9999,9999,9999) repeat lp.Character.HumanoidRootPart.CFrame = Target.Character.HumanoidRootPart.CFrame Thrust.Location = Target.Character.HumanoidRootPart.Position RunService.Heartbeat:Wait() until not Target.Character:FindFirstChild("Head") end end) end) createActionBtn(Pages.Other, "NOCLIP: OFF", function(btn) NoclipEnabled = not NoclipEnabled btn.Text = NoclipEnabled and "NOCLIP: ON" or "NOCLIP: OFF" end) createActionBtn(Pages.Other, "TRACERS: OFF", function(btn) TracersEnabled = not TracersEnabled btn.Text = TracersEnabled and "TRACERS: ON" or "TRACERS: OFF" end) createActionBtn(Pages.Other, "GET CLICK TP TOOL", function() local Tool = Instance.new("Tool", LocalPlayer.Backpack) Tool.RequiresHandle = false Tool.Name = "Click TP" Tool.Activated:Connect(function() LocalPlayer.Character:MoveTo(Mouse.Hit.Position + Vector3.new(0, 3, 0)) end) end) createActionBtn(Pages.Settings, "RUN RAYFIELD VERSION", function() ScreenGui:Destroy() RunRayfieldUI() end) UserInputService.InputBegan:Connect(function(input, gpe) if not gpe and input.KeyCode == Enum.KeyCode.G then IsVisible = not IsVisible MainFrame:TweenPosition(IsVisible and UDim2.new(0.5, -360, 0.5, -260) or UDim2.new(0.5, -360, 1.5, 0), "Out", "Quart", 0.5, true) end end) end function RunRayfieldUI() local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({Name = "Follower V.1 | Creator: " .. ScriptCreator, LoadingTitle = "Follower V.1", LoadingSubtitle = "by " .. ScriptCreator, ConfigurationSaving = {Enabled = false}, KeySystem = false}) local PlayerTab = Window:CreateTab("Players", 4483362458) local ModesTab = Window:CreateTab("Follow Modes", 4483362458) local TrollTab = Window:CreateTab("Troll stuff NOT MINE!", 4483362458) local OtherTab = Window:CreateTab("Other Stuff", 4483362458) local PlayerDropdown = PlayerTab:CreateDropdown({Name = "Select Target", Options = {}, Callback = function(Option) for _, v in pairs(Players:GetPlayers()) do if v.DisplayName == Option[1] or v.Name == Option[1] then SelectedTarget = v end end end}) local function Refresh() local n = {} for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer then table.insert(n, p.DisplayName) end end PlayerDropdown:Refresh(n) end PlayerTab:CreateButton({Name = "Refresh Player List", Callback = Refresh}) Refresh() ModesTab:CreateButton({Name = "Normal Follow", Callback = function() CurrentMode = "Normal" end}) ModesTab:CreateButton({Name = "Hat (On Head)", Callback = function() CurrentMode = "Hat" end}) ModesTab:CreateButton({Name = "Spinning", Callback = function() CurrentMode = "Spin" end}) ModesTab:CreateButton({Name = "Backpack", Callback = function() CurrentMode = "Backpack" end}) ModesTab:CreateButton({Name = "Upside Down", Callback = function() CurrentMode = "UpsideDown" end}) ModesTab:CreateButton({Name = "Backshots", Callback = function() CurrentMode = "Backshots" end}) ModesTab:CreateButton({Name = "Friend", Callback = function() CurrentMode = "Friend" local Hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if Hum then local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://182435933" FriendDance = Hum:LoadAnimation(anim) FriendDance:Play() end end}) ModesTab:CreateButton({Name = "STOP ALL", Callback = function() CurrentMode = "None" if FriendDance then FriendDance:Stop() end end}) TrollTab:CreateButton({Name = "Load UTG V3", Callback = function() loadstring(game:HttpGet("https://raw.githubusercontent.com/Blukez/Scripts/main/UTG%20V3%20RAW"))() end}) TrollTab:CreateButton({Name = "FE Yeet Gui", Callback = function() local lp = game:FindService("Players").LocalPlayer local function gplr(String) local Found = {} local strl = String:lower() if strl == "all" then for i,v in pairs(game:FindService("Players"):GetPlayers()) do table.insert(Found,v) end elseif strl == "others" then for i,v in pairs(game:FindService("Players"):GetPlayers()) do if v.Name ~= lp.Name then table.insert(Found,v) end end elseif strl == "me" then for i,v in pairs(game:FindService("Players"):GetPlayers()) do if v.Name == lp.Name then table.insert(Found,v) end end else for i,v in pairs(game:FindService("Players"):GetPlayers()) do if v.Name:lower():sub(1, #String) == String:lower() then table.insert(Found,v) end end end return Found end local h = Instance.new("ScreenGui", game:GetService("CoreGui")) local Main = Instance.new("ImageLabel", h) Main.Active = true Main.Draggable = true Main.Size = UDim2.new(0, 454, 0, 218) Main.Position = UDim2.new(0.2, 0, 0.4, 0) Main.Image = "rbxassetid://2005276185" local TextButton = Instance.new("TextButton", Main) TextButton.Size = UDim2.new(0, 359, 0, 50) TextButton.Position = UDim2.new(0.1, 0, 0.6, 0) TextButton.Text = "Cheese em'" local TextBox = Instance.new("TextBox", Main) TextBox.Size = UDim2.new(0, 388, 0, 62) TextBox.Position = UDim2.new(0.07, 0, 0.27, 0) TextBox.BackgroundColor3 = Color3.fromRGB(49, 49, 49) TextBox.PlaceholderText = "Target Name" TextButton.MouseButton1Click:Connect(function() local Target = gplr(TextBox.Text) if Target[1] then Target = Target[1] local Thrust = Instance.new('BodyThrust', lp.Character.HumanoidRootPart) Thrust.Force = Vector3.new(9999,9999,9999) repeat lp.Character.HumanoidRootPart.CFrame = Target.Character.HumanoidRootPart.CFrame Thrust.Location = Target.Character.HumanoidRootPart.Position RunService.Heartbeat:Wait() until not Target.Character:FindFirstChild("Head") end end) end}) OtherTab:CreateToggle({Name = "Noclip", CurrentValue = NoclipEnabled, Callback = function(v) NoclipEnabled = v end}) OtherTab:CreateToggle({Name = "Tracers", CurrentValue = TracersEnabled, Callback = function(v) TracersEnabled = v end}) OtherTab:CreateButton({Name = "SWITCH TO ORIGINAL UI", Callback = function() Rayfield:Destroy() RunOriginalUI() end}) OtherTab:CreateButton({Name = "Destroy UI", Callback = function() Rayfield:Destroy() end}) end local TracerLines = {} local TracerTexts = {} RunService.RenderStepped:Connect(function() local MyChar = LocalPlayer.Character local MyRoot = MyChar and MyChar:FindFirstChild("HumanoidRootPart") for _, p in pairs(Players:GetPlayers()) do if TracersEnabled and p ~= LocalPlayer and MyRoot and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then if not TracerLines[p] then TracerLines[p] = Drawing.new("Line") TracerLines[p].Thickness = 1 TracerLines[p].Color = Color3.new(1,1,1) TracerTexts[p] = Drawing.new("Text") TracerTexts[p].Size = 14 TracerTexts[p].Center = true TracerTexts[p].Outline = true TracerTexts[p].Color = Color3.new(1,1,1) end local TargetRoot = p.Character.HumanoidRootPart local StartPos, StartVisible = workspace.CurrentCamera:WorldToViewportPoint(MyRoot.Position) local EndPos, EndVisible = workspace.CurrentCamera:WorldToViewportPoint(TargetRoot.Position) if EndVisible then TracerLines[p].Visible = true TracerLines[p].From = Vector2.new(StartPos.X, StartPos.Y) TracerLines[p].To = Vector2.new(EndPos.X, EndPos.Y) TracerTexts[p].Visible = true TracerTexts[p].Position = Vector2.new(EndPos.X, EndPos.Y - 20) TracerTexts[p].Text = p.Name .. " [" .. math.floor((MyRoot.Position - TargetRoot.Position).Magnitude) .. "m]" else TracerLines[p].Visible = false TracerTexts[p].Visible = false end else if TracerLines[p] then TracerLines[p].Visible = false TracerTexts[p].Visible = false end end end end) RunService.Stepped:Connect(function() if NoclipEnabled and LocalPlayer.Character then for _, v in pairs(LocalPlayer.Character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end end end) RunService.Heartbeat:Connect(function(dt) local MyRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not SelectedTarget or not SelectedTarget.Character or not SelectedTarget.Character:FindFirstChild("HumanoidRootPart") or not MyRoot then return end local TRoot = SelectedTarget.Character.HumanoidRootPart if CurrentMode == "Normal" then MyRoot.CFrame = MyRoot.CFrame:Lerp(TRoot.CFrame * CFrame.new(0, 0, 4), 0.1) elseif CurrentMode == "Hat" then MyRoot.CFrame = TRoot.CFrame * CFrame.new(0, 3, 0) elseif CurrentMode == "Spin" then Angle = Angle + 0.1 MyRoot.CFrame = CFrame.new(TRoot.Position + Vector3.new(math.cos(Angle)*7, 0, math.sin(Angle)*7), TRoot.Position) elseif CurrentMode == "Backpack" then MyRoot.CFrame = TRoot.CFrame * CFrame.new(0, 0.8, 1.2) elseif CurrentMode == "UpsideDown" then MyRoot.CFrame = TRoot.CFrame * CFrame.new(0, 3.5, 0) * CFrame.Angles(math.rad(180), 0, 0) elseif CurrentMode == "Friend" then MyRoot.CFrame = MyRoot.CFrame:Lerp(TRoot.CFrame * CFrame.new(3, 0, 0), 0.1) elseif CurrentMode == "Backshots" then Timer = Timer + (dt * 18) MyRoot.CFrame = TRoot.CFrame * CFrame.new(0, 0, 3.5 - (math.sin(Timer) * 3)) end end) RunOriginalUI()