Quick actions

cmd+k|ctrl+k

Navigation

Languages

john bomb but he can't die

Snippet info

Language

Lua

Visibility

public

Author

dinoturto

Created

2020-09-20T23:28:48Z

Updated

2024-03-15T00:07:02.501417Z

local chr = owner.Character
local root = chr.HumanoidRootPart
local hum = chr.Humanoid
chr:findFirstChild'Health':Destroy()
hum.MaxHealth = 7000
hum.Health = 7000
hum.WalkSpeed = 36
local desc = Instance.new("HumanoidDescription")
desc.Shirt = 5151872516
desc.Pants = 5170686244
desc.HeadColor = Color3.fromRGB(13, 105, 172)
desc.TorsoColor = Color3.fromRGB(13, 105, 172)
desc.RightArmColor = Color3.fromRGB(13, 105, 172)
desc.LeftArmColor = Color3.fromRGB(13, 105, 172)
desc.RightLegColor = Color3.fromRGB(13, 105, 172)
desc.LeftLegColor = Color3.fromRGB(13, 105, 172)
hum:ApplyDescription(desc)
chr.Head.Transparency = 1
chr.Head.face:Destroy()
table.foreach(chr:children(),function(_,v)
    if v.ClassName == "Part" then
        v.Size = v.Size * 1.25
    end
end)
size = chr.Torso.Size.Z
local fakehead = Instance.new("Part")
fakehead.Size = Vector3.new(2 * size,1 * size,1 * size)
fakehead.Massless = true
fakehead.CanCollide = false
fakehead.Anchored = false
fakehead.Parent = chr
local fakeheadweld = Instance.new("Weld")
fakeheadweld.Part0 = fakehead
fakeheadweld.Part1 = chr.Head
fakeheadweld.C0 = CFrame.new(0,-.4 * size,0) * CFrame.Angles(0,-math.rad(25),0)
fakeheadweld.Parent = fakehead
local fakeheadmesh = Instance.new("SpecialMesh")
fakeheadmesh.MeshId = "rbxassetid://3242347943"
fakeheadmesh.TextureId = "rbxassetid://3055156478"
fakeheadmesh.Scale = Vector3.new(1 * size,1 * size,1 * size)
fakeheadmesh.Parent = fakehead
local racket = Instance.new("Part")
racket.Size = Vector3.new(2 * size,1 * size,1 * size)
racket.Massless = true
racket.CanCollide = false
racket.Anchored = false
racket.Transparency = 1
racket.Parent = chr
local racketweld = Instance.new("Weld")
racketweld.Part0 = racket
racketweld.Part1 = chr:findFirstChild'Right Arm'
racketweld.C0 = CFrame.new(0,-1.5 * size,1 * size) * CFrame.Angles(math.rad(90),0,0)
racketweld.Parent = racket
local racketmesh = Instance.new("SpecialMesh")
racketmesh.MeshId = "rbxassetid://717279569"
racketmesh.TextureId = "rbxassetid://717279680"
racketmesh.Scale = Vector3.new(2.5 * size,2.5 * size,2.5 * size)
racketmesh.Parent = racket
function joint(p0,p1,c0x,c0y,c0z,c1x,c1y,c1z,name)
    local w = Instance.new("Weld")
    w.Part0 = p0
    w.Part1 = p1
    w.C0 = CFrame.new(c0x,c0y,c0z)
    w.C1 = CFrame.new(c1x,c1y,c1z)
    w.Name = name
    w.Parent = p0
    return w
end
NK = joint(chr.Torso,chr.Head,0,1 * size,0,0,-1/2 * size,0,'Neck')
RJ = joint(root,chr.Torso,0,0,0,0,0,0,'RootJoint')
RS = joint(chr.Torso,chr:findFirstChild('Right Arm'),1.5 * size,0.5 * size,0,0,0.5 * size,0,'Right Shoulder')
LS = joint(chr.Torso,chr:findFirstChild('Left Arm'),-1.5 * size,0.5 * size,0,0,0.5 * size,0,'Left Shoulder')
RH = joint(chr.Torso,chr:findFirstChild('Right Leg'),0.5 * size,-1 * size,0,0,1 * size,0,'Right Hip')
LH = joint(chr.Torso,chr:findFirstChild('Left Leg'),-0.5 * size,-1 * size,0,0,1 * size,0,'Left Hip')
t = tick()
RSC0 = RS.C0
LSC0 = LS.C0
RHC0 = RH.C0
LHC0 = LH.C0
RJC0 = RJ.C0
NKC0 = NK.C0
local theme = Instance.new("Sound")
theme.SoundId = "rbxassetid://5378867055"
theme.Volume = 1.25
theme.Looped = true
theme.Parent = root
theme:Play()
local healthgui = Instance.new("BillboardGui")
healthgui.Adornee = root
healthgui.Name = "healthbar"
healthgui.Size = UDim2.new(3,0,2.5,0)
healthgui.StudsOffset = Vector3.new(-3,5,0)
healthgui.Parent = root
local damagebar = Instance.new("Frame")
damagebar.Size = UDim2.new(3,0,.5,0)
damagebar.BackgroundColor3 = Color3.fromRGB(255,47,47)
damagebar.BorderColor3 = Color3.fromRGB(163,60,65)
damagebar.Parent = healthgui
local healthbar = Instance.new("Frame")
healthbar.Size = UDim2.new(hum.Health / hum.MaxHealth,0,1,0)
healthbar.BackgroundColor3 = Color3.fromRGB(99,254,147)
healthbar.BorderColor3 = Color3.fromRGB(58,138,97)
healthbar.Parent = damagebar
local namegui = Instance.new("BillboardGui")
namegui.Adornee = root
namegui.Name = "nametext"
namegui.Size = UDim2.new(2.5,0,1.5,0)
namegui.StudsOffset = Vector3.new(-1.75,7.5,0)
namegui.Parent = root
local nametext = Instance.new("TextBox")
nametext.Size = UDim2.new(2.5,0,1.5,0)
nametext.BackgroundTransparency = 1
nametext.TextStrokeTransparency = 0
nametext.TextScaled = true
nametext.TextWrapped = true
nametext.Font = "Arcade"
nametext.TextColor3 = Color3.new(1,1,1)
nametext.TextStrokeColor3 = Color3.new()
nametext.Text = "John Bomb"
nametext.Parent = namegui
local healthtext = Instance.new("TextBox")
healthtext.Size = UDim2.new(1.5,0,.5,0)
healthtext.BackgroundTransparency = 1
healthtext.TextStrokeTransparency = 0
healthtext.TextScaled = true
healthtext.TextWrapped = true
healthtext.Font = "Arcade"
healthtext.TextColor3 = Color3.new(1,1,1)
healthtext.TextStrokeColor3 = Color3.new()
healthtext.Text = hum.Health
healthtext.TextXAlignment = "Left"
healthtext.Parent = healthgui
local chatgui = Instance.new("BillboardGui")
chatgui.Adornee = root
chatgui.Name = "nametext"
chatgui.Size = UDim2.new(10,0,4,0)
chatgui.StudsOffset = Vector3.new(0,3,0)
chatgui.Parent = root
local chatbase = Instance.new("Frame")
chatbase.Size = UDim2.new(1,0,0.75,0)
chatbase.BackgroundColor3 = Color3.fromRGB(35,35,35)
chatbase.BorderSizePixel = 0
chatbase.Position = UDim2.new(0,0,.5,0)
chatbase.BackgroundTransparency = 1
chatbase.Parent = chatgui
local johnimage = Instance.new("ImageLabel")
johnimage.Size = UDim2.new(.25,0,.625,0)
johnimage.BackgroundTransparency = 1
johnimage.BorderSizePixel = 0
johnimage.Position = UDim2.new(.025,0,.575,0)
johnimage.Image = "rbxassetid://5637804418"
johnimage.ZIndex = 2
johnimage.ImageTransparency = 1
johnimage.Parent = chatgui
local johnimagebackground = Instance.new("Frame")
johnimagebackground.Size = UDim2.new(.265,0,0.65,0)
johnimagebackground.BackgroundColor3 = Color3.fromRGB(35,35,35)
johnimagebackground.BorderSizePixel = 0
johnimagebackground.Position = UDim2.new(.0175,0,.55,0)
johnimagebackground.ZIndex = 1
johnimagebackground.BackgroundTransparency = 1
johnimagebackground.Parent = chatgui
local chatnametext = Instance.new("TextBox")
chatnametext.Size = UDim2.new(.5,0,.2,0)
chatnametext.BackgroundTransparency = 1
chatnametext.TextStrokeTransparency = 1
chatnametext.TextScaled = true
chatnametext.TextWrapped = true
chatnametext.Font = "Arcade"
chatnametext.TextColor3 = Color3.new(1,1,1)
chatnametext.TextStrokeColor3 = Color3.new()
chatnametext.Text = "- JOHN BOMB -"
chatnametext.Position = UDim2.new(.3,0,.5,0)
chatnametext.TextTransparency = 1
chatnametext.Parent = chatgui
local chattext = Instance.new("TextBox")
chattext.Size = UDim2.new(.6,0,.5,0)
chattext.BackgroundTransparency = 1
chattext.TextStrokeTransparency = 1
chattext.TextScaled = true
chattext.TextWrapped = true
chattext.Font = "Arcade"
chattext.TextColor3 = Color3.new(1,1,1)
chattext.TextStrokeColor3 = Color3.new()
chattext.Text = "John Bomb here, the NEW CEO of BTHG. Don't worry about redmiint8, FuzzyDimonds, or the rest of the devs."
chattext.Position = UDim2.new(.3,0,.65,0)
chattext.TextTransparency = 1
chattext.TextXAlignment = "Left"
chattext.Parent = chatgui
function Tween(p,g,i)
    game:service'TweenService':Create(p,i,g):Play()
end
local t = tick()
local action,exactVel,vel,animMove = '',0,0,true
local throwing = false
local exploding = false
local ragemode = false
local swinging = false
local bombexplosionsounds = {}
local bombexplosionsoundparts = {}
local bombexplosionnumber = 1
for i = 1,6 do
    local bombexplosionsound = Instance.new("Sound")
    bombexplosionsound.SoundId = "rbxassetid://315775189"
    bombexplosionsound.Volume = 10
    local bombexplosionsoundpart = Instance.new("WedgePart")
    bombexplosionsoundpart.Size = Vector3.new(0,0,0)
    bombexplosionsoundpart.Anchored = true
    bombexplosionsoundpart.CanCollide = false
    bombexplosionsoundpart.Transparency = 1
    table.insert(bombexplosionsounds,bombexplosionsound)
    table.insert(bombexplosionsoundparts,bombexplosionsoundpart)
end
local chatSounds = {}
for i = 1,6 do
    local sound = Instance.new("Sound")
	sound.Parent = nil
	sound.SoundId = "rbxassetid://5638094432"
	sound.Volume = 2
	table.insert(chatSounds,sound)
end
local chatSoundsNumber = 1
local bombsSounds = {}
for i = 1,6 do
    local sound = Instance.new("Sound")
	sound.Parent = nil
	sound.SoundId = "rbxassetid://5930842913"
	sound.Volume = 10
	table.insert(bombsSounds,sound)
end
local bombsSoundsnumber = 1
hum.BreakJointsOnDeath = false
function throwbomb()
    hum.WalkSpeed = 36
    bombexplosionnumber = bombexplosionnumber + 1
    if bombexplosionnumber > 6 then
        bombexplosionnumber = 1
    end
    bombsSoundsnumber = bombsSoundsnumber + 1
    if bombsSoundsnumber > 6 then
        bombsSoundsnumber = 1
    end
    animMove = false
    throwing = true
    local bombschoice = bombsSounds[bombsSoundsnumber]
    bombschoice.Parent = root
    bombschoice:Play()
    local bomb = Instance.new("FlagStand")
    bomb.Size = Vector3.new(1.3,1.9,1.3)
    bomb.CanCollide = false
    bomb.Massless = true
    bomb.Name = "Bomb"
    bomb.Parent = script
    local bombweld = Instance.new("Weld")
    bombweld.Part0 = chr:findFirstChild('Left Arm')
    bombweld.Part1 = bomb
    bombweld.C0 = CFrame.new(0,-1 * size,-.185 * size) * CFrame.Angles(-math.rad(90),math.rad(25),0)
    bombweld.Parent = bomb
    game:service'Debris':AddItem(bomb,1.7)
    game:service'Debris':AddItem(bombweld,.2)
    local bombmesh = Instance.new("SpecialMesh")
    bombmesh.MeshId = "rbxassetid://3242347943"
    bombmesh.TextureId = "rbxassetid://3055156478"
    bombmesh.Parent = bomb
    action = 'ThrowA'
    wait(.2)
    bomb.CanCollide = true
    local bv = Instance.new("BodyVelocity")
    bv.Velocity = root.CFrame.LookVector * 60
    bv.Parent = bomb
    game:service'Debris':AddItem(bv,.1)
    action = 'ThrowB'
    wait(.3)
    hum.WalkSpeed = 36
    animMove = true
    throwing = false
    wait(1.2)
    local bombexplosionsoundpartchoice = bombexplosionsoundparts[bombexplosionnumber]
    bombexplosionsoundpartchoice.Parent = script
    local bombexplosion = Instance.new("Part")
    bombexplosion.Size = Vector3.new(3,3,3)
    bombexplosion.BrickColor = BrickColor.new("Bright orange")
    bombexplosion.Material = "Neon"
    bombexplosion.CanCollide = false
    bombexplosion.Massless = true
    bombexplosion.Anchored = true
    bombexplosion.Position = bomb.Position
    bombexplosionsoundpartchoice.Position = bombexplosion.Position
    bombexplosion.Parent = script
    local bombexplosionmesh = Instance.new("SpecialMesh")
    bombexplosionmesh.MeshType = "Sphere"
    bombexplosionmesh.Parent = bombexplosion
    local bombexplosionchoice = bombexplosionsounds[bombexplosionnumber]
    bombexplosionchoice.Parent = bombexplosionsoundpartchoice
    bombexplosionchoice:Play()
    Tween(bombexplosion,{Size = Vector3.new(35,35,35),Transparency = 1},TweenInfo.new(.75,Enum.EasingStyle.Circular))
    local touched = {}
    bombexplosion.Touched:connect(function(hit)
        local hithum = hit.Parent:FindFirstChildOfClass("Humanoid") or hit.Parent.Parent:FindFirstChildOfClass("Humanoid")
		if hithum and hithum ~= hum then
		    local h = true
			table.foreach(touched,function(_,v)
				if v == hithum then
				    h = false
				end
			end)
			if h then
				hithum:TakeDamage(1)
			end
		end
	end)
    game:service'Debris':AddItem(bombexplosion,.75)
    wait(bombexplosionchoice.TimeLength)
    bombexplosionsoundpartchoice.Parent = nil
    bombexplosionchoice.Parent = nil
    bombschoice.Parent = nil
end
function headexplode()
    bombexplosionnumber = bombexplosionnumber + 1
    if bombexplosionnumber > 6 then
        bombexplosionnumber = 1
    end
    animMove = false
    exploding = true
    action = 'ExplodeA'
    wait(.4)
    action = 'ExplodeB'
    Tween(fakehead,{Transparency = 1},TweenInfo.new(.5,Enum.EasingStyle.Circular))
    local bombexplosionsoundpartchoice = bombexplosionsoundparts[bombexplosionnumber]
    bombexplosionsoundpartchoice.Parent = script
    local bombexplosion = Instance.new("Part")
    bombexplosion.Size = Vector3.new(3,3,3)
    bombexplosion.BrickColor = BrickColor.new("Bright orange")
    bombexplosion.Material = "Neon"
    bombexplosion.CanCollide = false
    bombexplosion.Massless = true
    bombexplosion.Anchored = true
    bombexplosion.Position = fakehead.Position
    bombexplosionsoundpartchoice.Position = bombexplosion.Position
    bombexplosion.Parent = script
    local bombexplosionmesh = Instance.new("SpecialMesh")
    bombexplosionmesh.MeshType = "Sphere"
    bombexplosionmesh.Parent = bombexplosion
    local bombexplosionchoice = bombexplosionsounds[bombexplosionnumber]
    bombexplosionchoice.Parent = bombexplosionsoundpartchoice
    bombexplosionchoice:Play()
    Tween(bombexplosion,{Size = Vector3.new(35,35,35),Transparency = 1},TweenInfo.new(.75,Enum.EasingStyle.Circular))
    local touched = {}
    bombexplosion.Touched:connect(function(hit)
        local hithum = hit.Parent:FindFirstChildOfClass("Humanoid") or hit.Parent.Parent:FindFirstChildOfClass("Humanoid")
		if hithum and hithum ~= hum then
		    local h = true
			table.foreach(touched,function(_,v)
				if v == hithum then
				    h = false
				end
			end)
			if h then
				hithum:TakeDamage(1)
			end
		end
	end)
    game:service'Debris':AddItem(bombexplosion,.75)
    coroutine.wrap(function()
        wait(.5)
        Tween(fakehead,{Transparency = 0},TweenInfo.new(1.25,Enum.EasingStyle.Circular))
    end)()
    coroutine.wrap(function()
        wait(bombexplosionchoice.TimeLength)
        bombexplosionsoundpartchoice.Parent = nil
        bombexplosionchoice.Parent = nil
    end)()
    wait(.25)
    animMove = true
    hum.WalkSpeed = 36
    exploding = false
end
local touched = {}
racket.Touched:connect(function(hit)
    local hithum = hit.Parent:FindFirstChildOfClass("Humanoid") or hit.Parent.Parent:FindFirstChildOfClass("Humanoid")
	if hithum and hithum ~= hum and swinging == true then
	    local h = true
		table.foreach(touched,function(_,v)
			if v == hithum then
			    h = false
			end
		end)
		if h then
			hithum:TakeDamage(20)
		end
	end
end)
function swingracket()
    racket.Transparency = 0
    animMove = false
    swinging = true
    action = 'SwingA'
    wait(.2)
    action = 'SwingB'
    wait(.2)
    touched = {}
    racket.Transparency = 1
    animMove = true
    swinging = false
end
local talkid = 0
function chat(text)
    talkid = talkid + 1
    local storedid = talkid
    local skip = false
    Tween(healthgui,{StudsOffset = Vector3.new(-3,7,0)},TweenInfo.new(.75,Enum.EasingStyle.Back))
    Tween(namegui,{StudsOffset = Vector3.new(-1.75,9.5,0)},TweenInfo.new(.75,Enum.EasingStyle.Back))
    Tween(chatgui,{StudsOffset = Vector3.new(0,6.5,0)},TweenInfo.new(.75,Enum.EasingStyle.Back))
    Tween(johnimage,{ImageTransparency = 0},TweenInfo.new(.75,Enum.EasingStyle.Sine))
    Tween(johnimagebackground,{BackgroundTransparency = 0},TweenInfo.new(.75,Enum.EasingStyle.Sine))
    Tween(chatbase,{BackgroundTransparency = .5},TweenInfo.new(.75,Enum.EasingStyle.Sine))
    Tween(chatnametext,{TextTransparency = 0,TextStrokeTransparency = 0},TweenInfo.new(.75,Enum.EasingStyle.Sine))
    Tween(chattext,{TextTransparency = 0,TextStrokeTransparency = 0},TweenInfo.new(.75,Enum.EasingStyle.Sine))
    local msg = text
    if string.sub(msg,1,3) == "/e " then
        msg = string.sub(msg,4,string.len(msg))
    end
    for i = 1,string.len(msg) do
        if storedid ~= talkid then
            skip = true
            break
        end
        chatSoundsNumber = chatSoundsNumber + 1
        if chatSoundsNumber > 6 then
            chatSoundsNumber = 1
        end
        local talkingsoundchoice = chatSounds[chatSoundsNumber]
        talkingsoundchoice.Parent = root
        coroutine.wrap(function()
            wait(talkingsoundchoice.TimeLength)
            talkingsoundchoice.Parent = nil
        end)()
        chattext.Text = string.sub(msg,1,i)
        if string.sub(msg,i,i) ~= " " then
            talkingsoundchoice:Play()
        end
        wait(.05)
    end
    wait(3)
    if not skip and storedid == talkid then
        Tween(healthgui,{StudsOffset = Vector3.new(-3,5,0)},TweenInfo.new(.75,Enum.EasingStyle.Back))
        Tween(namegui,{StudsOffset = Vector3.new(-1.75,7.5,0)},TweenInfo.new(.75,Enum.EasingStyle.Back))
        Tween(chatgui,{StudsOffset = Vector3.new(0,4.5,0)},TweenInfo.new(.75,Enum.EasingStyle.Back))
        Tween(johnimage,{ImageTransparency = 1},TweenInfo.new(.75,Enum.EasingStyle.Sine))
        Tween(johnimagebackground,{BackgroundTransparency = 1},TweenInfo.new(.75,Enum.EasingStyle.Sine))
        Tween(chatbase,{BackgroundTransparency = 1},TweenInfo.new(.75,Enum.EasingStyle.Sine))
        Tween(chatnametext,{TextTransparency = 1,TextStrokeTransparency = 1},TweenInfo.new(.75,Enum.EasingStyle.Sine))
        Tween(chattext,{TextTransparency = 1,TextStrokeTransparency = 1},TweenInfo.new(.75,Enum.EasingStyle.Sine))
    end
