Advertisement
mathmasterphil

Saber

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