Advertisement
hunterwhitney85

scythe script

Jul 15th, 2016
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.01 KB | None | 0 0
  1. -------[[({{==~~||Scythe 'o dead||~~==}})]]-------------------------------------------------------------------------------------------------------------------------------------------------
  2. -------------------------------------------------------------------------------------------------------------------------------------------
  3. name = "xSoulStealerx"
  4.  
  5. me = game.Players[Inhales]
  6. char = me.Character
  7. bin = script.Parent
  8. selected = false
  9. attacking = false
  10. hurt = false
  11. deb = true
  12. normdmg = 18
  13. dmg = normdmg
  14. fly = false
  15. firecols = {"Bright violet", "Black", "Really black"}
  16.  
  17. parts = {}
  18.  
  19. if char:findFirstChild("Scythe",true) ~= nil then
  20. char:findFirstChild("Scythe",true).Parent = nil
  21. end
  22.  
  23. function prop(part, parent, collide, tran, ref, x, y, z, color, anchor, form)
  24. part.Parent = parent
  25. part.formFactor = form
  26. part.CanCollide = collide
  27. part.Transparency = tran
  28. part.Reflectance = ref
  29. part.Size = Vector3.new(x,y,z)
  30. part.BrickColor = BrickColor.new(color)
  31. part.TopSurface = 0
  32. part.BottomSurface = 0
  33. part.Anchored = anchor
  34. part.Locked = true
  35. part:BreakJoints()
  36. end
  37.  
  38. function weld(w, p, p1, a, b, c, x, y, z)
  39. w.Parent = p
  40. w.Part0 = p
  41. w.Part1 = p1
  42. w.C1 = CFrame.fromEulerAnglesXYZ(a,b,c) * CFrame.new(x,y,z)
  43. end
  44.  
  45. function mesh(mesh, parent, x, y, z, type)
  46. mesh.Parent = parent
  47. mesh.Scale = Vector3.new(x, y, z)
  48. mesh.MeshType = type
  49. end
  50.  
  51. function getcharparts(path)
  52. local objs = {}
  53. for _,v in pairs(path:children()) do
  54. if v:IsA("Model") and v.Name ~= name then
  55. for _,k in pairs(v:children()) do
  56. if k.Name == "Torso" then
  57. table.insert(objs,k)
  58. end
  59. end
  60. end
  61. end
  62. return objs
  63. end
  64.  
  65. sword = Instance.new("Model",me.Character)
  66. sword.Name = "Scythe"
  67.  
  68. --Parts-------------------------Parts-------------------------Parts-------------------------Parts----------------------
  69.  
  70. rarm = char:findFirstChild("Right Arm")
  71. larm = char:findFirstChild("Left Arm")
  72. torso = char:findFirstChild("Torso")
  73. hum = char:findFirstChild("Humanoid")
  74.  
  75. main = Instance.new("Part")
  76. prop(main, sword, false, 0, 0, 0.45, 6.4, 0.45, "Really black", false, "Custom")
  77. mme = Instance.new("SpecialMesh")
  78. mesh(mme,main,1,1,1,"Head")
  79. table.insert(parts,main)
  80.  
  81. part1 = Instance.new("Part")
  82. prop(part1, sword, false, 0, 0, 0.45, 1, 0.45, "Really black", false, "Custom")
  83. p1m = Instance.new("SpecialMesh")
  84. mesh(p1m,part1,1,1,1,"Head")
  85. w1 = Instance.new("Weld")
  86. weld(w1, main, part1, 0, 0, -1.1, -0.3, 3.3, 0)
  87.  
  88. part2 = Instance.new("Part")
  89. prop(part2, sword, false, 0, 0, 0.45, 1, 0.45, "Really black", false, "Custom")
  90. p2m = Instance.new("SpecialMesh")
  91. mesh(p2m,part2,1,1,1,"Head")
  92. w2 = Instance.new("Weld")
  93. weld(w2, main, part2, 0, 0, -1.1, 0.3, -3.3, 0)
  94.  
  95. blade1 = Instance.new("Part")
  96. prop(blade1, sword, false, 0, 0, 1.4, 0.8, 0.1, "Dark grey", false, "Custom")
  97. b1m = Instance.new("BlockMesh",blade1)
  98. w3 = Instance.new("Weld")
  99. weld(w3, main, blade1, 0, 0, -0.4, -0.45, -3.4, 0)
  100. table.insert(parts,blade1)
  101.  
  102. blade2 = Instance.new("Part")
  103. prop(blade2, sword, false, 0, 0, 1.1, 0.8, 0.1, "Dark grey", false, "Custom")
  104. b2m = Instance.new("BlockMesh",blade2)
  105. w4 = Instance.new("Weld")
  106. weld(w4, main, blade2, 0, 0, 0, -1.5, -3.66, 0)
  107. table.insert(parts,blade2)
  108.  
  109. blade3 = Instance.new("Part")
  110. prop(blade3, sword, false, 0, 0, 0.1, 0.8, 1.7, "Dark grey", false, "Custom")
  111. b3m = Instance.new("SpecialMesh")
  112. mesh(b3m,blade3,1,1,1,"Wedge")
  113. w5 = Instance.new("Weld")
  114. weld(w5, main, blade3, 0, math.pi/2, 0.4, -2.64, -3.38, 0)
  115. table.insert(parts,blade3)
  116.  
  117. blade1b = Instance.new("Part")
  118. prop(blade1b, sword, false, 0, 0, 1.4, 0.8, 0.1, "Dark grey", false, "Custom")
  119. b1mb = Instance.new("BlockMesh",blade1b)
  120. w6 = Instance.new("Weld")
  121. weld(w6, main, blade1b, 0, 0, -0.4+math.pi, 0.45, 3.4, 0)
  122. table.insert(parts,blade1b)
  123.  
  124. blade2b = Instance.new("Part")
  125. prop(blade2b, sword, false, 0, 0, 1.1, 0.8, 0.1, "Dark grey", false, "Custom")
  126. b2mb = Instance.new("BlockMesh",blade2b)
  127. w7 = Instance.new("Weld")
  128. weld(w7, main, blade2b, 0, 0, math.pi, 1.5, 3.66, 0)
  129. table.insert(parts,blade2b)
  130.  
  131. blade3b = Instance.new("Part")
  132. prop(blade3b, sword, false, 0, 0, 0.1, 0.8, 1.7, "Dark grey", false, "Custom")
  133. b3mb = Instance.new("SpecialMesh")
  134. mesh(b3mb,blade3b,1,1,1,"Wedge")
  135. w8 = Instance.new("Weld")
  136. weld(w8, main, blade3b, 0, math.pi/2, 0.4+math.pi, 2.64, 3.38, 0)
  137. table.insert(parts,blade3b)
  138.  
  139. for i=0.9, 1.6, 0.09 do
  140. hp1 = Instance.new("Part")
  141. prop(hp1, sword, false, 0, 0, 0.48, 0.09, 0.48, "White", false, "Custom")
  142. h1m = Instance.new("SpecialMesh")
  143. mesh(h1m,hp1,1,1,1,"Head")
  144. w9 = Instance.new("Weld")
  145. weld(w9, main, hp1, math.random(-20,20)/100, 0, math.random(-20,20)/100, 0, i, 0)
  146. end
  147.  
  148. for i=0.9, 1.6, 0.09 do
  149. hp2 = Instance.new("Part")
  150. prop(hp2, sword, false, 0, 0, 0.48, 0.09, 0.48, "White", false, "Custom")
  151. h2m = Instance.new("SpecialMesh")
  152. mesh(h2m,hp2,1,1,1,"Head")
  153. w10 = Instance.new("Weld")
  154. weld(w10, main, hp2, math.random(-20,20)/100, 0, math.random(-20,20)/100, 0, -i, 0)
  155. end
  156.  
  157. --Arm joints-----------------------Arm joints-----------------------Arm joints---------------------
  158.  
  159. righthold = Instance.new("Part")
  160. prop(righthold, sword, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
  161. w11 = Instance.new("Weld")
  162. weld(w11, rarm, righthold, 0, 0, 0, 0, 1, 0)
  163.  
  164. lefthold = Instance.new("Part")
  165. prop(lefthold, sword, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
  166. w12 = Instance.new("Weld")
  167. weld(w12, larm, lefthold, 0, 0, 0, 0, 1, 0)
  168.  
  169. rb = Instance.new("Part")
  170. prop(rb, sword, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
  171. w13 = Instance.new("Weld")
  172. weld(w13, torso, rb, 0, 0, 0, -1.5, -0.5, 0)
  173.  
  174. lb = Instance.new("Part")
  175. prop(lb, sword, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
  176. w14 = Instance.new("Weld")
  177. weld(w14, torso, lb, 0, 0, 0, 1.5, -0.5, 0)
  178.  
  179. rw = Instance.new("Weld")
  180. weld(rw, rb, nil, 0, 0, 0, 0, 0.5, 0)
  181.  
  182. lw = Instance.new("Weld")
  183. weld(lw, lb, nil, 0, 0, 0, 0, 0.5, 0)
  184.  
  185.  
  186. holdweld = Instance.new("Weld")
  187. weld(holdweld,torso,main,0,0,0.85,0,0,-0.64)
  188.  
  189. rh = Instance.new("Weld")
  190. weld(rh,righthold,nil,math.pi/2,0,math.pi,0,0,1)
  191.  
  192. lh = Instance.new("Weld")
  193. weld(lh,lefthold,nil,math.pi/2,0,0,0,0,0)
  194.  
  195. rightbattle = nil
  196. leftbattle = nil
  197.  
  198. if script.Parent.className ~= "HopperBin" then
  199. h = Instance.new("HopperBin",me.Backpack)
  200. h.Name = "Scythe"
  201. script.Parent = h
  202. end
  203.  
  204. bin = script.Parent
  205.  
  206. function selectmotion()
  207. rw.Part1 = rarm
  208. rh.C0 = CFrame.new(0,0,0)
  209. rw.C0 = CFrame.new(0,0,0)
  210. lw.C0 = CFrame.new(0,0,0)
  211. for i=1, 7 do
  212. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.25,0.13,-0.1)
  213. wait()
  214. end
  215. rh.Part1 = main
  216. holdweld.Part1 = nil
  217. for i=1, 5 do
  218. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.3,0,-0.1)
  219. rh.C0 = rh.C0 * CFrame.new(0,0,0.4) * CFrame.fromEulerAnglesXYZ(0,0,-(math.pi/2)/5)
  220. wait()
  221. end
  222. lw.Part1 = larm
  223. for i=1, 5 do
  224. rw.C0 = rw.C0 * CFrame.new(-0.03,0.05,0.08) * CFrame.fromEulerAnglesXYZ(-0.3,-0.2,0.13)
  225. lw.C0 = lw.C0 * CFrame.new(0.08,0,0) * CFrame.fromEulerAnglesXYZ(0.2,0,0)
  226. wait()
  227. end
  228. rightbattle = rw.C0
  229. leftbattle = lw.C0
  230. rh.Part1 = main
  231. lw.Part1 = larm
  232. rw.C0 = rightbattle
  233. lw.C0 = leftbattle
  234. selected = true
  235. end
  236.  
  237. function deselmotion()
  238. selected = false
  239. rightbattle = rw.C0
  240. leftbattle = lw.C0
  241. rh.Part1 = main
  242. lw.Part1 = larm
  243. rw.Part1 = rarm
  244. rw.C0 = rightbattle
  245. lw.C0 = leftbattle
  246. for i=1, 5 do
  247. rw.C0 = rw.C0 * CFrame.new(0.03,-0.05,-0.08) * CFrame.fromEulerAnglesXYZ(0.3,0.2,-0.13)
  248. lw.C0 = lw.C0 * CFrame.new(-0.08,0,0) * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
  249. wait()
  250. end
  251. lw.Part1 = nil
  252. for i=1, 5 do
  253. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.3,0,0.1)
  254. rh.C0 = rh.C0 * CFrame.new(0,0,-0.4) * CFrame.fromEulerAnglesXYZ(0,0,(math.pi/2)/5)
  255. wait()
  256. end
  257. holdweld.Part1 = main
  258. rh.Part1 = nil
  259. for i=1, 7 do
  260. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.25,-0.13,0.1)
  261. wait()
  262. end
  263. rw.Part1 = nil
  264. lw.Part1 = nil
  265. rh.C0 = CFrame.new(0,0,0)
  266. rw.C0 = CFrame.new(0,0,0)
  267. lw.C0 = CFrame.new(0,0,0)
  268. end
  269.  
  270. --Effect------------------Effect------------------Effect------------------Effect------------------Effect----------------
  271.  
  272. function effect()
  273. for _,v in pairs(parts) do
  274. local o = v:clone()
  275. o.Parent = workspace
  276. o.Transparency = 0.6
  277. o.BrickColor = BrickColor.new("Bright violet")
  278. o.Anchored = true
  279. o.CanCollide = false
  280. o.CFrame = v.CFrame
  281. coroutine.resume(coroutine.create(function()
  282. for i=o.Transparency, 1, 0.07 do
  283. wait()
  284. o.Transparency = i
  285. end
  286. o:remove()
  287. end))
  288. end
  289. end
  290.  
  291. --KILL FUNCTION-------------KILL FUNCTION-------------KILL FUNCTION-------------KILL FUNCTION-----------
  292.  
  293.  
  294. function kill(h)
  295. if hurt and deb then
  296. local hu = h.Parent:findFirstChild("Humanoid")
  297. if hu ~= nil and h.Parent.Name ~= name then
  298. deb = false
  299. local dam = math.random(0,dmg)
  300. hu.Health = hu.Health - dam
  301. local p = Instance.new("Part")
  302. prop(p,nil,false,1,0,0.9,0.25,0.9,"Bright red",false,"Custom")
  303. p.CFrame = CFrame.new(blade3b.Position) * CFrame.new(0,2,0)
  304. local bil = Instance.new("BillboardGui",p)
  305. bil.Adornee = bil.Parent
  306. bil.Size = UDim2.new(0,60,0,60)
  307. local txt = Instance.new("TextLabel",bil)
  308. txt.Text = dam
  309. txt.BackgroundTransparency = 1
  310. txt.FontSize = "Size24"
  311. txt.Size = UDim2.new(0,60,0,60)
  312. local bp = Instance.new("BodyPosition",p)
  313. bp.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  314. bp.P = 200000
  315. bp.position = p.Position
  316. local po = bp.position
  317. local cf = CFrame.Angles(0,0,0)
  318. if fly then
  319. local too = h.Parent:findFirstChild("Torso")
  320. if too ~= nil then
  321. coroutine.resume(coroutine.create(function()
  322. hu.PlatformStand = true
  323. wait(0.06)
  324. local c = CFrame.new(torso.Position, too.Position)
  325. too.Velocity = c.lookVector * math.random(30,70)
  326. wait(0.6)
  327. hu.PlatformStand = false
  328. end))
  329. end
  330. end
  331. coroutine.resume(coroutine.create(function()
  332. p.Parent = workspace
  333. for i=0, math.random(16,27), 0.35 do
  334. wait()
  335. cf = CFrame.Angles(0,i/1.3,0) * CFrame.new(0,i/1.7,i/3.2)
  336. bp.position = po + cf.p
  337. end
  338. p:remove()
  339. end))
  340. coroutine.resume(coroutine.create(function()
  341. wait(0.14)
  342. deb = true
  343. end))
  344. end
  345. end
  346. end
  347.  
  348. for _,v in pairs(parts) do
  349. v.Touched:connect(kill)
  350. end
  351.  
  352. --Attacks-----------Attacks----------------Attacks-----------Attacks----------------Attacks-----------Attacks--------------
  353.  
  354. function att()
  355. attacking = true
  356. for i=1,7 do
  357. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.05,-0.2,-0.05)
  358. lw.C0 = lw.C0 * CFrame.new(0.07,-0.08,0) * CFrame.fromEulerAnglesXYZ(0,0,0.12)
  359. wait()
  360. end
  361. for i=1,6 do
  362. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.3,0,0.05)
  363. lw.C0 = lw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.2,0,0.1)
  364. wait()
  365. end
  366. hurt = true
  367. for i=1,6 do
  368. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.5,-0.06,0.12)
  369. lw.C0 = lw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.23,-0.07,0)
  370. effect()
  371. wait()
  372. end
  373. hurt = false
  374. for i=1,6 do
  375. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.13,0.23,-0.2)
  376. lw.C0 = lw.C0 * CFrame.new(-0.08,0.09,0.03) * CFrame.fromEulerAnglesXYZ(-0.1,0.15,-0.15)
  377. effect()
  378. wait()
  379. end
  380. rw.C0 = rightbattle
  381. lw.C0 = leftbattle
  382. attacking = false
  383. end
  384.  
  385. function throw()
  386. attacking = true
  387. for i=1,7 do
  388. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.08,-0.14,-0.2)
  389. wait()
  390. end
  391. for i=1,3 do
  392. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.2,-0,0)
  393. effect()
  394. wait()
  395. end
  396. for i=1,4 do
  397. rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.45,-0,0)
  398. effect()
  399. wait()
  400. end
  401. rh.Part1 = nil
  402. local bv = Instance.new("BodyVelocity",main)
  403. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  404. bv.velocity = torso.CFrame.lookVector * 70
  405. local bav = Instance.new("BodyAngularVelocity",main)
  406. bav.P = 10000
  407. bav.angularvelocity = torso.CFrame.lookVector * 40
  408. local lolpos = torso.CFrame
  409. wait(0.4)
  410. hurt = true
  411. dmg = 65
  412. coroutine.resume(coroutine.create(function()
  413. repeat wait() effect() until (main.Position - torso.Position).magnitude < 11
  414. rh.Part1 = main
  415. bv:remove()
  416. bav:remove()
  417. rw.C0 = rightbattle
  418. lw.C0 = leftbattle
  419. attacking = false
  420. hurt = false
  421. dmg = normdmg
  422. end))
  423. wait(3)
  424. bv.velocity = lolpos.lookVector * -180
  425. end
  426.  
  427. function spin()
  428. attacking = true
  429. wait(0.1)
  430. local bg = Instance.new("BodyGyro",torso)
  431. bg.P = 13000
  432. bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  433. local cf = CFrame.Angles(0,0,0)
  434. local xd = torso.CFrame
  435. bg.cframe = CFrame.new(torso.Position, xd * cf * CFrame.new(0,0,-90).p)
  436. for i=1,4 do
  437. rw.C0 = rw.C0 * CFrame.new(0,0.1,0) * CFrame.fromEulerAnglesXYZ(0.35,0,-0.07)
  438. lw.C0 = lw.C0 * CFrame.new(0,0.1,0) * CFrame.fromEulerAnglesXYZ(0,0,0)
  439. wait()
  440. end
  441. hurt = true
  442. fly = true
  443. for i=0,math.pi*4,math.pi/6 do
  444. wait()
  445. cf = CFrame.Angles(0,-i,0)
  446. bg.cframe = CFrame.new(torso.Position, xd * cf * CFrame.new(0,0,-90).p)
  447. effect()
  448. end
  449. hurt = false
  450. fly = false
  451. bg:remove()
  452. for i=1,4 do
  453. rw.C0 = rw.C0 * CFrame.new(0,-0.1,0) * CFrame.fromEulerAnglesXYZ(-0.35,0,0.07)
  454. lw.C0 = lw.C0 * CFrame.new(0,-0.1,0) * CFrame.fromEulerAnglesXYZ(0,0,0)
  455. wait()
  456. end
  457. rw.C0 = rightbattle
  458. lw.C0 = leftbattle
  459. wait(0.2)
  460. attacking = false
  461. end
  462.  
  463. function select(mouse)
  464. repeat wait() until selected == false and attacking == false
  465. if selected == false then
  466. selectmotion()
  467. end
  468. coroutine.resume(coroutine.create(function()
  469. while selected do
  470. wait(0.25)
  471. if torso.RotVelocity.Y < -14 and attacking == false then
  472. spin()
  473. end
  474. end
  475. end))
  476. mouse.Button1Down:connect(function()
  477. if selected and attacking == false then
  478. att()
  479. end
  480. end)
  481. mouse.KeyDown:connect(function(kai)
  482. if attacking == false then
  483. omg = kai:lower()
  484. if omg == "r" then
  485. throw()
  486. end
  487. end
  488. end)
  489. end
  490.  
  491. function desel()
  492. repeat wait() until selected and attacking == false
  493. if selected then
  494. deselmotion()
  495. end
  496. end
  497.  
  498. bin.Selected:connect(select)
  499. bin.Deselected:connect(desel)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement