So what this script does is, create the part, increase it's size then launch it, that happens, and damage any humanoids it touches, but it does not damage humanoids i made some dummy npc's and they take no damage ;-;(local script btw)
function onKeyDown(key)
local Key = key:lower()
if key == "f" then
-- local animationTrack = Humanoid:LoadAnimation(MagicAnim) -- This is here because i have not made an anim for this yet, but i doubt that matters ;-;
-- animationTrack:Play()
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 0
sound:Play()
local Ball = Instance.new('Part')
Ball.Shape = 'Ball'
Ball.Size = Vector3.new(2,2,2)
Ball.Material = 'Neon'
Ball.BrickColor = BrickColor.new('Really red')
Ball.Name = 'FireBallOf'..Player.Name
Ball.Parent = game.Workspace
Ball.CFrame = game.Players.LocalPlayer.Character.Torso.CFrame * CFrame.new(0,0,-2)
Ball.CanCollide = false
Ball.Anchored = true
local start = Ball.Size
local finish = Ball.Size * Vector3.new(5,5,5)
local FireParticle = Instance.new('ParticleEmitter',Ball)
FireParticle.Texture = 'http://www.roblox.com/asset/?id=300899516'
local Part = Ball -- this is the Part we will move
local newPos = (game.Players.LocalPlayer.Character.Torso.CFrame * CFrame.new(0,0,-550)).p -- the position the Part will go to
local Time = 2 -- the time that the script will take to move the part
local Increment = 5 -- the Part will move 0.5 studs each time it moves
local balldebounce = false
local Diff = newPos - Part.Position -- the difference between the two positions
local Mag = Diff.magnitude -- the distance between the two parts
local Direction = CFrame.new(Part.Position, newPos).lookVector
for progress = 0, 1, 0.03 do
Ball.Size = start:lerp(finish, progress)
wait()
end
Ball.Touched:connect(function(part)
if Part.Parent ~= nil then--Keep Parentless blocks from breaking it.
if balldebounce == false and Part.Parent:findFirstChild("Humanoid") ~= nil then
balldebounce = true
Part.Parent:findFirstChild("Humanoid"):TakeDamage(40)
wait(1)--Wait two seconds before the brick can hurt someone.
balldebounce = false
end
end
end)
for n = 0, Mag, Increment do
Part.CFrame = Part.CFrame + (Direction * Increment)
wait()
end
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 16
end
end
mouse.KeyDown:connect(onKeyDown)

2 comments
It worked perfect! :)
Thanks for letting me know :)