Advertisement
NextFlamePB

RBLX Zeus Staff Script

Dec 6th, 2015
4,524
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 19.18 KB | None | 0 0
  1. --[[ Zeus Staff umad?                                                                       ]]--
  2. local Players = game:GetService("Players")
  3. local Lighting = game:GetService("Lighting")
  4. local Debris = game:GetService("Debris")
  5. local Player = Players.LocalPlayer
  6. local Mouse = Player:GetMouse()
  7. local Char = Player.Character
  8. local RArm = Char["Right Arm"]
  9. local MainColor = "Yellow"
  10. local Model = Instance.new("Model",Char)
  11. local Activated = false
  12. local LightningEffectOn = false
  13. Model.Name = "MasterBolt"
  14. for i,v in pairs(Char:GetChildren()) do
  15.         if v:IsA("Shirt") or v:IsA("Pants") or v:IsA("CharacterMesh") or v:IsA("BodyColors") then
  16.                 v:Destroy()
  17.         elseif v:IsA("BasePart") then
  18.                 v.BrickColor = BrickColor.new("White")
  19.         end
  20. end
  21. local BG = Instance.new("BodyGyro",Char.Torso)
  22. BG.maxTorque = Vector3.new(0,0,0)
  23. local BG2 = Instance.new("BodyGyro",Char.Head)
  24. BG2.maxTorque = Vector3.new(0,0,0)
  25. local RW = Instance.new("Weld",Char.Torso)
  26. RW.Part0 = Char.Torso
  27. local Bolt = Instance.new("Part",Model)
  28. Bolt.BrickColor = BrickColor.new("Yellow")
  29. Bolt.CanCollide = false
  30. Bolt.FormFactor = "Custom"
  31. Bolt.TopSurface = "Smooth"
  32. Instance.new("CylinderMesh",Bolt)
  33. Bolt.BottomSurface = "Smooth"
  34. Bolt.Size = Vector3.new(0.5,2,0.5)
  35. Bolt:BreakJoints()
  36. local BW = Instance.new("Weld",Bolt)
  37. BW.Part0 = RArm
  38. BW.Part1 = Bolt
  39. BW.C1 = CFrame.new(0.2,0,1) * CFrame.Angles(math.rad(90),0,0)
  40. local Tip = Instance.new("Part",Model)
  41. Tip.BrickColor = BrickColor.new("Really White")
  42. Tip.CanCollide = false
  43. Tip.FormFactor = "Custom"
  44. Tip.TopSurface = "Smooth"
  45. Tip.BottomSurface = "Smooth"
  46. local Mesh = Instance.new("SpecialMesh",Tip)
  47. Mesh.MeshId = "http://www.roblox.com/asset/?id=1033714"
  48. Mesh.Scale = Vector3.new(0.25,0.5,0.25)
  49. Tip.Size = Vector3.new(0.48,0.5,0.48)
  50. Tip:BreakJoints()
  51. local TW = Instance.new("Weld",Tip)
  52. TW.Part0 = Bolt
  53. TW.Part1 = Tip
  54. TW.C1 = CFrame.new(0,-1.175,0)
  55. local Tip2 = Instance.new("Part",Model)
  56. Tip2.BrickColor = BrickColor.new("Really White")
  57. Tip2.CanCollide = false
  58. Tip2.FormFactor = "Custom"
  59. Tip2.TopSurface = "Smooth"
  60. Tip2.BottomSurface = "Smooth"
  61. local Mesh2 = Instance.new("SpecialMesh",Tip2)
  62. Mesh2.MeshId = "http://www.roblox.com/asset/?id=1033714"
  63. Mesh2.Scale = Vector3.new(0.25,0.5,0.25)
  64. Tip2.Size = Vector3.new(0.48,0.5,0.48)
  65. Tip2:BreakJoints()
  66. local TW2 = Instance.new("Weld",Tip2)
  67. TW2.Part0 = Bolt
  68. TW2.Part1 = Tip2
  69. TW2.C1 = CFrame.new(0,-1.175,0) * CFrame.Angles(0,0,math.rad(180))
  70. function ComputePos(pos1, pos2)
  71.         return CFrame.new(pos1, Vector3.new(pos2.x, pos1.y, pos2.z))
  72. end
  73. function LightningEffect(Pos,Color,Size,Time)
  74.         local Mod = Instance.new("Model",Char)
  75.         Mod.Name = "Lightning"
  76.         for i = 1,Size do
  77.                 local LastPos = Pos
  78.                 for i2 = 1,math.random(Size-1,Size+1) do
  79.                         local Targ = LastPos * CFrame.new(math.random(-Size,Size),math.random(-Size,Size),math.random(-Size,Size))
  80.                         local P = Instance.new("Part",Mod)
  81.                         P.BrickColor = Color
  82.                         P.FormFactor = "Custom"
  83.                         Instance.new("CylinderMesh",P)
  84.                         P.Size = Vector3.new(0,(Targ.p-LastPos.p).Magnitude,0)
  85.                         P.CFrame = CFrame.new(LastPos.p, Targ.p) * CFrame.Angles(math.pi/2,0,0) * CFrame.new(0,-(Targ.p-LastPos.p).Magnitude/2,0)
  86.                         P.Anchored = true
  87.                         P.CanCollide = false
  88.                         P.TopSurface = "Smooth"
  89.                         P.BottomSurface = "Smooth"
  90.                         P.Name = "LightningPart"
  91.                         P:BreakJoints()
  92.                         local P2 = Instance.new("Part",Mod)
  93.                         P2.BrickColor = Color
  94.                         P2.FormFactor = "Custom"
  95.                         Instance.new("CylinderMesh",P2)
  96.                         P2.Size = P.Size + Vector3.new(0.1,0.1,0.1)
  97.                         P2.CFrame = P.CFrame
  98.                         P2.Transparency = 0.7
  99.                         P2.Anchored = true
  100.                         P2.CanCollide = false
  101.                         P2.TopSurface = "Smooth"
  102.                         P2.BottomSurface = "Smooth"
  103.                         P2.Name = "LightningPart"
  104.                         P2:BreakJoints()
  105.                         LastPos = Targ
  106.                 end
  107.         end
  108.         Debris:AddItem(Mod,Time or 0.1)
  109. end
  110. function Break(Obj,Base,Dis)
  111.         for i,v in pairs(Obj:GetChildren()) do
  112.                 if v:IsA("BasePart") and (v.Position-Base.Position).Magnitude <= Dis then
  113.                         if v.Name ~= "Base" and v.Parent ~= Char and v.Parent.Parent ~= Char and v ~= Base then
  114.                                 v.BrickColor = BrickColor.new("Black")
  115.                                 v.Anchored = false
  116.                                 v:BreakJoints()
  117.                                 EXP = Instance.new("Explosion",workspace)
  118.                                 EXP.Position = v.Position
  119.                                 EXP.BlastRadius = 1
  120.                         end
  121.                 end
  122.                 Break(v,Base,Dis)
  123.         end
  124. end
  125. function ExplosionEffect(Pos)
  126.         coroutine.resume(coroutine.create(function()
  127.                 local Base = Instance.new("Part",Char)
  128.                 Base.Anchored = true
  129.                 Base.Shape = "Ball"
  130.                 Base.FormFactor = "Custom"
  131.                 Base.Size = Vector3.new(10,10,10)
  132.                 Base.CFrame = Pos
  133.                 Base.Transparency = 0.25
  134.                 Base.BrickColor = BrickColor.new(MainColor)
  135.                 Base.TopSurface = "Smooth"
  136.                 Base.BottomSurface = "Smooth"
  137.                 Base.Name = "Explosion"
  138.                 for i = 1,100,2 do
  139.                         Base.Size = Base.Size + Vector3.new(1,1,1)
  140.                         Base.CFrame = Pos
  141.                         Base.Transparency = i*0.01
  142.                         Break(Workspace,Base,Base.Size.Y/2)
  143.                         wait(0.0001)
  144.                 end
  145.                 Base:Destroy()
  146.         end))
  147. end
  148. function LightningBeam(Pos1,Pos,Color,Size,Time)
  149.         local Mod = Instance.new("Model",Char)
  150.         Mod.Name = "Lightning"
  151.         local LastPos = Pos1
  152.         local End = math.floor((Pos.p-Pos1.p).Magnitude/3)
  153.         local Targ = nil
  154.         for i2 = 1,End do
  155.                 if i2 == End then
  156.                         Targ = Pos
  157.                 else
  158.                         for i = 1,100 do
  159.                                 Targ = LastPos * CFrame.new(math.random(-6,6),math.random(-6,6),math.random(-6,6))
  160.                                 if (Targ.p-Pos.p).Magnitude < (LastPos.p-Pos.p).Magnitude and (math.abs(Targ.Y-Pos.Y) - math.abs(LastPos.Y-Pos.Y)) < math.abs(Pos1.Y-Pos.Y) then
  161.                                         break
  162.                                 end
  163.                         end
  164.                 end
  165.                 local P = Instance.new("Part",Mod)
  166.                 P.BrickColor = Color
  167.                 P.FormFactor = "Custom"
  168.                 Instance.new("CylinderMesh",P)
  169.                 P.Size = Vector3.new(Size,(Targ.p-LastPos.p).Magnitude,Size)
  170.                 P.CFrame = CFrame.new(LastPos.p, Targ.p) * CFrame.Angles(math.pi/2,0,0) * CFrame.new(0,-(Targ.p-LastPos.p).Magnitude/2,0)
  171.                 P.Anchored = true
  172.                 P.CanCollide = false
  173.                 P.TopSurface = "Smooth"
  174.                 P.BottomSurface = "Smooth"
  175.                 P.Name = "Main"
  176.                 P:BreakJoints()
  177.                 local P2 = Instance.new("Part",Mod)
  178.                 P2.BrickColor = Color
  179.                 P2.FormFactor = "Custom"
  180.                 Instance.new("CylinderMesh",P2)
  181.                 P2.Size = P.Size + Vector3.new(Size/4,Size/4,Size/4)
  182.                 P2.CFrame = P.CFrame
  183.                 P2.Transparency = 0.7
  184.                 P2.Anchored = true
  185.                 P2.CanCollide = false
  186.                 P2.TopSurface = "Smooth"
  187.                 P2.BottomSurface = "Smooth"
  188.                 P2.Name = "LightningPart"
  189.                 P2:BreakJoints()
  190.                 LastPos = Targ
  191.         end
  192.         coroutine.resume(coroutine.create(function()
  193.                 for i = 0,1,0.1 do
  194.                         for i2,v in pairs(Mod:GetChildren()) do
  195.                                 if v:IsA("BasePart") then
  196.                                         if v.Name == "Main" then
  197.                                                 v.Transparency = i
  198.                                         else
  199.                                                 v.Transparency = Vector3.new(0,0.7,0):lerp(Vector3.new(0,1,0),i).Y
  200.                                         end
  201.                                 end
  202.                         end
  203.                         wait(i*0.5)
  204.                 end
  205.                 Mod:Destroy()
  206.         end))
  207. end
  208. TweenWeld = function(c,c1,step)
  209.         local c0 = c.C1
  210.         if c0 == c1 then
  211.                 step = 90
  212.         end
  213.         for i = -90,90,step do
  214.                 local r = ((math.sin(math.rad(i))+1)/2)
  215.                 local cf = matrixInterpolate(c0, c1, r)
  216.                 c.C1 = cf
  217.                 wait(0.000001)
  218.         end
  219. end
  220. function lerp(a, b, t)
  221.         return a + (b - a)*t
  222. end
  223. function slerp(a, b, t)
  224.         local dot = a:Dot(b)
  225.         if dot > 0.99999 or dot < -0.99999 then
  226.                 return t <= 0.5 and a or b
  227.         else
  228.                 local r = math.acos(dot)
  229.                 return (a*math.sin((1 - t)*r) + b*math.sin(t*r)) / math.sin(r)
  230.         end
  231. end
  232. function matrixInterpolate(a, b, t)
  233.         local ax, ay, az, a00, a01, a02, a10, a11, a12, a20, a21, a22 = a:components()
  234.         local bx, by, bz, b00, b01, b02, b10, b11, b12, b20, b21, b22 = b:components()
  235.         local v0 = lerp(Vector3.new(ax , ay , az ), Vector3.new(bx , by , bz ), t) -- Position
  236.         local v1 = slerp(Vector3.new(a00, a01, a02), Vector3.new(b00, b01, b02), t) -- Vector right
  237.         local v2 = slerp(Vector3.new(a10, a11, a12), Vector3.new(b10, b11, b12), t) -- Vector up
  238.         local v3 = slerp(Vector3.new(a20, a21, a22), Vector3.new(b20, b21, b22), t) -- Vector back
  239.         return CFrame.new(
  240.                 v0.x, v0.y, v0.z,
  241.                 v1.x, v1.y, v1.z,
  242.                 v2.x, v2.y, v2.z,
  243.                 v3.x, v3.y, v3.z)
  244. end
  245. function KeyDown(Key)
  246.         if Key:lower() == "q" and not DB then
  247.                 DB = true
  248.                 if Activated == false then
  249.                         RW.Part1 = RArm
  250.                         RW.C1 = CFrame.new(-1.5,0,0)
  251.                         TweenWeld(RW,CFrame.new(-1,1.5,0.5) * CFrame.Angles(math.rad(-150),0,math.rad(10)),6)
  252.                         for i = Bolt.Size.Y,5,0.1 do
  253.                                 Bolt.Size = Vector3.new(0.5,i,0.5)
  254.                                 BW.Part0 = RArm
  255.                                 BW.Part1 = Bolt
  256.                                 BW.C1 = CFrame.new(0.1,0,1) * CFrame.Angles(math.rad(90),0,0)
  257.                                 BW.Parent = Bolt
  258.                                 TW.Part0 = Bolt
  259.                                 TW.Part1 = Tip
  260.                                 Mesh.Scale = Mesh.Scale + Vector3.new(0,0.005,0)
  261.                                 TW.C1 = CFrame.new(0,-(i/2+0.175+(Mesh.Scale.Y-0.5)/2.75),0)
  262.                                 TW.Parent = Tip
  263.                                 TW2.Part0 = Bolt
  264.                                 TW2.Part1 = Tip2
  265.                                 Mesh2.Scale = Mesh2.Scale + Vector3.new(0,0.005,0)
  266.                                 TW2.C1 = CFrame.new(0,-(i/2+0.175+(Mesh2.Scale.Y-0.5)/2.75),0) * CFrame.Angles(0,0,math.rad(180))
  267.                                 TW2.Parent = Tip2
  268.                                 wait(0.000001)
  269.                                 BW.Part0 = RArm
  270.                                 BW.Part1 = Bolt
  271.                                 BW.C1 = CFrame.new(0.1,0,1) * CFrame.Angles(math.rad(90),0,0)
  272.                                 BW.Parent = Bolt
  273.                                 TW.Part0 = Bolt
  274.                                 TW.Part1 = Tip
  275.                                 TW.C1 = CFrame.new(0,-(i/2+0.175+(Mesh.Scale.Y-0.5)/2.75),0)
  276.                                 TW.Parent = Tip
  277.                                 TW2.Part0 = Bolt
  278.                                 TW2.Part1 = Tip2
  279.                                 TW2.C1 = CFrame.new(0,-(i/2+0.175+(Mesh2.Scale.Y-0.5)/2.75),0) * CFrame.Angles(0,0,math.rad(180))
  280.                                 TW2.Parent = Tip2
  281.                                 local Color = Vector3.new(BrickColor.new("White").r,BrickColor.new("White").g,BrickColor.new("White").b):lerp(Vector3.new(BrickColor.new(MainColor).r,BrickColor.new(MainColor).g,BrickColor.new(MainColor).b),i/5)
  282.                                 Bolt.Color = Color3.new(Color.X,Color.Y,Color.Z)
  283.                                 Tip.Color = Bolt.Color
  284.                                 Tip2.Color = Bolt.Color
  285.                         end
  286.                         LightningEffectOn = true
  287.                         TweenWeld(RW,CFrame.new(-1.2,0.5,0.5) * CFrame.Angles(math.rad(-40),math.rad(10),0),6)
  288.                         Activated = true
  289.                 else
  290.                         TweenWeld(RW,CFrame.new(-1.5,0,0),6)
  291.                         RW.Part1 = nil
  292.                         LightningEffectOn = false
  293.                         for i = Bolt.Size.Y,2,-0.1 do
  294.                                 Bolt.Size = Vector3.new(0.5,i,0.5)
  295.                                 BW.Part0 = RArm
  296.                                 BW.Part1 = Bolt
  297.                                 BW.C1 = CFrame.new(0.1,0,1) * CFrame.Angles(math.rad(90),0,0)
  298.                                 BW.Parent = Bolt
  299.                                 TW.Part0 = Bolt
  300.                                 TW.Part1 = Tip
  301.                                 Mesh.Scale = Mesh.Scale - Vector3.new(0,0.005,0)
  302.                                 TW.C1 = CFrame.new(0,-(i/2+0.175+(Mesh.Scale.Y-0.5)/2.75),0)
  303.                                 TW.Parent = Tip
  304.                                 TW2.Part0 = Bolt
  305.                                 TW2.Part1 = Tip2
  306.                                 Mesh2.Scale = Mesh2.Scale - Vector3.new(0,0.005,0)
  307.                                 TW2.C1 = CFrame.new(0,-(i/2+0.175+(Mesh2.Scale.Y-0.5)/2.75),0) * CFrame.Angles(0,0,math.rad(180))
  308.                                 TW2.Parent = Tip2
  309.                                 wait(0.000001)
  310.                                 BW.Part0 = RArm
  311.                                 BW.Part1 = Bolt
  312.                                 BW.C1 = CFrame.new(0.1,0,1) * CFrame.Angles(math.rad(90),0,0)
  313.                                 BW.Parent = Bolt
  314.                                 TW.Part0 = Bolt
  315.                                 TW.Part1 = Tip
  316.                                 TW.C1 = CFrame.new(0,-(i/2+0.175+(Mesh.Scale.Y-0.5)/2.75),0)
  317.                                 TW.Parent = Tip
  318.                                 TW2.Part0 = Bolt
  319.                                 TW2.Part1 = Tip2
  320.                                 TW2.C1 = CFrame.new(0,-(i/2+0.175+(Mesh2.Scale.Y-0.5)/2.75),0) * CFrame.Angles(0,0,math.rad(180))
  321.                                 TW2.Parent = Tip2
  322.                                 local Color = Vector3.new(BrickColor.new(MainColor).r,BrickColor.new(MainColor).g,BrickColor.new(MainColor).b):lerp(Vector3.new(BrickColor.new("WHite").r,BrickColor.new("White").g,BrickColor.new("White").b),(2/i))
  323.                                 Bolt.Color = Color3.new(Color.X,Color.Y,Color.Z)
  324.                                 Tip.Color = Bolt.Color
  325.                                 Tip2.Color = Bolt.Color
  326.                         end
  327.                         TW.Part0 = Bolt
  328.                         TW.Part1 = Tip
  329.                         TW.C1 = CFrame.new(0,-1.175,0)
  330.                         TW2.Part0 = Bolt
  331.                         TW2.Part1 = Tip2
  332.                         TW2.C1 = CFrame.new(0,-1.175,0) * CFrame.Angles(0,0,math.rad(180))
  333.                         Activated = false
  334.                 end
  335.                 DB = false
  336.         elseif Key:lower() == "e" and Activated and not DB then
  337.                 DB = true
  338.                 TweenWeld(RW,CFrame.new(-1,1.5,0.25) * CFrame.Angles(math.rad(-170),0,math.rad(10)),10)
  339.                 wait(0.1)
  340.                 TweenWeld(RW,CFrame.new(-1,2,-0.3) * CFrame.Angles(math.rad(-155),0,math.rad(10)),11)
  341.                 if (Mouse.Hit.p-Tip2.CFrame.p).Magnitude > 300 then
  342.                         LightningBeam(Tip2.CFrame,(Mouse.Hit-Mouse.Hit.p) * CFrame.new(0,0,-300),BrickColor.new(MainColor),0.5,0.5)
  343.                         ExplosionEffect((Mouse.Hit-Mouse.Hit.p) * CFrame.new(0,0,-300))
  344.                 else
  345.                         LightningBeam(Tip2.CFrame,Mouse.Hit,BrickColor.new(MainColor),0.5,0.5)
  346.                         ExplosionEffect(Mouse.Hit)
  347.                 end
  348.                 LightningEffectOn = false
  349.                 for i = 0,1,0.15 do
  350.                         local Color = Vector3.new(BrickColor.new(MainColor).r,BrickColor.new(MainColor).g,BrickColor.new(MainColor).b):lerp(Vector3.new(BrickColor.new("White").r,BrickColor.new("White").g,BrickColor.new("White").b),(i/1))
  351.                         Bolt.Color = Color3.new(Color.X,Color.Y,Color.Z)
  352.                         Tip.Color = Bolt.Color
  353.                         Tip2.Color = Bolt.Color
  354.                         wait(0.0001)
  355.                 end
  356.                 TweenWeld(RW,CFrame.new(-1.2,0.5,0.5) * CFrame.Angles(math.rad(-40),math.rad(10),0),10)
  357.                 for i = 0,1,0.15 do
  358.                         local Color = Vector3.new(BrickColor.new("White").r,BrickColor.new("White").g,BrickColor.new("White").b):lerp(Vector3.new(BrickColor.new(MainColor).r,BrickColor.new(MainColor).g,BrickColor.new(MainColor).b),i/1)
  359.                         Bolt.Color = Color3.new(Color.X,Color.Y,Color.Z)
  360.                         Tip.Color = Bolt.Color
  361.                         Tip2.Color = Bolt.Color
  362.                         wait(0.0001)
  363.                 end
  364.                 LightningEffectOn = true
  365.                 DB = false
  366.         end
  367. end
  368. Mouse.KeyDown:connect(KeyDown)
  369. Mouse.Button1Down:connect(Button1Down)
  370. while true do
  371.         if Activated and LightningEffectOn then
  372.                 LightningEffect(Tip2.CFrame,BrickColor.new(MainColor),math.random(0,2),0.12)
  373.                 LightningEffect(Tip.CFrame,BrickColor.new(MainColor),math.random(0,2),0.12)
  374.                 LightningEffect(Bolt.CFrame,BrickColor.new(MainColor),math.random(0,2),0.12)
  375.         end
  376.         if Activated then
  377.                 BG.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  378.                 BG.cframe = ComputePos(Char.Torso.Position,Mouse.Hit.p)
  379.                 BG2.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  380.                 BG2.cframe = ComputePos(Char.Head.Position,Mouse.Hit.p)
  381.         else
  382.                 BG.maxTorque = Vector3.new(0,0,0)
  383.                 BG2.maxTorque = Vector3.new(0,0,0)
  384.         end
  385.         for i,v in pairs(Char:GetChildren()) do
  386.                 if (v:IsA("Shirt") or v:IsA("Pants") or v:IsA("CharacterMesh") or v:IsA("BodyColors")) then
  387.                         v:Destroy()
  388.                 elseif v:IsA("BasePart") and v.Name ~= "Explosion" then
  389.                         v.BrickColor = BrickColor.new("White")
  390.                 end
  391.         end
  392.         wait(math.random(0.05,0.15))
  393. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement