Advertisement
Guest User

Untitled

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