staff

Download Raw Clone


  1. local module = {}
  2. local Players = game:GetService("Players")
  3. local Player = Players:WaitForChild("thejake768")
  4. speed = .4
  5. sine = 1
  6. change = 1
  7. inair = false
  8. Action = false
  9. Player.Chatted:Connect(function(Message)
  10. if Message:sub(1,6) == "Equip/" then
  11. local Type = Message:sub(7,#Message)
  12. if Type == "Staff" then
  13. repeat wait() until Player.Character
  14. local Character = Player.Character
  15. local Client = script.Client:Clone()
  16. local KeyEvent = Client.KeyEvent
  17. local Book = script.Wizard.Book:Clone()
  18. local Staff = script.Wizard.Staff:Clone()
  19. local BookHandle = Book.BookHandle
  20. local StaffHandle = Staff.StaffHandle
  21. local Pendant = Book.Pendant
  22. local Orb = Staff.Orb
  23. local Torso = Character.Torso
  24. local LeftArm = Torso["Left Shoulder"]
  25. local RightArm = Torso["Right Shoulder"]
  26. local LeftLeg = Torso["Left Hip"]
  27. local RightLeg = Torso["Right Hip"]
  28. local Head = Torso.Neck
  29. local RootPart = Character.HumanoidRootPart
  30. local RootJoint = RootPart.RootJoint
  31. local LeftHand = Character["Left Arm"]
  32. local RightHand = Character["Right Arm"]
  33. local BookWeld = Instance.new("Weld",BookHandle)
  34. local StaffWeld = Instance.new("Weld",StaffHandle)
  35. local Type = "Fire"
  36. Client.Parent = Player.PlayerGui
  37. Client.Disabled = false
  38. Book.Parent = workspace
  39. Staff.Parent = workspace
  40. BookWeld.Part1 = BookHandle
  41. BookWeld.Part0 = LeftHand
  42. BookWeld.C0 = CFrame.new(0,-.75,0)*CFrame.Angles(-300,0,-300)
  43. StaffWeld.Part1 = StaffHandle
  44. StaffWeld.Part0 = RightHand
  45. StaffWeld.C0 = CFrame.new(0,-.75,.25)*CFrame.Angles(-300,0,-300)
  46. Character.Humanoid:ClearAllChildren()
  47. Character.Animate:Remove()
  48. function Cycle()
  49. if Type == "Fire" then
  50. Type = "Necromancer"
  51. Pendant.BrickColor = BrickColor.new("Black")
  52. Orb.BrickColor = BrickColor.new("Black")
  53. elseif Type == "Necromancer" then
  54. Type = "Ice"
  55. Pendant.BrickColor = BrickColor.new("Medium blue")
  56. Orb.BrickColor = BrickColor.new("Medium blue")
  57. elseif Type == "Ice" then
  58. Type = "Wind"
  59. Pendant.BrickColor = BrickColor.new("White")
  60. Orb.BrickColor = BrickColor.new("White")
  61. elseif Type == "Wind" then
  62. Type = "Ground"
  63. Pendant.BrickColor = BrickColor.new("Dirt brown")
  64. Orb.BrickColor = BrickColor.new("Dirt brown")
  65. elseif Type == "Ground" then
  66. Type = "Healing"
  67. Pendant.BrickColor = BrickColor.new("Bright green")
  68. Orb.BrickColor = BrickColor.new("Bright green")
  69. elseif Type == "Healing" then
  70. Type = "Fire"
  71. Pendant.BrickColor = BrickColor.new("Really red")
  72. Orb.BrickColor = BrickColor.new("Really red")
  73. end
  74. local Woosh = Instance.new("Part",workspace)
  75. Woosh.Shape = Enum.PartType.Ball
  76. Woosh.CanCollide = false
  77. Woosh.Size = Vector3.new(1,1,1)
  78. Woosh.Material = Enum.Material.SmoothPlastic
  79. Woosh.CFrame = CFrame.new(Pendant.Position)
  80. local Woosh2 = Instance.new("Part",workspace)
  81. Woosh2.Shape = Enum.PartType.Ball
  82. Woosh2.CanCollide = false
  83. Woosh2.Size = Vector3.new(1,1,1)
  84. Woosh2.Material = Enum.Material.SmoothPlastic
  85. Woosh2.CFrame = CFrame.new(Orb.Position)
  86. local Weld = Instance.new("Weld",Woosh)
  87. Weld.Part1 = Woosh
  88. Weld.Part0 = Pendant
  89. local Weld2 = Instance.new("Weld",Woosh2)
  90. Weld2.Part1 = Woosh2
  91. Weld2.Part0 = Orb
  92. for i = 1,10 do
  93. wait()
  94. Woosh.Size = Vector3.new(Woosh.Size.X+.2,Woosh.Size.Y+.2,Woosh.Size.Z+.2)
  95. Woosh.Transparency = Woosh.Transparency+.1
  96. Woosh2.Size = Vector3.new(Woosh2.Size.X+.2,Woosh2.Size.Y+.2,Woosh2.Size.Z+.2)
  97. Woosh2.Transparency = Woosh2.Transparency+.1
  98. end
  99. Woosh:Destroy()
  100. Woosh2:Destroy()
  101. end
  102. spawn(function()
  103. game:GetService("RunService").Heartbeat:Connect(function()
  104. sine = sine+change
  105. local Velocity = RootPart.Velocity.Magnitude
  106. if Velocity > 0.01 then -- Moving
  107. if not Action then
  108. if not inair then
  109. LeftArm.C0 = LeftArm.C0:lerp(CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0+10*math.sin(sine/10))),speed)
  110. RightArm.C0 = RightArm.C0:Lerp(CFrame.new(1,.5,0)*CFrame.Angles(math.rad((50)),math.rad((90)),(math.rad(50))),speed)
  111. LeftLeg.C0 = LeftLeg.C0:Lerp(CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
  112. RightLeg.C0 = RightLeg.C0:Lerp(CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
  113. RootJoint.C0 = RootJoint.C0:Lerp(CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)),speed)
  114. Head.C0 = Head.C0:Lerp(CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)),speed)
  115. end
  116. end
  117. elseif Velocity < 0.01 then -- Idle
  118. if not Action then
  119. if not inair then
  120. LeftArm.C0 = LeftArm.C0:lerp(CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
  121. RightArm.C0 = RightArm.C0:Lerp(CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0-5*math.sin(sine/20)),math.rad(90),math.rad(0-5*math.sin(sine/20))),speed)
  122. LeftLeg.C0 = LeftLeg.C0:Lerp(CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
  123. RightLeg.C0 = RightLeg.C0:Lerp(CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
  124. RootJoint.C0 = RootJoint.C0:Lerp(CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)),speed)
  125. Head.C0 = Head.C0:Lerp(CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90+5*math.sin(sine/20)),math.rad(0),math.rad(180)),speed)
  126. end
  127. end
  128. end
  129. end)
  130. KeyEvent.OnServerEvent:Connect(function(Player,Input)
  131. if Input == Enum.KeyCode.R then
  132. Cycle()
  133. end
  134. end)
  135. end)
  136. end
  137. end
  138. end)
  139. return module

Raw paste data: