ayin secret ui(no longer working on since zenith died)
Key Required

ayin secret ui(no longer working on since zenith died)

Tuantu's lobotomization branchesprojectmoonsuperfanprojectmoonsuperfan 9.7K views 297 executesUpdated Nov 4, 2025
5.0/ 5(8 votes)
80100% Positive
Lua Script•605 lines (24836 chars)
local Players = game:GetService('Players')
if #Players:GetPlayers() > 1 then
    Players.LocalPlayer:Kick("stop using this in public.")
    return
end
Players.PlayerAdded:Connect(function()
    if #Players:GetPlayers() > 1 then
        Players.LocalPlayer:Kick("am not letting you ruin other ppl fun anymore.")
    end
end)

local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Window = Rayfield:CreateWindow({Name = 'ayin work ui', LoadingTitle = 'loading'})
local Players = game:GetService('Players')
local RepStorage = game:GetService('ReplicatedStorage')
local LocalPlayer = Players.LocalPlayer
local function listChildren(folder)
	local t = {}
	if folder then
		for _, v in ipairs(folder:GetChildren()) do
			table.insert(t, v.Name)
		end
	end
	table.sort(t)
	return t
end
local function getFolder(root, ...)
	local cur = root
	for i = 1, select('#', ...) do
		local n = select(i, ...)
		if not cur then return nil end
		cur = cur:FindFirstChild(n)
	end
	return cur
end
local function normalizeSelected(v)
	if type(v) == 'string' then return v end
	if typeof(v) == 'Instance' then return v.Name end
	if type(v) == 'table' then
		if v[1] then return v[1] end
		if v.Name then return v.Name end
	end
	return tostring(v)
end
local function titleCase(s)
	if not s or #s == 0 then return '' end
	return string.upper(string.sub(s, 1, 1)) .. string.lower(string.sub(s, 2))
end
local function getAbnoNames()
	return listChildren(getFolder(workspace, 'Abnormalities'))
end
local function getTalentNames()
	return listChildren(getFolder(RepStorage, 'Assets', 'Talents'))
end
local abnoList = getAbnoNames()
local talentList = getTalentNames()
local selectedWork = 'Instinct'
local selectedTalentRaw = talentList[1] or ''
local selectedAbnos = {}
local Tab = Window:CreateTab('abno working')
Tab:CreateSection('Controls')
Tab:CreateSection('Select Abnormalities')
for _, abno in ipairs(abnoList) do
	Tab:CreateToggle({
		Name = abno,
		CurrentValue = false,
		Callback = function(Value)
			if Value then
				if not table.find(selectedAbnos, abno) then
					table.insert(selectedAbnos, abno)
				end
			else
				for i, v in ipairs(selectedAbnos) do
					if v == abno then
						table.remove(selectedAbnos, i)
						break
					end
				end
			end
		end,
	})
end
Tab:CreateButton({
	Name = 'Clear Selection',
	Callback = function()
		selectedAbnos = {}
	end,
})
Tab:CreateDropdown({
	Name = 'Work Type',
	Options = { 'Instinct', 'Insight', 'Attachment', 'Repression' },
	CurrentOption = selectedWork,
	Callback = function(opt)
		selectedWork = opt
	end,
})
Tab:CreateButton({
	Name = 'Work',
	Callback = function()
		pcall(function()
			if #selectedAbnos == 0 then return end
			local abnoRoot = getFolder(workspace, 'Abnormalities')
			if not abnoRoot then return end
			local remote = getFolder(RepStorage, 'Assets', 'RemoteEvents', 'WorkEvent')
			if not remote then return end
			local flavor = titleCase(normalizeSelected(selectedWork))
			for _, abnoName in ipairs(selectedAbnos) do
				local sel = normalizeSelected(abnoName)
				local abno = abnoRoot:FindFirstChild(sel)
				if abno then
					local wt = abno:FindFirstChild('WorkTablet')
					if wt then remote:FireServer(wt, flavor) end
				end
			end
		end)
	end,
})
local CardTab = Window:CreateTab('card selector')
CardTab:CreateSection('Talent')
CardTab:CreateDropdown({
	Name = 'Talent',
	Options = talentList,
	CurrentOption = selectedTalentRaw,
	Callback = function(opt)
		selectedTalentRaw = opt
	end,
})
CardTab:CreateButton({
	Name = 'Select card',
	Callback = function()
		pcall(function()
			local sel = normalizeSelected(selectedTalentRaw)
			if sel == '' then return end
			local remote = getFolder(RepStorage, 'Assets', 'RemoteEvents', 'SelectCardEvent')
			if not remote then return end
			remote:FireServer(sel)
		end)
	end,
})
local WeaponTab = Window:CreateTab('weapon mod')
WeaponTab:CreateSection('Hitbox Settings')
local hitboxSize = 10
WeaponTab:CreateInput({
	Name = 'Hitbox Size',
	PlaceholderText = '10',
	Callback = function(text)
		local v = tonumber(text)
		if v and v > 0 then hitboxSize = v end
	end,
})
local function applyHitboxToWeapon(tool)
    if tool and tool:IsA("Tool") then
        local anims = tool:FindFirstChild("Animations")
        if anims then
            local attackAnims = anims:FindFirstChild("AttackAnimations")
            if attackAnims then
                for _, animFolder in ipairs(attackAnims:GetChildren()) do
                    local hitboxValue = animFolder:FindFirstChild("HitboxSize")
                    if hitboxValue and hitboxValue:IsA("Vector3Value") then
                        hitboxValue.Value = Vector3.new(hitboxSize, hitboxSize, hitboxSize)
                    end
                end
            end
        end
    end
end
local function applyHitboxToAllWeapons()
	local character = LocalPlayer.Character
	if character then
		for _, child in ipairs(character:GetChildren()) do
			if child:IsA("Tool") then applyHitboxToWeapon(child) end
		end
	end
	local backpack = LocalPlayer:FindFirstChild("Backpack")
	if backpack then
		for _, child in ipairs(backpack:GetChildren()) do
			if child:IsA("Tool") then applyHitboxToWeapon(child) end
		end
	end
end
WeaponTab:CreateButton({
	Name = 'Apply Hitbox Size',
	Callback = function()
		applyHitboxToAllWeapons()
	end,
})
WeaponTab:CreateSection('Damage Settings')
local dmgMax = 1500
local dmgMin = 1500
WeaponTab:CreateInput({
	Name = 'Max Damage',
	PlaceholderText = '50',
	Callback = function(text)
		local v = tonumber(text)
		if v then dmgMax = v end
	end,
})
WeaponTab:CreateInput({
	Name = 'Min Damage',
	PlaceholderText = '50',
	Callback = function(text)
		local v = tonumber(text)
		if v then dmgMin = v end
	end,
})
WeaponTab:CreateSection('Attack Speed')
local attackSpeedValue = 5
local infiniteAttackSpeed = false
WeaponTab:CreateInput({
	Name = 'Attack Speed',
	PlaceholderText = '5',
	Callback = function(text)
		local v = tonumber(text)
		if v then attackSpeedValue = v end
	end,
})
local function setAttackSpeedValue(val)
	pcall(function()
		local units = workspace:WaitForChild('Units', 2)
		local playerUnit = units and units:FindFirstChild(LocalPlayer.Name)
		local charStats = playerUnit and playerUnit:FindFirstChild('CharStats')
		local attackSpeed = charStats and charStats:FindFirstChild('AttackSpeed')
		if attackSpeed then attackSpeed.Value = val end
	end)
end
WeaponTab:CreateToggle({
	Name = 'Infinite Attack Speed',
	CurrentValue = false,
	Callback = function(Value)
		infiniteAttackSpeed = Value
		if infiniteAttackSpeed then
			setAttackSpeedValue(math.huge)
		else
			setAttackSpeedValue(attackSpeedValue)
		end
	end,
})
WeaponTab:CreateButton({
	Name = 'Apply Attack Speed',
	Callback = function()
		if infiniteAttackSpeed then
			setAttackSpeedValue(math.huge)
		else
			setAttackSpeedValue(attackSpeedValue)
		end
	end,
})
WeaponTab:CreateSection('Utilities')
WeaponTab:CreateButton({
    Name = "Load Unit Tracker",
    Callback = function()
        pcall(function()
			local Players=game:GetService("Players");local UIS=game:GetService("UserInputService");local player=Players.LocalPlayer;local old=player:WaitForChild("PlayerGui"):FindFirstChild("UnitTracker");if old then old:Destroy()end;local screenGui=Instance.new("ScreenGui");screenGui.Name="UnitTracker";screenGui.ResetOnSpawn=false;screenGui.Parent=player:WaitForChild("PlayerGui");local frame=Instance.new("Frame");frame.Name="MainFrame";frame.Size=UDim2.new(0,300,0,300);frame.Position=UDim2.new(0.5,-150,0.5,-150);frame.BackgroundColor3=Color3.fromRGB(25,25,25);frame.BorderSizePixel=0;frame.Parent=screenGui;local dragging=false;local dragStart,startPos;local function updateDrag(input)local delta=input.Position-dragStart;frame.Position=UDim2.new(startPos.X.Scale,startPos.X.Offset+delta.X,startPos.Y.Scale,startPos.Y.Offset+delta.Y)end;frame.InputBegan:Connect(function(input)if input.UserInputType==Enum.UserInputType.MouseButton1 then dragging=true;dragStart=input.Position;startPos=frame.Position;input.Changed:Connect(function()if input.UserInputState==Enum.UserInputState.End then dragging=false end end)end end);UIS.InputChanged:Connect(function(input)if dragging and input.UserInputType==Enum.UserInputType.MouseMovement then updateDrag(input)end end);local title=Instance.new("TextLabel");title.Size=UDim2.new(1,0,0,30);title.BackgroundColor3=Color3.fromRGB(35,35,35);title.Text="Unit Tracker";title.TextColor3=Color3.fromRGB(255,255,255);title.TextSize=16;title.Font=Enum.Font.SourceSansBold;title.Parent=frame;local scroll=Instance.new("ScrollingFrame");scroll.Size=UDim2.new(1,0,1,-30);scroll.Position=UDim2.new(0,0,0,30);scroll.BackgroundTransparency=1;scroll.CanvasSize=UDim2.new(0,0,0,0);scroll.ScrollBarThickness=6;scroll.Parent=frame;local listLayout=Instance.new("UIListLayout");listLayout.Parent=scroll;listLayout.Padding=UDim.new(0,4);local function updateList()for _,obj in ipairs(scroll:GetChildren())do if obj:IsA("TextButton")then obj:Destroy()end end;local unitsFolder=workspace:FindFirstChild("Units");if not unitsFolder then return end;for _,unit in ipairs(unitsFolder:GetChildren())do if unit:IsA("Model")and unit.Name~="Clerk"then local btn=Instance.new("TextButton");btn.Size=UDim2.new(1,-10,0,25);btn.BackgroundColor3=Color3.fromRGB(50,50,50);btn.Text=unit.Name;btn.TextColor3=Color3.fromRGB(255,255,255);btn.TextSize=14;btn.Font=Enum.Font.SourceSans;btn.Parent=scroll;btn.MouseButton1Click:Connect(function()local char=player.Character;local hrp=char and char:FindFirstChild("HumanoidRootPart");if hrp and unit and unit.PrimaryPart then local pivot=unit:GetPivot().Position;local rayOrigin=pivot;local rayDirection=Vector3.new(0,-50,0);local rayParams=RaycastParams.new();rayParams.FilterDescendantsInstances={unit};rayParams.FilterType=Enum.RaycastFilterType.Exclude;local result=workspace:Raycast(rayOrigin,rayDirection,rayParams);local targetPos=result and result.Position or pivot;hrp.CFrame=CFrame.new(targetPos+Vector3.new(0,3,0))end end)end end;scroll.CanvasSize=UDim2.new(0,0,0,listLayout.AbsoluteContentSize.Y+10)end;task.spawn(function()while task.wait(3)do updateList()end end);updateList();local resizeHandle=Instance.new("Frame");resizeHandle.Size=UDim2.new(0,16,0,16);resizeHandle.AnchorPoint=Vector2.new(1,1);resizeHandle.Position=UDim2.new(1,0,1,0);resizeHandle.BackgroundColor3=Color3.fromRGB(70,70,70);resizeHandle.BorderSizePixel=0;resizeHandle.Active=true;resizeHandle.Parent=frame;local resizing=false;resizeHandle.InputBegan:Connect(function(input)if input.UserInputType==Enum.UserInputType.MouseButton1 then resizing=true end end);resizeHandle.InputEnded:Connect(function(input)if input.UserInputType==Enum.UserInputType.MouseButton1 then resizing=false end end);UIS.InputChanged:Connect(function(input)if resizing and input.UserInputType==Enum.UserInputType.MouseMovement then local newSizeX=math.clamp(input.Position.X-frame.AbsolutePosition.X,200,800);local newSizeY=math.clamp(input.Position.Y-frame.AbsolutePosition.Y,150,600);frame.Size=UDim2.new(0,newSizeX,0,newSizeY)end end)
        end)
    end,
})
local function applyDamageToTool(tool)
	if tool:IsA('Tool') then
		local settings = tool:FindFirstChild('SettingValues')
		if settings then
			local maxVal = settings:FindFirstChild('MaxDamageValue')
			local minVal = settings:FindFirstChild('MinDamageValue')
			if maxVal then pcall(function() maxVal.Value = dmgMax end) end
			if minVal then pcall(function() minVal.Value = dmgMin end) end
		end
	end
end
local function applyAllDamageToWeapons()
	local bp = LocalPlayer:FindFirstChild('Backpack')
	if bp then
		for _, tool in ipairs(bp:GetChildren()) do applyDamageToTool(tool) end
	end
	local char = LocalPlayer.Character
	if char then
		for _, tool in ipairs(char:GetChildren()) do applyDamageToTool(tool) end
	end
end
LocalPlayer.Backpack.ChildAdded:Connect(function(child)
    if child:IsA("Tool") then
        applyHitboxToWeapon(child)
		applyDamageToTool(child)
    end
end)
LocalPlayer.CharacterAdded:Connect(function(character)
	task.wait(1)
	if infiniteAttackSpeed then
		setAttackSpeedValue(math.huge)
	else
		setAttackSpeedValue(attackSpeedValue)
	end
	applyAllDamageToWeapons()
    character.ChildAdded:Connect(function(child)
        if child:IsA("Tool") then
            applyHitboxToWeapon(child)
			applyDamageToTool(child)
        end
    end)
end)
task.spawn(function()
	while task.wait(1) do
		applyAllDamageToWeapons()
	end
end)local Players = game:GetService('Players')
if #Players:GetPlayers() > 1 then
    Players.LocalPlayer:Kick("stop using this in public.")
    return
end
Players.PlayerAdded:Connect(function()
    if #Players:GetPlayers() > 1 then
        Players.LocalPlayer:Kick("am not letting you ruin other ppl fun anymore.")
    end
end)

local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Window = Rayfield:CreateWindow({Name = 'ayin work ui', LoadingTitle = 'loading'})
local Players = game:GetService('Players')
local RepStorage = game:GetService('ReplicatedStorage')
local LocalPlayer = Players.LocalPlayer
local function listChildren(folder)
	local t = {}
	if folder then
		for _, v in ipairs(folder:GetChildren()) do
			table.insert(t, v.Name)
		end
	end
	table.sort(t)
	return t
end
local function getFolder(root, ...)
	local cur = root
	for i = 1, select('#', ...) do
		local n = select(i, ...)
		if not cur then return nil end
		cur = cur:FindFirstChild(n)
	end
	return cur
end
local function normalizeSelected(v)
	if type(v) == 'string' then return v end
	if typeof(v) == 'Instance' then return v.Name end
	if type(v) == 'table' then
		if v[1] then return v[1] end
		if v.Name then return v.Name end
	end
	return tostring(v)
end
local function titleCase(s)
	if not s or #s == 0 then return '' end
	return string.upper(string.sub(s, 1, 1)) .. string.lower(string.sub(s, 2))
end
local function getAbnoNames()
	return listChildren(getFolder(workspace, 'Abnormalities'))
end
local function getTalentNames()
	return listChildren(getFolder(RepStorage, 'Assets', 'Talents'))
end
local abnoList = getAbnoNames()
local talentList = getTalentNames()
local selectedWork = 'Instinct'
local selectedTalentRaw = talentList[1] or ''
local selectedAbnos = {}
local Tab = Window:CreateTab('abno working')
Tab:CreateSection('Controls')
Tab:CreateSection('Select Abnormalities')
for _, abno in ipairs(abnoList) do
	Tab:CreateToggle({
		Name = abno,
		CurrentValue = false,
		Callback = function(Value)
			if Value then
				if not table.find(selectedAbnos, abno) then
					table.insert(selectedAbnos, abno)
				end
			else
				for i, v in ipairs(selectedAbnos) do
					if v == abno then
						table.remove(selectedAbnos, i)
						break
					end
				end
			end
		end,
	})
end
Tab:CreateButton({
	Name = 'Clear Selection',
	Callback = function()
		selectedAbnos = {}
	end,
})
Tab:CreateDropdown({
	Name = 'Work Type',
	Options = { 'Instinct', 'Insight', 'Attachment', 'Repression' },
	CurrentOption = selectedWork,
	Callback = function(opt)
		selectedWork = opt
	end,
})
Tab:CreateButton({
	Name = 'Work',
	Callback = function()
		pcall(function()
			if #selectedAbnos == 0 then return end
			local abnoRoot = getFolder(workspace, 'Abnormalities')
			if not abnoRoot then return end
			local remote = getFolder(RepStorage, 'Assets', 'RemoteEvents', 'WorkEvent')
			if not remote then return end
			local flavor = titleCase(normalizeSelected(selectedWork))
			for _, abnoName in ipairs(selectedAbnos) do
				local sel = normalizeSelected(abnoName)
				local abno = abnoRoot:FindFirstChild(sel)
				if abno then
					local wt = abno:FindFirstChild('WorkTablet')
					if wt then remote:FireServer(wt, flavor) end
				end
			end
		end)
	end,
})
local CardTab = Window:CreateTab('card selector')
CardTab:CreateSection('Talent')
CardTab:CreateDropdown({
	Name = 'Talent',
	Options = talentList,
	CurrentOption = selectedTalentRaw,
	Callback = function(opt)
		selectedTalentRaw = opt
	end,
})
CardTab:CreateButton({
	Name = 'Select card',
	Callback = function()
		pcall(function()
			local sel = normalizeSelected(selectedTalentRaw)
			if sel == '' then return end
			local remote = getFolder(RepStorage, 'Assets', 'RemoteEvents', 'SelectCardEvent')
			if not remote then return end
			remote:FireServer(sel)
		end)
	end,
})
local WeaponTab = Window:CreateTab('weapon mod')
WeaponTab:CreateSection('Hitbox Settings')
local hitboxSize = 10
WeaponTab:CreateInput({
	Name = 'Hitbox Size',
	PlaceholderText = '10',
	Callback = function(text)
		local v = tonumber(text)
		if v and v > 0 then hitboxSize = v end
	end,
})
local function applyHitboxToWeapon(tool)
    if tool and tool:IsA("Tool") then
        local anims = tool:FindFirstChild("Animations")
        if anims then
            local attackAnims = anims:FindFirstChild("AttackAnimations")
            if attackAnims then
                for _, animFolder in ipairs(attackAnims:GetChildren()) do
                    local hitboxValue = animFolder:FindFirstChild("HitboxSize")
                    if hitboxValue and hitboxValue:IsA("Vector3Value") then
                        hitboxValue.Value = Vector3.new(hitboxSize, hitboxSize, hitboxSize)
                    end
                end
            end
        end
    end
end
local function applyHitboxToAllWeapons()
	local character = LocalPlayer.Character
	if character then
		for _, child in ipairs(character:GetChildren()) do
			if child:IsA("Tool") then applyHitboxToWeapon(child) end
		end
	end
	local backpack = LocalPlayer:FindFirstChild("Backpack")
	if backpack then
		for _, child in ipairs(backpack:GetChildren()) do
			if child:IsA("Tool") then applyHitboxToWeapon(child) end
		end
	end
end
WeaponTab:CreateButton({
	Name = 'Apply Hitbox Size',
	Callback = function()
		applyHitboxToAllWeapons()
	end,
})
WeaponTab:CreateSection('Damage Settings')
local dmgMax = 1500
local dmgMin = 1500
WeaponTab:CreateInput({
	Name = 'Max Damage',
	PlaceholderText = '50',
	Callback = function(text)
		local v = tonumber(text)
		if v then dmgMax = v end
	end,
})
WeaponTab:CreateInput({
	Name = 'Min Damage',
	PlaceholderText = '50',
	Callback = function(text)
		local v = tonumber(text)
		if v then dmgMin = v end
	end,
})
WeaponTab:CreateSection('Attack Speed')
local attackSpeedValue = 5
local infiniteAttackSpeed = false
WeaponTab:CreateInput({
	Name = 'Attack Speed',
	PlaceholderText = '5',
	Callback = function(text)
		local v = tonumber(text)
		if v then attackSpeedValue = v end
	end,
})
local function setAttackSpeedValue(val)
	pcall(function()
		local units = workspace:WaitForChild('Units', 2)
		local playerUnit = units and units:FindFirstChild(LocalPlayer.Name)
		local charStats = playerUnit and playerUnit:FindFirstChild('CharStats')
		local attackSpeed = charStats and charStats:FindFirstChild('AttackSpeed')
		if attackSpeed then attackSpeed.Value = val end
	end)
end
WeaponTab:CreateToggle({
	Name = 'Infinite Attack Speed',
	CurrentValue = false,
	Callback = function(Value)
		infiniteAttackSpeed = Value
		if infiniteAttackSpeed then
			setAttackSpeedValue(math.huge)
		else
			setAttackSpeedValue(attackSpeedValue)
		end
	end,
})
WeaponTab:CreateButton({
	Name = 'Apply Attack Speed',
	Callback = function()
		if infiniteAttackSpeed then
			setAttackSpeedValue(math.huge)
		else
			setAttackSpeedValue(attackSpeedValue)
		end
	end,
})
WeaponTab:CreateSection('Utilities')
WeaponTab:CreateButton({
    Name = "Load Unit Tracker",
    Callback = function()
        pcall(function()
			local Players=game:GetService("Players");local UIS=game:GetService("UserInputService");local player=Players.LocalPlayer;local old=player:WaitForChild("PlayerGui"):FindFirstChild("UnitTracker");if old then old:Destroy()end;local screenGui=Instance.new("ScreenGui");screenGui.Name="UnitTracker";screenGui.ResetOnSpawn=false;screenGui.Parent=player:WaitForChild("PlayerGui");local frame=Instance.new("Frame");frame.Name="MainFrame";frame.Size=UDim2.new(0,300,0,300);frame.Position=UDim2.new(0.5,-150,0.5,-150);frame.BackgroundColor3=Color3.fromRGB(25,25,25);frame.BorderSizePixel=0;frame.Parent=screenGui;local dragging=false;local dragStart,startPos;local function updateDrag(input)local delta=input.Position-dragStart;frame.Position=UDim2.new(startPos.X.Scale,startPos.X.Offset+delta.X,startPos.Y.Scale,startPos.Y.Offset+delta.Y)end;frame.InputBegan:Connect(function(input)if input.UserInputType==Enum.UserInputType.MouseButton1 then dragging=true;dragStart=input.Position;startPos=frame.Position;input.Changed:Connect(function()if input.UserInputState==Enum.UserInputState.End then dragging=false end end)end end);UIS.InputChanged:Connect(function(input)if dragging and input.UserInputType==Enum.UserInputType.MouseMovement then updateDrag(input)end end);local title=Instance.new("TextLabel");title.Size=UDim2.new(1,0,0,30);title.BackgroundColor3=Color3.fromRGB(35,35,35);title.Text="Unit Tracker";title.TextColor3=Color3.fromRGB(255,255,255);title.TextSize=16;title.Font=Enum.Font.SourceSansBold;title.Parent=frame;local scroll=Instance.new("ScrollingFrame");scroll.Size=UDim2.new(1,0,1,-30);scroll.Position=UDim2.new(0,0,0,30);scroll.BackgroundTransparency=1;scroll.CanvasSize=UDim2.new(0,0,0,0);scroll.ScrollBarThickness=6;scroll.Parent=frame;local listLayout=Instance.new("UIListLayout");listLayout.Parent=scroll;listLayout.Padding=UDim.new(0,4);local function updateList()for _,obj in ipairs(scroll:GetChildren())do if obj:IsA("TextButton")then obj:Destroy()end end;local unitsFolder=workspace:FindFirstChild("Units");if not unitsFolder then return end;for _,unit in ipairs(unitsFolder:GetChildren())do if unit:IsA("Model")and unit.Name~="Clerk"then local btn=Instance.new("TextButton");btn.Size=UDim2.new(1,-10,0,25);btn.BackgroundColor3=Color3.fromRGB(50,50,50);btn.Text=unit.Name;btn.TextColor3=Color3.fromRGB(255,255,255);btn.TextSize=14;btn.Font=Enum.Font.SourceSans;btn.Parent=scroll;btn.MouseButton1Click:Connect(function()local char=player.Character;local hrp=char and char:FindFirstChild("HumanoidRootPart");if hrp and unit and unit.PrimaryPart then local pivot=unit:GetPivot().Position;local rayOrigin=pivot;local rayDirection=Vector3.new(0,-50,0);local rayParams=RaycastParams.new();rayParams.FilterDescendantsInstances={unit};rayParams.FilterType=Enum.RaycastFilterType.Exclude;local result=workspace:Raycast(rayOrigin,rayDirection,rayParams);local targetPos=result and result.Position or pivot;hrp.CFrame=CFrame.new(targetPos+Vector3.new(0,3,0))end end)end end;scroll.CanvasSize=UDim2.new(0,0,0,listLayout.AbsoluteContentSize.Y+10)end;task.spawn(function()while task.wait(3)do updateList()end end);updateList();local resizeHandle=Instance.new("Frame");resizeHandle.Size=UDim2.new(0,16,0,16);resizeHandle.AnchorPoint=Vector2.new(1,1);resizeHandle.Position=UDim2.new(1,0,1,0);resizeHandle.BackgroundColor3=Color3.fromRGB(70,70,70);resizeHandle.BorderSizePixel=0;resizeHandle.Active=true;resizeHandle.Parent=frame;local resizing=false;resizeHandle.InputBegan:Connect(function(input)if input.UserInputType==Enum.UserInputType.MouseButton1 then resizing=true end end);resizeHandle.InputEnded:Connect(function(input)if input.UserInputType==Enum.UserInputType.MouseButton1 then resizing=false end end);UIS.InputChanged:Connect(function(input)if resizing and input.UserInputType==Enum.UserInputType.MouseMovement then local newSizeX=math.clamp(input.Position.X-frame.AbsolutePosition.X,200,800);local newSizeY=math.clamp(input.Position.Y-frame.AbsolutePosition.Y,150,600);frame.Size=UDim2.new(0,newSizeX,0,newSizeY)end end)
        end)
    end,
})
local function applyDamageToTool(tool)
	if tool:IsA('Tool') then
		local settings = tool:FindFirstChild('SettingValues')
		if settings then
			local maxVal = settings:FindFirstChild('MaxDamageValue')
			local minVal = settings:FindFirstChild('MinDamageValue')
			if maxVal then pcall(function() maxVal.Value = dmgMax end) end
			if minVal then pcall(function() minVal.Value = dmgMin end) end
		end
	end
end
local function applyAllDamageToWeapons()
	local bp = LocalPlayer:FindFirstChild('Backpack')
	if bp then
		for _, tool in ipairs(bp:GetChildren()) do applyDamageToTool(tool) end
	end
	local char = LocalPlayer.Character
	if char then
		for _, tool in ipairs(char:GetChildren()) do applyDamageToTool(tool) end
	end
end
LocalPlayer.Backpack.ChildAdded:Connect(function(child)
    if child:IsA("Tool") then
        applyHitboxToWeapon(child)
		applyDamageToTool(child)
    end
end)
LocalPlayer.CharacterAdded:Connect(function(character)
	task.wait(1)
	if infiniteAttackSpeed then
		setAttackSpeedValue(math.huge)
	else
		setAttackSpeedValue(attackSpeedValue)
	end
	applyAllDamageToWeapons()
    character.ChildAdded:Connect(function(child)
        if child:IsA("Tool") then
            applyHitboxToWeapon(child)
			applyDamageToTool(child)
        end
    end)
end)
task.spawn(function()
	while task.wait(1) do
		applyAllDamageToWeapons()
	end
end)

Features & Information

cards selector(must have the yellow flame thing first) remote work with abno weapon dmg changer attackspeed editor hitbox expander(weapon) unit tracker new: make it so it kicks you if you join a server with ppl warning:(this script is made with mupitle ai) also if want any feature i will try to add it
#tuantu#tuatu#tnatu

Community Comments (68)

sanchosanchoNov 9, 2025

add 100% ego gift

Replying to @sancho

@sancho i dont think this is possible

Replying to @projectmoonsuperfan
sanchosanchoNov 10, 2025

@tuantuplayer auto block or parry if possible

Replying to @sancho
santaisantaiNov 11, 2025

@sancho that's a good idea

santaisantaiNov 9, 2025

Attackspeed and hitbox

Replying to @santai

@santai atkspeed i can but hitbox is smth idk how to do

Replying to @projectmoonsuperfan
santaisantaiNov 10, 2025

@tuantuplayer Hitbox is easy

Replying to @projectmoonsuperfan
santaisantaiNov 10, 2025

Humanoid root part, create an box/hurtbox and change it's size by (0, 0, 0). Larger numbers to enlarge

Replying to @santai

@santai thx i will try

Replying to @santai
CryogenCryogenNov 15, 2025(edited)

@santai I see. Off subject, the script seems to get a little laggy later on, is this a problem you also have or is it something from me? Edit: replied to the wrong comment, whoops, meant to be the newest one

Replying to @Cryogen
santaisantaiNov 16, 2025

@Cryogen it is expected

santaisantaiNov 10, 2025(edited)

Ok

fanzikfanzikNov 10, 2025

add fly lowk needed

Replying to @fanzik
santaisantaiNov 10, 2025

@fanzik infinite yield has that

santaisantaiNov 10, 2025

Add an hit aura, and able to modify, Range, Hit Speed. DMG based on weapon DMG (modifier)

is it possible to add a stat gain modifier?

Replying to @exploitsoneverything
santaisantaiNov 11, 2025

@exploitsoneverything is attackspeed enough

Replying to @exploitsoneverything

@exploitsoneverything i tried that before(before i made this script) it doesnt seem to work

Replying to @projectmoonsuperfan
santaisantaiNov 15, 2025

@tuantuplayer I believe that the stats are serversided unlikely Attackspeed

santaisantaiNov 12, 2025

Hey, is self-revival possible? Once dead, automatically revive in modifiable seconds and teleport to the chosen department

CryogenCryogenNov 15, 2025(edited)

is giving lob points possible? changing ego gift chance or giving ego gifts to yourself? more talent card slots maybe? changing stat growth rate?

Replying to @Cryogen
santaisantaiNov 15, 2025

@Cryogen lob points get by working, changing ego gift chance is serversided (prob) and giving yourself ego gifts is idk, talent cards are perfect for limitlessness. Stat growth rate maybe can be changed

Replying to @Cryogen

@Cryogen lob point is serversided. gift change is also serversided. giving gifts is also serversided more talent slot is also serverside(also likely to get detected) stat growth is serversided

hmo95343hmo95343Nov 16, 2025

the new script update not working

fanzikfanzikNov 16, 2025

for some reason u cannot open script now

i forgot to set my repo to public(idk if it works now)

Replying to @projectmoonsuperfan
fanzikfanzikNov 16, 2025

