Alright so I wrote this script that make's orbs appear behind the player in a loop and when you click on someone the orbs fly towards them. It pretty much works how I want it with two exceptions that I can't seem to fix. The first is that sometimes after the orbs launch there's an error message in the output that says "rover is not a valid member of Part" and the orbs won't launch anymore after that unless I reset. The second problem is that I keep receiving this error "Humanoid is not a valid member of Workspace". I've tried fixing these errors but I'm at a loss so any help is appreciated. Here's my script :).
Player = game.Players.LocalPlayer local character = Player.Character if not character or not character.Parent then character = Player.CharacterAdded:wait() end wait() Player = game.Players.LocalPlayer.Character Number = Instance.new("NumberValue") Number.Name = "dirc" f2 = 25/4 tim = 1/100000 mouse = game.Players.LocalPlayer:GetMouse() enabled = script.Parent.Switch function go(Part) if not Part:IsDescendantOf(Player) then if Part.Parent.Humanoid == nil then print("not verified") end if Part.Parent.Humanoid then print("verified") wait(tim) Part.Parent.Humanoid.Health = Part.Parent.Humanoid.Health-5 end end end lunch = true function launcher() if not lunch then return end lunch = false print("get em") x = Player:GetChildren() for i= 1, #x do if x[i].Name == "Aura" then wait(0.1) x[i].Anchored = false x[i].Touched:connect(go) local rover = x[i].rover mouse.TargetFilter = game.Workspace.Baseplate x[i].rover.Target = mouse.Target x[i].rover:Fire() x[i].rover.ReachedTarget:connect(function() game.Debris:AddItem(x[i], 0.01) end) end end wait(2) lunch = true end function launch(spect) if spect.dirc.Value == 1 then for i = 2, f2*2 do wait(tim) spect.CFrame = Player.Torso.CFrame*CFrame.new(i/5, 0, i/10) mouse.Button1Down:connect(launcher) end end if spect.dirc.Value == 2 then for i = 2, f2*2 do wait(tim) spect.CFrame = Player.Torso.CFrame*CFrame.new(-i/5, 0, i/10) mouse.Button1Down:connect(launcher) end end if spect.dirc.Value == 3 then for i = 2, f2*2 do wait(tim) spect.CFrame = Player.Torso.CFrame*CFrame.new(0, i/5, i/10) mouse.Button1Down:connect(launcher) end end if spect.dirc.Value == 4 then for i = 2, f2*1.5 do wait(tim) spect.CFrame = Player.Torso.CFrame*CFrame.new(i/5, i/5, i/10) mouse.Button1Down:connect(launcher) end end if spect.dirc.Value == 5 then for i = 2, f2*1.5 do wait(tim) spect.CFrame = Player.Torso.CFrame*CFrame.new(-i/5, i/5, i/10) end end end function activ () enabled = true while enabled do for i = 1, 5 do wait(tim) local spec = Instance.new("Part", Player) local rocket = Instance.new("RocketPropulsion", spec) rocket.Name = "rover" rocket.ThrustP = 80000 spec.Name = "Aura" spec.Anchored = true spec.TopSurface = "Smooth" spec.BottomSurface = "Smooth" spec.BrickColor = BrickColor.new("New Yeller") spec.Shape = "Ball" spec.CanCollide = false spec.Size = Vector3.new(1, 1, 1) spec.CFrame = Player.Torso.CFrame*CFrame.new(0, 0, .5) local Num = Number:Clone() Num.Parent = spec Num.Value = i launch(spec) game.Debris:AddItem(spec, 6) end end end function non() enabled = false print("Off") Player.Humanoid.WalkSpeed = 16 end script.Parent.On.MouseButton1Click:connect(activ) script.Parent.Off.MouseButton1Click:connect(non)