Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local module = {}
- local Players = game:GetService("Players")
- local Player = Players:WaitForChild("fusionfriends")
- speed = .4
- sine = 1
- change = 1
- inair = false
- Action = false
- Player.Chatted:Connect(function(Message)
- if Message:sub(1,6) == "Equip/" then
- local Type = Message:sub(7,#Message)
- if Type == "Staff" then
- repeat wait() until Player.Character
- local Character = Player.Character
- local Client = script.Client:Clone()
- local KeyEvent = Client.KeyEvent
- local Book = script.Wizard.Book:Clone()
- local Staff = script.Wizard.Staff:Clone()
- local BookHandle = Book.BookHandle
- local StaffHandle = Staff.StaffHandle
- local Pendant = Book.Pendant
- local Orb = Staff.Orb
- local Torso = Character.Torso
- local LeftArm = Torso["Left Shoulder"]
- local RightArm = Torso["Right Shoulder"]
- local LeftLeg = Torso["Left Hip"]
- local RightLeg = Torso["Right Hip"]
- local Head = Torso.Neck
- local RootPart = Character.HumanoidRootPart
- local RootJoint = RootPart.RootJoint
- local LeftHand = Character["Left Arm"]
- local RightHand = Character["Right Arm"]
- local BookWeld = Instance.new("Weld",BookHandle)
- local StaffWeld = Instance.new("Weld",StaffHandle)
- local Type = "Fire"
- Client.Parent = Player.PlayerGui
- Client.Disabled = false
- Book.Parent = workspace
- Staff.Parent = workspace
- BookWeld.Part1 = BookHandle
- BookWeld.Part0 = LeftHand
- BookWeld.C0 = CFrame.new(0,-.75,0)*CFrame.Angles(-300,0,-300)
- StaffWeld.Part1 = StaffHandle
- StaffWeld.Part0 = RightHand
- StaffWeld.C0 = CFrame.new(0,-.75,.25)*CFrame.Angles(-300,0,-300)
- Character.Humanoid:ClearAllChildren()
- Character.Animate:Remove()
- function Cycle()
- if Type == "Fire" then
- Type = "Necromancer"
- Pendant.BrickColor = BrickColor.new("Black")
- Orb.BrickColor = BrickColor.new("Black")
- elseif Type == "Necromancer" then
- Type = "Ice"
- Pendant.BrickColor = BrickColor.new("Medium blue")
- Orb.BrickColor = BrickColor.new("Medium blue")
- elseif Type == "Ice" then
- Type = "Wind"
- Pendant.BrickColor = BrickColor.new("White")
- Orb.BrickColor = BrickColor.new("White")
- elseif Type == "Wind" then
- Type = "Ground"
- Pendant.BrickColor = BrickColor.new("Dirt brown")
- Orb.BrickColor = BrickColor.new("Dirt brown")
- elseif Type == "Ground" then
- Type = "Healing"
- Pendant.BrickColor = BrickColor.new("Bright green")
- Orb.BrickColor = BrickColor.new("Bright green")
- elseif Type == "Healing" then
- Type = "Fire"
- Pendant.BrickColor = BrickColor.new("Really red")
- Orb.BrickColor = BrickColor.new("Really red")
- end
- local Woosh = Instance.new("Part",workspace)
- Woosh.Shape = Enum.PartType.Ball
- Woosh.CanCollide = false
- Woosh.Size = Vector3.new(1,1,1)
- Woosh.Material = Enum.Material.SmoothPlastic
- Woosh.CFrame = CFrame.new(Pendant.Position)
- local Woosh2 = Instance.new("Part",workspace)
- Woosh2.Shape = Enum.PartType.Ball
- Woosh2.CanCollide = false
- Woosh2.Size = Vector3.new(1,1,1)
- Woosh2.Material = Enum.Material.SmoothPlastic
- Woosh2.CFrame = CFrame.new(Orb.Position)
- local Weld = Instance.new("Weld",Woosh)
- Weld.Part1 = Woosh
- Weld.Part0 = Pendant
- local Weld2 = Instance.new("Weld",Woosh2)
- Weld2.Part1 = Woosh2
- Weld2.Part0 = Orb
- for i = 1,10 do
- wait()
- Woosh.Size = Vector3.new(Woosh.Size.X+.2,Woosh.Size.Y+.2,Woosh.Size.Z+.2)
- Woosh.Transparency = Woosh.Transparency+.1
- Woosh2.Size = Vector3.new(Woosh2.Size.X+.2,Woosh2.Size.Y+.2,Woosh2.Size.Z+.2)
- Woosh2.Transparency = Woosh2.Transparency+.1
- end
- Woosh:Destroy()
- Woosh2:Destroy()
- end
- spawn(function()
- game:GetService("RunService").Heartbeat:Connect(function()
- sine = sine+change
- local Velocity = RootPart.Velocity.Magnitude
- if Velocity > 0.01 then -- Moving
- if not Action then
- if not inair then
- 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)
- RightArm.C0 = RightArm.C0:Lerp(CFrame.new(1,.5,0)*CFrame.Angles(math.rad((50)),math.rad((90)),(math.rad(50))),speed)
- LeftLeg.C0 = LeftLeg.C0:Lerp(CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
- RightLeg.C0 = RightLeg.C0:Lerp(CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
- RootJoint.C0 = RootJoint.C0:Lerp(CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)),speed)
- Head.C0 = Head.C0:Lerp(CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)),speed)
- end
- end
- elseif Velocity < 0.01 then -- Idle
- if not Action then
- if not inair then
- LeftArm.C0 = LeftArm.C0:lerp(CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
- 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)
- LeftLeg.C0 = LeftLeg.C0:Lerp(CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
- RightLeg.C0 = RightLeg.C0:Lerp(CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
- RootJoint.C0 = RootJoint.C0:Lerp(CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)),speed)
- 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)
- end
- end
- end
- end)
- KeyEvent.OnServerEvent:Connect(function(Player,Input)
- if Input == Enum.KeyCode.R then
- Cycle()
- end
- end)
- end)
- end
- end
- end)
- return module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement