Advertisement
HowToRoblox

SwordServer

Apr 20th, 2022
1,682
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.24 KB | None | 0 0
  1. local cooldowns = {}
  2.  
  3.  
  4. game.Players.PlayerAdded:Connect(function(player)
  5.    
  6.     player.CharacterAdded:Connect(function(character)
  7.        
  8.         local m6d = Instance.new("Motor6D", character.RightHand)
  9.         m6d.Part0 = character.RightHand
  10.         m6d.Name = "ToolM6D"
  11.     end)
  12. end)
  13.  
  14.  
  15. game.ReplicatedStorage.SwordRE.OnServerEvent:Connect(function(player, instruction, bodyAttach)
  16.    
  17.     if instruction == "connectm6d" then
  18.        
  19.         player.Character.RightHand.ToolM6D.Part1 = bodyAttach
  20.        
  21.     elseif instruction == "disconnectm6d" then
  22.        
  23.         player.Character.RightHand.ToolM6D.Part1 = nil
  24.        
  25.        
  26.     elseif instruction == "attack" then
  27.        
  28.         if cooldowns[player] then return end
  29.        
  30.         cooldowns[player] = true
  31.        
  32.        
  33.         game.ReplicatedStorage.SwordRE:FireAllClients(bodyAttach)
  34.        
  35.         local raycastParams = RaycastParams.new()
  36.         raycastParams.FilterDescendantsInstances = {player.Character}
  37.        
  38.         local raycastResults = workspace:Raycast(player.Character.HumanoidRootPart.Position, player.Character.HumanoidRootPart.CFrame.LookVector * 3, raycastParams)
  39.        
  40.         if raycastResults and raycastResults.Instance.Parent:FindFirstChild("Humanoid") then
  41.            
  42.             raycastResults.Instance.Parent.Humanoid:TakeDamage(20)
  43.         end
  44.        
  45.         wait(0.5)
  46.        
  47.         cooldowns[player] = false
  48.     end
  49. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement