Slap Script (credit to LBgames) local tool = script:FindFirstAncestorOfClass("Tool") -- Dynamically locate the tool local slapPower = 30 -- Knockback force local cooldownTime = 1 -- Cooldown between slaps local slapRadius = 7 -- Slap detection radius local lastUsed = 0 -- Track last tool activation time if not tool then warn("This script must be placed inside a Tool!") return end -- Dynamically locate the handle local handle = tool:FindFirstChild("Handle") if not handle then warn("The Tool must have a part named 'Handle'!") return end -- Load slap animation local slapAnimation = Instance.new("Animation") slapAnimation.AnimationId = "rbxassetid://188741409" -- Animation ID -- Function to play the slap animation local function playSwingSlapAnimation() local character = tool.Parent local humanoid = character:FindFirstChild("Humanoid") if humanoid then local animator = humanoid:FindFirstChildOfClass("Animator") or humanoid:WaitForChild("Animator", 5) if animator then local animationTrack = animator:LoadAnimation(slapAnimation) animationTrack:Play() animationTrack:AdjustSpeed(20) -- Set animation speed to 20 else warn("Animator not found for character") end end end -- Disable touch-based slapping to prevent unintended slaps handle.Touched:Connect(function() end) -- Handle tool activation tool.Activated:Connect(function() local currentTime = tick() if currentTime - lastUsed < cooldownTime then return -- Prevent spamming end lastUsed = currentTime local character = tool.Parent local player = game.Players:GetPlayerFromCharacter(character) if not player then return end local humanoidRoot = character:FindFirstChild("HumanoidRootPart") if not humanoidRoot then return end -- Keep track of characters already slapped in this activation local slappedCharacters = {} -- Play the slap animation playSwingSlapAnimation() -- Check for nearby players within the slap radius for _, part in ipairs(workspace:GetPartBoundsInRadius(handle.Position, slapRadius)) do local targetCharacter = part.Parent local targetHumanoid = targetCharacter:FindFirstChild("Humanoid") local targetRoot = targetCharacter:FindFirstChild("HumanoidRootPart") if targetHumanoid and targetRoot and targetCharacter ~= character then -- Ensure the target character is not slapped multiple times if not slappedCharacters[targetCharacter] then slappedCharacters[targetCharacter] = true -- Apply knockback with a rotational flip local knockback = Instance.new("BodyVelocity") knockback.MaxForce = Vector3.new(10000, 10000, 10000) knockback.Velocity = (targetRoot.Position - handle.Position).Unit * slapPower + Vector3.new(0, 20, 0) -- Add upward force knockback.Parent = targetRoot -- Apply rotational force to flip the player local angularVelocity = Instance.new("BodyAngularVelocity") angularVelocity.MaxTorque = Vector3.new(10000, 10000, 10000) angularVelocity.AngularVelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)) * 2 -- Random flipping angularVelocity.Parent = targetRoot game.Debris:AddItem(knockback, 0.5) -- Clean up knockback after 0.5 seconds game.Debris:AddItem(angularVelocity, 0.5) -- Clean up rotation after 0.5 seconds -- Check and play slap sound local gloveSound = handle:FindFirstChild("Glove Sound") if gloveSound and gloveSound:IsA("Sound") then gloveSound:Play() else warn("Glove Sound not found in Handle") end -- Disable movement temporarily targetHumanoid.PlatformStand = true -- Restore movement after 2 seconds task.delay(2, function() if targetHumanoid then targetHumanoid.PlatformStand = false end end) -- Update player's Slaps in leaderstats local slaps = player.leaderstats and player.leaderstats:FindFirstChild("Slaps") if slaps then slaps.Value = slaps.Value + 1 -- Increment the "Slaps" stat by 1 end end end end end)
Watch his vid (LBgames vid) ua-cam.com/video/_JDgguJcHRI/v-deo.htmlsi=Q9eTLH-zrCJ7eKR0
ua-cam.com/video/bVqPfI1Gqyc/v-deo.html&lc=Ugzh-bwiliDLF1BT7yN4AaABAg&si=kx7FswVOwxGIyU0a
Outdated but follow the steps in the old vid watch the updated here ua-cam.com/video/sQgqFJaveLA/v-deo.htmlsi=tqLOtbReYNFnG7S3
Slap Script (credit to LBgames) local tool = script:FindFirstAncestorOfClass("Tool") -- Dynamically locate the tool
local slapPower = 30 -- Knockback force
local cooldownTime = 1 -- Cooldown between slaps
local slapRadius = 7 -- Slap detection radius
local lastUsed = 0 -- Track last tool activation time
if not tool then
warn("This script must be placed inside a Tool!")
return
end
-- Dynamically locate the handle
local handle = tool:FindFirstChild("Handle")
if not handle then
warn("The Tool must have a part named 'Handle'!")
return
end
-- Load slap animation
local slapAnimation = Instance.new("Animation")
slapAnimation.AnimationId = "rbxassetid://188741409" -- Animation ID
-- Function to play the slap animation
local function playSwingSlapAnimation()
local character = tool.Parent
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
local animator = humanoid:FindFirstChildOfClass("Animator") or humanoid:WaitForChild("Animator", 5)
if animator then
local animationTrack = animator:LoadAnimation(slapAnimation)
animationTrack:Play()
animationTrack:AdjustSpeed(20) -- Set animation speed to 20
else
warn("Animator not found for character")
end
end
end
-- Disable touch-based slapping to prevent unintended slaps
handle.Touched:Connect(function() end)
-- Handle tool activation
tool.Activated:Connect(function()
local currentTime = tick()
if currentTime - lastUsed < cooldownTime then
return -- Prevent spamming
end
lastUsed = currentTime
local character = tool.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if not player then return end
local humanoidRoot = character:FindFirstChild("HumanoidRootPart")
if not humanoidRoot then return end
-- Keep track of characters already slapped in this activation
local slappedCharacters = {}
-- Play the slap animation
playSwingSlapAnimation()
-- Check for nearby players within the slap radius
for _, part in ipairs(workspace:GetPartBoundsInRadius(handle.Position, slapRadius)) do
local targetCharacter = part.Parent
local targetHumanoid = targetCharacter:FindFirstChild("Humanoid")
local targetRoot = targetCharacter:FindFirstChild("HumanoidRootPart")
if targetHumanoid and targetRoot and targetCharacter ~= character then
-- Ensure the target character is not slapped multiple times
if not slappedCharacters[targetCharacter] then
slappedCharacters[targetCharacter] = true
-- Apply knockback with a rotational flip
local knockback = Instance.new("BodyVelocity")
knockback.MaxForce = Vector3.new(10000, 10000, 10000)
knockback.Velocity = (targetRoot.Position - handle.Position).Unit * slapPower + Vector3.new(0, 20, 0) -- Add upward force
knockback.Parent = targetRoot
-- Apply rotational force to flip the player
local angularVelocity = Instance.new("BodyAngularVelocity")
angularVelocity.MaxTorque = Vector3.new(10000, 10000, 10000)
angularVelocity.AngularVelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)) * 2 -- Random flipping
angularVelocity.Parent = targetRoot
game.Debris:AddItem(knockback, 0.5) -- Clean up knockback after 0.5 seconds
game.Debris:AddItem(angularVelocity, 0.5) -- Clean up rotation after 0.5 seconds
-- Check and play slap sound
local gloveSound = handle:FindFirstChild("Glove Sound")
if gloveSound and gloveSound:IsA("Sound") then
gloveSound:Play()
else
warn("Glove Sound not found in Handle")
end
-- Disable movement temporarily
targetHumanoid.PlatformStand = true
-- Restore movement after 2 seconds
task.delay(2, function()
if targetHumanoid then
targetHumanoid.PlatformStand = false
end
end)
-- Update player's Slaps in leaderstats
local slaps = player.leaderstats and player.leaderstats:FindFirstChild("Slaps")
if slaps then
slaps.Value = slaps.Value + 1 -- Increment the "Slaps" stat by 1
end
end
end
end
end)