Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local Player = owner
- repeat wait() until Player.Character
- local Character = Player.Character
- if Character:FindFirstChild("UpperTorso") then
- warn("You must be in R6 in order to use this script")
- end
- for i,v in pairs(Character.Humanoid:GetAccessories()) do
- if v.Handle:FindFirstChild("HairAttachment") then
- v.Handle.Mesh.TextureId = ""
- v.Handle.BrickColor = BrickColor.new("Really black")
- local Particles = Instance.new("ParticleEmitter",v.Handle)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 50
- Particles.Speed = NumberRange.new(0)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0.35),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- Particles.LockedToPart = true
- end
- end
- local Input = NLS([==[
- local Player = game.Players.LocalPlayer
- repeat wait() until Player.Character
- local Character = Player.Character
- local UIS = game:GetService("UserInputService")
- local InputEvent = script.InputEvent
- InShadowWorld = false
- ShadowPositions = {}
- Shadows = {}
- function Snap()
- local Sound = Instance.new("Sound",Character["Right Arm"])
- Sound.SoundId = "rbxassetid://242076158"
- Sound.Volume = 10
- Sound:Play()
- game.Debris:AddItem(Sound,2)
- local RightArmC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- if Character.Torso["Right Shoulder"] ~= nil then
- Character.Torso["Right Shoulder"].C0 = (RightArmC0*CFrame.Angles(0,0,math.rad(50)))
- wait(.1)
- if Character.Torso["Right Shoulder"] ~= nil then
- Character.Torso["Right Shoulder"].C0 = (RightArmC0)
- end
- end
- end
- function CreateShadow(CF)
- local Shadow = Instance.new("Model",workspace)
- Shadow.Name = "ShadowClient"
- local Head = Instance.new("Part",Shadow)
- Shadow.PrimaryPart = Head
- Head.Transparency = 1
- Head.Size = Vector3.new(2,1,1)
- Head.Name = "Head"
- local FakeHead = Instance.new("Part",Shadow)
- FakeHead.Transparency = .5
- FakeHead.Size = Vector3.new(2,1,1)
- FakeHead.BrickColor = BrickColor.new("Really black")
- FakeHead.CanCollide = false
- local FakeHeadWeld = Instance.new("Weld",FakeHead)
- FakeHeadWeld.Part0 = FakeHead
- FakeHeadWeld.Part1 = Head
- local LeftArm = Instance.new("Part",Shadow)
- LeftArm.Size = Vector3.new(1,2,1)
- LeftArm.BrickColor = BrickColor.new("Really black")
- LeftArm.Transparency = 0.5
- LeftArm.Name = "Left Arm"
- local RightArm = LeftArm:Clone()
- RightArm.Name = "Right Arm"
- RightArm.Parent = Shadow
- local LeftLeg = LeftArm:Clone()
- LeftLeg.Name = "Left Leg"
- LeftLeg.Parent = Shadow
- local RightLeg = LeftArm:Clone()
- RightLeg.Name = "Right Leg"
- RightLeg.Parent = Shadow
- local HumanoidRootPart = Instance.new("Part",Shadow)
- HumanoidRootPart.Transparency = 1
- HumanoidRootPart.Size = Vector3.new(2,2,1)
- HumanoidRootPart.Name = "HumanoidRootPart"
- local Torso = HumanoidRootPart:Clone()
- Torso.Transparency = .5
- Torso.BrickColor = BrickColor.new("Really black")
- Torso.Name = "Torso"
- Torso.Parent = Shadow
- local Mesh = Instance.new("SpecialMesh",FakeHead)
- Mesh.Scale = Vector3.new(1.25,1.25,1.25)
- local RJ = Instance.new("Motor6D",HumanoidRootPart)
- RJ.Name = "Root Hip"
- RJ.Part0 = HumanoidRootPart
- RJ.Part1 = Torso
- RJ.C0 = CFrame.new(0,0,0,-1,0,0,0,0,1,0,1,-0)
- RJ.C1 = CFrame.new(0,0,0,-1,0,0,0,0,1,0,1,-0)
- local LH = Instance.new("Motor6D",Torso)
- LH.Name = "Left Hip"
- LH.Part0 = Torso
- LH.Part1 = LeftLeg
- LH.C0 = CFrame.new(-1,-1,0,0,0,-1,0,1,0,1,0,0)
- LH.C1 = CFrame.new(-0.5,1,0,0,0,-1,0,1,0,1,0,0)
- local LS = Instance.new("Motor6D",Torso)
- LS.Name = "Left Shoulder"
- LS.Part0 = Torso
- LS.Part1 = LeftArm
- LS.C0 = CFrame.new(-1,0.5,0,0,0,-1,0,1,0,1,0,0)
- LS.C1 = CFrame.new(0.5,0.5,0,0,0,-1,0,1,0,1,0,0)
- local N = Instance.new("Motor6D",Torso)
- N.Name = "Neck"
- N.Part0 = Torso
- N.Part1 = Head
- N.C0 = CFrame.new(0,1,0,-1,0,0,0,0,1,0,1,-0)
- N.C1 = CFrame.new(0,-0.5,0,-1,0,0,0,0,1,0,1,-0)
- local RH = Instance.new("Motor6D",Torso)
- RH.Name = "Right Hip"
- RH.Part0 = Torso
- RH.Part1 = RightLeg
- RH.C0 = CFrame.new(1,-1,0,0,0,1,0,1,0,-1,0,0)
- RH.C1 = CFrame.new(0.5,1,0,0,0,1,0,1,-0,-1,0,0)
- local RS = Instance.new("Motor6D",Torso)
- RS.Name = "Right Shoulder"
- RS.Part0 = Torso
- RS.Part1 = RightArm
- RS.C0 = CFrame.new(1,0.5,0,0,0,1,0,1,-0,-1,0,0)
- RS.C1 = CFrame.new(-0.5,0.5,0,0,0,1,0,1,-0,-1,0,0)
- local Particles = Instance.new("ParticleEmitter",Torso)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(2,2)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0.35),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- local Humanoid = Instance.new("Humanoid",Shadow)
- Humanoid.WalkSpeed = 25
- Humanoid.Health = 1
- local Sound = Instance.new("Sound",Shadow.HumanoidRootPart)
- Sound.SoundId = "rbxassetid://441243549"
- Sound.Looped = true
- Sound:Play()
- local Animator = Instance.new("Animator",Humanoid)
- local BodyGyro = Instance.new("BodyGyro",HumanoidRootPart)
- local RunAnim = Instance.new("Animation")
- RunAnim.AnimationId = "rbxassetid://180426354"
- local RunAnimTrack = Humanoid:LoadAnimation(RunAnim)
- local IdleAnim = Instance.new("Animation")
- IdleAnim.AnimationId = "rbxassetid://180435571"
- local IdleAnimTrack = Humanoid:LoadAnimation(IdleAnim)
- table.insert(Shadows,Shadow)
- table.insert(ShadowPositions,CF)
- Shadow.HumanoidRootPart.CFrame = CF
- return Shadow
- end
- function Clear()
- Snap()
- for i,v in pairs(Shadows) do
- v:Destroy()
- end
- end
- function RPGShadow()
- local Shadow = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(0,0,-3))
- Snap()
- local FireAnim = Instance.new("Animation")
- FireAnim.AnimationId = "http://www.roblox.com/Asset?ID=94771598"
- local FireAnimTrack = Shadow.Humanoid:LoadAnimation(FireAnim)
- local CrouchAnim = Instance.new("Animation")
- CrouchAnim.AnimationId = "http://www.roblox.com/asset/?id=287325678"
- local CrouchAnimTrack = Shadow.Humanoid:LoadAnimation(CrouchAnim)
- CrouchAnimTrack:Play()
- FireAnimTrack:Play()
- FireAnimTrack:AdjustSpeed(0)
- local Rpg = Instance.new("Part",Shadow)
- Rpg.BrickColor = BrickColor.new("Really black")
- Rpg.Size = Vector3.new(1,1.25,3.5)
- Rpg.CanCollide = false
- Rpg.Transparency = 0.5
- Rpg.Name = "RPG"
- Rpg.Massless = true
- local Mesh = Instance.new("SpecialMesh",Rpg)
- Mesh.MeshId = "http://www.roblox.com/asset/?id=168894022"
- local Weld = Instance.new("Weld",Rpg)
- Weld.Part0 = Shadow["Right Arm"]
- Weld.Part1 = Rpg
- Weld.C0 = CFrame.Angles(math.rad(-90),0,0)*CFrame.new(0,.5,0)
- local Hat = Instance.new("Part",Shadow)
- Hat.BrickColor = BrickColor.new("Really black")
- Hat.Size = Vector3.new(1,1,1)
- Hat.CanCollide = false
- Hat.Transparency = .5
- Hat.Name = "Hat"
- Hat.Massless = true
- end
- UIS.InputBegan:Connect(function(Input,IsTyping)
- if InputEvent == nil then
- script:Destroy()
- end
- if not IsTyping then
- InputEvent:FireServer(Input.KeyCode)
- if Input.UserInputType == Enum.UserInputType.MouseButton1 then
- InputEvent:FireServer(Input.UserInputType)
- end
- if Input.KeyCode == Enum.KeyCode.T and InShadowWorld then
- Clear()
- ShadowPositions = {}
- end
- if Input.KeyCode == Enum.KeyCode.E and InShadowWorld then
- RPGShadow()
- end
- end
- end)
- script.ShadowWorldEvent.OnClientEvent:Connect(function()
- local Lighting = game:GetService("Lighting")
- if not InShadowWorld then
- InShadowWorld = true
- Character.Parent = workspace
- Lighting.ClockTime = 0
- Lighting.FogColor = Color3.fromRGB(0,0,0)
- Lighting.FogEnd = 1000
- coroutine.resume(coroutine.create(function()
- for i = 1,12 do
- wait(.05)
- Lighting.FogEnd = Lighting.FogEnd-50
- end
- end))
- Character.Humanoid.WalkSpeed = 40
- elseif InShadowWorld then
- InShadowWorld = false
- Lighting.ClockTime = 13.403
- coroutine.resume(coroutine.create(function()
- for i = 1,12 do
- wait(.05)
- Lighting.FogEnd = Lighting.FogEnd+50
- end
- Lighting.FogEnd = 10000000
- end))
- Character.Humanoid.WalkSpeed = 16
- script.ShadowWorldEvent:FireServer(ShadowPositions)
- Clear()
- ShadowPositions = {}
- end
- end)
- ]==],Player.PlayerGui)
- local InputEvent = Instance.new("RemoteEvent",Input)
- InputEvent.Name = "InputEvent"
- local ShadowWorldEvent = Instance.new("RemoteEvent",Input)
- ShadowWorldEvent.Name = "ShadowWorldEvent"
- LastNormalShadows = tick()-1
- LastShadowStep = tick()-.25
- LastArcherShadows = tick()-5
- LastRPGShadow = tick()-2
- LastRadioShadow = tick()-1
- LastClear = tick()-1
- LastReap = tick()-1
- LastChangeMode = tick()-2
- LastShield = tick()-3
- LastShadowWorld = tick()-1
- LastShadowSniper = tick()-3
- ScytheEquipped = false
- ShieldEnabled = false
- InShadowWorld = false
- NumberOfSnipers = 0
- local OldHealth
- Hitting = false
- Shadows = {}
- local PhysicsService = game:GetService("PhysicsService")
- pcall(function()
- PhysicsService:CreateCollisionGroup("Shadows")
- PhysicsService:CreateCollisionGroup("Players")
- end)
- PhysicsService:CollisionGroupSetCollidable("Shadows","Shadows",false)
- PhysicsService:CollisionGroupSetCollidable("Players","Shadows",false)
- local ScytheIdleAnim = Instance.new("Animation")
- ScytheIdleAnim.AnimationId = "http://www.roblox.com/Asset?ID=96065457"
- local ScytheIdleAnimTrack = Character.Humanoid:LoadAnimation(ScytheIdleAnim)
- for i,v in pairs(Players:GetPlayers()) do
- coroutine.resume(coroutine.create(function()
- if Player.Character ~= nil then
- for i,v in pairs(Player.Character:GetDescendants()) do
- if v:IsA("BasePart") then
- PhysicsService:SetPartCollisionGroup(v,"Players")
- end
- end
- end
- Player.CharacterAdded:Connect(function(Plr)
- for i,v in pairs(Plr.Character:GetDescendants()) do
- if v:IsA("BasePart") then
- PhysicsService:SetPartCollisionGroup(v,"Players")
- end
- end
- end)
- end))
- end
- Players.PlayerAdded:Connect(function(Plr)
- coroutine.resume(coroutine.create(function()
- Plr.CharacterAdded:Connect(function()
- for i,v in pairs(Plr.Character:GetDescendants()) do
- if v:IsA("BasePart") then
- PhysicsService:SetPartCollisionGroup(v,"Players")
- end
- end
- end)
- end))
- end)
- function CreateShadow(CF,HasRunningAnimation,DoesntHaveIdleAnim)
- local Shadow = Instance.new("Model",workspace)
- Shadow.Name = "Shadow"
- local Head = Instance.new("Part",Shadow)
- Shadow.PrimaryPart = Head
- Head.Transparency = 1
- Head.Size = Vector3.new(2,1,1)
- Head.Name = "Head"
- local FakeHead = Instance.new("Part",Shadow)
- FakeHead.Transparency = .5
- FakeHead.Size = Vector3.new(2,1,1)
- FakeHead.BrickColor = BrickColor.new("Really black")
- FakeHead.CanCollide = false
- local FakeHeadWeld = Instance.new("Weld",FakeHead)
- FakeHeadWeld.Part0 = FakeHead
- FakeHeadWeld.Part1 = Head
- local LeftArm = Instance.new("Part",Shadow)
- LeftArm.Size = Vector3.new(1,2,1)
- LeftArm.BrickColor = BrickColor.new("Really black")
- LeftArm.Transparency = 0.5
- LeftArm.Name = "Left Arm"
- local RightArm = LeftArm:Clone()
- RightArm.Name = "Right Arm"
- RightArm.Parent = Shadow
- local LeftLeg = LeftArm:Clone()
- LeftLeg.Name = "Left Leg"
- LeftLeg.Parent = Shadow
- local RightLeg = LeftArm:Clone()
- RightLeg.Name = "Right Leg"
- RightLeg.Parent = Shadow
- local HumanoidRootPart = Instance.new("Part",Shadow)
- HumanoidRootPart.Transparency = 1
- HumanoidRootPart.Size = Vector3.new(2,2,1)
- HumanoidRootPart.Name = "HumanoidRootPart"
- local Torso = HumanoidRootPart:Clone()
- Torso.Transparency = .5
- Torso.BrickColor = BrickColor.new("Really black")
- Torso.Name = "Torso"
- Torso.Parent = Shadow
- local Mesh = Instance.new("SpecialMesh",FakeHead)
- Mesh.Scale = Vector3.new(1.25,1.25,1.25)
- local RJ = Instance.new("Motor6D",HumanoidRootPart)
- RJ.Name = "Root Hip"
- RJ.Part0 = HumanoidRootPart
- RJ.Part1 = Torso
- RJ.C0 = CFrame.new(0,0,0,-1,0,0,0,0,1,0,1,-0)
- RJ.C1 = CFrame.new(0,0,0,-1,0,0,0,0,1,0,1,-0)
- local LH = Instance.new("Motor6D",Torso)
- LH.Name = "Left Hip"
- LH.Part0 = Torso
- LH.Part1 = LeftLeg
- LH.C0 = CFrame.new(-1,-1,0,0,0,-1,0,1,0,1,0,0)
- LH.C1 = CFrame.new(-0.5,1,0,0,0,-1,0,1,0,1,0,0)
- local LS = Instance.new("Motor6D",Torso)
- LS.Name = "Left Shoulder"
- LS.Part0 = Torso
- LS.Part1 = LeftArm
- LS.C0 = CFrame.new(-1,0.5,0,0,0,-1,0,1,0,1,0,0)
- LS.C1 = CFrame.new(0.5,0.5,0,0,0,-1,0,1,0,1,0,0)
- local N = Instance.new("Motor6D",Torso)
- N.Name = "Neck"
- N.Part0 = Torso
- N.Part1 = Head
- N.C0 = CFrame.new(0,1,0,-1,0,0,0,0,1,0,1,-0)
- N.C1 = CFrame.new(0,-0.5,0,-1,0,0,0,0,1,0,1,-0)
- local RH = Instance.new("Motor6D",Torso)
- RH.Name = "Right Hip"
- RH.Part0 = Torso
- RH.Part1 = RightLeg
- RH.C0 = CFrame.new(1,-1,0,0,0,1,0,1,0,-1,0,0)
- RH.C1 = CFrame.new(0.5,1,0,0,0,1,0,1,-0,-1,0,0)
- local RS = Instance.new("Motor6D",Torso)
- RS.Name = "Right Shoulder"
- RS.Part0 = Torso
- RS.Part1 = RightArm
- RS.C0 = CFrame.new(1,0.5,0,0,0,1,0,1,-0,-1,0,0)
- RS.C1 = CFrame.new(-0.5,0.5,0,0,0,1,0,1,-0,-1,0,0)
- local Particles = Instance.new("ParticleEmitter",Torso)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(2,2)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0.35),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- local Humanoid = Instance.new("Humanoid",Shadow)
- Humanoid.WalkSpeed = 25
- Humanoid.Health = 1
- local Sound = Instance.new("Sound",Shadow.HumanoidRootPart)
- Sound.SoundId = "rbxassetid://441243549"
- Sound.Looped = true
- Sound:Play()
- local Animator = Instance.new("Animator",Humanoid)
- local BodyGyro = Instance.new("BodyGyro",HumanoidRootPart)
- local RunAnim = Instance.new("Animation")
- RunAnim.AnimationId = "rbxassetid://180426354"
- local RunAnimTrack = Humanoid:LoadAnimation(RunAnim)
- local IdleAnim = Instance.new("Animation")
- IdleAnim.AnimationId = "rbxassetid://180435571"
- local IdleAnimTrack = Humanoid:LoadAnimation(IdleAnim)
- for i,v in pairs(Shadow:GetDescendants()) do
- if v:IsA("BasePart") then
- PhysicsService:SetPartCollisionGroup(v,"Shadows")
- end
- end
- Shadow.Humanoid.Died:Connect(function()
- if Shadow:FindFirstChild("HumanoidRootPart") ~= nil then
- Poof(Shadow.HumanoidRootPart.Position)
- end
- Shadow:Destroy()
- end)
- coroutine.resume(coroutine.create(function()
- while true do
- wait(.2)
- if Shadow == nil then break end
- if HumanoidRootPart.Velocity.Magnitude > .5 then
- if not RunAnimTrack.IsPlaying then
- if HasRunningAnimation then
- RunAnimTrack:Play()
- end
- end
- if IdleAnimTrack.IsPlaying then
- IdleAnimTrack:Stop()
- end
- else
- if RunAnimTrack.IsPlaying then
- if HasRunningAnimation then
- RunAnimTrack:Stop()
- end
- end
- if not IdleAnimTrack.IsPlaying then
- if not DoesntHaveIdleAnim then
- IdleAnimTrack:Play()
- end
- end
- end
- end
- end))
- table.insert(Shadows,Shadow)
- Shadow.HumanoidRootPart.CFrame = CF
- return Shadow
- end
- function Morph(Target)
- local HRoot = Target:FindFirstChild("HumanoidRootPart") or Target:FindFirstChild("Torso") or Target:FindFirstChild("UpperTorso")
- local Shadow = CreateShadow(CFrame.new(0,0,0),true)
- Shadow.HumanoidRootPart.CFrame = HRoot.CFrame
- Poof(Shadow.HumanoidRootPart.Position)
- for i,v in pairs(Target:GetChildren()) do
- if v:IsA("Accessory") then
- local Clone = v:Clone()
- Clone.Handle.BrickColor = BrickColor.new("Really black")
- Clone.Handle.Transparency = .5
- Clone.Handle:FindFirstChildWhichIsA("SpecialMesh").TextureId = ""
- Clone.Parent = Shadow
- end
- end
- Target.Parent = game:GetService("ReplicatedStorage")
- NormalShadowConnect(Shadow)
- local Sound = Instance.new("Sound",Shadow.HumanoidRootPart)
- Sound.SoundId = "rbxassetid://462698509"
- Sound.Volume = 4
- Sound:Play()
- end
- function Poof(Position)
- local Part = Instance.new("Part",workspace)
- Part.Position = Position
- Part.CanCollide = false
- Part.Anchored = true
- Part.Transparency = 1
- Part.Size = Vector3.new(1,1,1)
- game.Debris:AddItem(Part,2)
- local Particles = Instance.new("ParticleEmitter",Part)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(7,7)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0.35),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- Particles.Enabled = false
- Particles:Emit(500)
- end
- function Snap()
- local Sound = Instance.new("Sound",Character["Right Arm"])
- Sound.SoundId = "rbxassetid://242076158"
- Sound.Volume = 10
- Sound:Play()
- game.Debris:AddItem(Sound,2)
- local RightArmC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- if Character.Torso["Right Shoulder"] ~= nil then
- Character.Torso["Right Shoulder"].C0 = (RightArmC0*CFrame.Angles(0,0,math.rad(50)))
- wait(.1)
- if Character.Torso["Right Shoulder"] ~= nil then
- Character.Torso["Right Shoulder"].C0 = (RightArmC0)
- end
- end
- end
- function ShadowStep()
- if Character.HumanoidRootPart ~= nil then
- Poof(Character.HumanoidRootPart.Position)
- local Shadow = Character:Clone()
- Character.HumanoidRootPart.CFrame = Character.HumanoidRootPart.CFrame*CFrame.new(0,0,-15)
- Snap()
- Poof(Character.HumanoidRootPart.Position)
- end
- end
- function NormalShadowConnect(Shadow)
- Poof(Shadow.HumanoidRootPart.Position)
- coroutine.resume(coroutine.create(function()
- Shadow.HumanoidRootPart.Touched:Connect(function(Hit)
- if Hit.Parent and Hit.Parent:FindFirstChild("Humanoid") and Hit.Parent.Name ~= Player.Name and Hit.Parent.Name ~= "Shadow" and Hit.Parent.Name ~= "Radio Shadow" and Hit.Parent.Name ~= "Sniper Shadow" and Hit.Parent.Humanoid.Health > 0 then
- Hit.Parent.Humanoid.Health = Hit.Parent.Humanoid.Health-30
- Poof(Shadow.HumanoidRootPart.Position)
- Shadow:Destroy()
- end
- end)
- local function FindTarget(Position)
- local Distance = 100
- local HumanoidRootPart = nil
- for i,v in pairs(workspace:GetChildren()) do
- if v:FindFirstChild("Humanoid") and v.Name ~= Player.Name and v.Name ~= "Shadow" and v.Name ~= "Radio Shadow" and v.Name ~= "Sniper Shadow" and v.Humanoid.Health > 0 then
- local HRoot = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
- if HRoot and (HRoot.Position - Position).magnitude < Distance then
- HumanoidRootPart = HRoot
- Distance = (HumanoidRootPart.Position - Position).magnitude
- end
- end
- end
- return HumanoidRootPart
- end
- while wait(.1) do
- pcall(function()
- local HumanoidRootPart = FindTarget(Shadow.HumanoidRootPart.Position)
- if HumanoidRootPart ~= nil then
- Shadow.Humanoid:MoveTo(HumanoidRootPart.Position)
- end
- end)
- end
- end))
- end
- function NormalShadows()
- local Shadow1 = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(5,.5,-3),true)
- local Shadow2 = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(5,.5,3),true)
- local Shadow3 = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(-5,.5,-3),true)
- local Shadow4 = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(-5,.5,3),true)
- NormalShadowConnect(Shadow1)
- NormalShadowConnect(Shadow2)
- NormalShadowConnect(Shadow3)
- NormalShadowConnect(Shadow4)
- Snap()
- end
- function ArcherShadows()
- local function Connect(Shadow)
- Poof(Shadow.HumanoidRootPart.Position)
- local BowFireAnim = Instance.new("Animation")
- BowFireAnim.AnimationId = "rbxassetid://203929952"
- local BowFireAnimTrack = Shadow.Humanoid:LoadAnimation(BowFireAnim)
- local Bow = Instance.new("Part",Shadow)
- Bow.Size = Vector3.new(0.5,6.75,2.25)
- Bow.Transparency = .5
- Bow.BrickColor = BrickColor.new("Really black")
- Bow.CanCollide = false
- Bow.Name = "Bow"
- Bow.Massless = true
- local Mesh = Instance.new("SpecialMesh",Bow)
- Mesh.MeshId = "rbxassetid://101159905"
- local Weld = Instance.new("Weld",Bow)
- Weld.Part0 = Shadow["Right Arm"]
- Weld.Part1 = Bow
- Weld.C0 = CFrame.new(0,-1,0)*CFrame.Angles(math.rad(-90),0,0)
- local Hat = Instance.new("Part",Shadow)
- Hat.Size = Vector3.new(2,1,2)
- Hat.Transparency = .5
- Hat.BrickColor = BrickColor.new("Really black")
- Hat.CanCollide = false
- Hat.Name = "Hat"
- Hat.Massless = true
- local Mesh2 = Instance.new("SpecialMesh",Hat)
- Mesh2.MeshId = "http://www.roblox.com/asset/?id=11369038"
- local Weld2 = Instance.new("Weld",Hat)
- Weld2.Part0 = Shadow.Head
- Weld2.Part1 = Hat
- Weld2.C0 = CFrame.new(0,.7,0)
- coroutine.resume(coroutine.create(function()
- local function FindTarget(Position)
- local Distance = 50
- local HumanoidRootPart = nil
- for i,v in pairs(workspace:GetChildren()) do
- if v:FindFirstChild("Humanoid") and v.Name ~= Player.Name and v.Name ~= "Shadow" and v.Name ~= "Radio Shadow" and v.Name ~= "Sniper Shadow" and v.Humanoid.Health > 0 then
- local HRoot = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
- if (HRoot.Position - Position).magnitude < Distance then
- HumanoidRootPart = HRoot
- Distance = (HumanoidRootPart.Position - Position).magnitude
- end
- end
- end
- return HumanoidRootPart
- end
- while wait(2) do
- pcall(function()
- local HumanoidRootPart = FindTarget(Shadow.HumanoidRootPart.Position)
- if HumanoidRootPart ~= nil then
- Shadow.HumanoidRootPart.CFrame = CFrame.new(Shadow.HumanoidRootPart.Position,HumanoidRootPart.Position)
- Shadow.HumanoidRootPart.Orientation = Vector3.new(0,Shadow.HumanoidRootPart.Orientation.Y,0)
- BowFireAnimTrack:Play()
- local Sound = Instance.new("Sound",Bow)
- Sound.SoundId = "rbxassetid://16211041"
- Sound.Volume = 3
- Sound:Play()
- game.Debris:AddItem(Sound,2)
- HumanoidRootPart.Parent.Humanoid.Health = HumanoidRootPart.Parent.Humanoid.Health-30
- wait(.1)
- Poof(HumanoidRootPart.Position)
- local ray = Ray.new(Bow.CFrame.p,(HumanoidRootPart.Position-Bow.CFrame.p).Unit*300)
- local Part, Position = workspace:FindPartOnRay(ray,Shadow,false,true)
- local Distance = (Bow.CFrame.p - Position).magnitude
- local Beam = Instance.new("Part",workspace)
- Beam.BrickColor = BrickColor.new("Really black")
- Beam.Anchored = true
- Beam.CanCollide = false
- Beam.Material = Enum.Material.Neon
- Beam.Size = Vector3.new(0.1,0.1,Distance)
- Beam.CFrame = CFrame.new(Bow.CFrame.p,Position)*CFrame.new(0,0,-Distance/2)
- coroutine.resume(coroutine.create(function()
- for i = 1,10 do
- wait()
- Beam.Size = Vector3.new(Beam.Size.X+.1,Beam.Size.Y+.1,Beam.Size.Z)
- Beam.Transparency = Beam.Transparency+.1
- end
- Beam:Destroy()
- end))
- end
- end)
- end
- end))
- coroutine.resume(coroutine.create(function()
- wait(15)
- if Shadow:FindFirstChild("HumanoidRootPart") then
- Poof(Shadow.HumanoidRootPart.Position)
- Shadow:Destroy()
- end
- end))
- end
- local Archer1 = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(5,0,0),false)
- local Archer2 = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(-5,0,0),false)
- Connect(Archer1)
- Connect(Archer2)
- Snap()
- end
- function RPGShadow()
- local Shadow = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(0,0,-3),false)
- Snap()
- Poof(Shadow.HumanoidRootPart.Position)
- local FireAnim = Instance.new("Animation")
- FireAnim.AnimationId = "http://www.roblox.com/Asset?ID=94771598"
- local FireAnimTrack = Shadow.Humanoid:LoadAnimation(FireAnim)
- local CrouchAnim = Instance.new("Animation")
- CrouchAnim.AnimationId = "http://www.roblox.com/asset/?id=287325678"
- local CrouchAnimTrack = Shadow.Humanoid:LoadAnimation(CrouchAnim)
- CrouchAnimTrack:Play()
- FireAnimTrack:Play()
- local Rpg = Instance.new("Part",Shadow)
- Rpg.BrickColor = BrickColor.new("Really black")
- Rpg.Size = Vector3.new(1,1.25,3.5)
- Rpg.CanCollide = false
- Rpg.Transparency = 0.5
- Rpg.Name = "RPG"
- Rpg.Massless = true
- local Mesh = Instance.new("SpecialMesh",Rpg)
- Mesh.MeshId = "http://www.roblox.com/asset/?id=168894022"
- local Weld = Instance.new("Weld",Rpg)
- Weld.Part0 = Shadow["Right Arm"]
- Weld.Part1 = Rpg
- Weld.C0 = CFrame.Angles(math.rad(-90),0,0)*CFrame.new(0,.5,0)
- local Hat = Instance.new("Part",Shadow)
- Hat.BrickColor = BrickColor.new("Really black")
- Hat.Size = Vector3.new(1,1,1)
- Hat.CanCollide = false
- Hat.Transparency = .5
- Hat.Name = "Hat"
- Hat.Massless = true
- local HatMesh = Instance.new("SpecialMesh",Hat)
- HatMesh.MeshId = "http://www.roblox.com/asset/?id=10909664"
- local HatWeld = Instance.new("Weld",Hat)
- HatWeld.Part0 = Shadow.Head
- HatWeld.Part1 = Hat
- HatWeld.C0 = CFrame.new(0,.7,0)
- local Projectile = Instance.new("Part",workspace)
- Projectile.BrickColor = BrickColor.new("Really black")
- Projectile.Transparency = .5
- Projectile.Material = Enum.Material.SmoothPlastic
- Projectile.CanCollide = false
- Projectile.Size = Vector3.new(1,1,1)
- Projectile.CFrame = CFrame.new(Rpg.Position)
- Projectile.Shape = Enum.PartType.Ball
- Projectile.Orientation = Shadow.HumanoidRootPart.Orientation
- game.Debris:AddItem(Projectile,4)
- local Particles = Instance.new("ParticleEmitter",Projectile)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(4,4)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,1),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- local BodyVelocity = Instance.new("BodyVelocity",Projectile)
- BodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- BodyVelocity.Velocity = Vector3.new(Projectile.CFrame.LookVector.X*200,Projectile.CFrame.LookVector.Y*200,Projectile.CFrame.LookVector.Z*200)
- coroutine.resume(coroutine.create(function()
- Projectile.Touched:Connect(function(Hit)
- if Hit.Parent and Hit.Parent.Name ~= Player.Name and Hit.Parent.Name ~= "Shadow" and Hit.Parent.Name ~= "Radio Shadow" and Hit.Parent.Name ~= "Sniper Shadow" then
- local Explosion = Instance.new("Part",workspace)
- Explosion.Position = Projectile.Position
- Projectile:Destroy()
- Explosion.Size = Vector3.new(30,30,30)
- Explosion.CanCollide = false
- Explosion.Anchored = true
- Explosion.BrickColor = BrickColor.new("Really black")
- Explosion.TopSurface = Enum.SurfaceType.Smooth
- Explosion.BottomSurface = Enum.SurfaceType.Smooth
- Explosion.Material = Enum.Material.Neon
- Explosion.Shape = Enum.PartType.Ball
- local Sound = Instance.new("Sound",Explosion)
- Sound.Volume = 3
- Sound.PlaybackSpeed = 2
- Sound.SoundId = "rbxasset://sounds/impact_explosion_03.mp3"
- Sound:Play()
- local Particles = Instance.new("ParticleEmitter",Explosion)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(7,7)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,1),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- Particles.Enabled = false
- Particles:Emit(1000)
- game.Debris:AddItem(Explosion,2)
- local Connection = Explosion.Touched:Connect(function() end)
- for i,v in pairs(Explosion:GetTouchingParts()) do
- if v.Parent and v.Parent:FindFirstChildWhichIsA("Humanoid") and v.Parent.Name ~= Player.Name and v.Parent.Name ~= "Shadow" and v.Parent.Name ~= "Radio Shadow" and v.Parent.Name ~= "Sniper Shadow" then
- v.Parent.Humanoid.Health = 0
- end
- end
- for i = 1,20 do
- wait()
- Explosion.Transparency = Explosion.Transparency+.05
- end
- end
- end)
- end))
- wait(1)
- if Shadow:FindFirstChild("HumanoidRootPart") then
- Poof(Shadow.HumanoidRootPart.Position)
- end
- Shadow:Destroy()
- end
- function RadioShadow()
- local Shadow = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(5,0,0),false,true)
- Snap()
- Poof(Shadow.HumanoidRootPart.Position)
- for i,v in pairs(workspace:GetChildren()) do
- if v.Name == "Radio Shadow" then
- if v:FindFirstChild("HumanoidRootPart") then
- Poof(v.HumanoidRootPart.Position)
- end
- v:Destroy()
- end
- end
- local Themes = {
- 171576484,
- 2934442000,
- 176395830,
- 2387291011
- }
- Shadow.Name = "Radio Shadow"
- local DanceAnim = Instance.new("Animation")
- DanceAnim.AnimationId = "http://www.roblox.com/asset/?id=182491423"
- local DanceAnimTrack = Shadow.Humanoid:LoadAnimation(DanceAnim)
- DanceAnimTrack.Priority = Enum.AnimationPriority.Action
- DanceAnimTrack:Play()
- local Radio = Instance.new("Part",Shadow)
- Radio.Size = Vector3.new(3.2,1.6,1.2)
- Radio.BrickColor = BrickColor.new("Really black")
- Radio.Transparency = .5
- Radio.Massless = true
- Radio.CanCollide = false
- local Mesh = Instance.new("SpecialMesh",Radio)
- Mesh.MeshId = "http://www.roblox.com/asset/?id=212302951"
- Mesh.Scale = Vector3.new(4,4,4)
- local Weld = Instance.new("Weld",Radio)
- Weld.Part1 = Radio
- Weld.Part0 = Shadow["Right Arm"]
- Weld.C0 = CFrame.new(0,0,-1)*CFrame.Angles(math.rad(-90),math.rad(90),0)
- local Hat = Instance.new("Part",Shadow)
- Hat.Transparency = .5
- Hat.CanCollide = false
- Hat.Massless = true
- Hat.BrickColor = BrickColor.new("Really black")
- local HatMesh = Instance.new("SpecialMesh",Hat)
- HatMesh.MeshId = "http://www.roblox.com/asset/?id=72076074"
- local HatWeld = Instance.new("Weld",Hat)
- HatWeld.Part0 = Hat
- HatWeld.Part1 = Shadow.Head
- HatWeld.C0 = CFrame.new(0,-.5,0)
- local Theme = Instance.new("Sound",Radio)
- Theme.Volume = 3
- Theme.Looped = true
- local RNG = math.random(1,#Themes)
- Theme.SoundId = ("rbxassetid://"..Themes[RNG])
- Theme:Play()
- end
- function ChangeMode()
- if not ScytheEquipped then
- ScytheEquipped = true
- ScytheIdleAnimTrack:Play()
- local Scythe = Instance.new("Part",Character)
- Scythe.Size = Vector3.new(4.6,2.2,.5)
- Scythe.CanCollide = false
- Scythe.Massless = true
- Scythe.Transparency = .5
- Scythe.BrickColor = BrickColor.new("Really black")
- Scythe.Name = "Scythe"
- local Particles = Instance.new("ParticleEmitter",Scythe)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(2,2)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0.35),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- local ScytheMesh = Instance.new("SpecialMesh",Scythe)
- ScytheMesh.MeshId = "rbxassetid://95891318"
- ScytheMesh.Scale = Vector3.new(0.8,0.8,0.8)
- local ScytheWeld = Instance.new("Weld",Scythe)
- ScytheWeld.Part0 = Scythe
- ScytheWeld.Part1 = Character:WaitForChild("Right Arm")
- ScytheWeld.C1 = CFrame.new(-0.0920000076, -2.3670001, -4.93400002, 0.0154027306, -0.0231005363, -0.999614418, 0.996830106, -0.0776877329, 0.0171551481, -0.0780540854, -0.996710062, 0.0218307115)
- Snap()
- Poof(Character.HumanoidRootPart.Position)
- coroutine.resume(coroutine.create(function()
- Scythe.Touched:Connect(function(Hit)
- if Hitting and Hit.Parent and Hit.Parent:FindFirstChildWhichIsA("Humanoid") and Hit.Parent.Name ~= "Shadow" and Hit.Parent.Name ~= "Radio Shadow" and Hit.Parent.Name ~= "Sniper Shadow" then
- Morph(Hit.Parent)
- end
- end)
- end))
- elseif ScytheEquipped then
- ScytheEquipped = false
- local Scythe = Character.Scythe
- ScytheIdleAnimTrack:Stop()
- Snap()
- Poof(Character.HumanoidRootPart.Position)
- Scythe:Destroy()
- end
- end
- function Reap()
- local ReapAnim = Instance.new("Animation")
- ReapAnim.AnimationId = "rbxassetid://96071496"
- local ReapAnimTrack = Character.Humanoid:LoadAnimation(ReapAnim)
- ReapAnimTrack:Play()
- ReapAnimTrack:AdjustSpeed(4)
- local Sound = Instance.new("Sound",Character.HumanoidRootPart)
- Sound.SoundId = "rbxassetid://541909867"
- Sound.Volume = 4
- Sound:Play()
- game.Debris:AddItem(Sound,1.5)
- Hitting = true
- wait(.7)
- Hitting = false
- end
- function Shield()
- if not ShieldEnabled then
- ShieldEnabled = true
- local OldHealth = Character.Humanoid.Health
- local Durability = 1000
- Snap()
- Poof(Character.HumanoidRootPart.Position)
- local Orbit = Instance.new("Part",Character)
- Orbit.Size = Vector3.new(1,1,1)
- Orbit.Transparency = 1
- Orbit.CanCollide = false
- Orbit.Name = "Orbit"
- local OrbitWeld = Instance.new("Weld",Orbit)
- OrbitWeld.Part1 = Orbit
- OrbitWeld.Part0 = Character.HumanoidRootPart
- local Shield = Instance.new("Part",Orbit)
- Shield.BrickColor = BrickColor.new("Really black")
- Shield.Transparency = .5
- Shield.Material = Enum.Material.SmoothPlastic
- Shield.CanCollide = false
- Shield.Size = Vector3.new(3,4,1)
- Shield.Name = "Shield"
- local ShieldMesh = Instance.new("SpecialMesh",Shield)
- ShieldMesh.MeshId = "rbxassetid://470050186"
- local Particles = Instance.new("ParticleEmitter",Shield)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(2,2)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0.35),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- local ShieldWeld = Instance.new("Weld",Shield)
- ShieldWeld.Part1 = Shield
- ShieldWeld.Part0 = Orbit
- ShieldWeld.C0 = CFrame.new(3,0,0)*CFrame.Angles(0,math.rad(90),0)
- local Shield2 = Shield:Clone()
- Shield2.Parent = Orbit
- Shield2.Weld.C0 = CFrame.new(-3,0,0)*CFrame.Angles(0,math.rad(-90),0)
- Shield2.Name = "Shield2"
- coroutine.resume(coroutine.create(function()
- local YValue = 0
- while wait(.01) do
- if not ShieldEnabled then return end
- YValue = YValue+5
- OrbitWeld.C0 = CFrame.Angles(0,math.rad(YValue),0)
- end
- end))
- local Humanoid = Character:FindFirstChildWhichIsA("Humanoid")
- Humanoid.HealthChanged:Connect(function(NewHealth)
- if ShieldEnabled == true then
- if NewHealth < OldHealth then
- Humanoid.Health = OldHealth
- Shield.Transparency = 0
- Shield2.Transparency = 0
- Shield.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
- Shield2.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
- Shield.Material = Enum.Material.Neon
- Shield2.Material = Enum.Material.Neon
- Durability = Durability-(OldHealth-NewHealth)
- local Sound = Instance.new("Sound",Orbit)
- Sound.SoundId = "rbxassetid://3041192327"
- Sound.Volume = 3
- Sound:Play()
- game.Debris:AddItem(Sound,1)
- wait(.15)
- if Durability <= 0 then
- ShieldEnabled = false
- if not Character.HumanoidRootPart:FindFirstChild("ShieldShatter") then
- local Sound = Instance.new("Sound",Character.HumanoidRootPart)
- Sound.Name = "ShieldShatter"
- Sound.SoundId = "rbxassetid://2978605361"
- Sound.Volume = 1
- Sound:Play()
- game.Debris:AddItem(Sound,2)
- end
- coroutine.resume(coroutine.create(function()
- for i = 1,20 do
- wait(.01)
- Shield.Mesh.Scale = Vector3.new(Shield.Mesh.Scale.X+.2,Shield.Mesh.Scale.Y+.2,Shield.Mesh.Scale.Z+.2)
- Shield.Transparency = Shield.Transparency+.05
- Shield2.Mesh.Scale = Vector3.new(Shield2.Mesh.Scale.X+.2,Shield2.Mesh.Scale.Y+.2,Shield2.Mesh.Scale.Z+.2)
- Shield2.Transparency = Shield2.Transparency+.05
- end
- Orbit:Destroy()
- end))
- else
- Shield.Transparency = 0.5
- Shield2.Transparency = 0.5
- Shield.Mesh.Scale = Vector3.new(1,1,1)
- Shield2.Mesh.Scale = Vector3.new(1,1,1)
- Shield.Material = Enum.Material.SmoothPlastic
- Shield2.Material = Enum.Material.SmoothPlastic
- end
- elseif NewHealth > OldHealth then
- OldHealth = Character.Humanoid.Health
- end
- end
- end)
- elseif ShieldEnabled then
- ShieldEnabled = false
- Snap()
- Poof(Character.HumanoidRootPart.Position)
- coroutine.resume(coroutine.create(function()
- for i = 1,20 do
- wait(.01)
- Character.Orbit.Shield.Mesh.Scale = Vector3.new(Character.Orbit.Shield.Mesh.Scale.X+.2,Character.Orbit.Shield.Mesh.Scale.Y+.2,Character.Orbit.Shield.Mesh.Scale.Z+.2)
- Character.Orbit.Shield.Transparency = Character.Orbit.Shield.Transparency+.05
- Character.Orbit.Shield2.Mesh.Scale = Vector3.new(Character.Orbit.Shield2.Mesh.Scale.X+.2,Character.Orbit.Shield2.Mesh.Scale.Y+.2,Character.Orbit.Shield2.Mesh.Scale.Z+.2)
- Character.Orbit.Shield2.Transparency = Character.Orbit.Shield2.Transparency+.05
- end
- Character.Orbit:Destroy()
- end))
- end
- end
- function ShadowWorld()
- if not InShadowWorld then
- InShadowWorld = true
- Snap()
- local Effect = Instance.new("Part",workspace)
- Effect.CanCollide = false
- Effect.Anchored = true
- Effect.Size = Vector3.new(1,1,1)
- Effect.CFrame = Character.HumanoidRootPart.CFrame
- Effect.BrickColor = BrickColor.new("Really black")
- Poof(Effect.Position)
- local Mesh = Instance.new("SpecialMesh",Effect)
- Mesh.MeshId = "rbxassetid://2727038386"
- local Sound = Instance.new("Sound",Effect)
- Sound.Volume = 3
- Sound.SoundId = "rbxassetid://4255432837"
- Sound:Play()
- coroutine.resume(coroutine.create(function()
- for i = 1,20 do
- wait(.01)
- Effect.Transparency = Effect.Transparency+.05
- end
- Effect:Destroy()
- end))
- Character.Parent = game:GetService("ReplicatedStorage")
- ShadowWorldEvent:FireClient(Player)
- for i,v in pairs(Character.Humanoid:GetAccessories()) do
- local Clone = v:Clone()
- v:Destroy()
- Clone.Parent = Character
- end
- elseif InShadowWorld then
- InShadowWorld = false
- Character.Parent = workspace
- Snap()
- Poof(Character.HumanoidRootPart.Position)
- ShadowWorldEvent:FireClient(Player)
- for i,v in pairs(Character.Humanoid:GetAccessories()) do
- local Clone = v:Clone()
- v:Destroy()
- Clone.Parent = Character
- end
- end
- end
- ShadowWorldEvent.OnServerEvent:Connect(function(Player,Shadows)
- for i,v in pairs(Shadows) do
- local Shadow = CreateShadow(v,false)
- local FireAnim = Instance.new("Animation")
- FireAnim.AnimationId = "http://www.roblox.com/Asset?ID=94771598"
- local FireAnimTrack = Shadow.Humanoid:LoadAnimation(FireAnim)
- local CrouchAnim = Instance.new("Animation")
- CrouchAnim.AnimationId = "http://www.roblox.com/asset/?id=287325678"
- local CrouchAnimTrack = Shadow.Humanoid:LoadAnimation(CrouchAnim)
- CrouchAnimTrack:Play()
- FireAnimTrack:Play()
- local Rpg = Instance.new("Part",Shadow)
- Rpg.BrickColor = BrickColor.new("Really black")
- Rpg.Size = Vector3.new(1,1.25,3.5)
- Rpg.CanCollide = false
- Rpg.Transparency = 0.5
- Rpg.Name = "RPG"
- Rpg.Massless = true
- local Mesh = Instance.new("SpecialMesh",Rpg)
- Mesh.MeshId = "http://www.roblox.com/asset/?id=168894022"
- local Weld = Instance.new("Weld",Rpg)
- Weld.Part0 = Shadow["Right Arm"]
- Weld.Part1 = Rpg
- Weld.C0 = CFrame.Angles(math.rad(-90),0,0)*CFrame.new(0,.5,0)
- local Hat = Instance.new("Part",Shadow)
- Hat.BrickColor = BrickColor.new("Really black")
- Hat.Size = Vector3.new(1,1,1)
- Hat.CanCollide = false
- Hat.Transparency = .5
- Hat.Name = "Hat"
- Hat.Massless = true
- local HatMesh = Instance.new("SpecialMesh",Hat)
- HatMesh.MeshId = "http://www.roblox.com/asset/?id=10909664"
- local HatWeld = Instance.new("Weld",Hat)
- HatWeld.Part0 = Shadow.Head
- HatWeld.Part1 = Hat
- HatWeld.C0 = CFrame.new(0,.7,0)
- local Projectile = Instance.new("Part",workspace)
- Projectile.BrickColor = BrickColor.new("Really black")
- Projectile.Transparency = .5
- Projectile.Material = Enum.Material.SmoothPlastic
- Projectile.CanCollide = false
- Projectile.Size = Vector3.new(1,1,1)
- Projectile.CFrame = CFrame.new(Rpg.Position)
- Projectile.Shape = Enum.PartType.Ball
- Projectile.Orientation = Shadow.HumanoidRootPart.Orientation
- Projectile.Name = "Projectile"
- game.Debris:AddItem(Projectile,4)
- local Particles = Instance.new("ParticleEmitter",Projectile)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(4,4)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,1),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- local BodyVelocity = Instance.new("BodyVelocity",Projectile)
- BodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- BodyVelocity.Velocity = Vector3.new(Projectile.CFrame.LookVector.X*200,Projectile.CFrame.LookVector.Y*200,Projectile.CFrame.LookVector.Z*200)
- coroutine.resume(coroutine.create(function()
- Projectile.Touched:Connect(function(Hit)
- if Hit.Parent and Hit.Parent.Name ~= Player.Name and Hit.Parent.Name ~= "Shadow" and Hit.Parent.Name ~= "Projectile" and Hit.Parent.Name ~= "Radio Shadow" and Hit.Parent.Name ~= "Sniper Shadow" then
- local Explosion = Instance.new("Part",workspace)
- Explosion.Position = Projectile.Position
- Projectile:Destroy()
- Explosion.Size = Vector3.new(30,30,30)
- Explosion.CanCollide = false
- Explosion.Anchored = true
- Explosion.BrickColor = BrickColor.new("Really black")
- Explosion.TopSurface = Enum.SurfaceType.Smooth
- Explosion.BottomSurface = Enum.SurfaceType.Smooth
- Explosion.Material = Enum.Material.Neon
- Explosion.Shape = Enum.PartType.Ball
- local Sound = Instance.new("Sound",Explosion)
- Sound.Volume = 3
- Sound.PlaybackSpeed = 2
- Sound.SoundId = "rbxasset://sounds/impact_explosion_03.mp3"
- Sound:Play()
- local Particles = Instance.new("ParticleEmitter",Explosion)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(7,7)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,1),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- Particles.Enabled = false
- Particles:Emit(1000)
- game.Debris:AddItem(Explosion,2)
- local Connection = Explosion.Touched:Connect(function() end)
- for i,v in pairs(Explosion:GetTouchingParts()) do
- if v.Parent and v.Parent:FindFirstChildWhichIsA("Humanoid") and v.Parent.Name ~= Player.Name and v.Parent.Name ~= "Shadow" and v.Parent.Name ~= "Radio Shadow" and v.Parent.Name ~= "Sniper Shadow" then
- v.Parent.Humanoid.Health = 0
- end
- end
- for i = 1,20 do
- wait()
- Explosion.Transparency = Explosion.Transparency+.05
- end
- end
- end)
- wait(1)
- if Shadow:FindFirstChild("HumanoidRootPart") then
- Poof(Shadow.HumanoidRootPart.Position)
- end
- Shadow:Destroy()
- end))
- end
- end)
- function ShadowSniper()
- if NumberOfSnipers >= 3 then
- for i,v in pairs(workspace:GetChildren()) do
- if v.Name == "Sniper Shadow" then
- if v:FindFirstChild("HumanoidRootPart") then
- Poof(v.HumanoidRootPart.Position)
- end
- v:Destroy()
- break
- end
- end
- end
- NumberOfSnipers = NumberOfSnipers+1
- Snap()
- local Shadow = CreateShadow(Character.HumanoidRootPart.CFrame*CFrame.new(0,15,0),false,true)
- Shadow.Name = "Sniper Shadow"
- local sine = 1
- coroutine.resume(coroutine.create(function()
- while true do
- wait()
- sine = sine+1
- if Shadow.HumanoidRootPart == nil then break end
- Shadow.HumanoidRootPart["Root Hip"].C0 = Shadow.HumanoidRootPart["Root Hip"].C0:lerp(Shadow.HumanoidRootPart["Root Hip"].C1*CFrame.new(0,0,1*math.sin(sine/10)),.5)
- end
- end))
- local Hat = Instance.new("Part",Shadow)
- Hat.Size = Vector3.new(1.15,0.9,1.12)
- Hat.Transparency = .5
- Hat.CanCollide = false
- Hat.BrickColor = BrickColor.new("Really black")
- local HatMesh = Instance.new("SpecialMesh",Hat)
- HatMesh.MeshId = "http://www.roblox.com/asset/?id=190202362"
- local HatWeld = Instance.new("Weld",Hat)
- HatWeld.Part1 = Hat
- HatWeld.Part0 = Shadow.Head
- HatWeld.C0 = CFrame.new(0,.25,0)
- local Sniper = Instance.new("Part",Shadow)
- Sniper.Size = Vector3.new(0.51,1.18,4.35)
- Sniper.CanCollide = false
- Sniper.BrickColor = BrickColor.new("Really black")
- Sniper.Transparency = .5
- local SniperMesh = Instance.new("SpecialMesh",Sniper)
- SniperMesh.MeshId = "http://www.roblox.com/asset/?id=113239717"
- local SniperWeld = Instance.new("Weld",Sniper)
- SniperWeld.Part1 = Shadow["Right Arm"]
- SniperWeld.Part0 = Sniper
- SniperWeld.C0 = CFrame.new(0.5,-0.25,1.5)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-25))
- local IdleAnim = Instance.new("Animation")
- IdleAnim.AnimationId = "http://www.roblox.com/Asset?ID=94242777"
- local IdleAnimTrack = Shadow.Humanoid:LoadAnimation(IdleAnim)
- IdleAnimTrack:Play()
- Shadow.HumanoidRootPart.Anchored = true
- local JetPack = Instance.new("Part",Shadow)
- JetPack.Size = Vector3.new(5,3,1)
- JetPack.CanCollide = false
- JetPack.Transparency = .5
- JetPack.BrickColor = BrickColor.new("Really black")
- local JetPackMesh = Instance.new("SpecialMesh",JetPack)
- JetPackMesh.MeshId = "http://www.roblox.com/asset/?id=30643517"
- local JetPackWeld = Instance.new("Weld",JetPack)
- JetPackWeld.Part1 = JetPack
- JetPackWeld.Part0 = Shadow.Torso
- JetPackWeld.C0 = CFrame.new(0,.25,.75)
- local FlameParticle = Instance.new("ParticleEmitter",JetPack)
- local FlameParticleKeypointsSize = {
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(0.8,2),
- NumberSequenceKeypoint.new(1,0)
- }
- local FlameParticleKeypointsTransparency = {
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- }
- FlameParticle.Size = NumberSequence.new(FlameParticleKeypointsSize)
- FlameParticle.Transparency = NumberSequence.new(FlameParticleKeypointsTransparency)
- FlameParticle.Color = ColorSequence.new(Color3.fromRGB(0,0,0))
- FlameParticle.LightInfluence = 0
- FlameParticle.LightEmission = 0.5
- FlameParticle.Texture = "rbxassetid://2070896802"
- FlameParticle.RotSpeed = NumberRange.new(1000)
- FlameParticle.EmissionDirection = Enum.NormalId.Right
- FlameParticle.Speed = NumberRange.new(40)
- FlameParticle.Lifetime = NumberRange.new(0.25)
- FlameParticle.Rate = 100
- FlameParticle.EmissionDirection = Enum.NormalId.Bottom
- local Thrusting = Instance.new("Sound",JetPack)
- Thrusting.SoundId = "http://www.roblox.com/asset/?id=30624426"
- Thrusting.Looped = true
- Thrusting.Volume = 3
- Thrusting:Play()
- local function FindTarget(Position)
- local Distance = 50
- local HumanoidRootPart = nil
- for i,v in pairs(workspace:GetChildren()) do
- if v:FindFirstChild("Humanoid") and v.Name ~= Player.Name and v.Name ~= "Shadow" and v.Name ~= "Radio Shadow" and v.Name ~= "Sniper Shadow" and v.Humanoid.Health > 0 then
- local HRoot = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
- if HRoot and (HRoot.Position - Position).magnitude < Distance then
- HumanoidRootPart = HRoot
- Distance = (HumanoidRootPart.Position - Position).magnitude
- end
- end
- end
- return HumanoidRootPart
- end
- coroutine.resume(coroutine.create(function()
- while wait(4) do
- if Shadow == nil then return end
- pcall(function()
- if Character.HumanoidRootPart ~= nil then
- local HumanoidRootPart = FindTarget(Character.HumanoidRootPart.Position)
- if HumanoidRootPart ~= nil then
- local Bang = Instance.new("Sound",Shadow.HumanoidRootPart)
- Bang.SoundId = "rbxassetid://628756229"
- Bang.Volume = 5
- Bang:Play()
- game.Debris:AddItem(Bang,1.5)
- local Reload = Instance.new("Sound",Shadow.HumanoidRootPart)
- Reload.SoundId = "rbxassetid://94153793"
- Reload.Volume = 5
- Reload:Play()
- game.Debris:AddItem(Reload,3.5)
- Shadow.HumanoidRootPart.CFrame = CFrame.new(Shadow.HumanoidRootPart.Position,HumanoidRootPart.Position)
- Shadow.HumanoidRootPart.Orientation = Vector3.new(0,Shadow.HumanoidRootPart.Orientation.Y,0)
- local ray = Ray.new(Sniper.CFrame.p,(HumanoidRootPart.Position-Sniper.CFrame.p).Unit*300)
- local Part, Position = workspace:FindPartOnRayWithWhitelist(ray,{HumanoidRootPart})
- local Distance = (Sniper.CFrame.p - Position).magnitude
- local Beam = Instance.new("Part",workspace)
- Beam.BrickColor = BrickColor.new("Really black")
- Beam.Anchored = true
- Beam.CanCollide = false
- Beam.Material = Enum.Material.Neon
- Beam.Size = Vector3.new(0.2,0.2,Distance)
- Beam.CFrame = CFrame.new(Sniper.CFrame.p,Position)*CFrame.new(0,0,-Distance/2)
- Poof(Shadow.Torso.Position)
- HumanoidRootPart.Parent:FindFirstChildWhichIsA("Humanoid").Health = 0
- coroutine.resume(coroutine.create(function()
- for i = 1,20 do
- wait()
- Beam.Size = Vector3.new(Beam.Size.X+.1,Beam.Size.Y+.1,Beam.Size.Z)
- Beam.Transparency = Beam.Transparency+.05
- end
- Beam:Destroy()
- end))
- end
- end
- end)
- end
- end))
- end
- function ShadowCola()
- Snap()
- local Tool = Instance.new("Tool",Player.Backpack)
- Tool.Grip = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Tool.Name = "Shadow Cola"
- local Handle = Instance.new("Part",Tool)
- Handle.Name = "Handle"
- Handle.CanCollide = false
- Handle.Massless = true
- Handle.Transparency = .5
- Handle.BrickColor = BrickColor.new("Really black")
- Handle.Size = Vector3.new(.5,.5,.5)
- local Particles = Instance.new("ParticleEmitter",Handle)
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 50
- Particles.Speed = NumberRange.new(0)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0.35),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- Particles.LockedToPart = true
- local HandleMesh = Instance.new("SpecialMesh",Handle)
- HandleMesh.Scale = Vector3.new(1.2,1.2,1.2)
- HandleMesh.MeshId = "http://www.roblox.com/asset/?id=10470609"
- Tool.Activated:Connect(function()
- Tool.Grip = CFrame.new(1.4900651, -0.734895349, -0.102048039, 1, 0, 0, 0, 0.707106709, 0.707106888, 0, -0.707106888, 0.707106709)
- local DrinkSound = Instance.new("Sound",Handle)
- DrinkSound.SoundId = "http://www.roblox.com/asset/?id=10722059"
- DrinkSound.Volume = 2
- DrinkSound:Play()
- local Target = Tool.Parent
- wait(2)
- if Target then
- local RandomValue = math.random(1,2)
- if RandomValue == 1 then
- Tool:Destroy()
- Morph(Target)
- elseif RandomValue == 2 then
- coroutine.resume(coroutine.create(function()
- Poof(Target.HumanoidRootPart.Position)
- local Humanoid = Target:FindFirstChildWhichIsA("Humanoid")
- Humanoid.WalkSpeed = Humanoid.WalkSpeed+15
- Humanoid.MaxHealth = 200
- Humanoid.Health = 200
- local Particles = Instance.new("ParticleEmitter",Target.HumanoidRootPart)
- Particles.Name = "Effects"
- Particles.Color = ColorSequence.new(Color3.new(0,0,0))
- Particles.Lifetime = NumberRange.new(1.5,1.5)
- Particles.Rate = 1000
- Particles.Speed = NumberRange.new(4,4)
- Particles.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0,1),
- NumberSequenceKeypoint.new(1,0)
- })
- Particles.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0,0),
- NumberSequenceKeypoint.new(1,1)
- })
- Particles.EmissionDirection = Enum.NormalId.Back
- Particles.SpreadAngle = Vector2.new(5000000,5e+06)
- Tool:Destroy()
- wait(15)
- Humanoid.WalkSpeed = 16
- Humanoid.MaxHealth = 100
- Humanoid.Health = 100
- if Humanoid and Humanoid.Parent.HumanoidRootPart:FindFirstChild("Effects") then
- Humanoid.Parent.HumanoidRootPart.Effects:Destroy()
- end
- end))
- end
- end
- end)
- Tool.Equipped:Connect(function()
- local EquipSound = Instance.new("Sound",Handle)
- EquipSound.SoundId = "http://www.roblox.com/asset/?id=10721950"
- EquipSound.Volume = 2
- EquipSound:Play()
- game.Debris:AddItem(EquipSound,2)
- end)
- Tool.Unequipped:Connect(function()
- for i,v in pairs(Handle:GetChildren()) do
- if v:IsA("Sound") then
- v:Destroy()
- end
- end
- end)
- end
- function Clear()
- Snap()
- for i,v in pairs(Shadows) do
- if v:FindFirstChild("HumanoidRootPart") then
- Poof(v.HumanoidRootPart.Position)
- end
- v:Destroy()
- end
- end
- InputEvent.OnServerEvent:Connect(function(Player,Key)
- if Key == Enum.KeyCode.R and not InShadowWorld then
- local CanNormalShadows = math.abs(tick()-LastNormalShadows)
- if CanNormalShadows > 1 then
- LastNormalShadows = tick()
- NormalShadows()
- end
- elseif Key == Enum.KeyCode.Q and not InShadowWorld then
- local CanShadowStep = math.abs(tick()-LastShadowStep)
- if CanShadowStep > .25 then
- LastShadowStep = tick()
- ShadowStep()
- end
- elseif Key == Enum.KeyCode.F and not InShadowWorld then
- local CanArcherShadows = math.abs(tick()-LastArcherShadows)
- if CanArcherShadows > 4 and not InShadowWorld then
- LastArcherShadows = tick()
- ArcherShadows()
- end
- elseif Key == Enum.KeyCode.E and not InShadowWorld then
- local CanRPGShadow = math.abs(tick()-LastRPGShadow)
- if CanRPGShadow > 2 and not InShadowWorld then
- LastRPGShadow = tick()
- RPGShadow()
- end
- elseif Key == Enum.KeyCode.C and not InShadowWorld then
- local CanRadioShadow = math.abs(tick()-LastRadioShadow)
- if CanRadioShadow > 1 and not InShadowWorld then
- LastRadioShadow = tick()
- RadioShadow()
- end
- elseif Key == Enum.KeyCode.T and not InShadowWorld then
- local CanClear = math.abs(tick()-LastClear)
- if CanClear > 1 then
- LastClear = tick()
- Clear()
- end
- elseif Key == Enum.KeyCode.G and not InShadowWorld then
- local CanChangeMode = math.abs(tick()-LastChangeMode)
- if CanChangeMode > 2 then
- LastChangeMode = tick()
- ChangeMode()
- end
- elseif Key == Enum.KeyCode.V and not InShadowWorld then
- local CanShield = math.abs(tick()-LastShield)
- if CanShield > 3 then
- LastShield = tick()
- Shield()
- end
- elseif Key == Enum.KeyCode.X then
- local CanShadowWorld = math.abs(tick()-LastShadowWorld)
- if CanShadowWorld > 1 then
- LastShadowWorld = tick()
- ShadowWorld()
- end
- elseif Key == Enum.KeyCode.Z then
- local CanShadowHammer = math.abs(tick()-LastShadowSniper)
- if CanShadowHammer > 3 then
- LastShadowSniper = tick()
- ShadowSniper()
- end
- elseif Key == Enum.KeyCode.Y then
- ShadowCola()
- elseif Key == Enum.UserInputType.MouseButton1 then
- if ScytheEquipped then
- local CanReap = math.abs(tick()-LastReap)
- if CanReap > 1 then
- LastReap = tick()
- Reap()
- end
- end
- end
- end)
- print("Shadow Magician by fusionfriends succesfully loaded")
- print("E = RPG Shadow")
- print("R = Normal Shadows")
- print("F = Archer Shadows")
- print("Q = Shadow Step")
- print("X = Enter Shadow world, while in shadow world you can place RPG shadows with E and clear with T")
- print("T = Clear all shadows")
- print("V = Shadow Shield")
- print("G = Shadow Scythe, click to swing")
- print("C = Radio Shadow")
- print("Z = Shadow Sniper")
- print("Y = Shadow Food")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement