-- ceat_ceat
-- original https://pastebin.com/0kCycv8u
owner = owner
NLS = NLS or require(13482937602)()
warn("isa tool by ceat_ceat")
local owner = owner or game:GetService("Players"):GetPlayerFromCharacter(script.Parent)
if not owner then return end
--------------------------------------------------------------------------------
local runservice = game:GetService("RunService")
local tweenservice = game:GetService("TweenService")
local debris = game:GetService("Debris")
--------------------------------------------------------------------------------
local BG_FPS = 30
local SHEET_WIDTH = 3
local SHEET_HEIGHT = 4
local BG_SHEETS = {
11354963244,
11354964204,
11354965754,
11354966418,
11354967097,
11354967782,
11354968803,
11354969665,
11354970429,
11354971277,
11354972023,
11354972637,
11354973735,
11354975010,
11354975782,
11354976600,
11354977328,
11354978770,
11354979309,
11354980140,
11354981363,
11354982342,
11354983170,
11354985311,
11354986234,
11354987285,
11354988914,
11354989983,
11354991326,
11354992376,
11354993312,
11354994545,
11355005450,
11355006370,
11355007318,
11355007984,
11355009803,
11355014437,
11355021092,
11355021905,
11355023541,
11355024677,
11355028659,
11355030164,
11355031147,
11355031710,
11355032338,
11355034771,
11355035752
}
local DESCEND_TIME = 0.75
local DESCEND_FRAMES = {
11095004996,
11095004781,
11095004558,
11095004330,
11095004170,
11095003957,
11095003744,
11095003559,
11095003386,
11095003204,
11095002940,
11095002722,
11095002486,
11095002272,
11095002048,
11095001746,
11095001539,
11095001367,
11095001197,
11095001057,
11095000849,
11095000641,
11095000456,
11095000299,
11095000182,
11094999975,
11094999754,
11094999571,
11094999346,
11094999188,
11094999033,
11094998825,
11094998601,
11094998382,
11094998179,
11094997963,
11094997792,
11094997571
}
local KO_FPS = 30
local KO_FRAMES = {
10862920972,
10862921809,
10862922668,
10862923555,
10862924793,
10862941831,
10862942751,
10862943639,
10862944641,
10862945542,
10862964867,
10862965882,
10862969327,
10862972756,
10862973801,
10862981387,
10862982208,
10862983200,
10862984100,
10862985248,
10863009434,
10863011066,
10863012152,
10863013221,
10863014920,
10863020966,
10863022697,
10863024820
}
-- { soundid, pitch }
local MUSIC = {
{ 13608974888, 1 },
{ 13609022752, 1 },
{ 13609152933, 0.5 }
}
-- { imageid, soundid, music, attacklabelcolor }
local LAYERS = {
{ 11536844696, 8765310014, MUSIC[1], Color3.new(1, 1, 1) },
{ 11536844555, 8765310560, MUSIC[1], Color3.new(0, 1, 0) },
{ 11536844386, 8765311234, MUSIC[1], Color3.new(0.2, 0.4, 1) },
{ 11536844211, 8765312042, MUSIC[1], Color3.new(1, 0, 1) },
{ 11536844060, 8765312392, MUSIC[2], Color3.new(1, 1, 0) },
{ 11536843409, 8765313042, MUSIC[2], Color3.new(1, 0, 0) },
{ 11536843284, 8765313651, MUSIC[2], "RAINBOW" },
{ 11536843179, 8765314189, MUSIC[3], "RAINBOW" }
}
local ATTACK_LABEL_FONT = Font.new("rbxasset://fonts/families/RomanAntique.json")
local ATTACK_LABEL_BG_COLORS = {
Color3.new(1, 0, 0),
Color3.new(0, 1, 1),
Color3.fromRGB(85, 85, 127),
Color3.fromRGB(255, 150, 0),
Color3.new(0, 0, 1),
Color3.new(1, 0, 1)
}
local ATTACK_LABEL_RAINBOW_CYCLE_TIME = 16
local ATTACK_PRESETS = {
Modern = {
"Instant Death Injury",
"Direct Death",
"State Manipulation",
"State Reversal",
"Soul Elimination",
"ExplodBreak",
"Character Disassembly",
"Character Elimination",
"Direct Elimination",
"Combined Elimination",
"Full Elimination",
"Amplified Character Elimination",
"Amplified Direct Elimination",
"Amplified Combined Elimination",
"Amplified Full Elimination",
"Amplified Full Elimination + System Removal",
"inf Applifed Throw",
"Fake Dgeradation",
"Mesh Degradation",
"Enforced Mesh Degradation",
"Full Mesh Degradation",
"Mesh ID Degradation",
"Direct Void Throw",
"Combined Void Throw",
"Fake Degradation Tampering",
"Mesh Degradation Tampering",
"Forced Mesh Degradation Tampering",
"Full Mesh Degradation Tampering",
"Forced Full Mesh Degradation Tampering",
"Mesh ID Degradation Tampering",
"Forced Mesh ID Degradation Tampering",
"Void Tampering Throw",
"Combined Void Tampering Throw",
"Forced Void Tampering Throw",
"Forced Combined Void Tampering Throw",
"Amplified Fake Degradation Tampering",
"Amplified Mesh Degradation Tampering",
"Amplified Forced Mesh Degradation Tampering",
"Amplified Enforced Mesh Degradation",
"Amplified Full Mesh Degradation Tampering",
"Amplified Forced Full Mesh Degradation Tampering",
"Amplified Mesh ID Degradation Tampering",
"Amplified Forced Mesh ID Degradation Tampering",
"Amplified Void Tampering Throw",
"Amplified Combined Void Tampering Throw",
"Amplified Forced Void Tampering Throw",
"Amplified Forced Combined Void Tampering Throw",
"HYPERDeath",
"HYPER F-Degradation",
"HYPERDegradation",
"HYPER E-Degradation",
"Full HYPERDegradation",
"ID HYPERDegradation",
"HYPERVoid",
"Combined HYPERVoid",
"Esoteric Elimination",
"Amplified Esoteric Elimination",
"PPE Obliteration",
"PERM Erasure",
"摧ける",
"Infinite Soulabyss"
},
Old = {
"Instant Damage",
"Fake Void Throw",
"Two-Fold Forced Mesh Degradation Tampering",
"砕けろ"
}
}
--------------------------------------------------------------------------------
local sheetframes = SHEET_WIDTH * SHEET_HEIGHT
local totalframes = #BG_SHEETS * sheetframes
local starttime = os.clock()
local tool = Instance.new("Tool")
tool.Name = "ISA"
local handle = Instance.new("Part", tool)
handle.Size = Vector3.new(16/2, 9/2, 1)
handle.Massless = true
handle.Name = "Handle"
local music = Instance.new("Sound", handle)
music.Looped = true
music.Volume = 1
music.SoundId = "rbxassetid://" .. MUSIC[1][1]
music.Pitch = MUSIC[1][2]
local surfacegui = Instance.new("SurfaceGui", handle)
surfacegui.ClipsDescendants = true
local bgcontainer = Instance.new("Frame", surfacegui)
bgcontainer.BackgroundTransparency = 1
bgcontainer.Size = UDim2.new(1, 0, 1, 0)
bgcontainer.ZIndex = 1
local descendcontainer = Instance.new("Frame", surfacegui)
descendcontainer.BackgroundTransparency = 1
descendcontainer.Size = UDim2.new(1, 0, 1, 0)
descendcontainer.Visible = false
descendcontainer.ZIndex = 2
local kocontainer = Instance.new("Frame", surfacegui)
kocontainer.BackgroundTransparency = 1
kocontainer.Size = UDim2.new(1, 0, 1, 0)
kocontainer.Visible = false
kocontainer.ZIndex = 3
local attacklabelbackground = Instance.new("ImageLabel", surfacegui)
attacklabelbackground.BackgroundTransparency = 1
attacklabelbackground.Position = UDim2.new(0, 0, 0.15, 0)
attacklabelbackground.Size = UDim2.new(1, 0, 0.15, 0)
attacklabelbackground.Image = "rbxassetid://11096220259"
attacklabelbackground.Visible = false
attacklabelbackground.ZIndex = 2
local attacklabel = Instance.new("TextLabel", attacklabelbackground)
attacklabel.AnchorPoint = Vector2.new(0.5, 0.5)
attacklabel.BackgroundTransparency = 1
attacklabel.Position = UDim2.new(0.5, 0, 0.45, 0)
attacklabel.Size = UDim2.new(0.9, 0, 0.9, 0)
attacklabel.FontFace = ATTACK_LABEL_FONT
attacklabel.TextColor3 = Color3.new(1, 1, 1)
attacklabel.TextScaled = true
attacklabel.ZIndex = 2
local flash = Instance.new("Frame", surfacegui)
flash.Size = UDim2.new(1, 0, 1, 0)
flash.Visible = false
flash.ZIndex = 3
local bgsheets = {}
local descendframes = {}
for i, frameid in next, BG_SHEETS do
local image = Instance.new("ImageLabel", bgcontainer)
image.Image = "rbxassetid://" .. frameid
image.Size = UDim2.new(SHEET_WIDTH, 0, SHEET_HEIGHT, 0)
image.Visible = false
bgsheets[i] = image
end
for i, frameid in next, DESCEND_FRAMES do
local image = Instance.new("ImageLabel", descendcontainer)
image.Image = "rbxassetid://" .. frameid
image.Size = UDim2.new(1, 0, 1, 0)
image.Visible = false
descendframes[i] = image
end
for i, frameid in next, KO_FRAMES do
local image = Instance.new("ImageLabel", kocontainer)
image.BackgroundTransparency = 1
image.Image = "rbxassetid://" .. frameid
image.Size = UDim2.new(1, 0, 1, 0)
image.Visible = false
image.Name = i
end
local loadercontainer = Instance.new("Model", tool)
local loadplease = Instance.new("Part", loadercontainer)
loadplease.Anchored = true
loadplease.CanCollide = false
loadplease.CanTouch = false
loadplease.CanQuery = false
loadplease.CFrame = CFrame.new(0, 20, 0)
loadplease.Size = Vector3.zero
loadplease.Transparency = 1
local loaderscreengui = surfacegui:Clone()
loaderscreengui.Parent = loadplease
for _, frame in loaderscreengui:GetDescendants() do
frame.Visible = true
end
-------------------------------------------------------------------------------
local isdescending = false
local touched
local currentlayer = 0
local currentsong = MUSIC[1]
local lastlaughtime = workspace.DistributedGameTime
local function ko()
local laugh = Instance.new("Sound", handle)
laugh.SoundId = "rbxassetid://8765309507"
laugh.Volume = 3
laugh:Play()
debris:AddItem(laugh, 2.1)
local attacksound = Instance.new("Sound", handle)
attacksound.SoundId = "rbxassetid://9060378036"
attacksound.Volume = 4
attacksound:Play()
debris:AddItem(attacksound, 2)
local container = kocontainer:Clone()
local frames = {}
for i in next, container:GetChildren() do
frames[i] = container:FindFirstChild(tostring(i))
end
container.Parent = surfacegui
container.Visible = true
task.spawn(function()
flash.BackgroundColor3 = Color3.new(1, 0, 0)
for i = 1, 2 do
flash.Visible = true
task.wait(0.075)
flash.Visible = false
task.wait(0.075)
end
end)
for i, frame in next, frames do
if i ~= 1 then
frames[i - 1].Visible = false
end
frame.Visible = true
task.wait(1/KO_FPS)
end
task.wait(1)
container:Destroy()
end
local function ontouched(hit)
if not hit:IsDescendantOf(tool.Parent) and not hit:IsDescendantOf(tool.Parent) and math.max(hit.Size.X, hit.Size.Y, hit.Size.Z) < 100 then
pcall(game.Destroy, hit)
if workspace.DistributedGameTime - lastlaughtime > 0.2 then
lastlaughtime = workspace.DistributedGameTime
ko()
end
end
end
tool.Equipped:Connect(function(mouse)
local chr = tool.Parent
touched = handle.Touched:Connect(ontouched)
local genesis = Instance.new("Sound", handle)
genesis.SoundId = "rbxassetid://8765309012"
genesis.TimePosition = 1
genesis.Volume = 3
genesis:Play()
debris:AddItem(genesis, 2.5)
music.Playing = true
end)
tool.Unequipped:Connect(function()
if touched then
touched:Disconnect()
end
local death = Instance.new("Sound", handle)
death.SoundId = "rbxassetid://8765308354"
death.Volume = 3
death:Play()
debris:AddItem(death, 2)
music.Playing = false
end)
tool.Activated:Connect(function()
if isdescending then return end
isdescending = true
descendcontainer.Visible = true
local descendsound = Instance.new("Sound", handle)
descendsound.SoundId = "rbxassetid://9060399229"
descendsound.Volume = 4
descendsound:Play()
debris:AddItem(descendsound, 2)
local descendtime = os.clock()
repeat
task.wait()
local frame = math.ceil((os.clock() - descendtime)/DESCEND_TIME*#descendframes)
for i, image in next, descendframes do
image.Visible = frame == i
end
until os.clock() - descendtime >= DESCEND_TIME
descendcontainer.Visible = false
isdescending = false
currentlayer = currentlayer + 1
if currentlayer > #LAYERS then
currentlayer = 1
end
local layer = LAYERS[currentlayer]
local layerimage = Instance.new("ImageLabel")
layerimage.AnchorPoint = Vector2.new(0.5, 0.5)
layerimage.BackgroundTransparency = 1
layerimage.Position = UDim2.new(0.5, 0, 0.5, 0)
layerimage.Size = UDim2.new(0, 150, 0, 150)
layerimage.Image = "rbxassetid://" .. layer[1]
layerimage.ScaleType = Enum.ScaleType.Fit
layerimage.ZIndex = 5
layerimage.Parent = surfacegui
tool.TextureId = "rbxassetid://" .. layer[1]
tweenservice:Create(layerimage, TweenInfo.new(1), { ImageTransparency = 1 }):Play()
debris:AddItem(layerimage, 1)
local voiceline = Instance.new("Sound", handle)
voiceline.SoundId = "rbxassetid://" .. layer[2]
voiceline.Volume = 4
voiceline:Play()
debris:AddItem(voiceline, 5)
local attacksound = Instance.new("Sound", handle)
attacksound.SoundId = "rbxassetid://9060378036"
attacksound.Volume = 4
attacksound:Play()
debris:AddItem(attacksound, 2)
local newlabelcolor = layer[4]
if newlabelcolor == "RAINBOW" then
attacklabel.TextColor3 = Color3.fromHSV((workspace.DistributedGameTime/ATTACK_LABEL_RAINBOW_CYCLE_TIME)%1, 0.8, 1)
else
attacklabel.TextColor3 = newlabelcolor
end
if layer[3] ~= currentsong then
currentsong = layer[3]
music.SoundId = "rbxassetid://" .. currentsong[1]
music.Pitch = currentsong[2]
music.TimePosition = 0
end
flash.BackgroundColor3 = Color3.new(1, 1, 1)
for i = 1, 2 do
flash.Visible = true
task.wait(0.075)
flash.Visible = false
task.wait(0.075)
end
end)
-------------------------------------------------------------------------------
-- attack label input
-------------------------------------------------------------------------------
function newattacklabel(labelclass)
local bg = Instance.new("ImageLabel")
bg.BackgroundTransparency = 1
bg.Size = UDim2.new(0, 100, 0, 30)
bg.Image = "rbxassetid://11096220259"
local button = Instance.new(labelclass, bg)
button.AnchorPoint = Vector2.new(0.5, 0.5)
button.BackgroundTransparency = 1
button.Position = UDim2.new(0.5, 0, 0.45, 0)
button.Size = UDim2.new(1, 0, 0.9, 0)
button.FontFace = ATTACK_LABEL_FONT
button.TextColor3 = Color3.new(1, 1, 1)
button.TextSize = 20
button.Name = "Label"
return bg
end
local screengui = Instance.new("ScreenGui")
local remoteevent = Instance.new("RemoteEvent", screengui)
remoteevent.Name = "SETATTACKNAME"
local inputcontainer = Instance.new("Frame", screengui)
inputcontainer.AnchorPoint = Vector2.new(1, 1)
inputcontainer.BackgroundTransparency = 1
inputcontainer.Position = UDim2.new(1, 0, 1, 0)
inputcontainer.Size = UDim2.new(0, 100, 0, 100)
local inputuilist = Instance.new("UIListLayout", inputcontainer)
inputuilist.Padding = UDim.new(0, 5)
inputuilist.FillDirection = Enum.FillDirection.Horizontal
inputuilist.HorizontalAlignment = Enum.HorizontalAlignment.Right
inputuilist.SortOrder = Enum.SortOrder.LayoutOrder
inputuilist.VerticalAlignment = Enum.VerticalAlignment.Bottom
function createselector(name, layoutorder, list)
local bg = newattacklabel("TextButton")
bg.LayoutOrder = layoutorder
bg.Label.Text = name
bg.Label.Name = "Opener"
local frame = Instance.new("ScrollingFrame", bg)
frame.AnchorPoint = Vector2.new(0, 1)
frame.BackgroundTransparency = 1
frame.BorderSizePixel = 0
frame.Position = UDim2.new(0, 0, 0, -2)
frame.Size = UDim2.new(1, 0, 10, 0)
frame.ScrollBarThickness = 0
frame.AutomaticCanvasSize = Enum.AutomaticSize.Y
frame.Visible = false
local uilistlayout = Instance.new("UIListLayout", frame)
uilistlayout.SortOrder = Enum.SortOrder.Name
uilistlayout.Padding = UDim.new(0, 2)
for _, attackname in next, list do
local attackbg = newattacklabel("TextButton")
attackbg.Name = attackname
attackbg.Label.Text = attackname
attackbg.Label.TextScaled = true
attackbg.Label.Name = "Preset"
local padding = Instance.new("UIPadding", attackbg.Preset)
padding.PaddingLeft = UDim.new(0, 10)
padding.PaddingRight = UDim.new(0, 10)
attackbg.Parent = frame
end
return bg
end
local inputbox = newattacklabel("TextBox")
inputbox.AutomaticSize = Enum.AutomaticSize.X
inputbox.Size = UDim2.new(0, 200, 0, 30)
inputbox.Label.AnchorPoint = Vector2.new(0, 0.5)
inputbox.Label.AutomaticSize = Enum.AutomaticSize.X
inputbox.Label.ClearTextOnFocus = false
inputbox.Label.Position = UDim2.new(0, 0, 0.45, 0)
inputbox.Label.PlaceholderColor3 = Color3.fromRGB(178, 178, 178)
inputbox.Label.PlaceholderText = "Input Attack Name"
inputbox.Label.Text = ""
local inputpadding = Instance.new("UIPadding", inputbox.Label)
inputpadding.PaddingLeft = UDim.new(0, 20)
inputpadding.PaddingRight = UDim.new(0, 20)
inputbox.Label.Name = "TextBox"
inputbox.Name = "InputBox"
inputbox.LayoutOrder = 3
inputbox.Parent = inputcontainer
createselector("Presets", 2, ATTACK_PRESETS.Modern).Parent = inputcontainer
createselector("Old Presets", 1, ATTACK_PRESETS.Old).Parent = inputcontainer
remoteevent.OnServerEvent:Connect(function(_, text)
if typeof(text) ~= "string" then
return
end
if text == "" then
attacklabelbackground.Visible = false
if workspace.DistributedGameTime - lastlaughtime > 0.2 then
lastlaughtime = workspace.DistributedGameTime
ko()
end
return
end
attacklabelbackground.Visible = true
attacklabel.Text = text
local attackflash = flash:Clone()
attackflash.BackgroundColor3 = Color3.new(1, 1, 1)
attackflash.Visible = true
attackflash.Parent = surfacegui
tweenservice:Create(attackflash, TweenInfo.new(0.5), {
BackgroundTransparency = 1
}):Play()
debris:AddItem(attackflash, 0.5)
local attacksound = Instance.new("Sound", handle)
attacksound.SoundId = "rbxassetid://9060378036"
attacksound.Volume = 4
attacksound:Play()
debris:AddItem(attacksound, 2)
end)
task.spawn(NLS, [[
local screengui = script.Parent
local remoteevent = screengui:WaitForChild("SETATTACKNAME")
local container = screengui:WaitForChild("Frame")
for _, inst in next, container:GetDescendants() do
if inst.Name == "Opener" then
local frame = inst.Parent.ScrollingFrame
inst.MouseButton1Click:Connect(function()
frame.Visible = not frame.Visible
end)
elseif inst.Name == "Preset" then
local text = inst.Text
inst.MouseButton1Click:Connect(function()
remoteevent:FireServer(text)
end)
end
end
local inputbox = container:WaitForChild("InputBox"):WaitForChild("TextBox")
inputbox.FocusLost:Connect(function()
remoteevent:FireServer(inputbox.Text)
end)
]], screengui)
screengui.Parent = owner:FindFirstChildOfClass("PlayerGui")
-------------------------------------------------------------------------------
tool.Parent = owner:FindFirstChildOfClass("Backpack") or Instance.new("Backpack", owner)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
local waittime = 1/BG_FPS
local sheetidx = 1
local tileidx = 0
local attackbgcoloridx = 0
local nextattacklabeltweentime = 0
local prevsheet
while tool:IsDescendantOf(game) do
if prevsheet then
prevsheet.Visible = false
end
if sheetidx > #bgsheets then
sheetidx = 1
end
local sheet = bgsheets[sheetidx]
sheet.Visible = true
prevsheet = sheet
for y = 0, 3 do
for x = 0, 2 do
tileidx = tileidx + 1
sheet.Position = UDim2.new(-x, 0, -y, 0)
sheet.ImageColor3 = Color3.fromHSV(tileidx / totalframes % 1, 0.75, 1)
if LAYERS[currentlayer] and LAYERS[currentlayer][4] == "RAINBOW" then
attacklabel.TextColor3 = Color3.fromHSV((workspace.DistributedGameTime/ATTACK_LABEL_RAINBOW_CYCLE_TIME)%1, 0.8, 1)
end
if workspace.DistributedGameTime > nextattacklabeltweentime then
attackbgcoloridx = attackbgcoloridx + 1
if attackbgcoloridx > #ATTACK_LABEL_BG_COLORS then
attackbgcoloridx = 1
end
local duration = math.random(2, 4)
tweenservice:Create(attacklabelbackground, TweenInfo.new(duration), {
ImageColor3 = ATTACK_LABEL_BG_COLORS[attackbgcoloridx]
}):Play()
nextattacklabeltweentime = workspace.DistributedGameTime + duration * 1.25
end
loadplease.CFrame = handle.CFrame * CFrame.new(0, 0, -0.6)
task.wait(waittime)
end
end
sheetidx = sheetidx + 1
end