--Fire Bending
--Human Parts
local player=game.Players.LocalPlayer
local character=player.Character
local humanoid=character["Humanoid"]
local head=character["Head"]
local torso=character["Torso"]
local arm={left=character["Left Arm"], right=character["Right Arm"]}
local leg={left=character["Left Leg"], right=character["Right Leg"]}
--FireBendingHopperBin
local bin=Instance.new("HopperBin")
bin.Parent=player.Backpack
bin.Name="Fire Bending"
--Add Instance
local add={
part=function(parent,name,anchored,cancollide,color,shape,t,size,cframe)
local p=Instance.new("Part")
p.Parent=parent
p.Name=name
p.TopSurface="Smooth"
p.BottomSurface="Smooth"
p.formFactor="Custom"
p.Anchored=anchored
p.CanCollide=cancollide
p.BrickColor=BrickColor.new(color)
p.Shape=shape
p.Transparency=t
p.Size=size
p.CFrame=cframe
return p
end,
weld=function(parent,p1,cframe)
local w=Instance.new("Weld")
w.Parent=parent
w.Part0=parent
w.Part1=p1
w.C1=cframe
return w
end,
mesh=function(i,parent,scale)
local m=Instance.new(i)
m.Parent=parent
m.Scale=scale
return m
end,
bg=function(parent,cframe)
local g=Instance.new("BodyGyro")
g.Parent=parent
g.maxTorque=Vector3.new(math.huge,math.huge,math.huge)
g.cframe=cframe
return g
end,
bp=function(parent,pos)
local p=Instance.new("BodyPosition")
p.Parent=parent
p.maxForce=Vector3.new(0,math.huge,0)
p.position=pos
return p
end,
bv=function(parent,velocity)
local v=Instance.new("BodyVelocity")
v.Parent=parent
v.maxForce=Vector3.new(math.huge,math.huge,math.huge)
v.velocity=velocity
return v
end,
bf=function(parent,force)
local f=Instance.new("BodyForce")
f.Parent=parent
f.force=force
return f
end,
bav=function(parent,angular)
local av=Instance.new("BodyAngularVelocity")
av.Parent=parent
av.maxTorque=Vector3.new(math.huge,math.huge,math.huge)
av.angularvelocity=angular
return av
end,
model=function(parent,name)
local m=Instance.new("Model")
m.Parent=parent
m.Name=name
return m
end,
humanoid=function(parent,maxhealth)
local h=Instance.new("Humanoid")
h.Parent=parent
h.MaxHealth=maxhealth
h.Health=maxhealth
return h
end}
local things=add.model(character,"FireBending")
local c=function(f)coroutine.resume(coroutine.create(f))end
local function computePos(pos1,pos2)
local pos3=Vector3.new(pos2.x,pos1.y,pos2.z)
return CFrame.new(pos1,pos3)
end
local function getTorso(mouse)
torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
end
local touchDeb=false
local function damage(hit)
local humanoid=hit.Parent:FindFirstChild("Humanoid")
local torso=hit.Parent:FindFirstChild("Torso")
if humanoid and torso and humanoid~=character["Humanoid"] and touchDeb==false then
touchDeb=true
local dmg=math.random(5,20)
c(function()
humanoid:TakeDamage(dmg)
torso.Velocity=Vector3.new(math.random(-15,15),math.random(25,40),math.random(-15,15))*2
torso.RotVelocity=Vector3.new(math.random(-25,25),math.random(-25,25),math.random(-25,25))*5
local model=add.model(Workspace,math.floor(dmg))
local h=add.humanoid(model,math.huge)
local dmgpart=add.part(model,"Head",false,false,"Bright red","Block",0,Vector3.new(1,.2,1),hit.CFrame)
local mesh=add.mesh("CylinderMesh",dmgpart,Vector3.new(1,1,1))
local bf=add.bf(dmgpart,Vector3.new(0,dmgpart:GetMass()*200,0))
wait(1)
model:remove()
end)
wait(.1)
touchDeb=false
end
end
local trailDeb=false
local function trail(pos)
trailDeb=true
c(function()
old=pos.Position
while trailDeb do
wait()
new=pos.Position
mag=(old-new).magnitude
local trail=add.part(things,"Trail",true,false,"Bright red","Block",0,Vector3.new(3,3,3),CFrame.new(old,new)*CFrame.Angles(0,0,-mag/2))
old=new
trail.Touched:connect(damage)
c(function()
for i=.2,1,.2 do
wait()
trail.Transparency=i
end
trail:remove()
end)
end
end)
end
local pathDeb=false
local bpPosition=10
local pathpart=nil
local bp=nil
local function paths()
pathDeb=true
pathpart=add.part(Workspace,"Path",true,false,"Bright red","Block",0,Vector3.new(4,1,4),CFrame.new())
bp=add.bp(torso,Vector3.new(0,bpPosition,0))
while pathDeb==true do
wait()
pathpart.CFrame=torso.CFrame*CFrame.new(0,-4,0)
end
end
--FakeArm
local fakeArm={left=add.part(things,"Left Arm",false,false,"White","Block",1,Vector3.new(1,1,1),CFrame.new()),right=add.part(things,"Right Arm",false,false,"White","Block",1,Vector3.new(1,1,1),CFrame.new())}
--local fakeLeg={left=add.part(things,"Left Leg",false,false,"White","Block",1,Vector3.new(1,1,1),CFrame.new()),right=add.part(things,"Right Leg",false,false,"White","Block",1,Vector3.new(1,1,1),CFrame.new())}
local fireHandle={left=add.part(things,"Left Handle",false,false,"White","Block",1,Vector3.new(1,1,1),CFrame.new()),right=add.part(things,"Right Handle",false,false,"White","Block",1,Vector3.new(1,1,1),CFrame.new())}
--Weldz
local connectArm={left=add.weld(torso,fakeArm.left,CFrame.new(-1.5,-.5,0)),right=add.weld(torso,fakeArm.right,CFrame.new(1.5,-.5,0))}
--local connectLeg={left=add.weld(torso,fakeLeg.left,CFrame.new(-.5,1.5,0)),right=add.weld(torso,fakeLeg.right,CFrame.new(.5,1.5,0))}
local armWeld={left=add.weld(fakeArm.left,arm.left,CFrame.new(0,.5,0)),right=add.weld(fakeArm.right,arm.right,CFrame.new(0,.5,0))}
--local legWeld={left=add.weld(fakeLeg.left,arm.left,CFrame.new(0,.5,0)),right=add.weld(fakeLeg.right,arm.right,CFrame.new(0,.5,0))}
local handleWeld={left=add.weld(fireHandle.left,arm.left,CFrame.new(0,-2,0)),right=add.weld(fireHandle.right,arm.right,CFrame.new(0,-2,0))}
local anim={
equip=function()
for i=.2,1,.2 do
wait()
armWeld.left.C0=CFrame.Angles(math.rad(135)*i,0,-math.rad(15)*i)
armWeld.right.C0=CFrame.Angles(math.rad(135)*i,0,math.rad(15)*i)
end
end,
firecrush=function(mouse)
getTorso(mouse)
trail(fireHandle.left)
trail(fireHandle.right)
local bv=add.bv(torso,torso.CFrame.lookVector*25)
for i=1,40 do
wait()
armWeld.left.C0=CFrame.Angles(-math.rad(36)*i,0,0)
armWeld.right.C0=CFrame.Angles(-math.rad(36)*i,0,0)
handleWeld.left.C1=CFrame.new(0,-2,0)
handleWeld.right.C1=CFrame.new(0,-2,0)
end
wait(.2)
trailDeb=false
bv:remove()
end,
firebump=function(mouse)
getTorso(mouse)
trail(fireHandle.left)
trail(fireHandle.right)
local bv=add.bv(torso,torso.CFrame.lookVector*50)
fireHandle.left.Touched:connect(damage)
fireHandle.right.Touched:connect(damage)
for i=.2,1,.2 do
wait()
armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
end
wait(.5)
for i=1,0,-.2 do
wait()
armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
end
bv:remove()
trailDeb=false
end,
fireshoot=function(mouse)
getTorso(mouse)
trail(fireHandle.left)
trail(fireHandle.right)
local bullet=add.part(Workspace,"FirePistol",false,false,"Bright red","Ball",0,Vector3.new(2,2,2),CFrame.new((torso.CFrame+torso.CFrame.lookVector*10).p,mouse.Hit.p))
bullet.Velocity=bullet.CFrame.lookVector*150
local bf=add.bf(bullet,Vector3.new(0,bullet:GetMass()*196.2,0))
bullet.Touched:connect(damage)
trail(bullet)
for i=.2,1,.2 do
wait()
armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
handleWeld.left.C1=CFrame.new(0,-2+-2*i,0)
handleWeld.right.C1=CFrame.new(0,-2+-2*i,0)
end
wait(.2)
for i=1,0,-.2 do
wait()
armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
handleWeld.left.C1=CFrame.new(0,-2+-2*i,0)
handleWeld.right.C1=CFrame.new(0,-2+-2*i,0)
end
game.Debris:AddItem(bullet,5)
trailDeb=false
end,
firerage=function()
trail(fireHandle.left)
trail(fireHandle.right)
torso.Anchored=true
for i=.2,1,.2 do
wait()
armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
handleWeld.left.C1=CFrame.new(0,-2+-2*i,0)
handleWeld.right.C1=CFrame.new(0,-2+-2*i,0)
end
for i=1,40 do
wait()
local bullet=add.part(Workspace,"FirePistol",false,false,"Bright red","Ball",0,Vector3.new(2,2,2),torso.CFrame*CFrame.Angles(0,math.rad(9)*i,0))
bullet.Velocity=bullet.CFrame.lookVector*150
local bf=add.bf(bullet,Vector3.new(0,bullet:GetMass()*196.2,0))
bullet.Touched:connect(damage)
trail(bullet)
game.Debris:addItem(bullet,5)
end
wait(.2)
for i=1,0,-.2 do
wait()
armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
handleWeld.left.C1=CFrame.new(0,-2+-2*i,0)
handleWeld.right.C1=CFrame.new(0,-2+-2*i,0)
end
torso.Anchored=false
trailDeb=false
end,
firespin=function()
trail(fireHandle.left)
trail(fireHandle.right)
local bg=add.bg(torso,torso.CFrame)
for i=.2,1,.2 do
wait()
armWeld.left.C0=CFrame.Angles(0,0,math.rad(135)*i)
armWeld.right.C0=CFrame.Angles(0,0,-math.rad(45)*i)
handleWeld.left.C1=CFrame.new(0,-2+-2*i,0)
handleWeld.right.C1=CFrame.new(0,-2+-2*i,0)
end
local bav=add.bav(torso,Vector3.new(0,50,0))
wait(3)
for i=1,0,-.2 do
wait()
armWeld.left.C0=CFrame.Angles(0,0,math.rad(135)*i)
armWeld.right.C0=CFrame.Angles(0,0,-math.rad(45)*i)
handleWeld.left.C1=CFrame.new(0,-2+-2*i,0)
handleWeld.right.C1=CFrame.new(0,-2+-2*i,0)
end
bav:remove()
bg:remove()
trailDeb=false
end,
firewave=function(mouse)
getTorso(mouse)
trail(fireHandle.left)
trail(fireHandle.right)
torso.Anchored=true
for i=.2,1,.2 do
wait()
armWeld.left.C0=CFrame.Angles(math.rad(135)*i,0,math.rad(45)*i)
armWeld.right.C0=CFrame.Angles(math.rad(135)*i,0,-math.rad(45)*i)
handleWeld.left.C1=CFrame.new(0,-2+-2*i,0)
handleWeld.right.C1=CFrame.new(0,-2+-2*i,0)
end
for i=1,15 do
wait()
local firepart=add.part(Workspace,"FireBrick",false,false,"Bright red","Block",0,Vector3.new(5,5,5),torso.CFrame*CFrame.Angles(math.rad(45),0,0)+torso.CFrame.lookVector*4*i)
trail(firepart)
firepart.Touched:connect(damage)
game.Debris:addItem(firepart,.5)
end
wait(.2)
for i=1,0,-.2 do
wait()
armWeld.left.C0=CFrame.Angles(math.rad(135)*i,0,math.rad(45)*i)
armWeld.right.C0=CFrame.Angles(math.rad(135)*i,0,-math.rad(45)*i)
handleWeld.left.C1=CFrame.new(0,-2+-2*i,0)
handleWeld.right.C1=CFrame.new(0,-2+-2*i,0)
end
torso.Anchored=false
trailDeb=false
end
}
local keyDeb=false
local keyDeb2=false
bin.Selected:connect(function(mouse)
bin:remove()
anim.equip()
mouse.Button1Down:connect(function()
if keyDeb==false then
keyDeb=true
anim.fireshoot(mouse)
keyDeb=false
end
end)
mouse.KeyDown:connect(function(key)
if key=="q" and keyDeb==false then
keyDeb=true
anim.firecrush(mouse)
keyDeb=false
end
if key=="e" and keyDeb==false then
keyDeb=true
anim.firebump(mouse)
keyDeb=false
end
if key=="r" and keyDeb==false then
keyDeb=true
anim.firespin(mouse)
keyDeb=false
end
if key=="f" and keyDeb==false then
keyDeb=true
anim.firerage()
keyDeb=false
end
if key=="g" and keyDeb==false then
keyDeb=true
anim.firewave(mouse)
keyDeb=false
end
if key=="z" and keyDeb2==false then
keyDeb2=true
paths()
end
if key=="z" and keyDeb2==true then
keyDeb2=false
pathDeb=false
pcall(function() pathpart:remove() bp:remove() end)
end
end)
end) --mediafire
Comments
0 B
|👍
/👎
0 B
|0 👍
/0 👎
0 B
|0 👍
/0 👎