--BELOW IS FLING SCRIPT2

local StrenghtMultiplier = 400
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local Debris = game:GetService("Debris")


Workspace.ChildAdded:Connect(function(NewModel)
	if NewModel.Name == "GrabParts" then
		local PartToImpulse = NewModel["GrabPart"]["WeldConstraint"].Part1
		if PartToImpulse then
			local VelocityObject = Instance.new("BodyVelocity", PartToImpulse)
			NewModel:GetPropertyChangedSignal("Parent"):Connect(function()
				if not NewModel.Parent then
					if UserInputService:GetLastInputType() == Enum.UserInputType.MouseButton2 then
						VelocityObject.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
						VelocityObject.Velocity = workspace.CurrentCamera.CFrame.lookVector * StrenghtMultiplier
						Debris:AddItem(VelocityObject, 1)
					elseif UserInputService:GetLastInputType() == Enum.UserInputType.MouseButton1 then
						VelocityObject:Destroy()
					else
						VelocityObject:Destroy()
					end
				end
			end)
		end
	end
end)

local UserInputService = game:GetService("UserInputService")
local VirtualInputManager = game:GetService("VirtualInputManager")

-- Function to simulate key press and release with a hold duration
local function simulateKeyPress(keyCode, holdDuration)
    -- Default hold duration if not specified
    holdDuration = holdDuration or 0
    
    -- Press key down
    VirtualInputManager:SendKeyEvent(true, keyCode, false, game)
    
    -- If there's a hold duration, wait that amount of time
    if holdDuration > 0 then
        wait(holdDuration)
    end
    
    -- Release key
    VirtualInputManager:SendKeyEvent(false, keyCode, false, game)
end

-- Function to simulate mouse click at specific coordinates
local function simulateMouseClick(x, y)
    -- Convert screen coordinates to game window coordinates
    VirtualInputManager:SendMouseButtonEvent(x, y, 0, true, game, 1)
    VirtualInputManager:SendMouseButtonEvent(x, y, 0, false, game, 1)
end

-- Input handler for the F key
local function onInputBegan(input, gameProcessed)
    -- Only handle if game hasn't already processed the input
    if not gameProcessed then
        -- Check if F key was pressed
        if input.KeyCode == Enum.KeyCode.C then
            print("F key pressed - executing sequence")
            
            -- Simulate pressing the E key and holding it for 0.1 seconds
            simulateKeyPress(Enum.KeyCode.E, 0.1)
            
            -- Add a delay before clicking
            wait(0.01)
            
            -- Simulate mouse click at position (609, 555)
            simulateMouseClick(1164, 476)
            
            -- Add a delay before pressing E again
            wait(0.1)
            
            -- Simulate pressing E again with a 0.1 second hold
            simulateKeyPress(Enum.KeyCode.E, 0.1)
            
            -- Add a delay before the second click
            wait(0.1)
            
        end
    end
end

-- Connect the input handler
UserInputService.InputBegan:Connect(onInputBegan)

print("Air loaded. Press C to activate the sequence.")

local UserInputService = game:GetService("UserInputService")
local VirtualInputManager = game:GetService("VirtualInputManager")

-- Function to simulate key press and release with a hold duration
local function simulateKeyPress(keyCode, holdDuration)
    -- Default hold duration if not specified
    holdDuration = holdDuration or 0
    
    -- Press key down
    VirtualInputManager:SendKeyEvent(true, keyCode, false, game)
    
    -- If there's a hold duration, wait that amount of time
    if holdDuration > 0 then
        wait(holdDuration)
    end
    
    -- Release key
    VirtualInputManager:SendKeyEvent(false, keyCode, false, game)
end

-- Function to simulate mouse click at specific coordinates
local function simulateMouseClick(x, y)
    -- Convert screen coordinates to game window coordinates
    VirtualInputManager:SendMouseButtonEvent(x, y, 0, true, game, 1)
    VirtualInputManager:SendMouseButtonEvent(x, y, 0, false, game, 1)
end

-- Input handler for the F key
local function onInputBegan(input, gameProcessed)
    -- Only handle if game hasn't already processed the input
    if not gameProcessed then
        -- Check if F key was pressed
        if input.KeyCode == Enum.KeyCode.Q then
            print("Q key pressed - executing sequence")
            
            -- Simulate pressing the E key and holding it for 0.1 seconds
            simulateKeyPress(Enum.KeyCode.E, 0.1)
            
            -- Add a delay before clicking
            wait(0.01)
            
            -- Simulate mouse click at position (970, 381)
            simulateMouseClick(970, 381)
            
            -- Add a delay before Pressing Q again
            wait(0.1)
            
            -- Simulate Pressing Q again with a 0.1 second hold
            simulateKeyPress(Enum.KeyCode.E, 0.1)
            
            -- Add a delay before the second click
            wait(0.1)
            
            -- Simulate mouse click at position (970, 381)
            simulateMouseClick(970, 381)
        end
    end
end

-- Connect the input handler
UserInputService.InputBegan:Connect(onInputBegan)

print("Bombs loaded. Press Q to activate the sequence.")

local UserInputService = game:GetService("UserInputService")
local VirtualInputManager = game:GetService("VirtualInputManager")

-- Function to simulate key press and release with a hold duration
local function simulateKeyPress(keyCode, holdDuration)
    -- Default hold duration if not specified
    holdDuration = holdDuration or 0
    
    -- Press key down
    VirtualInputManager:SendKeyEvent(true, keyCode, false, game)
    
    -- If there's a hold duration, wait that amount of time
    if holdDuration > 0 then
        wait(holdDuration)
    end
    
    -- Release key
    VirtualInputManager:SendKeyEvent(false, keyCode, false, game)
end

-- Function to simulate mouse click at specific coordinates
local function simulateMouseClick(x, y)
    -- Convert screen coordinates to game window coordinates
    VirtualInputManager:SendMouseButtonEvent(x, y, 0, true, game, 1)
    VirtualInputManager:SendMouseButtonEvent(x, y, 0, false, game, 1)
end

-- Input handler for the F key
local function onInputBegan(input, gameProcessed)
    -- Only handle if game hasn't already processed the input
    if not gameProcessed then
        -- Check if F key was pressed
        if input.KeyCode == Enum.KeyCode.F then
            print("F key pressed - executing sequence")
            
            -- Simulate pressing the E key and holding it for 0.1 seconds
            simulateKeyPress(Enum.KeyCode.E, 0.1)
            
            -- Add a delay before clicking
            wait(0.01)
            
            -- Simulate mouse click at position (609, 555)
            simulateMouseClick(777, 569)
            
            -- Add a delay before pressing E again
            wait(0.1)
            
            -- Simulate pressing E again with a 0.1 second hold
            simulateKeyPress(Enum.KeyCode.E, 0.1)
            
            -- Add a delay before the second click
            wait(0.1)
            
            -- Optional: Add a second click if needed
            simulateMouseClick(777, 569)
        end
    end
end

-- Connect the input handler
UserInputService.InputBegan:Connect(onInputBegan)

print("Planks loaded. Press F to activate the sequence.")

--ABOVE IS FLIND SCRIPT 2

--BELOW IS GRAB SCRIPT

local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")

local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local Camera = workspace.CurrentCamera

-- Configuration Settings
local GRAB_RANGE = 100       -- Maximum distance to grab players
local GRAB_ANGLE = 45        -- Field of view angle (degrees)
local CHECK_INTERVAL = 0.01   -- How often to check for players (seconds)
local CLICK_HOLD = 0.1       -- How long to hold the click (seconds)
local GRAB_COOLDOWN = 1      -- Time between grabs (seconds)
local TOGGLE_KEY = Enum.KeyCode.Z  -- Changed toggle key to Z

-- Variables
local autoGrabEnabled = false  -- Changed to false by default
local lastGrabAttempt = 0
local lastGrabbedPlayer = nil
local lastCheckTime = 0

-- Function to click at a specific position
local function simulateClick(position)
    -- Move mouse to position
    Mouse:MoveTo(position.X, position.Y)
    
    -- Simulate left mouse button press
    mouse1press()
    wait(CLICK_HOLD)
    mouse1release()
end

-- Alternative click function using VirtualUser if available
local function virtualClick(position)
    local VirtualUser = game:GetService("VirtualUser")
    if VirtualUser then
        VirtualUser:Button1Down(Vector2.new(position.X, position.Y))
        wait(CLICK_HOLD)
        VirtualUser:Button1Up(Vector2.new(position.X, position.Y))
    end
end

-- Check if a player is in your field of view
local function isInFieldOfView(character)
    if not character or not character:FindFirstChild("HumanoidRootPart") then return false end
    
    local targetPosition = character.HumanoidRootPart.Position
    local characterPosition = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Head") and 
                              LocalPlayer.Character.Head.Position
    
    if not characterPosition then return false end
    
    -- Check if in range
    local distance = (targetPosition - characterPosition).Magnitude
    if distance > GRAB_RANGE then return false end
    
    -- Check if in field of view
    local lookVector = Camera.CFrame.LookVector
    local directionToTarget = (targetPosition - characterPosition).Unit
    
    local angle = math.acos(lookVector:Dot(directionToTarget)) * (180/math.pi)
    if angle > GRAB_ANGLE then return false end
    
    -- Simple raycast to check if player is visible
    local rayParams = RaycastParams.new()
    rayParams.FilterDescendantsInstances = {LocalPlayer.Character}
    rayParams.FilterType = Enum.RaycastFilterType.Blacklist
    
    local rayResult = workspace:Raycast(characterPosition, directionToTarget * distance, rayParams)
    if rayResult and rayResult.Instance and not rayResult.Instance:IsDescendantOf(character) then
        return false -- Something is blocking the view
    end
    
    return true
end

