Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local sword = game.Workspace.Sword -- Assumes the sword is a child of the Workspace object
- local player = game.Players.LocalPlayer -- Gets the local player object
- local swordSwingCooldown = 0.5 -- How long the player has to wait between swings
- local swordSwingTime = 0.1 -- How long the sword takes to swing
- local function onSwing()
- if sword.CanCollide then -- Only allow the player to swing if the sword is not already colliding with something
- sword.CanCollide = false -- Set the sword to be non-collidable so it can pass through other objects
- wait(swordSwingTime) -- Wait for the sword to finish swinging
- sword.CanCollide = true -- Set the sword back to collidable so it can hit other objects
- end
- end
- local function onKeyPress(inputObject, gameProcessedEvent)
- if gameProcessedEvent then return end -- Only register the key press if it hasn't already been processed by another script
- if inputObject.KeyCode == Enum.KeyCode.MouseButton1 then -- Check if the left mouse button was pressed
- if tick() - (lastSwingTime or 0) > swordSwingCooldown then -- Check if the player has waited long enough to swing again
- lastSwingTime = tick() -- Record the time of the last swing
- onSwing() -- Call the onSwing function to swing the sword
- end
- end
- end
- player:GetMouse().KeyDown:connect(onKeyPress)
Advertisement
Add Comment
Please, Sign In to add comment