@tuantuplayer still aint working

aetheriunosaetheriunosNov 16, 2025

still waiting for that fix

hmo95343hmo95343Nov 17, 2025

why not put it as script again instead of loadstring

IDK_TRASHPLAYERIDK_TRASHPLAYERNov 17, 2025

Huhh the script doesn't work now

santaisantaiNov 17, 2025

@Cryogen Add a whichweapon to the DMG changer so I can heal people and yet insta kill

Replying to @santai

@santai no

@Cryogen yea their all server sided

fanzikfanzikNov 17, 2025

does script work now?

Replying to @fanzik

@fanzik lowkey i forgot to update

Replying to @projectmoonsuperfan
fanzikfanzikNov 18, 2025

@tuantuplayer W tuantu

vytaras92vytaras92Nov 18, 2025

could u add a select just for cards and also abnormalitys?

Replying to @vytaras92

@vytaras92 can you like word it better i dont have eough reading comp to understand

vytaras92vytaras92Nov 18, 2025

make it so when u have a choiice on abnormalitys u can force the pick like u did wiht talents

Replying to @vytaras92

@vytaras92 not possible as the remote work on the folder and the folder list that abno so i cant

doorframezonedoorframezoneNov 18, 2025

auto parry?

Replying to @doorframezone

@doorframezone learn to parry instead

Khoaplh1234Khoaplh1234Nov 19, 2025(edited)

idk but can you try to add not get kick in ppl sv pls i want to play with my friend btw or you can add the refresh abnormalities for easy work cuz i don't want to excute script again and again bruh

vytaras92vytaras92Nov 19, 2025

@Khoaplh1234 dm me on discord (exokma) i fixed that problem he had put it on purpuse so u couldnt play multiplayer u need a bit of coding knowledge to figure out its not quantom science

Replying to @vytaras92
Khoaplh1234Khoaplh1234Nov 19, 2025

@vytaras92 ok

Replying to @vytaras92
Khoaplh1234Khoaplh1234Nov 19, 2025

@vytaras92 you know am a vietnamese btw

Replying to @vytaras92
imzzimzzDec 7, 2025

@vytaras92 yo can i have it

vytaras92vytaras92Nov 19, 2025

hey @tuantuplayer u shud probably not post the script as source if u dont want ppl to play wiht others + atleast make it max 3 or 2 so ppl can play wiht freinds just a recomendation btw could i help u make the script in the future i aint rlly good wiht lua but i have alot of experiance exploiting

Replying to @vytaras92
IDK_TRASHPLAYERIDK_TRASHPLAYERNov 19, 2025

@vytaras92 can it more than 5 ppl?

Replying to @vytaras92
projectmoonsuperfanprojectmoonsuperfanNov 21, 2025(edited)

@vytaras92 i post it as the full script for ppl who smart eough to actually understand the code and modify it(also loadstrings doesnt work for some reason)

Khoaplh1234Khoaplh1234Nov 20, 2025

can you add No cds? if it possible is fine

Replying to @Khoaplh1234

@Khoaplh1234 for abities? serversided

KshffozdxKshffozdxNov 21, 2025

Add Suit resistance mod

Replying to @Kshffozdx

@Kshffozdx also serversided

JustASlapBattlesJustASlapBattlesNov 21, 2025

How do the hell do I even use this script on my executor

Khoaplh1234Khoaplh1234Nov 24, 2025

can you make stats changer? or fix hitbox changer

Replying to @Khoaplh1234

@Khoaplh1234 stats are serversided i dont knwo about hitbox since i cant use zenith rn

Replying to @projectmoonsuperfan
Khoaplh1234Khoaplh1234Nov 24, 2025

@tuantuplayer ☕👍

Replying to @projectmoonsuperfan
fanzikfanzikNov 25, 2025

@tuantuplayer auto-parry is serversided too?

Replying to @fanzik

@fanzik prob not i just dont know what to prompt the ai for auto parry(also dont which module/script contain the parry function)

Replying to @projectmoonsuperfan
sanchosanchoNov 26, 2025

@tuantuplayer trigger finger auto parry?

sanchosanchoNov 26, 2025

it could work

ElioElioDec 5, 2025

xeno support ? or not

santaisantaiDec 6, 2025

Mobile cannot edit due to the limitations of the limit of how much text can be in one (17k words max)

bruh2491bruh2491Dec 25, 2025

the damage editor sometimes changes my damage to 1500 or 1000, is there any way to fix it

god128op0god128op0Jan 5, 2026(edited)

can you make the ui unit track movable? it makes movement and vision difficult on mobile

Try add giving item

imaiilzimaiilzApr 25, 2026

doesn't work

More Scripts for Tuantu's lobotomization branches