end
owner.Chatted:connect(chat)
function Death()
    dead = true
    local oldPos = CFrame.new()
    oldPos = root.CFrame
    owner:LoadCharacter()
    chr = owner.Character
    root = owner.Character:FindFirstChild("HumanoidRootPart")
    root.CFrame = oldPos
    hum = chr.Humanoid
    chr:findFirstChild'Health':Destroy()
    hum.MaxHealth = 7000
    hum.Health = 7000
    desc = Instance.new("HumanoidDescription")
    desc.Shirt = 5151872516
    desc.Pants = 5170686244
    desc.HeadColor = Color3.fromRGB(13, 105, 172)
    desc.TorsoColor = Color3.fromRGB(13, 105, 172)
    desc.RightArmColor = Color3.fromRGB(13, 105, 172)
    desc.LeftArmColor = Color3.fromRGB(13, 105, 172)
    desc.RightLegColor = Color3.fromRGB(13, 105, 172)
    desc.LeftLegColor = Color3.fromRGB(13, 105, 172)
    hum:ApplyDescription(desc)
    chr.Head.Transparency = 1
    chr.Head.face:Destroy()
    table.foreach(chr:children(),function(_,v)
        if v.ClassName == "Part" then
            v.Size = v.Size * 1.25
        end
    end)
    size = chr.Torso.Size.Z
    local fakehead = Instance.new("Part")
    fakehead.Size = Vector3.new(2 * size,1 * size,1 * size)
    fakehead.Massless = true
    fakehead.CanCollide = false
    fakehead.Anchored = false
    fakehead.Color = Color3.fromRGB(13, 105, 172)
    fakehead.Parent = owner.Character
    local fakeheadweld = Instance.new("Weld")
    fakeheadweld.Part0 = fakehead
    fakeheadweld.Part1 = chr.Head
    fakeheadweld.C0 = CFrame.new(0,-.35 * size,0) * CFrame.Angles(0,-math.rad(25),0)
    fakeheadweld.Parent = fakehead
    local fakeheadmesh = Instance.new("SpecialMesh")
    fakeheadmesh.MeshId = "rbxassetid://3242347943"
    fakeheadmesh.TextureId = "rbxassetid://3055156478"
    fakeheadmesh.Scale = Vector3.new(1 * size,1 * size,1 * size)
    fakeheadmesh.Parent = fakehead
    function joint(p0,p1,c0x,c0y,c0z,c1x,c1y,c1z,name)
        local w = Instance.new("Weld")
        w.Part0 = p0
        w.Part1 = p1
        w.C0 = CFrame.new(c0x,c0y,c0z)
        w.C1 = CFrame.new(c1x,c1y,c1z)
        w.Name = name
        w.Parent = p0
        return w
    end
    NK = joint(chr.Torso,chr.Head,0,1 * size,0,0,-1/2 * size,0,'Neck')
    RJ = joint(root,chr.Torso,0,0,0,0,0,0,'RootJoint')
    RS = joint(chr.Torso,chr:findFirstChild('Right Arm'),1.5 * size,0.5 * size,0,0,0.5 * size,0,'Right Shoulder')
    LS = joint(chr.Torso,chr:findFirstChild('Left Arm'),-1.5 * size,0.5 * size,0,0,0.5 * size,0,'Left Shoulder')
    RH = joint(chr.Torso,chr:findFirstChild('Right Leg'),0.5 * size,-1 * size,0,0,1 * size,0,'Right Hip')
    LH = joint(chr.Torso,chr:findFirstChild('Left Leg'),-0.5 * size,-1 * size,0,0,1 * size,0,'Left Hip')
    t = tick()
    RSC0 = RS.C0
    LSC0 = LS.C0
    RHC0 = RH.C0
    LHC0 = LH.C0
    RJC0 = RJ.C0
    NKC0 = NK.C0
    themetime = theme.TimePosition
    theme = Instance.new("Sound")
    theme.SoundId = "rbxassetid://5341713393"
    theme.Volume = 1.25
    theme.TimePosition = themetime
    theme.Parent = root
    theme:Play()
    healthgui = Instance.new("BillboardGui")
    healthgui.Adornee = root
    healthgui.Name = "healthbar"
    healthgui.Size = UDim2.new(3,0,2.5,0)
    healthgui.StudsOffset = Vector3.new(-3,5,0)
    healthgui.Parent = root
    damagebar = Instance.new("Frame")
    damagebar.Size = UDim2.new(3,0,.5,0)
    damagebar.BackgroundColor3 = Color3.fromRGB(255,47,47)
    damagebar.BorderColor3 = Color3.fromRGB(163,60,65)
    damagebar.Position = UDim2.new(0,0,0,0)
    damagebar.Parent = healthgui
    healthbar = Instance.new("Frame")
    healthbar.Size = UDim2.new(hum.Health / hum.MaxHealth,0,1,0)
    healthbar.BackgroundColor3 = Color3.fromRGB(99,254,147)
    healthbar.BorderColor3 = Color3.fromRGB(58,138,97)
    healthbar.Parent = damagebar
    namegui = Instance.new("BillboardGui")
    namegui.Adornee = root
    namegui.Name = "nametext"
    namegui.Size = UDim2.new(2.5,0,1.5,0)
    namegui.StudsOffset = Vector3.new(-1.75,7.5,0)
    namegui.Parent = root
    local nametext = Instance.new("TextBox")
    nametext.Size = UDim2.new(2.5,0,1.5,0)
    nametext.BackgroundTransparency = 1
    nametext.TextStrokeTransparency = 0
    nametext.TextScaled = true
    nametext.TextWrapped = true
    nametext.Font = "Arcade"
    nametext.TextColor3 = Color3.new(1,1,1)
    nametext.TextStrokeColor3 = Color3.new()
    nametext.Text = "John Bomb"
    nametext.Parent = namegui
    local healthtext = Instance.new("TextBox")
    healthtext.Size = UDim2.new(1.5,0,.5,0)
    healthtext.BackgroundTransparency = 1
    healthtext.TextStrokeTransparency = 0
    healthtext.TextScaled = true
    healthtext.TextWrapped = true
    healthtext.Font = "Arcade"
    healthtext.TextColor3 = Color3.new(1,1,1)
    healthtext.TextStrokeColor3 = Color3.new()
    healthtext.Text = "0"
    healthtext.TextXAlignment = "Left"
    healthtext.Parent = healthgui
    chatgui = Instance.new("BillboardGui")
    chatgui.Adornee = root
    chatgui.Name = "nametext"
    chatgui.Size = UDim2.new(10,0,4,0)
    chatgui.StudsOffset = Vector3.new(0,3,0)
    chatgui.Parent = root
    chatbase = Instance.new("Frame")
    chatbase.Size = UDim2.new(1,0,0.75,0)
    chatbase.BackgroundColor3 = Color3.fromRGB(35,35,35)
    chatbase.BorderSizePixel = 0
    chatbase.Position = UDim2.new(0,0,.5,0)
    chatbase.BackgroundTransparency = 1
    chatbase.Parent = chatgui
    johnimage = Instance.new("ImageLabel")
    johnimage.Size = UDim2.new(.25,0,.625,0)
    johnimage.BackgroundTransparency = 1
    johnimage.BorderSizePixel = 0
    johnimage.Position = UDim2.new(.025,0,.575,0)
    johnimage.Image = "rbxassetid://5637804418"
    johnimage.ZIndex = 2
    johnimage.ImageTransparency = 1
    johnimage.Parent = chatgui
    johnimagebackground = Instance.new("Frame")
    johnimagebackground.Size = UDim2.new(.265,0,0.65,0)
    johnimagebackground.BackgroundColor3 = Color3.fromRGB(35,35,35)
    johnimagebackground.BorderSizePixel = 0
    johnimagebackground.Position = UDim2.new(.0175,0,.55,0)
    johnimagebackground.ZIndex = 1
    johnimagebackground.BackgroundTransparency = 1
    johnimagebackground.Parent = chatgui
    chatnametext = Instance.new("TextBox")
    chatnametext.Size = UDim2.new(.5,0,.2,0)
    chatnametext.BackgroundTransparency = 1
    chatnametext.TextStrokeTransparency = 1
    chatnametext.TextScaled = true
    chatnametext.TextWrapped = true
    chatnametext.Font = "Arcade"
    chatnametext.TextColor3 = Color3.new(1,1,1)
    chatnametext.TextStrokeColor3 = Color3.new()
    chatnametext.Text = "- JOHN BOMB -"
    chatnametext.Position = UDim2.new(.3,0,.5,0)
    chatnametext.TextTransparency = 1
    chatnametext.Parent = chatgui
    chattext = Instance.new("TextBox")
    chattext.Size = UDim2.new(.6,0,.5,0)
    chattext.BackgroundTransparency = 1
    chattext.TextStrokeTransparency = 1
    chattext.TextScaled = true
    chattext.TextWrapped = true
    chattext.Font = "Arcade"
    chattext.TextColor3 = Color3.new(1,1,1)
    chattext.TextStrokeColor3 = Color3.new()
    chattext.Text = ''
    chattext.Position = UDim2.new(.3,0,.65,0)
    chattext.TextTransparency = 1
    chattext.TextXAlignment = "Left"
    chattext.Parent = chatgui
    hum.BreakJointsOnDeath = false
    hum.Died:connect(function()
        Death()
    end)
    dead = true
    animMove = false
    action = 'Death1'
    wait(.0625)
    action = 'Death2'
    wait(.0625)
    action = 'Death3'
    wait(.0625)
    action = 'Death4'
    wait(.2)
    action = 'Death5'
    wait(.009)
    action = 'Death6'
    wait(.009)
    action = 'Death7'
    wait(.4)
    action = 'Death8'
    wait(.075)
    action = 'Death9'
    wait(.05)
    action = 'Death10'
    wait(.05)
    action = 'Death11'
    wait(.05)
    action = 'Death12'
    wait(.05)
    action = 'Death13'
    wait(.05)
    action = 'Death14'
    wait(.025)
    action = 'Death15'
    wait(.025)
    action = 'Death16'
    Tween(theme,{Volume = 0},TweenInfo.new(1,Enum.EasingStyle.Sine))
    wait(1)
    chat("NO!! It can't end like this!! I can't end like this!!... At least... I'm going out with a bang...")
end
function rage()
    if dead == false then
        ragemode = true
        Tween(theme,{Volume = 0},TweenInfo.new(0.5,Enum.EasingStyle.Sine))
        wait(.5)
        theme:Stop()
        theme.SoundId = "rbxassetid://5341713393"
        theme.Volume = 1.25
        wait(.25)
        chat("Alright... I've really enjoyed our time here, but I've got games to destroy!")
        theme:Play()
    end
end
game:service'RunService'.Heartbeat:connect(function()
    t=t+0.5
    size = chr.Torso.Size.Z
    if hum.Health < 2500 and ragemode == false then
        rage()
    end
    healthbar.Size = UDim2.new(hum.Health / hum.MaxHealth,0,1,0)
    healthtext.Text = math.floor(hum.Health)
    local tv = (root.Velocity*Vector3.new(1,0,1)).Magnitude
	local onfloor = workspace:FindPartOnRay(Ray.new(root.Position,CFrame.new(root.Position,root.Position-Vector3.new(0,1 * size,0)).lookVector*4),chr)
	exactVel = CFrame.new(root.CFrame:vectorToObjectSpace(root.Velocity))
	vel = Vector3.new(math.clamp(exactVel.x,-16,16),math.clamp(exactVel.y,-16,16),math.clamp(exactVel.z,-16,16))
	if animMove then
		if hum:GetState() ~= Enum.HumanoidStateType.Climbing then
			if not hum.Sit then
				if root.Velocity.Y > .1 then
					if onfloor == nil then
						action = 'Jump'
					end
				elseif root.Velocity.Y < -.1 then
					if onfloor == nil then
						action = 'Fall'
					end
				else
					if tv > .1 then
						if tv < 34 then
							action = 'Walk'
						elseif tv > 34 then
							action = 'Run'
						end
				    elseif tv < .1 then
				        action = 'Idle'
					end
				end
			else
				action = 'Sit'
			end
		else
			if math.abs(root.Velocity.Y) > .1 then
				action = 'Climb'
			else
				action = 'Where is the funny!!!!!'
			end
		end
	end
	if action == 'Idle' then
		RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.new(0,math.cos(t/10.5)/15 * size,0) * CFrame.Angles(0,-math.rad(20),0),.3)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(math.cos(t/12)/12,math.rad(20),math.cos(t/12)/12),.3)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.Angles(math.cos(t/9)/6,math.rad(5),-math.cos(t/9)/6),.3)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.Angles(math.cos(t/9)/6,-math.rad(5),math.cos(t/9)/6),.3)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.new(0,-math.cos(t/10.5)/15 * size,0) * CFrame.Angles(0,-math.rad(15) + -math.sin(t/10.5)/18,0),.3)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.new(0,-math.cos(t/10.5)/15 * size,0) * CFrame.Angles(0,math.rad(15) + math.sin(t/10.5)/18,0),.3)
	elseif action == 'Walk' then
		RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.new(0,math.cos(t/1.5)/10 * size,0) * CFrame.Angles(math.rad(5) + math.sin(t/1.5)/20 + (vel.z/84),0,(-vel.x/84)),.3)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(0,(-vel.x/48),0),.3)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.Angles((-vel.x/36) + -math.sin(t/3)/2 * (-vel.z/12),-math.sin(t/3)/2 * (-vel.z/12),-math.sin(t/3)/4 * (vel.x/12)),.3)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.Angles((vel.x/36) + math.sin(t/3)/2 * (-vel.z/12),-math.sin(t/3)/2 * (-vel.z/12),math.sin(t/3)/4 * (vel.x/12)),.3)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.new(0,math.cos(t/3)/5 * size,-math.sin(t/3)/8 * (-vel.z/12) * size) * CFrame.Angles(math.sin(t/3)/2 * (-vel.z/12),0,math.rad(3) + math.sin(t/3)/2 * (vel.x/12)),.3)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.new(0,-math.cos(t/3)/5 * size,math.sin(t/3)/8 * (-vel.z/12) * size) * CFrame.Angles(-math.sin(t/3)/2 * (-vel.z/12),0,-math.rad(3) + -math.sin(t/3)/2 * (vel.x/12)),.3)
	elseif action == 'Run' then
		RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.new(0,math.cos(t/1.25)/10 * size,0) * CFrame.Angles(math.sin(t/1.25)/10 + (vel.z/60),-math.sin(t/2.5)/10,(-vel.x/60) + -math.sin(t/2.5)/25),.3)
        NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles((-vel.z/72),(-vel.x/60) + math.sin(t/2.5)/10,0),.3)
        RS.C0 = RS.C0:Lerp(RSC0 * CFrame.Angles(math.rad(30) + -math.sin(t/2.5)/2 * (-vel.z/12),math.sin(t/2.5)/2 * (vel.z/12),math.rad(15) + -math.sin(t/2.5)/3 * (vel.x/12)),.1)
        LS.C0 = LS.C0:Lerp(LSC0 * CFrame.Angles(math.rad(30) + math.sin(t/2.5)/2 * (-vel.z/12),math.sin(t/2.5)/2 * (vel.z/12),-math.rad(15) + math.sin(t/2.5)/3 * (vel.x/12)),.1)
        RH.C0 = RH.C0:Lerp(RHC0 * CFrame.new(0,math.cos(t/2.5)/3 * size,-.1 + -math.cos(t/2.5)/3) * CFrame.Angles(math.sin(t/2.5)/2 * (-vel.z/12),0,math.rad(5) + math.sin(t/2.5)/2 * (vel.x/12)),.3)
        LH.C0 = LH.C0:Lerp(LHC0 * CFrame.new(0,-math.cos(t/2.5)/3 * size,-.1 + math.cos(t/2.5)/3) * CFrame.Angles(-math.sin(t/2.5)/2 * (-vel.z/12),0,-math.rad(5) + -math.sin(t/2.5)/2 * (vel.x/12)),.3)
	elseif action == 'Jump' then
		RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.Angles(math.rad(10),0,0),.5)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(-math.rad(15),0,0),.5)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.Angles(-math.rad(20) + -math.cos(t/3)/5,0,math.rad(10) + -math.sin(t/3)/5),.1)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.Angles(-math.rad(20) + -math.cos(t/3)/5,0,-math.rad(10) + math.sin(t/3)/5),.1)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.new(0,.5 * size,-.3 * size) * CFrame.Angles(-math.rad(10) + math.sin(t/3)/12.5,-math.rad(7),math.rad(2) + math.cos(t/3)/17.5),.2)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.new(0,0,-.1 * size) * CFrame.Angles(-math.rad(25) + math.cos(t/3)/12.5,math.rad(5),-math.rad(5) + math.cos(t/3)/12.5),.2)
	elseif action == 'Fall' then
		RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.Angles(-math.rad(5),0,0),.5)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(-math.rad(10),0,0),.5)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.new(0,.25 * size,0) * CFrame.Angles(0,0,math.rad(40) + -math.sin(t/3)/25),.1)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.new(0,.25 * size,0) * CFrame.Angles(0,0,-math.rad(40) + math.sin(t/3)/25),.1)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.new(0,.5 * size,-.3 * size) * CFrame.Angles(math.rad(5) + math.sin(t/3)/25,-math.rad(7),math.rad(2) + math.cos(t/3)/30),.2)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.new(0,0,-.1 * size) * CFrame.Angles(-math.rad(25) + math.cos(t/3)/25,math.rad(5),-math.rad(5) + math.cos(t/3)/25),.2)
	elseif action == 'Sit' then
		RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.Angles(math.rad(5),0,0),.5)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(-math.rad(2),0,0),.5)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.new(-.15,.25 * size,.25 * size) * CFrame.Angles(-math.rad(160),math.rad(15),-math.rad(45)),.1)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.new(.15,.25 * size,.25 * size) * CFrame.Angles(-math.rad(160),-math.rad(15),math.rad(45)),.1)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.new(.5 * size,.35 * size,-.75 * size) * CFrame.Angles(math.rad(70),0,-math.rad(75)),.5)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.Angles(math.rad(65),0,0),.5)
	elseif action == 'Climb' then
		RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.new(0,0,.2 * size) * CFrame.Angles(math.rad(10),0,math.sin(t/3)/10),.3)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(math.rad(45),0,0),.3)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.new(0,-math.cos(t/3)/2 * size,0) * CFrame.Angles(math.rad(135) + -math.cos(t/3)/2,0,math.rad(10) + -math.sin(t/3)/5),.3)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.new(0,math.cos(t/3)/2 * size,0) * CFrame.Angles(math.rad(135) + math.cos(t/3)/2,0,-math.rad(10) + math.sin(t/3)/5),.3)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.new(0,.5 + math.cos(t/3)/2 * size,-.2 * size) * CFrame.Angles(math.cos(t/3)/2,-math.rad(5),math.rad(10) + -math.cos(t/3)/10),.3)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.new(0,.5 + -math.cos(t/3)/2 * size,-.2 * size) * CFrame.Angles(-math.cos(t/3)/2,math.rad(5),-math.rad(10) + math.cos(t/3)/10),.3)
	elseif action == 'ThrowA' then
	    RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.Angles(math.rad(5),0,math.rad(5)),.5)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(math.rad(15),math.rad(10),0),.2)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.Angles(math.rad(85),math.rad(10),math.rad(5)),.2)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.new(0,.35 * size,0) * CFrame.Angles(math.rad(195),-math.rad(10),-math.rad(15)),.2)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.new(0,.35 * size,-.3 * size) * CFrame.Angles(-math.rad(10),0,math.rad(5)),.3)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.Angles(-math.rad(5),0,-math.rad(5)),.3)
	elseif action == 'ThrowB' then
	    RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.new(0,-.2 * size,0) * CFrame.Angles(-math.rad(15),0,0),.5)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(math.rad(15),0,0),.3)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.Angles(-math.rad(15),-math.rad(10),math.rad(15)),.3)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.new(.75 * size,0,-.75 * size) * CFrame.Angles(math.rad(25),math.rad(15),math.rad(65)),.4)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.Angles(-math.rad(35),0,math.rad(5)),.3)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.new(0,.2 * size,0) * CFrame.Angles(math.rad(10),0,0),.3)
	elseif action == 'ExplodeA' then
	    RJ.C0 = RJ.C0:Lerp(RJC0,.5)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(0,0,math.rad(15)),.3)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.Angles(math.rad(180),0,math.rad(25)),.5)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.Angles(0,0,-math.rad(15)),.3)
		RH.C0 = RH.C0:Lerp(RHC0,.3)
		LH.C0 = LH.C0:Lerp(LHC0,.3)
    elseif action == 'ExplodeB' then
        RJ.C0 = RJ.C0:Lerp(RJC0,.5)
		NK.C0 = NK.C0:Lerp(NKC0,.3)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.Angles(math.rad(180),0,-math.rad(25)),.5)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.Angles(0,0,-math.rad(25)),.4)
		RH.C0 = RH.C0:Lerp(RHC0,.3)
		LH.C0 = LH.C0:Lerp(LHC0,.3)
	elseif action == 'SwingA' then
	    RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.Angles(0,math.rad(35),0),.3)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(0,-math.rad(35),0),.3)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.new(-.5,0,-.5) * CFrame.Angles(math.rad(45),math.rad(15),-math.rad(65)),.3)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.Angles(-math.rad(10),math.rad(5),-math.rad(15)),.4)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.Angles(0,0,-math.rad(3)),.3)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.Angles(0,0,-math.rad(10)),.3)
	elseif action == 'SwingB' then
	    RJ.C0 = RJ.C0:Lerp(RJC0 * CFrame.Angles(0,-math.rad(15),0),.5)
		NK.C0 = NK.C0:Lerp(NKC0 * CFrame.Angles(0,math.rad(10),0),.5)
		RS.C0 = RS.C0:Lerp(RSC0 * CFrame.Angles(math.rad(55),math.rad(10),math.rad(15)),.5)
		LS.C0 = LS.C0:Lerp(LSC0 * CFrame.Angles(-math.rad(25),math.rad(15),-math.rad(25)),.4)
		RH.C0 = RH.C0:Lerp(RHC0 * CFrame.Angles(0,-math.rad(5),0),.4)
		LH.C0 = LH.C0:Lerp(LHC0 * CFrame.Angles(-math.rad(15),math.rad(3),-math.rad(5)),.4)
	end
	throwbomb()
end)
hum.Died:connect(function()
    Death()
end)
local remote = Instance.new('RemoteEvent')
remote.Name = "Keybinds"
remote.Parent = NLS([[local event = script:findFirstChild'Keybinds'
local mouse = owner:GetMouse()
mouse.Button1Down:connect(function()
    event:FireServer("mouse")
end)
mouse.KeyDown:connect(function(key)
    event:FireServer(key)
end)]],owner.PlayerGui)
remote.OnServerEvent:connect(function(plr,key)
    if key == "mouse" then
        throwbomb()
    elseif key == "x"  then
        headexplode()
    elseif key == "z"  then
        swingracket()
    end
end)
INFO