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)