-- Find the best target part to grab
local function findBestGrabPart(character)
    local grabPriority = {
        "HumanoidRootPart",
        "Head",
        "UpperTorso",
        "Torso",  -- For R6 characters
        "LowerTorso"
    }
    
    for _, partName in ipairs(grabPriority) do
        local part = character:FindFirstChild(partName)
        if part then
            local screenPos, onScreen = Camera:WorldToScreenPoint(part.Position)
            if onScreen then
                return part, Vector2.new(screenPos.X, screenPos.Y)
            end
        end
    end
    
    -- If no specific part found, try any visible part
    for _, part in pairs(character:GetChildren()) do
        if part:IsA("BasePart") then
            local screenPos, onScreen = Camera:WorldToScreenPoint(part.Position)
            if onScreen then
                return part, Vector2.new(screenPos.X, screenPos.Y)
            end
        end
    end
    
    return nil, nil
end

-- Find closest targetable player
local function findGrabbablePlayer()
    local closestPlayer = nil
    local closestDistance = GRAB_RANGE
    
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character then
            if isInFieldOfView(player.Character) then
                local distance = (player.Character.HumanoidRootPart.Position - 
                                 LocalPlayer.Character.Head.Position).Magnitude
                
                if distance < closestDistance then
                    closestPlayer = player
                    closestDistance = distance
                end
            end
        end
    end
    
    return closestPlayer
end

-- Main grab function
local function attemptGrab()
    if not autoGrabEnabled or not LocalPlayer.Character then return end
    
    -- Only run check at specified intervals
    local currentTime = tick()
    if currentTime - lastCheckTime < CHECK_INTERVAL then return end
    lastCheckTime = currentTime
    
    local targetPlayer = findGrabbablePlayer()
    if not targetPlayer then return end
    
    -- Check if this is the same player we just grabbed
    if lastGrabbedPlayer == targetPlayer then
        -- Check if cooldown has elapsed
        if currentTime - lastGrabAttempt < GRAB_COOLDOWN then
            return -- Still on cooldown for this player
        end
    end
    
    local targetPart, screenPosition = findBestGrabPart(targetPlayer.Character)
    if targetPart and screenPosition then
        -- Update tracking variables
        lastGrabbedPlayer = targetPlayer
        lastGrabAttempt = currentTime
        
        -- Debug info (comment out for final version)
        -- print("Auto-grabbing player:", targetPlayer.Name, "at part:", targetPart.Name)
        
        -- Try both click methods to ensure one works
        pcall(simulateClick, screenPosition)
        pcall(virtualClick, screenPosition)
    end
end

-- Function to display status message
local function showStatusMessage(isEnabled)
    -- Remove existing status if present
    if LocalPlayer.PlayerGui:FindFirstChild("AutoGrabStatus") then
        LocalPlayer.PlayerGui.AutoGrabStatus:Destroy()
    end
    
    -- Create new status message
    local statusLabel = Instance.new("ScreenGui")
    statusLabel.Name = "AutoGrabStatus"
    statusLabel.Parent = LocalPlayer.PlayerGui
    
    local textLabel = Instance.new("TextLabel")
    textLabel.Size = UDim2.new(0, 200, 0, 50)
    textLabel.Position = UDim2.new(0.5, -100, 0.1, 0)
    textLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    textLabel.BackgroundTransparency = 0.5
    textLabel.TextColor3 = isEnabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0)
    textLabel.Text = "Auto-Grab: " .. (isEnabled and "ENABLED" or "DISABLED")
    textLabel.Parent = statusLabel
    
    game.Debris:AddItem(statusLabel, 2)
end

-- Toggle auto-grab with Z key (changed from G)
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if not gameProcessed and input.KeyCode == TOGGLE_KEY then
        autoGrabEnabled = not autoGrabEnabled
        print("Auto-grab:", autoGrabEnabled and "Enabled" or "Disabled")
        
        -- Show visual feedback
        showStatusMessage(autoGrabEnabled)
    end
end)

-- Main loop
RunService.Heartbeat:Connect(function()
    pcall(attemptGrab)
end)

-- Character respawn handling
LocalPlayer.CharacterAdded:Connect(function(newCharacter)
    print("Character respawned - Auto-grab currently", autoGrabEnabled and "enabled" or "disabled")
end)

print("Auto-grab script loaded! Press Z to toggle (currently DISABLED)")

-- Function to fix the mouse1press/release if missing
if not mouse1press then
    mouse1press = function()
        local VirtualUser = game:GetService("VirtualUser")
        local mousePos = UserInputService:GetMouseLocation()
        VirtualUser:Button1Down(Vector2.new(mousePos.X, mousePos.Y))
    end
    
    mouse1release = function()
        local VirtualUser = game:GetService("VirtualUser")
        local mousePos = UserInputService:GetMouseLocation()
        VirtualUser:Button1Up(Vector2.new(mousePos.X, mousePos.Y))
    end
end

-- Show initial status message
showStatusMessage(autoGrabEnabled)

--ABOVE IS AUTO GRAB SCRIPT

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: