local players = game:GetService("Players") local runservice = game:GetService("RunService") local virtualinputmanager = game:GetService("VirtualInputManager") local tweenservice = game:GetService("TweenService") local localplayer = players.LocalPlayer local screengui = Instance.new("ScreenGui") screengui.Name = "autocounter" screengui.ResetOnSpawn = false screengui.Parent = localplayer:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 150, 0, 75) frame.Position = UDim2.new(0.5, -75, 0.5, -37.5) frame.BackgroundColor3 = Color3.fromRGB(255, 0, 0) frame.BackgroundTransparency = 0.5 frame.Parent = screengui local uicorner = Instance.new("UICorner") uicorner.CornerRadius = UDim.new(0, 10) uicorner.Parent = frame local shadow = Instance.new("ImageLabel") shadow.Size = UDim2.new(1, 20, 1, 20) shadow.Position = UDim2.new(-0.1, 0, -0.1, 0) shadow.Image = "rbxassetid://10590477450" shadow.BackgroundTransparency = 1 shadow.Parent = frame local button = Instance.new("ImageButton") button.Size = UDim2.new(0, 75, 0, 37.5) button.Position = UDim2.new(0.5, -37.5, 0.5, -18.75) button.Image = "rbxassetid://10590477450" button.BackgroundTransparency = 1 button.Parent = frame local textlabel = Instance.new("TextLabel") textlabel.Size = UDim2.new(1, 0, 1, 0) textlabel.Position = UDim2.new(0, 0, 0, 0) textlabel.Text = "OFF" textlabel.TextColor3 = Color3.fromRGB(255, 255, 255) textlabel.Font = Enum.Font.SourceSansBold textlabel.TextSize = 18 textlabel.BackgroundTransparency = 1 textlabel.Parent = button local buttonuicorner = Instance.new("UICorner") buttonuicorner.CornerRadius = UDim.new(0, 10) buttonuicorner.Parent = button local buttonuistroke = Instance.new("UIStroke") buttonuistroke.Thickness = 2 buttonuistroke.Parent = button local rainbowcolors = { Color3.fromRGB(255, 0, 0), Color3.fromRGB(255, 165, 0), Color3.fromRGB(255, 255, 0), Color3.fromRGB(0, 128, 0), Color3.fromRGB(0, 0, 255), Color3.fromRGB(128, 0, 128) } local function rainbowanimation() local colorindex = 1 while true do buttonuistroke.Color = rainbowcolors[colorindex] colorindex = (colorindex % #rainbowcolors) + 1 wait(0.1) end end spawn(rainbowanimation) local function onbuttonclick() local info = TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut) local goal = {Size = UDim2.new(0, 70, 0, 32.5)} tweenservice:Create(button, info, goal):Play() wait(0.1) goal = {Size = UDim2.new(0, 75, 0, 37.5)} tweenservice:Create(button, info, goal):Play() end local ison = false button.MouseButton1Click:Connect(function() ison = not ison textlabel.Text = ison and "ON" or "OFF" onbuttonclick() end) local dragging, dragstart, startpos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragstart = input.Position startpos = frame.Position end end) frame.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) 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) frame.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) local targetids = { [14046756619] = true, [13309500827] = true, [13376962659] = true, [15290930205] = true, [13630786846] = true, [16597912086] = true, [10468665991] = true } local sixmeterids = { [10466974800] = true, [17799224866] = true, [12534735382] = true, [10470104242] = true } local sevenpointfivemeterids = { [15295895753] = true } local fifteenmeterids = { [16597912086] = true, [16431491215] = true } local specialid = 16139108718 local timecheckids = { [12272894215] = true, [12296882427] = true } local delayids = { [12509505723] = true, [17857788598] = true, [14299135500] = true, [14351441234] = true } local delayidranges = { [12509505723] = 36, [17857788598] = 36, [14299135500] = 9, [14351441234] = 10 } local function activateanddeactivatetool() local backpack = localplayer:FindFirstChild("Backpack") if not backpack then return end local tool = backpack:FindFirstChild("Prey's Peril") or backpack:FindFirstChild("Split Second Counter") if tool and tool:IsA("Tool") then tool.Parent = localplayer.Character tool.Parent = backpack end end local function singlekeypress(key) virtualinputmanager:SendKeyEvent(true, key, false, nil) virtualinputmanager:SendKeyEvent(false, key, false, nil) end local function getcurrentanimationids(player) local character = player.Character if not character then return {} end local humanoid = character:FindFirstChild("Humanoid") if not humanoid then return {} end local animator = humanoid:FindFirstChild("Animator") if not animator then return {} end local animdata = {} for _, track in pairs(animator:GetPlayingAnimationTracks()) do if track.IsPlaying then local animid = tonumber(track.Animation.AnimationId:match("%d+$")) if animid then animdata[animid] = track.TimePosition end end end return animdata end local function checkplayers() if not ison then return end local localcharacter = localplayer.Character if not localcharacter or not localcharacter.PrimaryPart then return end local localposition = localcharacter.PrimaryPart.Position for _, player in pairs(players:GetPlayers()) do if player ~= localplayer then local character = player.Character if character and character.PrimaryPart then local distance = (character.PrimaryPart.Position - localposition).Magnitude if distance <= 36 then local currentanimdata = getcurrentanimationids(player) for animid, timeposition in pairs(currentanimdata) do if animid == 15295895753 then task.delay(0.5, activateanddeactivatetool) elseif animid == 14351441234 then if timeposition < 0.45 and distance <= delayidranges[animid] then activateanddeactivatetool() end elseif timecheckids[animid] then if timeposition < 0.15 and distance <= 10 then activateanddeactivatetool() end elseif delayids[animid] then local range = delayidranges[animid] if range and distance <= range then task.delay(0.15, activateanddeactivatetool) end else if fifteenmeterids[animid] and distance <= 15 then activateanddeactivatetool() elseif sevenpointfivemeterids[animid] and distance <= 10 then activateanddeactivatetool() elseif sixmeterids[animid] and distance <= 9 then activateanddeactivatetool() elseif distance <= 36 then if animid == specialid then singlekeypress(Enum.KeyCode.F) elseif targetids[animid] then activateanddeactivatetool() end end end end end end end end end runservice.RenderStepped:Connect(checkplayers)