Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Simple Fireball throwing?

Can I get some help? I CanCollided some Fire with a Transparent ball and I wanted to script to where it causes damage (15 - 30 damage will be good) when you throw it. (No animation needed)

3 answers

Main script: (LOCAL SCRIPT)

local enabled = true
Player = script.Parent.Parent
mouse = Player:GetMouse()
run = game:GetService("RunService")
function onKeyDown(key)
if not enabled then return end
enabled = false
	Key = key:lower()
	if key == "e" then
		RightShoulder = Player.Character.Torso["Right Shoulder"]
		LeftShoulder = Player.Character.Torso["Left Shoulder"]
		Run = game:GetService("RunService")
		for i = 1, 2 do
			for i = 1, 12 do
				LeftShoulder.C0 = LeftShoulder.C0 *CFrame.Angles(0, 0, -0.16)
				RightShoulder.C0 = RightShoulder.C0 *CFrame.Angles(0, 0, 0.16)
				RightShoulder.C0 = RightShoulder.C0 *CFrame.Angles(0, 0.1, 0)
				LeftShoulder.C0 = LeftShoulder.C0 *CFrame.Angles(0, -0.1, 0)
				Run.Stepped:wait(0.01)
			end
			for i = 1, 12 do
				LeftShoulder.C0 = LeftShoulder.C0 *CFrame.Angles(0, 0.1, 0)
				RightShoulder.C0 = RightShoulder.C0 *CFrame.Angles(0, -0.1, 0)
				LeftShoulder.C0 = LeftShoulder.C0 *CFrame.Angles(0, 0, 0.16)
				RightShoulder.C0 = RightShoulder.C0 *CFrame.Angles(0, 0, -0.16)
				Run.Stepped:wait(0.005)
			end
		end
			for i = 1, 12 do
				LeftShoulder.C0 = LeftShoulder.C0 *CFrame.Angles(0, 0, -0.16)
				RightShoulder.C0 = RightShoulder.C0 *CFrame.Angles(0, 0, 0.16)
				RightShoulder.C0 = RightShoulder.C0 *CFrame.Angles(0, 0.1, 0)
				LeftShoulder.C0 = LeftShoulder.C0 *CFrame.Angles(0, -0.1, 0)
				Run.Stepped:wait(0.005)
			end
		game:GetService("Chat"):Chat(Player.Character.Head, "Heavy Ranged Attack")
		x = Instance.new("Part")
		x.BrickColor = BrickColor.new("White")
		x.Size = Vector3.new(4, 4, 4)
		x.TopSurface = "Smooth"
		x.BottomSurface = "Smooth"
		x.Shape = "Ball"
		x.Name = Player.Name
		x.CanCollide = false
		x.Transparency = 0.7
		fd = script.HRD:clone()
		fd.Parent = x
		y = Instance.new("BodyVelocity")
		y.maxForce = Vector3.new(math.huge, math.huge, math.huge)
		y.velocity = Player.Character.Torso.CFrame.lookVector*80
		x.Parent = Workspace
		y.Parent = x
		f = Instance.new("Fire", x)
		f.Size = 15
		f.Heat = 0
		x.CFrame = Player.Character.Torso.CFrame*CFrame.new(0, 0, -12)
		fd.Disabled = false
		game.Debris:AddItem(x, 6)
		wait(0.25)
		for i = 1, 12 do
			LeftShoulder.C0 = LeftShoulder.C0 *CFrame.Angles(0, 0.1, 0)
			RightShoulder.C0 = RightShoulder.C0 *CFrame.Angles(0, -0.1, 0)
			LeftShoulder.C0 = LeftShoulder.C0 *CFrame.Angles(0, 0, 0.16)
			RightShoulder.C0 = RightShoulder.C0 *CFrame.Angles(0, 0, -0.16)
			Run.Stepped:wait(0.01)
		end
	end
wait(2)
enabled = true
end

mouse.KeyDown:connect(onKeyDown)

2ed script inside of that script: (REG SCRIPT)

function onDamage(Part)
	if Part.Parent:FindFirstChild("Humanoid") ~= nil and Part.Parent.Name ~= "script.Parent.Name" then
		script.Disabled = true
		f = Instance.new("Fire", Part)
		for i = 1,25 do
			f.Size = f.Size +0.25
			Part.Parent.Humanoid.Health = Part.Parent.Humanoid.Health -3
			wait(0.05)
		end
		Part.Parent.Humanoid.Sit = true
		f:remove()
		script.Parent:remove()
	end
	wait(0.025)
end

script.Parent.Touched:connect(onDamage)

@Redstone you copied it from Friaza, just wow really...

Look, if you want to learn it, how to do it, all you gotta to is CFrame IF You want to be all fancy and unique. But, give it a shot without copying what RedStone posted just read it, get the Main Idea and give it a shot. If you manage to make it, you know you did a good job, if not, well you tried and you ask it again. It's better to try even though you fail. It's good to know if you were close or not

This discussion is preserved as it was. New answers, comments, and votes are closed.