Advertisement
voidman

Untitled

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