Chat logs lol
Key RequiredUniversal

Chat logs lol

Universal ScriptL1laqxzL1laqxz 583 views 78 executesUpdated Dec 27, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•287 lines (8047 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local function round(ui, r)
	local c = Instance.new("UICorner")
	c.CornerRadius = UDim.new(0, r)
	c.Parent = ui
end

local chatGui

local function createChatLogs()
	if chatGui then return end

	chatGui = Instance.new("ScreenGui")
	chatGui.Name = "ChatLogsGUI"
	chatGui.Parent = playerGui

	local frame = Instance.new("Frame")
	frame.Size = UDim2.new(0, 500, 0, 300)
	frame.Position = UDim2.new(0.5, -250, 0.5, -150)
	frame.BackgroundColor3 = Color3.fromRGB(30,30,30)
	frame.Parent = chatGui
	round(frame, 16)

	local scroll = Instance.new("ScrollingFrame")
	scroll.Size = UDim2.new(1, -20, 1, -50)
	scroll.Position = UDim2.new(0, 10, 0, 10)
	scroll.CanvasSize = UDim2.new(0,0,0,0)
	scroll.ScrollBarThickness = 6
	scroll.BackgroundTransparency = 1
	scroll.Parent = frame

	local layout = Instance.new("UIListLayout", scroll)
	layout.Padding = UDim.new(0,6)

	local function addMessage(plr, msg, transparency)
		local t = Instance.new("TextLabel")
		t.Size = UDim2.new(1, -10, 0, 30)
		t.BackgroundTransparency = 1
		t.TextWrapped = true
		t.TextXAlignment = Enum.TextXAlignment.Left
		t.TextYAlignment = Enum.TextYAlignment.Top
		t.Font = Enum.Font.Gotham
		t.TextSize = 16
		t.TextColor3 = Color3.new(1,1,1)
		t.TextTransparency = transparency or 0.5
		t.Text = msg
		t.Parent = scroll
		layout:GetPropertyChangedSignal("AbsoluteContentSize"):Wait()
		scroll.CanvasSize = UDim2.new(0,0,0,layout.AbsoluteContentSize.Y)
	end

	addMessage(nil, "just a little project :D", 0.5)

	local function connectPlayer(p)
		p.Chatted:Connect(function(msg)
			addMessage(p, p.Name .. ": " .. msg)
		end)
	end

	for _,p in ipairs(Players:GetPlayers()) do
		connectPlayer(p)
	end

	Players.PlayerAdded:Connect(connectPlayer)

	-- Clear button
	local clearBtn = Instance.new("TextButton", frame)
	clearBtn.Size = UDim2.new(0, 80, 0, 30)
	clearBtn.Position = UDim2.new(0, 10, 1, -40)
	clearBtn.Text = "Clear"
	clearBtn.Font = Enum.Font.GothamBold
	clearBtn.TextSize = 16
	clearBtn.TextColor3 = Color3.new(1,1,1)
	clearBtn.BackgroundColor3 = Color3.fromRGB(100,100,100)
	round(clearBtn,8)

	clearBtn.MouseButton1Click:Connect(function()
		for _, child in ipairs(scroll:GetChildren()) do
			if child:IsA("TextLabel") then
				child:Destroy()
			end
		end
		addMessage(nil, "just a little project :D", 0.5)
	end)
end

local function createMenu()
	local gui = Instance.new("ScreenGui", playerGui)
	gui.Name = "MenuGUI"
	local holder = Instance.new("Frame", gui)
	holder.Size = UDim2.new(0,60,0,170)
	holder.Position = UDim2.new(1,-70,0.5,-85)
	holder.BackgroundTransparency = 1

	local function makeBtn(text, y)
		local b = Instance.new("TextButton")
		b.Size = UDim2.new(0,50,0,50)
		b.Position = UDim2.new(0,0,0,y)
		b.Text = text
		b.Font = Enum.Font.GothamBold
		b.TextSize = 22
		b.TextColor3 = Color3.new(1,1,1)
		b.BackgroundColor3 = Color3.fromRGB(50,50,50)
		b.Visible = false
		b.Parent = holder
		round(b,12)
		return b
	end

	local chatBtn = makeBtn("🗨️", 0)
	local dotsBtn = makeBtn("⋯", 55)

	local chicken = Instance.new("TextButton", holder)
	chicken.Size = UDim2.new(0,50,0,50)
	chicken.Position = UDim2.new(0,0,0,110)
	chicken.Text = "🍗"
	chicken.TextSize = 22
	chicken.BackgroundColor3 = Color3.fromRGB(50,50,50)
	chicken.TextColor3 = Color3.new(1,1,1)
	chicken.TextTransparency = 0.5
	round(chicken,12)

	local open = false

	local function toggle(state)
		open = state
		for _,b in ipairs({chatBtn,dotsBtn}) do
			b.Visible = state
			if state then
				b.TextTransparency = 1
				TweenService:Create(b, TweenInfo.new(0.25), {TextTransparency = 0}):Play()
			end
		end
	end

	chicken.MouseButton1Click:Connect(function()
		toggle(not open)
	end)

	-- Chat logs toggle
	chatBtn.MouseButton1Click:Connect(function()
		if chatGui then
			chatGui.Enabled = not chatGui.Enabled
		else
			createChatLogs()
		end
	end)

	-- Settings tab
	local settingsGui
	dotsBtn.MouseButton1Click:Connect(function()
		if settingsGui then
			settingsGui.Enabled = not settingsGui.Enabled
			return
		end

		settingsGui = Instance.new("ScreenGui", playerGui)
		settingsGui.Name = "SettingsGUI"
		local frame = Instance.new("Frame")
		frame.Size = UDim2.new(0,200,0,250)
		frame.Position = UDim2.new(0.5,-100,0.5,-125)
		frame.BackgroundColor3 = Color3.fromRGB(30,30,30)
		frame.Parent = settingsGui
		round(frame,12)

		local function addOption(text, infoText, y, callback)
			local btn = Instance.new("TextButton")
			btn.Size = UDim2.new(1,-20,0,40)
			btn.Position = UDim2.new(0,10,0,y)
			btn.Text = text
			btn.Font = Enum.Font.GothamBold
			btn.TextSize = 18
			btn.TextColor3 = Color3.new(1,1,1)
			btn.BackgroundColor3 = Color3.fromRGB(50,50,50)
			round(btn,8)
			btn.Parent = frame
			btn.MouseButton1Click:Connect(callback)

			if infoText then
				local info = Instance.new("TextLabel")
				info.Size = UDim2.new(1,-20,0,20)
				info.Position = UDim2.new(0,10,0,y+40)
				info.BackgroundTransparency = 1
				info.TextColor3 = Color3.new(1,1,1)
				info.TextTransparency = 0.5
				info.Font = Enum.Font.Gotham
				info.TextSize = 14
				info.Text = infoText
				info.TextXAlignment = Enum.TextXAlignment.Left
				info.Parent = frame
			end
		end

		addOption("Reset data", "Erase all data", 10, function()
			if chatGui then
				local scroll = chatGui:FindFirstChildWhichIsA("Frame"):FindFirstChildWhichIsA("ScrollingFrame")
				if scroll then
					for _,child in ipairs(scroll:GetChildren()) do
						if child:IsA("TextLabel") then child:Destroy() end
					end
					local layout = scroll:FindFirstChildOfClass("UIListLayout")
					local t = Instance.new("TextLabel")
					t.Size = UDim2.new(1,-10,0,30)
					t.BackgroundTransparency = 1
					t.TextWrapped = true
					t.TextXAlignment = Enum.TextXAlignment.Left
					t.TextYAlignment = Enum.TextYAlignment.Top
					t.Font = Enum.Font.Gotham
					t.TextSize = 16
					t.TextColor3 = Color3.new(1,1,1)
					t.TextTransparency = 0.5
					t.Text = "just a little project :D"
					t.Parent = scroll
					if layout then
						scroll.CanvasSize = UDim2.new(0,0,0,layout.AbsoluteContentSize.Y)
					end
				end
			end
		end)

		addOption("Restart script", "Restart the script", 70, function()
			for _, gui in ipairs(playerGui:GetChildren()) do
				if gui.Name == "ChatLogsGUI" or gui.Name == "MenuGUI" or gui.Name == "SettingsGUI" then
					gui:Destroy()
				end
			end
			chatGui = nil
			createMenu()
		end)

		addOption("Follow me", "Copy my profile :)", 130, function()
			setclipboard("https://www.roblox.com/users/4755415553/profile")
		end)

		-- Version info at bottom
		local versionLabel = Instance.new("TextLabel")
		versionLabel.Size = UDim2.new(1, -20, 0, 20)
		versionLabel.Position = UDim2.new(0, 10, 1, -25)
		versionLabel.BackgroundTransparency = 1
		versionLabel.TextColor3 = Color3.new(1,1,1)
		versionLabel.TextTransparency = 0.5
		versionLabel.Font = Enum.Font.Gotham
		versionLabel.TextSize = 14
		versionLabel.TextXAlignment = Enum.TextXAlignment.Left
		versionLabel.Text = "v1.0.0 by l1laqxz"
		versionLabel.Parent = frame
	end)
end

-- ===== Loading screen =====
local loadingGui = Instance.new("ScreenGui", playerGui)
local box = Instance.new("Frame", loadingGui)
box.Size = UDim2.new(0,300,0,100)
box.Position = UDim2.new(0.5,-150,0,-150)
box.BackgroundColor3 = Color3.fromRGB(20,20,20)
round(box,16)

local txt = Instance.new("TextLabel", box)
txt.Size = UDim2.new(1,0,1,0)
txt.BackgroundTransparency = 1
txt.TextColor3 = Color3.new(1,1,1)
txt.Font = Enum.Font.GothamBold
txt.TextSize = 18

local slideTween = TweenService:Create(box, TweenInfo.new(0.5), {
	Position = UDim2.new(0.5,-150,0.5,-50)
})
slideTween:Play()
slideTween.Completed:Wait()

for i = 0,12 do
	txt.Text = "Downloading assets ("..i.."/12)"
	task.wait(3/12)
end

local fadeTween = TweenService:Create(box, TweenInfo.new(0.5), {
	BackgroundTransparency = 1
})
fadeTween:Play()
fadeTween.Completed:Wait()

loadingGui:Destroy()
createMenu()

Features & Information

Logs (BETA!! EXPECT TO FIND BUGS)

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts