Advertisement
Guest User

sript

a guest
Feb 25th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.17 KB | None | 0 0
  1.  
  2.  
  3. local char = plr.Character
  4.  
  5.  
  6.  
  7.  
  8.  
  9. local par = script and script.Parent or char
  10.  
  11. pcall(function()
  12.  
  13. par.Swording:Destroy()
  14.  
  15. end)
  16.  
  17. if script then
  18.  
  19. script.Name = "Swording"
  20.  
  21. end
  22.  
  23. local m = Instance.new("Model",char)
  24.  
  25. m.Name = "Swording"
  26.  
  27.  
  28.  
  29. function weld(a,b,c,d)
  30.  
  31. local w = Instance.new("Weld",a)
  32.  
  33. w.Part0 = a
  34.  
  35. w.Part1 = b
  36.  
  37. w.C0 = c or CFrame.new()
  38.  
  39. w.C1 = d or CFrame.new()
  40.  
  41. return w
  42.  
  43. end
  44.  
  45.  
  46.  
  47. local part = Instance.new("Part")
  48.  
  49. part.Material = "SmoothPlastic"
  50.  
  51. part.TopSurface,part.BottomSurface = 0,0
  52.  
  53. part.FormFactor = "Custom"
  54.  
  55. part.Size = Vector3.new(.2,.2,.2)
  56.  
  57. part:BreakJoints()
  58.  
  59. part.TopSurface = "SmoothNoOutlines"
  60.  
  61. part.BottomSurface = "SmoothNoOutlines"
  62.  
  63. part.RightSurface = "SmoothNoOutlines"
  64.  
  65. part.LeftSurface = "SmoothNoOutlines"
  66.  
  67. part.CanCollide = false
  68.  
  69.  
  70.  
  71. do
  72.  
  73. local function CFrameFromTopBack(at, top, back)
  74.  
  75. local right = top:Cross(back)
  76.  
  77. return CFrame.new(at.x, at.y, at.z,
  78.  
  79. right.x, top.x, back.x,
  80.  
  81. right.y, top.y, back.y,
  82.  
  83. right.z, top.z, back.z)
  84.  
  85. end
  86.  
  87.  
  88.  
  89. function Triangle(a, b, c)
  90.  
  91. local edg1 = (c-a):Dot((b-a).unit)
  92.  
  93. local edg2 = (a-b):Dot((c-b).unit)
  94.  
  95. local edg3 = (b-c):Dot((a-c).unit)
  96.  
  97. if edg1 <= (b-a).magnitude and edg1 >= 0 then
  98.  
  99. a, b, c = a, b, c
  100.  
  101. elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
  102.  
  103. a, b, c = b, c, a
  104.  
  105. elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
  106.  
  107. a, b, c = c, a, b
  108.  
  109. else
  110.  
  111. assert(false, "unreachable")
  112.  
  113. end
  114.  
  115.  
  116.  
  117. local len1 = (c-a):Dot((b-a).unit)
  118.  
  119. local len2 = (b-a).magnitude - len1
  120.  
  121. local width = (a + (b-a).unit*len1 - c).magnitude
  122.  
  123.  
  124.  
  125. local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit)
  126.  
  127.  
  128.  
  129. local list = {}
  130.  
  131.  
  132.  
  133. if len1 > 0.01 then
  134.  
  135. local w1 = Instance.new('WedgePart', m)
  136.  
  137. w1.Material = "SmoothPlastic"
  138.  
  139. w1.TopSurface = "SmoothNoOutlines"
  140.  
  141. w1.BottomSurface = "SmoothNoOutlines"
  142.  
  143. w1.RightSurface = "SmoothNoOutlines"
  144.  
  145. w1.LeftSurface = "SmoothNoOutlines"
  146.  
  147. w1.TopSurface,w1.BottomSurface = 0,0
  148.  
  149. w1.FormFactor = 'Custom'
  150.  
  151. w1.BrickColor = part.BrickColor
  152.  
  153. w1.Transparency = part.Transparency
  154.  
  155. w1.Reflectance = part.Reflectance
  156.  
  157. w1.Material = part.Material
  158.  
  159. w1.CanCollide = part.CanCollide
  160.  
  161. local sz = Vector3.new(0.2, width, len1)
  162.  
  163. w1.Size = sz
  164.  
  165. local sp = Instance.new("SpecialMesh",w1)
  166.  
  167. sp.MeshType = "Wedge"
  168.  
  169. sp.Scale = Vector3.new(0,1,1) * sz/w1.Size
  170.  
  171. w1:BreakJoints()
  172.  
  173. w1.Anchored = true
  174.  
  175. w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
  176.  
  177. table.insert(list,w1)
  178.  
  179. end
  180.  
  181.  
  182.  
  183. if len2 > 0.01 then
  184.  
  185. local w2 = Instance.new('WedgePart', m)
  186.  
  187. w2.Material = "SmoothPlastic"
  188.  
  189.  
  190.  
  191. w2.TopSurface = "SmoothNoOutlines"
  192.  
  193. w2.BottomSurface = "SmoothNoOutlines"
  194.  
  195. w2.RightSurface = "SmoothNoOutlines"
  196.  
  197. w2.LeftSurface = "SmoothNoOutlines"
  198.  
  199. w2.TopSurface,w2.BottomSurface = 0,0
  200.  
  201. w2.FormFactor = 'Custom'
  202.  
  203. w2.BrickColor = part.BrickColor
  204.  
  205. w2.Transparency = part.Transparency
  206.  
  207. w2.Reflectance = part.Reflectance
  208.  
  209. w2.Material = part.Material
  210.  
  211. w2.CanCollide = part.CanCollide
  212.  
  213. local sz = Vector3.new(0.2, width, len2)
  214.  
  215. w2.Size = sz
  216.  
  217. local sp = Instance.new("SpecialMesh",w2)
  218.  
  219. sp.MeshType = "Wedge"
  220.  
  221. sp.Scale = Vector3.new(0,1,1) * sz/w2.Size
  222.  
  223. w2:BreakJoints()
  224.  
  225. w2.Anchored = true
  226.  
  227. w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
  228.  
  229. table.insert(list,w2)
  230.  
  231. end
  232.  
  233. return unpack(list)
  234.  
  235. end
  236.  
  237.  
  238.  
  239. function WeldTriangle(p, a, b, c)
  240.  
  241. local edg1 = (c-a):Dot((b-a).unit)
  242.  
  243. local edg2 = (a-b):Dot((c-b).unit)
  244.  
  245. local edg3 = (b-c):Dot((a-c).unit)
  246.  
  247. if edg1 <= (b-a).magnitude and edg1 >= 0 then
  248.  
  249. a, b, c = a, b, c
  250.  
  251. elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
  252.  
  253. a, b, c = b, c, a
  254.  
  255. elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
  256.  
  257. a, b, c = c, a, b
  258.  
  259. else
  260.  
  261. assert(false, "unreachable")
  262.  
  263. end
  264.  
  265.  
  266.  
  267. local len1 = (c-a):Dot((b-a).unit)
  268.  
  269. local len2 = (b-a).magnitude - len1
  270.  
  271. local width = (a + (b-a).unit*len1 - c).magnitude
  272.  
  273.  
  274.  
  275. local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit)
  276.  
  277.  
  278.  
  279. if len1 > 0.01 then
  280.  
  281. local w1 = Instance.new('WedgePart', m)
  282.  
  283. w1.Material = "SmoothPlastic"
  284.  
  285. w1.TopSurface = "SmoothNoOutlines"
  286.  
  287. w1.BottomSurface = "SmoothNoOutlines"
  288.  
  289. w1.RightSurface = "SmoothNoOutlines"
  290.  
  291. w1.LeftSurface = "SmoothNoOutlines"
  292.  
  293. w1.Material = "SmoothPlastic"
  294.  
  295. w1.TopSurface,w1.BottomSurface = 0,0
  296.  
  297. w1.FormFactor = 'Custom'
  298.  
  299. w1.BrickColor = part.BrickColor
  300.  
  301. w1.Transparency = part.Transparency
  302.  
  303. w1.Reflectance = part.Reflectance
  304.  
  305. w1.Material = part.Material
  306.  
  307. w1.CanCollide = part.CanCollide
  308.  
  309. local sz = Vector3.new(0.2, width, len1)
  310.  
  311. w1.Size = sz
  312.  
  313. local sp = Instance.new("SpecialMesh",w1)
  314.  
  315. sp.MeshType = "Wedge"
  316.  
  317. sp.Scale = Vector3.new(0,1,1) * sz/w1.Size
  318.  
  319. w1:BreakJoints()
  320.  
  321. weld(p,w1,maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2))
  322.  
  323. end
  324.  
  325.  
  326.  
  327. if len2 > 0.01 then
  328.  
  329. local w2 = Instance.new('WedgePart', m)
  330.  
  331. w2.Material = "SmoothPlastic"
  332.  
  333. w2.TopSurface = "SmoothNoOutlines"
  334.  
  335. w2.BottomSurface = "SmoothNoOutlines"
  336.  
  337. w2.RightSurface = "SmoothNoOutlines"
  338.  
  339. w2.LeftSurface = "SmoothNoOutlines"
  340.  
  341.  
  342. w2.TopSurface,w2.BottomSurface = 0,0
  343.  
  344. w2.FormFactor = 'Custom'
  345.  
  346. w2.BrickColor = part.BrickColor
  347.  
  348. w2.Transparency = part.Transparency
  349.  
  350. w2.Reflectance = part.Reflectance
  351.  
  352. w2.Material = part.Material
  353.  
  354. w2.CanCollide = part.CanCollide
  355.  
  356. local sz = Vector3.new(0.2, width, len2)
  357.  
  358. w2.Size = sz
  359.  
  360. local sp = Instance.new("SpecialMesh",w2)
  361.  
  362. sp.MeshType = "Wedge"
  363.  
  364. sp.Scale = Vector3.new(0,1,1) * sz/w2.Size
  365.  
  366. w2:BreakJoints()
  367.  
  368. weld(p,w2,maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2))
  369.  
  370. end
  371.  
  372. end
  373.  
  374. end
  375.  
  376.  
  377.  
  378. function newpart()
  379.  
  380. local p = part:Clone()
  381.  
  382. p.Parent = m
  383.  
  384. return p
  385.  
  386. end
  387.  
  388.  
  389.  
  390. local h = newpart()
  391.  
  392. h.Transparency = 1
  393.  
  394. local griphand = CFrame.new(0,-.95,0)
  395.  
  396. local grip = weld(char["Right Arm"],h,CFrame.new(0,-.95,0),CFrame.Angles(math.pi/2,0,math.pi/2))
  397.  
  398.  
  399.  
  400.  
  401.  
  402. part.BrickColor = BrickColor.new("Light reddish violet")
  403.  
  404. for i=0,1,.1 do
  405.  
  406. local s = math.abs(i-.5)*2
  407.  
  408. local x = newpart()
  409.  
  410. x.Size = Vector3.new(.35-.1*s,.2,.2)
  411.  
  412. x.Material = "SmoothPlastic"
  413.  
  414. local sp = Instance.new("SpecialMesh",x)
  415.  
  416. sp.MeshType = "Sphere"
  417.  
  418. sp.Scale = Vector3.new(1,1,.85)
  419.  
  420. weld(h,x,CFrame.new(0,-.5+1*i,0) * CFrame.Angles(0,0,.35))
  421.  
  422. end
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430. local n = 3892026
  431.  
  432. for i in plr.Name:gmatch(".") do
  433.  
  434. n = n + i:byte()
  435.  
  436. end
  437.  
  438. math.randomseed(n) math.random() math.random() math.random()
  439.  
  440.  
  441.  
  442. local themeColor = BrickColor.new("Royal purple")
  443.  
  444. local themeRef = .01
  445.  
  446.  
  447.  
  448. math.randomseed(tick()) math.random() math.random() math.random()
  449.  
  450.  
  451.  
  452. local metalColor = BrickColor.new("Hot pink")
  453.  
  454. local metalRef = .5
  455.  
  456. local bladeColor = BrickColor.new("Hot pink")
  457.  
  458. local bladeRef = .4
  459.  
  460.  
  461.  
  462. part.BrickColor = metalColor
  463.  
  464. part.Reflectance = metalRef
  465.  
  466. local x = newpart()
  467.  
  468. x.Size = Vector3.new(.2,.2,.2)
  469.  
  470. Instance.new("CylinderMesh",x).Scale = Vector3.new(.6,7,.6)
  471.  
  472. weld(h,x,CFrame.new(.035,0,0))
  473.  
  474. local x = newpart()
  475.  
  476. x.Size = Vector3.new(.2,.2,.2)
  477.  
  478. Instance.new("CylinderMesh",x).Scale = Vector3.new(.6,7,.6)
  479.  
  480. weld(h,x,CFrame.new(-.035,0,0))
  481.  
  482. local x = newpart()
  483.  
  484. x.Size = Vector3.new(.2,.2,.2)
  485.  
  486. Instance.new("CylinderMesh",x).Scale = Vector3.new(.6,7,.6)
  487.  
  488. weld(h,x,CFrame.new(0,0,0))
  489.  
  490.  
  491.  
  492. local x = newpart()
  493.  
  494. x.Size = Vector3.new(.34,.2,.34)
  495.  
  496. Instance.new("CylinderMesh",x).Scale = Vector3.new(1,.6,1)
  497.  
  498. weld(h,x,CFrame.new(0,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  499.  
  500.  
  501.  
  502. part.BrickColor = BrickColor.new("Really black")
  503.  
  504. local x = newpart()
  505.  
  506. x.Size = Vector3.new(.28,.2,.28)
  507.  
  508. Instance.new("CylinderMesh",x).Scale = Vector3.new(1,.605,1)
  509.  
  510. weld(h,x,CFrame.new(0,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  511.  
  512.  
  513.  
  514. part.BrickColor = metalColor
  515.  
  516. local x = newpart()
  517.  
  518. x.Size = Vector3.new(.27,.2,.27)
  519.  
  520. Instance.new("CylinderMesh",x).Scale = Vector3.new(1,.61,1)
  521.  
  522. weld(h,x,CFrame.new(0,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  523.  
  524.  
  525.  
  526. part.BrickColor = BrickColor.new("Institutional white")
  527.  
  528. local x = newpart()
  529.  
  530. x.Size = Vector3.new(.2,.2,.2)
  531.  
  532. Instance.new("BlockMesh",x).Scale = Vector3.new(1.2,.615,.2)
  533.  
  534. weld(h,x,CFrame.new(0,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  535.  
  536. local x = newpart()
  537.  
  538. x.Size = Vector3.new(.2,.2,.2)
  539.  
  540. Instance.new("BlockMesh",x).Scale = Vector3.new(.2,.613,1.2)
  541.  
  542. weld(h,x,CFrame.new(0,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  543.  
  544. local x = newpart()
  545.  
  546. x.Size = Vector3.new(.2,.2,.2)
  547.  
  548. Instance.new("BlockMesh",x).Scale = Vector3.new(.1,.612,.72)
  549.  
  550. weld(h,x,CFrame.new(.065,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  551.  
  552. local x = newpart()
  553.  
  554. x.Size = Vector3.new(.2,.2,.2)
  555.  
  556. Instance.new("BlockMesh",x).Scale = Vector3.new(.1,.612,.72)
  557.  
  558. weld(h,x,CFrame.new(-.065,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  559.  
  560. local x = newpart()
  561.  
  562. x.Size = Vector3.new(.2,.2,.2)
  563.  
  564. Instance.new("BlockMesh",x).Scale = Vector3.new(.72,.611,.1)
  565.  
  566. weld(h,x,CFrame.new(0,-.75+.065,0)*CFrame.Angles(math.pi/2,0,0))
  567.  
  568. local x = newpart()
  569.  
  570. x.Size = Vector3.new(.2,.2,.2)
  571.  
  572. Instance.new("BlockMesh",x).Scale = Vector3.new(.72,.611,.1)
  573.  
  574. weld(h,x,CFrame.new(0,-.75-.065,0)*CFrame.Angles(math.pi/2,0,0))
  575.  
  576.  
  577.  
  578.  
  579.  
  580. part.BrickColor = themeColor
  581.  
  582. part.Reflectance = themeRef
  583.  
  584. local x = newpart()
  585.  
  586. x.Size = Vector3.new(.2,.2,.2)
  587.  
  588. Instance.new("BlockMesh",x).Scale = Vector3.new(1.16,.619,.16)
  589.  
  590. weld(h,x,CFrame.new(0,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  591.  
  592. local x = newpart()
  593.  
  594. x.Size = Vector3.new(.2,.2,.2)
  595.  
  596. Instance.new("BlockMesh",x).Scale = Vector3.new(.16,.618,1.16)
  597.  
  598. weld(h,x,CFrame.new(0,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  599.  
  600. local x = newpart()
  601.  
  602. x.Size = Vector3.new(.2,.2,.2)
  603.  
  604. Instance.new("BlockMesh",x).Scale = Vector3.new(.06,.617,.68)
  605.  
  606. weld(h,x,CFrame.new(.065,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  607.  
  608. local x = newpart()
  609.  
  610. x.Size = Vector3.new(.2,.2,.2)
  611.  
  612. Instance.new("BlockMesh",x).Scale = Vector3.new(.06,.617,.68)
  613.  
  614. weld(h,x,CFrame.new(-.065,-.75,0)*CFrame.Angles(math.pi/2,0,0))
  615.  
  616. local x = newpart()
  617.  
  618. x.Size = Vector3.new(.2,.2,.2)
  619.  
  620. Instance.new("BlockMesh",x).Scale = Vector3.new(.68,.616,.06)
  621.  
  622. weld(h,x,CFrame.new(0,-.75+.065,0)*CFrame.Angles(math.pi/2,0,0))
  623.  
  624. local x = newpart()
  625.  
  626. x.Size = Vector3.new(.2,.2,.2)
  627.  
  628. Instance.new("BlockMesh",x).Scale = Vector3.new(.68,.616,.06)
  629.  
  630. weld(h,x,CFrame.new(0,-.75-.065,0)*CFrame.Angles(math.pi/2,0,0))
  631.  
  632. local x = newpart()
  633.  
  634. x.Size = Vector3.new(.345,.2,.345)
  635.  
  636. Instance.new("CylinderMesh",x).Scale = Vector3.new(1,.1,1)
  637.  
  638. weld(h,x,CFrame.new(0,-.75,.049)*CFrame.Angles(math.pi/2,0,0))
  639.  
  640. local x = newpart()
  641.  
  642. x.Size = Vector3.new(.345,.2,.345)
  643.  
  644. Instance.new("CylinderMesh",x).Scale = Vector3.new(1,.1,1)
  645.  
  646. weld(h,x,CFrame.new(0,-.75,-.049)*CFrame.Angles(math.pi/2,0,0))
  647.  
  648.  
  649.  
  650. part.BrickColor = metalColor
  651.  
  652. part.Reflectance = metalRef
  653.  
  654.  
  655.  
  656. local c = CFrame.new(0.035,.52,0)
  657.  
  658. for i=0,1,.2 do
  659.  
  660. local s = 1-math.abs(i-.5)*2
  661.  
  662. local x = newpart()
  663.  
  664. x.Size = Vector3.new(.2,.2,.2)
  665.  
  666. Instance.new("CylinderMesh",x).Scale = Vector3.new(.6,.5,.6)
  667.  
  668. local c2 = c*CFrame.new(-.06,0,0)*CFrame.Angles(0,0,-s*.65)*CFrame.new(.06,.05,0)
  669.  
  670. weld(h,x,c2)
  671.  
  672. c = c2*CFrame.new(0,0.05,0)
  673.  
  674. end
  675.  
  676. local x = newpart()
  677.  
  678. x.Size = Vector3.new(.2,.2,.2)
  679.  
  680. local sp = Instance.new("SpecialMesh",x)
  681.  
  682. sp.MeshType = "Sphere"
  683.  
  684. sp.Scale = Vector3.new(.6,.6,.6)
  685.  
  686. weld(h,x,c)
  687.  
  688.  
  689.  
  690. local c = CFrame.new(-0.035,.52,0)
  691.  
  692. for i=0,1,.2 do
  693.  
  694. local s = 1-math.abs(i-.5)*2
  695.  
  696. local x = newpart()
  697.  
  698. x.Size = Vector3.new(.2,.2,.2)
  699.  
  700. Instance.new("CylinderMesh",x).Scale = Vector3.new(.6,.5,.6)
  701.  
  702. local c2 = c*CFrame.new(.06,0,0)*CFrame.Angles(0,0,s*.65)*CFrame.new(-.06,.05,0)
  703.  
  704. weld(h,x,c2)
  705.  
  706. c = c2*CFrame.new(0,0.05,0)
  707.  
  708. end
  709.  
  710. local x = newpart()
  711.  
  712. x.Size = Vector3.new(.2,.2,.2)
  713.  
  714. local sp = Instance.new("SpecialMesh",x)
  715.  
  716. sp.MeshType = "Sphere"
  717.  
  718. sp.Scale = Vector3.new(.6,.6,.6)
  719.  
  720. weld(h,x,c)
  721.  
  722.  
  723.  
  724. local c = CFrame.new(0,.555,0)
  725.  
  726. for i=0,1,.2 do
  727.  
  728. local s = 1-math.abs(i-.5)*2
  729.  
  730. local x = newpart()
  731.  
  732. x.Size = Vector3.new(.2,.2,.2)
  733.  
  734. Instance.new("CylinderMesh",x).Scale = Vector3.new(.6,.5,.6)
  735.  
  736. local c2 = c*CFrame.new(.06,0,0)*CFrame.Angles(0,0,s*.65)*CFrame.new(-.06,.05,0)
  737.  
  738. weld(h,x,c2)
  739.  
  740. c = c2*CFrame.new(0,0.05,0)
  741.  
  742. end
  743.  
  744. local x = newpart()
  745.  
  746. x.Size = Vector3.new(.2,.2,.2)
  747.  
  748. local sp = Instance.new("SpecialMesh",x)
  749.  
  750. sp.MeshType = "Sphere"
  751.  
  752. sp.Scale = Vector3.new(.6,.6,.6)
  753.  
  754. weld(h,x,c)
  755.  
  756.  
  757.  
  758. local c = CFrame.new(0,.555,0)
  759.  
  760. for i=0,1,.2 do
  761.  
  762. local s = 1-math.abs(i-.5)*2
  763.  
  764. local x = newpart()
  765.  
  766. x.Size = Vector3.new(.2,.2,.2)
  767.  
  768. Instance.new("CylinderMesh",x).Scale = Vector3.new(.6,.5,.6)
  769.  
  770. local c2 = c*CFrame.new(-.06,0,0)*CFrame.Angles(0,0,-s*.65)*CFrame.new(.06,.05,0)
  771.  
  772. weld(h,x,c2)
  773.  
  774. c = c2*CFrame.new(0,0.05,0)
  775.  
  776. end
  777.  
  778. local x = newpart()
  779.  
  780. x.Size = Vector3.new(.2,.2,.2)
  781.  
  782. local sp = Instance.new("SpecialMesh",x)
  783.  
  784. sp.MeshType = "Sphere"
  785.  
  786. sp.Scale = Vector3.new(.6,.6,.6)
  787.  
  788. weld(h,x,c)
  789.  
  790.  
  791.  
  792. local c = CFrame.new(0,1.02825,0) * CFrame.Angles(0,0,math.pi)
  793.  
  794. for i=0,1,.2 do
  795.  
  796. local s = 1-math.abs(i-.5)*2
  797.  
  798. local x = newpart()
  799.  
  800. x.Size = Vector3.new(.2,.2,.2)
  801.  
  802. Instance.new("CylinderMesh",x).Scale = Vector3.new(.6,.5,.6)
  803.  
  804. local c2 = c*CFrame.new(.06,0,0)*CFrame.Angles(0,0,s*.65)*CFrame.new(-.06,.05,0)
  805.  
  806. weld(h,x,c2)
  807.  
  808. c = c2*CFrame.new(0,0.05,0)
  809.  
  810. end
  811.  
  812.  
  813.  
  814. local c = CFrame.new(0,1.02825,0) * CFrame.Angles(0,0,math.pi)
  815.  
  816. for i=0,1,.2 do
  817.  
  818. local s = 1-math.abs(i-.5)*2
  819.  
  820. local x = newpart()
  821.  
  822. x.Size = Vector3.new(.2,.2,.2)
  823.  
  824. Instance.new("CylinderMesh",x).Scale = Vector3.new(.6,.5,.6)
  825.  
  826. local c2 = c*CFrame.new(-.06,0,0)*CFrame.Angles(0,0,-s*.65)*CFrame.new(.06,.05,0)
  827.  
  828. weld(h,x,c2)
  829.  
  830. c = c2*CFrame.new(0,0.05,0)
  831.  
  832. end
  833.  
  834.  
  835.  
  836. local x = newpart()
  837.  
  838. x.Size = Vector3.new(.2,.2,.2)
  839.  
  840. local sp = Instance.new("SpecialMesh",x)
  841.  
  842. sp.MeshType = "Sphere"
  843.  
  844. sp.Scale = Vector3.new(.6,1.5,.6)
  845.  
  846. weld(h,x,CFrame.new(0,1.02825,0))
  847.  
  848.  
  849.  
  850. part.BrickColor = themeColor
  851.  
  852. part.Reflectance = themeRef
  853.  
  854. local x = newpart()
  855.  
  856. x.Size = Vector3.new(.2,.2,.2)
  857.  
  858. Instance.new("BlockMesh",x).Scale = Vector3.new(.6,.6,.5)
  859.  
  860. weld(h,x,CFrame.new(0,.791625,0)*CFrame.Angles(0,0,math.pi/4))
  861.  
  862.  
  863.  
  864. local x = newpart()
  865.  
  866. x.Size = Vector3.new(.2,4,.2)
  867.  
  868. Instance.new("BlockMesh",x).Scale = Vector3.new(.15,1,.225)
  869.  
  870. weld(h,x,CFrame.new(0,2.9,0))
  871.  
  872.  
  873.  
  874. local x = newpart()
  875.  
  876. x.Size = Vector3.new(.2,.2,.2)
  877.  
  878. local sp = Instance.new("SpecialMesh",x)
  879.  
  880. sp.MeshType = "Cylinder"
  881.  
  882. sp.Scale = Vector3.new(.22,.15,.15)
  883.  
  884. weld(h,x,CFrame.new(0,4.9,0)*CFrame.Angles(0,math.pi/2,0))
  885.  
  886.  
  887.  
  888. part.BrickColor = BrickColor.new("Really black")
  889.  
  890.  
  891.  
  892. local x = newpart()
  893.  
  894. x.Size = Vector3.new(.2,4,.2)
  895.  
  896. Instance.new("BlockMesh",x).Scale = Vector3.new(.175,1,.21)
  897.  
  898. weld(h,x,CFrame.new(0,2.9,0))
  899.  
  900.  
  901.  
  902. local x = newpart()
  903.  
  904. x.Size = Vector3.new(.2,.2,.2)
  905.  
  906. local sp = Instance.new("SpecialMesh",x)
  907.  
  908. sp.MeshType = "Cylinder"
  909.  
  910. sp.Scale = Vector3.new(.215,.175,.175)
  911.  
  912. weld(h,x,CFrame.new(0,4.9,0)*CFrame.Angles(0,math.pi/2,0))
  913.  
  914.  
  915.  
  916. part.BrickColor = bladeColor
  917.  
  918. part.Reflectance = bladeRef
  919.  
  920. local x = newpart()
  921.  
  922. x.Size = Vector3.new(.25,4,.2)
  923.  
  924. Instance.new("BlockMesh",x).Scale = Vector3.new(1,1,.2)
  925.  
  926. weld(h,x,CFrame.new(0,2.85,0))
  927.  
  928. local blade = x
  929.  
  930.  
  931.  
  932. local x = newpart()
  933.  
  934. x.Size = Vector3.new(.2,.25,.25)
  935.  
  936. local sp = Instance.new("SpecialMesh",x)
  937.  
  938. sp.MeshType = "Wedge"
  939.  
  940. sp.Scale = Vector3.new(.2,1,.5)
  941.  
  942. weld(h,x,CFrame.new(-.0625,4.975,0) * CFrame.Angles(0,math.pi/2,0))
  943.  
  944.  
  945.  
  946. local x = newpart()
  947.  
  948. x.Size = Vector3.new(.2,.25,.25)
  949.  
  950. local sp = Instance.new("SpecialMesh",x)
  951.  
  952. sp.MeshType = "Wedge"
  953.  
  954. sp.Scale = Vector3.new(.2,1,.5)
  955.  
  956. weld(h,x,CFrame.new(.0625,4.975,0) * CFrame.Angles(0,-math.pi/2,0))
  957.  
  958. part.BrickColor = BrickColor.new("Royal purple")
  959.  
  960. part.Reflectance = .6
  961.  
  962. for i = 1, 50 do
  963. Lite = Instance.new ("Sparkles")
  964.  
  965.  
  966.  
  967. Lite.SparkleColor = Color3.new (25,0,50)
  968.  
  969. Lite.Parent = x
  970.  
  971.  
  972. end
  973.  
  974.  
  975.  
  976.  
  977.  
  978. local x = newpart()
  979.  
  980. x.Size = Vector3.new(4,.2,.2)
  981.  
  982. local sp = Instance.new("SpecialMesh",x)
  983.  
  984. sp.MeshType = "Wedge"
  985.  
  986. sp.Scale = Vector3.new(1,.5,.1)
  987.  
  988. weld(h,x,CFrame.new(.175,2.85,-.01) * CFrame.Angles(0,0,-math.pi/2))
  989.  
  990.  
  991.  
  992. local x = newpart()
  993.  
  994. x.Size = Vector3.new(4,.2,.2)
  995.  
  996. local sp = Instance.new("SpecialMesh",x)
  997.  
  998. sp.MeshType = "Wedge"
  999.  
  1000. sp.Scale = Vector3.new(1,.5,.1)
  1001.  
  1002. weld(h,x,CFrame.new(.175,2.85,.01) * CFrame.Angles(math.pi,0,-math.pi/2))
  1003.  
  1004.  
  1005.  
  1006. local x = newpart()
  1007.  
  1008. x.Size = Vector3.new(4,.2,.2)
  1009.  
  1010. local sp = Instance.new("SpecialMesh",x)
  1011.  
  1012. sp.MeshType = "Wedge"
  1013.  
  1014. sp.Scale = Vector3.new(1,.5,.1)
  1015.  
  1016. weld(h,x,CFrame.new(-.175,2.85,-.01) * CFrame.Angles(math.pi,math.pi,-math.pi/2))
  1017.  
  1018.  
  1019.  
  1020. local x = newpart()
  1021.  
  1022. x.Size = Vector3.new(4,.2,.2)
  1023.  
  1024. local sp = Instance.new("SpecialMesh",x)
  1025.  
  1026. sp.MeshType = "Wedge"
  1027.  
  1028. sp.Scale = Vector3.new(1,.5,.1)
  1029.  
  1030. weld(h,x,CFrame.new(-.175,2.85,.01) * CFrame.Angles(0,math.pi,-math.pi/2))
  1031.  
  1032.  
  1033.  
  1034. local tip = Vector3.new(0,5.4,0)
  1035.  
  1036.  
  1037.  
  1038. WeldTriangle(h,Vector3.new(.125,4.85,-.02),Vector3.new(0,5.1,-.02),Vector3.new(.225,4.85,0))
  1039.  
  1040. WeldTriangle(h,tip,Vector3.new(0,5.1,-.02),Vector3.new(.225,4.85,0))
  1041.  
  1042.  
  1043.  
  1044. WeldTriangle(h,Vector3.new(.125,4.85,.02),Vector3.new(0,5.1,.02),Vector3.new(.225,4.85,0))
  1045.  
  1046. WeldTriangle(h,tip,Vector3.new(0,5.1,.02),Vector3.new(.225,4.85,0))
  1047.  
  1048.  
  1049.  
  1050. WeldTriangle(h,Vector3.new(-.125,4.85,-.02),Vector3.new(0,5.1,-.02),Vector3.new(-.225,4.85,0))
  1051.  
  1052. WeldTriangle(h,tip,Vector3.new(0,5.1,-.02),Vector3.new(-.225,4.85,0))
  1053.  
  1054.  
  1055.  
  1056. WeldTriangle(h,Vector3.new(-.125,4.85,.02),Vector3.new(0,5.1,.02),Vector3.new(-.225,4.85,0))
  1057.  
  1058. WeldTriangle(h,tip,Vector3.new(0,5.1,.02),Vector3.new(-.225,4.85,0))
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064. --CFrame.new(.9,1.9,.54) * CFrame.Angles(-math.pi/2,0,math.pi/2) * CFrame.Angles(.58,.04,-.05) * CFrame.Angles(0,0,math.pi)
  1065.  
  1066.  
  1067.  
  1068. do
  1069.  
  1070. local function QuaternionFromCFrame(cf)
  1071.  
  1072. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1073.  
  1074. local trace = m00 + m11 + m22
  1075.  
  1076. if trace > 0 then
  1077.  
  1078. local s = math.sqrt(1 + trace)
  1079.  
  1080. local recip = 0.5/s
  1081.  
  1082. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  1083.  
  1084. else
  1085.  
  1086. local i = 0
  1087.  
  1088. if m11 > m00 then
  1089.  
  1090. i = 1
  1091.  
  1092. end
  1093.  
  1094. if m22 > (i == 0 and m00 or m11) then
  1095.  
  1096. i = 2
  1097.  
  1098. end
  1099.  
  1100. if i == 0 then
  1101.  
  1102. local s = math.sqrt(m00-m11-m22+1)
  1103.  
  1104. local recip = 0.5/s
  1105.  
  1106. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  1107.  
  1108. elseif i == 1 then
  1109.  
  1110. local s = math.sqrt(m11-m22-m00+1)
  1111.  
  1112. local recip = 0.5/s
  1113.  
  1114. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  1115.  
  1116. elseif i == 2 then
  1117.  
  1118. local s = math.sqrt(m22-m00-m11+1)
  1119.  
  1120. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  1121.  
  1122. end
  1123.  
  1124. end
  1125.  
  1126. end
  1127.  
  1128. local function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1129.  
  1130. local xs, ys, zs = x + x, y + y, z + z
  1131.  
  1132. local wx, wy, wz = w*xs, w*ys, w*zs
  1133.  
  1134. local xx = x*xs
  1135.  
  1136. local xy = x*ys
  1137.  
  1138. local xz = x*zs
  1139.  
  1140. local yy = y*ys
  1141.  
  1142. local yz = y*zs
  1143.  
  1144. local zz = z*zs
  1145.  
  1146. return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
  1147.  
  1148. end
  1149.  
  1150. local function QuaternionSlerp(a, b, t)
  1151.  
  1152. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  1153.  
  1154. local startInterp, finishInterp;
  1155.  
  1156. if cosTheta >= 0.0001 then
  1157.  
  1158. if (1 - cosTheta) > 0.0001 then
  1159.  
  1160. local theta = math.acos(cosTheta)
  1161.  
  1162. local invSinTheta = 1/math.sin(theta)
  1163.  
  1164. startInterp = math.sin((1-t)*theta)*invSinTheta
  1165.  
  1166. finishInterp = math.sin(t*theta)*invSinTheta
  1167.  
  1168. else
  1169.  
  1170. startInterp = 1-t
  1171.  
  1172. finishInterp = t
  1173.  
  1174. end
  1175.  
  1176. else
  1177.  
  1178. if (1+cosTheta) > 0.0001 then
  1179.  
  1180. local theta = math.acos(-cosTheta)
  1181.  
  1182. local invSinTheta = 1/math.sin(theta)
  1183.  
  1184. startInterp = math.sin((t-1)*theta)*invSinTheta
  1185.  
  1186. finishInterp = math.sin(t*theta)*invSinTheta
  1187.  
  1188. else
  1189.  
  1190. startInterp = t-1
  1191.  
  1192. finishInterp = t
  1193.  
  1194. end
  1195.  
  1196. end
  1197.  
  1198. return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
  1199.  
  1200. end
  1201.  
  1202. function clerp(a,b,t)
  1203.  
  1204. local qa = {QuaternionFromCFrame(a)}
  1205.  
  1206. local qb = {QuaternionFromCFrame(b)}
  1207.  
  1208. local ax, ay, az = a.x, a.y, a.z
  1209.  
  1210. local bx, by, bz = b.x, b.y, b.z
  1211.  
  1212. local _t = 1-t
  1213.  
  1214. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  1215.  
  1216. end
  1217.  
  1218. end
  1219.  
  1220.  
  1221.  
  1222. local run = game:GetService("RunService")
  1223.  
  1224. local doing = {}
  1225.  
  1226. function ctween(weld,prop,cfr,time,skipwait,stopafter)
  1227.  
  1228. local function doit()
  1229.  
  1230. local timeused = 0
  1231.  
  1232. local bgn = weld[prop]
  1233.  
  1234. doing[weld] = doing[weld] or {}
  1235.  
  1236. local now = tick()
  1237.  
  1238. doing[weld][prop] = now
  1239.  
  1240. stopafter = math.min(stopafter or time,time)
  1241.  
  1242. repeat
  1243.  
  1244. local i = (tick()-now)/time
  1245.  
  1246. weld[prop] = clerp(bgn,cfr,i)
  1247.  
  1248. until ((tick()-now) >= stopafter or doing[weld][prop] ~= now or not run.Stepped:wait())
  1249.  
  1250. weld[prop] = cfr
  1251.  
  1252. return doing[weld][prop] == now
  1253.  
  1254. end
  1255.  
  1256. if not skipwait then return doit()
  1257.  
  1258. else coroutine.wrap(doit)() end
  1259.  
  1260. end
  1261.  
  1262.  
  1263.  
  1264.  
  1265. function playSound(id,parent,volume,pitch)
  1266. local sound = Instance.new("Sound",parent or workspace)
  1267. sound.SoundId = "http://www.roblox.com/asset?id="..id
  1268. sound.Volume = volume or 1
  1269. sound.Pitch = pitch or 1
  1270. coroutine.wrap(function()
  1271. wait()
  1272. sound:Play()
  1273. wait(10)
  1274. sound:Stop()
  1275. sound:Destroy()
  1276. end)()
  1277. return sound
  1278. end
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284. local mouse = plr:GetMouse()
  1285.  
  1286. local equipped = true
  1287.  
  1288. local enabled = true
  1289.  
  1290. local torso = char:WaitForChild("Torso")
  1291.  
  1292. local ra = char["Right Arm"]
  1293.  
  1294. local la = char["Left Arm"]
  1295.  
  1296.  
  1297.  
  1298. local RS = torso:FindFirstChild("aRS")
  1299.  
  1300. local LS = torso:FindFirstChild("aLS")
  1301.  
  1302. function checkShoulders()
  1303.  
  1304. if not RS or not RS.Parent then
  1305.  
  1306. RS = torso["Right Shoulder"]:Clone()
  1307.  
  1308. RS.Name = "aRS"
  1309.  
  1310. RS.Part0,RS.Part1 = nil,nil
  1311.  
  1312. RS.DesiredAngle,RS.MaxVelocity,RS.CurrentAngle = 0,0,0
  1313.  
  1314. RS.Parent = torso
  1315.  
  1316. end
  1317.  
  1318. if not LS or not LS.Parent then
  1319.  
  1320. LS = torso["Left Shoulder"]:Clone()
  1321.  
  1322. LS.Name = "aLS"
  1323.  
  1324. LS.Part0,LS.Part1 = nil,nil
  1325.  
  1326. LS.DesiredAngle,LS.MaxVelocity,LS.CurrentAngle = 0,0,0
  1327.  
  1328. LS.Parent = torso
  1329.  
  1330. end
  1331.  
  1332. end
  1333.  
  1334. checkShoulders()
  1335.  
  1336. local rs,ls = torso["Right Shoulder"],torso["Left Shoulder"]
  1337.  
  1338. rs.Part0,rs.Part1,ls.Part0,ls.Part1 = nil,nil,nil,nil
  1339.  
  1340. RS.Part0,RS.Part1,LS.Part0,LS.Part1 = torso,ra,torso,la
  1341.  
  1342. RS.C0,RS.C1,LS.C0,LS.C1 = rs.C0,rs.C1,ls.C0,ls.C1
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348. local gripback = CFrame.new(.1,-.65,-.3) * CFrame.Angles(1.1,.2,-.5)
  1349.  
  1350. local ridle = rs.C0 * CFrame.Angles(-.2,.05,.1)
  1351.  
  1352. local lidle = ls.C0 * CFrame.Angles(-.2,-.05,-.1)
  1353.  
  1354.  
  1355.  
  1356. function unEquip()
  1357.  
  1358. if not enabled or not equipped then return end
  1359.  
  1360. enabled = false
  1361.  
  1362. equipped = false
  1363.  
  1364. grip.C0 = griphand
  1365.  
  1366. ctween(RS,"C0",rs.C0*CFrame.Angles(.1,0,3.1)*CFrame.Angles(0,.8,0),.5,true)
  1367.  
  1368. wait(.3)
  1369.  
  1370. ctween(grip,"C0",gripback,.2,true)
  1371.  
  1372. wait(.25)
  1373.  
  1374. ctween(LS,"C0",ls.C0*CFrame.Angles(0,0,.35),.1,true)
  1375.  
  1376. ctween(RS,"C0",rs.C0*CFrame.Angles(.1,0,3.1)*CFrame.Angles(0,1.05,0),.2,true)
  1377.  
  1378. wait(.1)
  1379.  
  1380. ctween(LS,"C0",ls.C0,.3,true)
  1381.  
  1382. grip.C0 = torso.CFrame:toObjectSpace(h.CFrame) * grip.C1
  1383.  
  1384. grip.Part0 = torso
  1385.  
  1386. ctween(grip,"C0",CFrame.new(1.4,1.6,.52) * CFrame.Angles(-math.pi/2,0,math.pi/2) * CFrame.Angles(.7,.07,-.05) * CFrame.Angles(0,0,math.pi),.2,true)
  1387.  
  1388. wait(.1)
  1389.  
  1390. ctween(RS,"C0",rs.C0,.5)
  1391.  
  1392. wait()
  1393.  
  1394.  
  1395. enabled = true
  1396.  
  1397. end
  1398.  
  1399.  
  1400.  
  1401. function equip()
  1402.  
  1403. if not enabled or equipped then return end
  1404.  
  1405. enabled = false
  1406.  
  1407. equipped = true
  1408.  
  1409. checkShoulders()
  1410.  
  1411. rs.Part0,rs.Part1,ls.Part0,ls.Part1 = nil,nil,nil,nil
  1412.  
  1413. RS.Part0,RS.Part1,LS.Part0,LS.Part1 = torso,ra,torso,la
  1414.  
  1415. RS.C0,RS.C1,LS.C0,LS.C1 = rs.C0,rs.C1,ls.C0,ls.C1
  1416.  
  1417. ctween(RS,"C0",rs.C0*CFrame.Angles(.1,0,3.1)*CFrame.Angles(0,1.05,0),.5,true)
  1418.  
  1419. wait(.4)
  1420.  
  1421. ctween(LS,"C0",ls.C0*CFrame.Angles(0,0,.3),.15,true)
  1422.  
  1423. wait(.1)
  1424.  
  1425. grip.C0 = ra.CFrame:toObjectSpace(h.CFrame) * grip.C1
  1426.  
  1427. grip.Part0 = ra
  1428.  
  1429. ctween(grip,"C0",griphand,.4,true)
  1430.  
  1431. wait(.05)
  1432.  
  1433. ctween(LS,"C0",ls.C0,.4,true)
  1434.  
  1435. ctween(RS,"C0",rs.C0*CFrame.Angles(.1,0,3.1)*CFrame.Angles(0,.8,0),.3)
  1436.  
  1437. ctween(RS,"C0",rs.C0,.3)
  1438.  
  1439. wait()
  1440.  
  1441. enabled = true
  1442.  
  1443. end
  1444.  
  1445.  
  1446.  
  1447. local walking = false
  1448.  
  1449. if char:FindFirstChild("Humanoid") then
  1450.  
  1451. char.Humanoid.Running:connect(function(s)
  1452.  
  1453. walking = s > 0
  1454.  
  1455. end)
  1456.  
  1457. end
  1458.  
  1459.  
  1460.  
  1461. local noidle = false
  1462.  
  1463. local bg = torso:FindFirstChild("aBG") or Instance.new("BodyGyro",torso)
  1464.  
  1465. bg.maxTorque = Vector3.new()
  1466.  
  1467. bg.cframe = torso.CFrame
  1468.  
  1469. bg.Name = "aBG"
  1470.  
  1471. bg.D =60
  1472.  
  1473. local bgb = CFrame.new()
  1474.  
  1475. local sline = false
  1476.  
  1477.  
  1478.  
  1479. game:GetService("RunService").Stepped:connect((function()
  1480.  
  1481. if equipped then
  1482.  
  1483. bg.maxTorque = Vector3.new(1,1,1)*4e3
  1484.  
  1485. bg.cframe = clerp(bg.cframe,CFrame.new(torso.Position,torso.Position+workspace.CurrentCamera.CoordinateFrame.lookVector*Vector3.new(1,0,1))*bgb,.6)
  1486.  
  1487. else
  1488.  
  1489. bg.maxTorque = Vector3.new()
  1490.  
  1491. end
  1492.  
  1493. if enabled and not noidle then
  1494.  
  1495. local i1 = math.sin(tick())
  1496.  
  1497. local i2 = math.sin(tick()*10)
  1498.  
  1499. RS.C0 = clerp(RS.C0,ridle * CFrame.Angles(.03*i1+(walking and .08 or 0),.01*i1+(walking and i2*.2 or 0),.01*i1+(walking and i2*.7-.05 or 0)),.2)
  1500.  
  1501. LS.C0 = clerp(LS.C0,lidle * CFrame.Angles(.03*i1+(walking and .08 or 0),-.01*i1+(walking and i2*.2 or 0),-.01*i1+(walking and i2*.9+.2 or 0)),.2)
  1502.  
  1503. end
  1504.  
  1505. if sline then
  1506.  
  1507. local blcf = blade.CFrame*CFrame.new(-.125,.2,0)
  1508.  
  1509. if scfr and (blade.Position-scfr.p).magnitude > .1 then
  1510.  
  1511. part.Transparency = 0.2
  1512.  
  1513. part.BrickColor = BrickColor.new("Royal purple")
  1514.  
  1515. part.Reflectance = .0
  1516.  
  1517. local h = 4.7
  1518.  
  1519. local a,b = Triangle((scfr*CFrame.new(1,h/3,1)).p,(scfr*CFrame.new(1,-h/3,1)).p,(blcf*CFrame.new(1,h/3,1)).p)
  1520.  
  1521. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  1522.  
  1523. local a,b = Triangle((blcf*CFrame.new(1,h/3,0)).p,(blcf*CFrame.new(1,-h/2,0)).p,(scfr*CFrame.new(1,-h/3,1)).p)
  1524.  
  1525. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  1526.  
  1527. scfr = blcf
  1528.  
  1529. elseif not scfr then
  1530.  
  1531. scfr = blcf
  1532.  
  1533. end
  1534.  
  1535. else
  1536.  
  1537. scfr = nil
  1538.  
  1539. end
  1540.  
  1541. end))
  1542.  
  1543.  
  1544.  
  1545. local combo = 0
  1546.  
  1547. local combolast = 0
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553. local pushaway = 0
  1554.  
  1555. local damage = 0
  1556.  
  1557.  
  1558.  
  1559. blade.Touched:connect((function(hit)
  1560.  
  1561. if hit:IsDescendantOf(char) then return end
  1562.  
  1563.  
  1564.  
  1565. for i,v in pairs(hit.Parent:GetChildren()) do
  1566.  
  1567. if v:IsA("Humanoid") then
  1568.  
  1569. v:TakeDamage(damage)
  1570.  
  1571. elseif v.Name == "Torso" and v:IsA("Part") then
  1572.  
  1573. local d = (v.Position-torso.Position).unit * pushaway / 20
  1574.  
  1575. if NLS then
  1576.  
  1577. --NLS(("for i=1,20 do wait(1/30) script.Parent.CFrame = script.Parent.CFrame + Vector3.new(%d,%d,%d) end script:Destroy()"):format(d.X,d.Y,d.Z),v)
  1578.  
  1579. end
  1580.  
  1581. end
  1582.  
  1583. end
  1584.  
  1585.  
  1586.  
  1587. end))
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595. mouse.KeyDown:connect((function(key)
  1596.  
  1597. if not enabled then return end
  1598.  
  1599. if key == "q" then
  1600.  
  1601. (equipped and unEquip or equip)()
  1602.  
  1603. end
  1604.  
  1605. if key == "r" and equipped then
  1606.  
  1607. playSound(154965962,x,1,1)
  1608.  
  1609. enabled = false
  1610.  
  1611. local cf = torso.CFrame
  1612.  
  1613. damage = 40
  1614.  
  1615. pushaway = 20
  1616.  
  1617. for i=1,2 do
  1618.  
  1619. ctween(RS,"C0",rs.C0*CFrame.Angles(.2,0,1.5) * CFrame.Angles(0,1,0),.05,true)
  1620.  
  1621. ctween(torso,"CFrame",cf*CFrame.new(0,0,-1) * CFrame.Angles(0,-2,0),.05)
  1622.  
  1623. ctween(RS,"C0",rs.C0*CFrame.Angles(.2,0,2)* CFrame.Angles(0,1,0),.05,true)
  1624.  
  1625. ctween(torso,"CFrame",cf*CFrame.new(0,0,-2) * CFrame.Angles(0,-3.5,0),.05)
  1626.  
  1627. ctween(RS,"C0",rs.C0*CFrame.Angles(.2,0,2)* CFrame.Angles(0,1,0),.05,true)
  1628.  
  1629. ctween(torso,"CFrame",cf*CFrame.new(0,0,-3) * CFrame.Angles(0,-5.5,0),.05)
  1630.  
  1631. ctween(RS,"C0",rs.C0*CFrame.Angles(.2,0,1.5)* CFrame.Angles(0,1.6,0)*CFrame.Angles(0,0,-1),.05,true)
  1632.  
  1633. sline = true
  1634.  
  1635. ctween(torso,"CFrame",cf*CFrame.new(0,0,-4) * CFrame.Angles(0,-5.8,0),.05)
  1636.  
  1637. ctween(RS,"C0",rs.C0*CFrame.Angles(.2,0,1.2)* CFrame.Angles(0,1.6,0)*CFrame.Angles(0,0,-1.9),.1,true)
  1638.  
  1639. ctween(torso,"CFrame",cf*CFrame.new(0,0,-5) * CFrame.Angles(0,-7.7,0),.1)
  1640.  
  1641. sline = false
  1642.  
  1643. playSound(154965962,x,1,1)
  1644.  
  1645. cf = cf * CFrame.new(0,0,-5)
  1646. end
  1647.  
  1648. wait(.05)
  1649.  
  1650. damage = 0
  1651.  
  1652. pushaway = 0
  1653.  
  1654. sline = false
  1655.  
  1656. enabled = true
  1657.  
  1658.  
  1659.  
  1660. end
  1661.  
  1662.  
  1663.  
  1664.  
  1665. if key == "e" and equipped then
  1666. sline = false
  1667. playSound(154965962,x,1,1)
  1668.  
  1669. enabled = false
  1670.  
  1671. if combo > 0 and tick() > combolast + 1 then
  1672.  
  1673. combo = 0
  1674.  
  1675. end
  1676.  
  1677. local cnow = combo
  1678.  
  1679. combo = combo + 1
  1680.  
  1681. if combo == 3 then
  1682.  
  1683. combo = 0
  1684.  
  1685. end
  1686.  
  1687. damage = 20
  1688.  
  1689. pushaway = 10
  1690.  
  1691. if cnow == 0 then
  1692.  
  1693. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,1.5) * CFrame.Angles(-.2,-.2,0),.1)
  1694.  
  1695. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,3) * CFrame.Angles(-.2,-.2,0),.1)
  1696.  
  1697. bgb = CFrame.Angles(0,.5,0)
  1698.  
  1699. sline = true
  1700.  
  1701. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,.6) * CFrame.Angles(.5,-.3,0),.1)
  1702.  
  1703. wait(.05)
  1704.  
  1705. enabled = true
  1706.  
  1707. combolast = tick()
  1708.  
  1709. noidle = true
  1710.  
  1711. sline = false
  1712.  
  1713. damage,pushaway = 0,0
  1714.  
  1715. local l = ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,.3) * CFrame.Angles(.6,-.5,0),.3)
  1716.  
  1717. if l then
  1718.  
  1719. noidle = false
  1720.  
  1721. bgb = CFrame.Angles(0,0,0)
  1722.  
  1723. end
  1724.  
  1725. elseif cnow == 1 then
  1726.  
  1727. bgb = CFrame.Angles(0,.4,0)
  1728.  
  1729. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,.5) * CFrame.Angles(.7,.7,0),.07)
  1730.  
  1731. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,1.3) * CFrame.Angles(.8,.8,0),.07)
  1732.  
  1733. bgb = CFrame.Angles(0,-.6,0)
  1734.  
  1735. sline = true
  1736.  
  1737. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,1) * CFrame.Angles(-.9,1.5,0)*CFrame.Angles(0,0,-.7),.1)
  1738.  
  1739. wait(.05)
  1740.  
  1741. enabled = true
  1742.  
  1743. combolast = tick()
  1744.  
  1745. noidle = true
  1746.  
  1747. sline = false
  1748.  
  1749. damage,pushaway = 0,0
  1750.  
  1751. local l = ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,.4) * CFrame.Angles(-.5,.8,0),.3)
  1752.  
  1753. if l then
  1754.  
  1755. noidle = false
  1756.  
  1757. bgb = CFrame.Angles(0,0,0)
  1758.  
  1759. end
  1760.  
  1761. elseif cnow == 2 then
  1762.  
  1763. bgb = CFrame.Angles(0,-.1,0)
  1764.  
  1765. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,1.5) * CFrame.Angles(.1,-.1,0),.1)
  1766.  
  1767. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,3) * CFrame.Angles(.1,-.1,0),.1)
  1768.  
  1769. bgb = CFrame.Angles(0,.1,0)
  1770.  
  1771. sline = true
  1772.  
  1773. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,1.3) * CFrame.Angles(.1,.3,0),.05)
  1774.  
  1775. ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,-.2) * CFrame.Angles(.1,.5,0),.05)
  1776.  
  1777. wait(.1)
  1778.  
  1779. enabled = true
  1780.  
  1781. combolast = tick()
  1782.  
  1783. noidle = true
  1784.  
  1785. sline = false
  1786.  
  1787. damage,pushaway = 0,0
  1788.  
  1789. local l = ctween(RS,"C0",rs.C0 * CFrame.Angles(0,0,.3) * CFrame.Angles(-.3,.2,0),.3)
  1790.  
  1791. if l then
  1792.  
  1793. noidle = false
  1794.  
  1795. bgb = CFrame.Angles(0,0,0)
  1796.  
  1797. end
  1798.  
  1799. end
  1800.  
  1801. end
  1802.  
  1803. end))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement