Advertisement
yoyo74456

Sword

Apr 16th, 2020
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.56 KB | None | 0 0
  1. local Player = owner
  2. local Char = Player.Character
  3. local Hum = Char:FindFirstChildOfClass("Humanoid")
  4. local TweenService = game:GetService("TweenService")
  5. local Attacking = false
  6.  
  7. BladeColor = Color3.new(0,0,225)
  8.  
  9. local Tool = Instance.new("Tool",owner.Backpack)
  10. Tool.Name = "Sword"
  11. Tool.GripForward = Vector3.new(0,0,0)
  12. Tool.GripPos = Vector3.new(-0.3,0,0)
  13. Tool.GripRight = Vector3.new(0,0,0)
  14. Tool.GripUp = Vector3.new(0,0,0)
  15.  
  16. local Handle = Instance.new("Part",Tool)
  17. Handle.Name = "Handle"
  18. Handle.Size = Vector3.new(1.3,1,0.1)
  19. Handle.Material = Enum.Material.Wood
  20. Handle.BrickColor = BrickColor.new("Dark orange")
  21. Handle.Massless = true
  22. Handle.CanCollide = false
  23. Handle.Locked = true
  24.  
  25. local MHandle = Instance.new("SpecialMesh", Handle)
  26. MHandle.MeshType = Enum.MeshType.Cylinder
  27.  
  28. local Blade = Instance.new("Part",Tool)
  29. Blade.Size = Vector3.new(3.5,.11,0.5)
  30. Blade.Material = Enum.Material.SmoothPlastic
  31. Blade.Massless = true
  32. Blade.CanCollide = false
  33. Blade.Color = BladeColor
  34. Blade.Locked = true
  35.  
  36. local BWeld = Instance.new("Weld", Blade)
  37. BWeld.C0 = CFrame.new(-2,0,0)
  38. BWeld.Part0 = Blade
  39. BWeld.Part1 = Handle
  40.  
  41. local BladeTLeft = Instance.new("Part",Blade)
  42. BladeTLeft.Size = Vector3.new(.11,.4,0.25)
  43. BladeTLeft.Material = Enum.Material.SmoothPlastic
  44. BladeTLeft.Massless = true
  45. BladeTLeft.CanCollide = false
  46. BladeTLeft.Color = BladeColor
  47. BladeTLeft.Locked = true
  48.  
  49. local MBladeTLeft = Instance.new("SpecialMesh", BladeTLeft)
  50. MBladeTLeft.MeshType = Enum.MeshType.Wedge
  51.  
  52. local BTLWeld = Instance.new("Weld", BladeTLeft)
  53. BTLWeld.C0 = CFrame.new(0,-1.95,0.125) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(90))
  54. BTLWeld.Part0 = BladeTLeft
  55. BTLWeld.Part1 = Blade
  56.  
  57. local BladeTRight = Instance.new("Part",Blade)
  58. BladeTRight.Size = Vector3.new(.11,.4,0.25)
  59. BladeTRight.Material = Enum.Material.SmoothPlastic
  60. BladeTRight.Massless = true
  61. BladeTRight.CanCollide = false
  62. BladeTRight.Color = BladeColor
  63. BladeTRight.Locked = true
  64.  
  65. local MBladeTRight = Instance.new("SpecialMesh", BladeTRight)
  66. MBladeTRight.MeshType = Enum.MeshType.Wedge
  67.  
  68. local BTRWeld = Instance.new("Weld", BladeTRight)
  69. BTRWeld.C0 = CFrame.new(0,-1.95,0.125) * CFrame.Angles(math.rad(0),math.rad(180),math.rad(90))
  70. BTRWeld.Part0 = BladeTRight
  71. BTRWeld.Part1 = Blade
  72.  
  73. local Cover = Instance.new("Part",Tool)
  74. Cover.Size = Vector3.new(.2,0.17,0.55)
  75. Cover.Material = Enum.Material.Granite
  76. Cover.BrickColor = BrickColor.new("Fossil")
  77. Cover.Massless = true
  78. Cover.CanCollide = false
  79. Cover.Locked = true
  80.  
  81. local CoverWeld = Instance.new("Weld", Cover)
  82. CoverWeld.C0 = CFrame.new(1.7, 0, 0)
  83. CoverWeld.Part0 = Cover
  84. CoverWeld.Part1 = Blade
  85.  
  86. local HandleCover = Instance.new("Part",Tool)
  87. HandleCover.Size = Vector3.new(.15,0.15,0.15)
  88. HandleCover.Material = Enum.Material.Granite
  89. HandleCover.BrickColor = BrickColor.new("Fossil")
  90. HandleCover.Massless = true
  91. HandleCover.CanCollide = false
  92. HandleCover.Locked = true
  93.  
  94. local HCoverWeld = Instance.new("Weld", HandleCover)
  95. HCoverWeld.C0 = CFrame.new(0.65, 0, 0) * CFrame.Angles(math.rad(45),math.rad(0),math.rad(0))
  96. HCoverWeld.Part0 = HandleCover
  97. HCoverWeld.Part1 = Handle
  98.  
  99. local SwordCover = Instance.new("Part", Char)
  100. SwordCover.Size = Vector3.new(3.2,.15,0.52)
  101. SwordCover.Material = Enum.Material.Granite
  102. SwordCover.Massless = true
  103. SwordCover.CanCollide = false
  104. SwordCover.Locked = true
  105.  
  106. local SCWeld = Instance.new("Weld", SwordCover)
  107. SCWeld.C0 = CFrame.new(0, .575, 0) * CFrame.Angles(math.rad(90),math.rad(0),math.rad(-45))
  108. SCWeld.Part0 = SwordCover
  109.  
  110. SCWeld.Part1 = Char.Torso
  111.  
  112. local SwordCoverTL = Instance.new("Part", Char)
  113. SwordCoverTL.Size = Vector3.new(0.15,0.26,0.4)
  114. SwordCoverTL.Material = Enum.Material.Granite
  115. SwordCoverTL.Massless = true
  116. SwordCoverTL.CanCollide = false
  117. SwordCoverTL.Locked = true
  118.  
  119. local SCTLMesh = Instance.new("SpecialMesh", SwordCoverTL)
  120. SCTLMesh.MeshType = Enum.MeshType.Wedge
  121.  
  122. local SCWeldTL = Instance.new("Weld", SwordCoverTL)
  123. SCWeldTL.C0 = CFrame.new(0, -.13, 1.8) * CFrame.Angles(math.rad(90),math.rad(0),math.rad(90))
  124. SCWeldTL.Part0 = SwordCoverTL
  125. SCWeldTL.Part1 = SwordCover
  126.  
  127. local SwordCoverTR = Instance.new("Part", Char)
  128. SwordCoverTR.Size = Vector3.new(0.15,0.26,0.4)
  129. SwordCoverTR.Material = Enum.Material.Granite
  130. SwordCoverTR.Massless = true
  131. SwordCoverTR.CanCollide = false
  132. SwordCoverTR.Locked = true
  133.  
  134. local SCTRMesh = Instance.new("SpecialMesh", SwordCoverTR)
  135. SCTRMesh.MeshType = Enum.MeshType.Wedge
  136.  
  137. local SCWeldTR = Instance.new("Weld", SwordCoverTR)
  138. SCWeldTR.C0 = CFrame.new(0, -.26, 0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(180))
  139. SCWeldTR.Part0 = SwordCoverTR
  140. SCWeldTR.Part1 = SwordCoverTL
  141.  
  142. local HolsterBlade = Instance.new("Part",SwordCover)
  143. HolsterBlade.Size = Vector3.new(3,.11,0.5)
  144. HolsterBlade.Material = Enum.Material.SmoothPlastic
  145. HolsterBlade.Massless = true
  146. HolsterBlade.CanCollide = false
  147. HolsterBlade.Color = BladeColor
  148. HolsterBlade.Locked = true
  149.  
  150. local HBWeld = Instance.new("Weld", HolsterBlade)
  151. HBWeld.C0 = CFrame.new(-0.24, 0, 0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  152. HBWeld.Part0 = HolsterBlade
  153. HBWeld.Part1 = SwordCover
  154.  
  155. local HCover = Instance.new("Part",HolsterBlade)
  156. HCover.Size = Vector3.new(.2,0.17,0.55)
  157. HCover.Material = Enum.Material.Granite
  158. HCover.BrickColor = BrickColor.new("Fossil")
  159. HCover.Massless = true
  160. HCover.CanCollide = false
  161. HCover.Locked = true
  162.  
  163. local HCoverWeld = Instance.new("Weld", HCover)
  164. HCoverWeld.C0 = CFrame.new(-1.5, 0, 0)
  165. HCoverWeld.Part0 = HCover
  166. HCoverWeld.Part1 = HolsterBlade
  167.  
  168. local HolsterH = Instance.new("Part",HCover)
  169. HolsterH.Size = Vector3.new(1.3,1,0.1)
  170. HolsterH.Material = Enum.Material.Wood
  171. HolsterH.BrickColor = BrickColor.new("Dark orange")
  172. HolsterH.Massless = true
  173. HolsterH.CanCollide = false
  174. HolsterH.Locked = true
  175.  
  176. local MHHandle = Instance.new("SpecialMesh", HolsterH)
  177. MHHandle.MeshType = Enum.MeshType.Cylinder
  178.  
  179. local HolsterHW = Instance.new("Weld", HolsterH)
  180. HolsterHW.C0 = CFrame.new(-0.3, 0, 0)
  181. HolsterHW.Part0 = HolsterH
  182. HolsterHW.Part1 = HCover
  183.  
  184. local HHCover = Instance.new("Part",HolsterH)
  185. HHCover.Size = Vector3.new(.15,0.15,0.15)
  186. HHCover.Material = Enum.Material.Granite
  187. HHCover.BrickColor = BrickColor.new("Fossil")
  188. HHCover.Massless = true
  189. HHCover.CanCollide = false
  190. HHCover.Locked = true
  191.  
  192. local HHCoverWeld = Instance.new("Weld", HHCover)
  193. HHCoverWeld.C0 = CFrame.new(-0.65, 0, 0) * CFrame.Angles(math.rad(45),math.rad(0),math.rad(0))
  194. HHCoverWeld.Part0 = HHCover
  195. HHCoverWeld.Part1 = HolsterH
  196.  
  197. local unsheath = Instance.new("Sound", SwordCover)
  198. unsheath.SoundId = "rbxassetid://211059653"
  199. unsheath.Volume = 4
  200.  
  201. local sheath = Instance.new("Sound", SwordCover)
  202. sheath.SoundId = "rbxassetid://211134014"
  203. sheath.Volume = 4
  204.  
  205. local swing = Instance.new("Sound", Handle)
  206. swing.SoundId = "rbxassetid://1306070008"
  207. swing.Volume = 4
  208.  
  209. HandWeld = Char.Torso["Right Shoulder"]
  210.  
  211. function click()
  212.     Attacking = true
  213.     swing.PlaybackSpeed = math.random(10,12)/10
  214.     swing:Play()
  215.    
  216.     for i = 0, -90, -20 do
  217.         HandWeld.C0 = HandWeld.C0:Lerp(CFrame.new(1.5,0.5,0) * CFrame.new(0,0,0) * CFrame.new(-.5,0,0) * CFrame.Angles(math.rad(0),math.rad(90),math.rad(i)), 1)
  218.         wait(0)
  219.         Blade.Touched:connect(function(oof)
  220.             if Attacking == true then
  221.                 if oof ~= game.workspace.Base then
  222.                     oof:Destroy()
  223.                 end
  224.             end
  225.         end)
  226.     end
  227.     HandWeld.C0 = CFrame.new(1.5,0.5,0) * CFrame.new(0,0,0) * CFrame.new(-.5,0,0) * CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  228.     Attacking = false
  229. end
  230.  
  231. Tool.Equipped:connect(function()
  232.     unsheath:Play()
  233.     HolsterBlade.Parent = nil
  234. end)
  235.  
  236. Tool.Unequipped:connect(function()
  237.     sheath:Play()
  238.     HolsterBlade.Parent = SwordCover
  239. end)
  240.  
  241. Tool.Activated:Connect(click)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement