Advertisement
astronaut32

red saber

Dec 29th, 2016
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --Saber
  2.  
  3. z = Instance.new("Sound", game.workspace.PabloRV.Torso)
  4. z.SoundId = "rbxassetid://526682665" -- Put Music ID Here.
  5. z.Looped = true
  6. z.Volume = 1
  7. wait(.1)
  8. z:Play()
  9.  
  10. local plr = game:service'Players'.LocalPlayer
  11. local char = plr.Character
  12. local mouse = plr:GetMouse()
  13. local torso = char:findFirstChild("Torso")
  14. local head = char.Head
  15. local ra = char:findFirstChild("Right Arm")
  16. local la = char:findFirstChild("Left Arm")
  17. local rl = char:findFirstChild("Right Leg")
  18. local ll = char:findFirstChild("Left Leg")
  19. local rs = torso:findFirstChild("Right Shoulder")
  20. local ls = torso:findFirstChild("Left Shoulder")
  21. local equipped = false
  22. local debounce = false
  23. local slashing = false
  24. local blocking = false
  25. local blocking2 = false
  26. local stoopidstuff = Instance.new("BoolValue", char)
  27. stoopidstuff.Name = "stoopidstuff"
  28. stoopidstuff.Value = true
  29. local healing = false
  30. local storedhealth
  31. local storewalkspeed = char:findFirstChild("Humanoid").WalkSpeed
  32. local damage = 30
  33. local colors = {"Royal purple", "Cyan", "Really red", "Lime green"}
  34. function part(parent, size, formfactor, color, collide, transparency)
  35. local p=Instance.new("Part", parent)
  36. p.FormFactor=formfactor
  37. p.CanCollide=false
  38. p.Size=size
  39. p.Locked=true
  40. p.Transparency=transparency
  41. p.Position=torso.Position
  42. p.BrickColor=color
  43. p.FrontSurface="SmoothNoOutlines"
  44. p.BackSurface="SmoothNoOutlines"
  45. p.LeftSurface="SmoothNoOutlines"
  46. p.BottomSurface="SmoothNoOutlines"
  47. p.TopSurface="SmoothNoOutlines"
  48. p.RightSurface="SmoothNoOutlines"
  49. return p
  50. end
  51. function wedge(parent, size, formfactor, color, collide)
  52. local p=Instance.new("Wedge", parent)
  53. p.FormFactor=formfactor
  54. p.CanCollide=false
  55. p.Size=size
  56. p.Locked=true
  57. p.Position = torso.Position
  58. p.BrickColor=color
  59. p.FrontSurface="SmoothNoOutlines"
  60. p.BackSurface="SmoothNoOutlines"
  61. p.LeftSurface="SmoothNoOutlines"
  62. p.BottomSurface="SmoothNoOutlines"
  63. p.TopSurface="SmoothNoOutlines"
  64. p.RightSurface="SmoothNoOutlines"
  65. return p
  66. end
  67. function weld(c0, c1, part1, part0)
  68. local wel=Instance.new("Weld", char)
  69. wel.Part0 = part0
  70. wel.Part1 = part1
  71. wel.C0 = c0
  72. wel.C1 = c1
  73. return wel
  74. end
  75. function specialmesh(parent, meshType, scale, meshId)
  76. local mesh = Instance.new("SpecialMesh", parent)
  77. mesh.Scale = scale
  78. mesh.MeshType = meshType
  79. mesh.MeshId = meshId
  80. return mesh
  81. end
  82. function equip()
  83. ar = Instance.new("Part", char)
  84. ar.FormFactor = "Custom"
  85. ar.Size = Vector3.new(1, 1, 1)
  86. ar.Transparency = 1
  87. ar.CanCollide = false
  88. ar.Locked = true
  89. ar:BreakJoints()
  90. fakel = Instance.new("Weld", char)
  91. fakel.Part0 = char.Torso
  92. fakel.Part1 = ar
  93. coroutine.wrap(function()
  94. for angle = 0, 45, 5 do
  95. if fakel == nil then return end
  96. fakel.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(angle), math.rad(0), math.rad(0))
  97. wait()
  98. end
  99. end)()
  100. welditbro = Instance.new("Weld", char)
  101. welditbro.C0 = CFrame.new(0, 0.5, 0)
  102. welditbro.Part0 = ra
  103. welditbro.Part1 = ar
  104. end
  105. function block()
  106. if not equipped then return end
  107. stoopidstuff.Value = true
  108. damage = 2
  109. char:findFirstChild("Humanoid").WalkSpeed = 6
  110. storedhealth = char:findFirstChild("Humanoid").Health
  111. for angle = 0, 70, 10 do
  112. fakel.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(45), math.rad(angle), 0)
  113. wait()
  114. end
  115. coroutine.wrap(function()
  116. while blocking do
  117. if not blocking then return end
  118. char:findFirstChild("Humanoid").Health = storedhealth
  119. game:service'RunService'.Stepped:wait()
  120. end
  121. end)()
  122. end
  123. function unblock()
  124. stoopidstuff.Value = false
  125. if not equipped then return end
  126. damage = 30
  127. char:findFirstChild("Humanoid").WalkSpeed = storewalkspeed
  128. for angle = 70, 0, -10 do
  129. fakel.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(45), math.rad(angle), 0)
  130. wait()
  131. end
  132. blocking = false
  133. end
  134. function block2()
  135. if not equipped then return end
  136. stoopidstuff.Value = true
  137. damage = 2
  138. char:findFirstChild("Humanoid").WalkSpeed = 6
  139. storedhealth = char:findFirstChild("Humanoid").Health
  140. for angle = 0, 50, 10 do
  141. fakel.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(45 + angle/6), 0, -math.rad(angle))
  142. wait()
  143. end
  144. coroutine.wrap(function()
  145. while blocking2 do
  146. if not blocking2 then return end
  147. char:findFirstChild("Humanoid").Health = storedhealth
  148. game:service'RunService'.Stepped:wait()
  149. end
  150. end)()
  151. end
  152. function unblock2()
  153. stoopidstuff.Value = false
  154. if not equipped then return end
  155. damage = 30
  156. char:findFirstChild("Humanoid").WalkSpeed = storewalkspeed
  157. for angle = 50, 0, -10 do
  158. fakel.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(45 + angle/6), math.rad(0), -math.rad(angle))
  159. wait()
  160. end
  161. blocking2 = false
  162. end
  163. function heal()
  164. ar2 = Instance.new("Part", char)
  165. ar2.FormFactor = "Custom"
  166. ar2.Size = Vector3.new(1, 1, 1)
  167. ar2.Transparency = 1
  168. ar2.CanCollide = false
  169. ar2.Locked = true
  170. ar2:BreakJoints()
  171. fakel2 = Instance.new("Weld", char)
  172. fakel2.Part0 = torso
  173. fakel2.Part1 = ar2
  174. welditbro2 = Instance.new("Weld", char)
  175. welditbro2.C0 = CFrame.new(0, 0.5, 0)
  176. welditbro2.Part0 = la
  177. welditbro2.Part1 = ar2
  178. for angle = 0, 170, 5 do
  179. fakel2.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(math.rad(angle), math.rad(0), math.rad(0))
  180. wait()
  181. end
  182. local ball = Instance.new("Part", char)
  183. ball.FormFactor = "Custom"
  184. ball.BrickColor = BrickColor.new("Red")
  185. ball.Anchored = true
  186. ball.CanCollide = false
  187. ball.TopSurface = 0
  188. ball.BottomSurface = 0
  189. ball.Transparency = 0.4
  190. ball.Locked = true
  191. ball.Shape = "Ball"
  192. ball.CFrame = torso.CFrame
  193. local mesh = Instance.new("SpecialMesh", ball)
  194. mesh.MeshType = "Sphere"
  195. coroutine.wrap(function()
  196. for i = 0.2, 8, 0.1 do
  197. mesh.Scale = Vector3.new(i, i, i)
  198. ball.Transparency = ball.Transparency + 0.005
  199. wait()
  200. end
  201. ball:Destroy()
  202. end)()
  203. local splash = Instance.new("Part", char)
  204. splash.FormFactor = "Custom"
  205. splash.BrickColor = BrickColor.new("Cyan")
  206. splash.Transparency = 0
  207. splash.Anchored = true
  208. splash.CanCollide = false
  209. splash.BottomSurface = 0
  210. splash.TopSurface = 0
  211. splash.Locked = true
  212. local mesh = Instance.new("SpecialMesh", splash)
  213. mesh.MeshType = "FileMesh"
  214. mesh.Scale = Vector3.new(1, 1, 1)
  215. mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  216. splash:BreakJoints()
  217. splash.CFrame = ball.CFrame * CFrame.Angles(math.rad(90), 0, 0)
  218. coroutine.resume(coroutine.create(function()
  219. for i = 0, 50, 0.5 do
  220. mesh.Scale = Vector3.new(i, i, 1)
  221. splash.Transparency = splash.Transparency + 0.01
  222. wait()
  223. end
  224. splash:Destroy()
  225. end))
  226.  
  227. char:findFirstChild("Humanoid").Health = char:findFirstChild("Humanoid").Health + 1000
  228. wait(0.5)
  229. welditbro2:Destroy()
  230. fakel2:Destroy()
  231. ar2:Destroy()
  232. ls.Parent = torso
  233. wait(1)
  234. healing = false
  235. end
  236.  
  237. function slash()
  238. if blocking then return end
  239. if blocking2 then return end
  240. if not equipped then return end
  241. damage = 80
  242. for angle = 45, 95, 10 do
  243. fakel.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(angle), math.rad(angle/2), 0)
  244. wait()
  245. end
  246. for angle = 95, 5, -20 do
  247. fakel.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(angle), math.rad(angle/2), 0)
  248. wait()
  249. end
  250. for angle = 5, 45, 10 do
  251. fakel.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(angle), math.rad(angle/angle - 5), 0)
  252. wait()
  253. end
  254. slashing = false
  255. fakel.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(45), 0, 0)
  256. damage = 30
  257. wait(0.2)
  258. end
  259. function deequip()
  260. pcall(function()
  261. ar:Destroy()
  262. fakel:Destroy()
  263. welditbro:Destroy()
  264. end)
  265. end
  266.  
  267. local part1 = part(char, Vector3.new(0.2, 1.4, 0.2), "Custom", BrickColor.new("Black"), 0)
  268. Instance.new("CylinderMesh", part1)
  269. local weld1 = weld(CFrame.new(0, 0, 1) * CFrame.Angles(math.pi/2, 0, 0), CFrame.new(), ra, part1)
  270. local part2 = part(char, Vector3.new(0.4, 0.4, 0.4), "Custom", BrickColor.new("Black"), 0)
  271. Instance.new("CylinderMesh", part2)
  272. local weld3 = weld(CFrame.new(0, 0.65, 0), CFrame.new(), part2, part1)
  273. local part3 = part(char, Vector3.new(0.3, 4.4, 0.3), "Custom", BrickColor.White(), 0)
  274. local mesh1 = specialmesh(part3, "Head", Vector3.new(0.8, 1, 0.8), "")
  275. local weld4 = weld(CFrame.new(0, 2.9, 0), CFrame.new(), part3, part1)
  276. local part4 = part(char, Vector3.new(0.4, 4.4, 0.4), "Custom", BrickColor.new(colors[math.random(1, #colors)]), 0)
  277. local mesh2 = specialmesh(part4, "Head", Vector3.new(1, 1.01, 1), "")
  278. local weld5 = weld(CFrame.new(0, 2.9, 0), CFrame.new(), part4, part1)
  279. local pl = Instance.new("PointLight", part4)
  280. pl.Color = part4.BrickColor.Color
  281. pl.Brightness = 0
  282. part3.Transparency = 1
  283. part4.Transparency = 1
  284. part4.Touched:connect(function(hit)
  285. if not equipped then return end
  286. if debounce then return end
  287. debounce = true
  288. coroutine.wrap(function()
  289. pcall(function()
  290. if hit.Parent:FindFirstChild("Humanoid") ~= nil then
  291. if hit.Parent.Name == char.Name then return end
  292. if hit.Parent:findFirstChild("stoopidstuff") ~= nil and hit.Parent:findFirstChild("stoopidstuff").Value == true then
  293. return
  294. end
  295. damagerandom = damage + math.random(0, 10)
  296. hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - damagerandom
  297. coroutine.wrap(function()
  298. local prt = Instance.new("Part", char)
  299. prt.FormFactor = "Custom"
  300. prt.Size = Vector3.new(0.1, 0.1, 0.1)
  301. prt.Transparency = 1
  302. prt.CanCollide = false
  303. prt.CFrame = CFrame.new(part4.CFrame.x, part4.CFrame.y, part4.CFrame.z)
  304. prt.Anchored = true
  305. coroutine.resume(coroutine.create(function()
  306. for i = 2, 10, 0.05 do
  307. if prt == nil then return end
  308. prt.CFrame = prt.CFrame * CFrame.new(0, 0.05, 0)
  309. game:service'RunService'.Stepped:wait()
  310. end
  311. end))
  312.  
  313. local bg = Instance.new("BillboardGui")
  314. bg.Parent = prt
  315. bg.Adornee = prt
  316. bg.Size = UDim2.new(4, 0, 3.5, 0)
  317. bg.ExtentsOffset = Vector3.new(0, 0, 0)
  318. local lol = Instance.new("TextLabel")
  319. lol.Size = UDim2.new(1.3, 0, 0.4, 0)
  320. lol.TextScaled = true
  321. lol.TextWrapped = true
  322. lol.BackgroundTransparency = 0.4
  323. lol.Parent = bg
  324. lol.FontSize = "Size24"
  325. lol.TextColor3 = Color3.new(1, 0, 0)
  326. lol.TextStrokeTransparency = 0
  327. lol.Font = "ArialBold"
  328. lol.Text = "-"..damagerandom
  329.  
  330. wait(5)
  331. prt:Destroy()
  332. end)()
  333. end
  334. end)
  335. end)()
  336. wait(0.1)
  337. debounce = false
  338. end)
  339. mouse.Button1Down:connect(function(mouse)
  340. if slashing then return end
  341. if not equipped then return end
  342. if blocking2 then return end
  343. if blocking then return end
  344. slashing = true
  345. slash()
  346. end)
  347. mouse.KeyUp:connect(function(key)
  348.  
  349. if key == "f" then
  350. if not equipped then return end
  351. if not blocking then return end
  352. unblock()
  353. char:findFirstChild("Humanoid").MaxHealth = 100
  354. end
  355. if key == "g" then
  356. if not equipped then return end
  357. if not blocking2 then return end
  358. unblock2()
  359. char:findFirstChild("Humanoid").MaxHealth = 100
  360. end
  361. end)
  362. mouse.KeyDown:connect(function(key)
  363. if key == "f" then
  364. if not equipped then return end
  365. if blocking then return end
  366. if blocking2 then return end
  367. blocking = true
  368. block()
  369. end
  370. if key == "g" then
  371. if not equipped then return end
  372. if blocking then return end
  373. if blocking2 then return end
  374. blocking2 = true
  375. block2()
  376. end
  377. if key == "v" then
  378. if healing then return end
  379. if slashing then return end
  380. healing = true
  381. heal()
  382. end
  383. if key == "q" then
  384. if blocking2 then return end
  385. if blocking then return end
  386. equipped = not equipped
  387. if equipped then
  388. coroutine.wrap(function()
  389. while equipped do
  390. part4.Transparency = 0.6
  391. pl.Brightness = 0.6
  392. wait(0.05)
  393. part4.Transparency = 0.7
  394. pl.Brightness = 0.8
  395. wait(0.05)
  396. end
  397. end)()
  398. weld1.Part1 = ra
  399. weld1.C0 = CFrame.new(0, 0, 1) * CFrame.Angles(math.pi/2, 0, 0)
  400. part3.Transparency = 0
  401. local sound = Instance.new("Sound", char.Head)
  402. sound.SoundId = [[rbxasset://sounds\Rocket whoosh 01.wav]]
  403. sound.Pitch = 3
  404. sound.Volume = 1
  405. sound:play()
  406. equip()
  407. wait(1)
  408. sound:stop()
  409. sound:Destroy()
  410. else
  411. deequip()
  412. wait(0.1)
  413. weld1.Part1 = rl
  414. weld1.C0 = CFrame.new(-0.6,-0.8,-0.2) * CFrame.Angles(math.pi/4, 0, 0)
  415. part3.Transparency = 1
  416. pl.Brightness = 0
  417. part4.Transparency = 1
  418. end
  419. end
  420.  
  421. end)
  422. while true do
  423.  
  424. if slashing then
  425. local clone = part4:clone()
  426. clone.Anchored = true
  427. clone.Parent = workspace
  428. clone.Name = "trail"
  429. clone:findFirstChild("Mesh"):Destroy()
  430. Instance.new("BlockMesh", clone)
  431. clone.Mesh.Scale = clone.Mesh.Scale - Vector3.new(0.8, 0, 0) + Vector3.new(0, 0, 1.6)
  432. coroutine.wrap(function()
  433. for i = 0, 20 do
  434. clone.Transparency = clone.Transparency + 0.05
  435. clone.Mesh.Scale = clone.Mesh.Scale - Vector3.new(0.05, 0.05, 0.05)
  436. wait()
  437. end
  438. clone:Destroy()
  439. end)()
  440. end
  441. wait()
  442. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement