-- Configuration local CORRECT_PASSWORD = "zHackkzinX9999" local LOCKED_TEXT = "fackkusfackkusfackkus" -- Services local Players = game:GetService("Players") local TextChatService = game:GetService("TextChatService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") -- Destroy existing instance if re-running if PlayerGui:FindFirstChild("CustomChatSystem") then PlayerGui.CustomChatSystem:Destroy() end -- ScreenGui Base local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "CustomChatSystem" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = PlayerGui ---------------------------------------------------- -- 1. PASSWORD SYSTEM (LOGIN SCREEN) ---------------------------------------------------- local LoginFrame = Instance.new("Frame") LoginFrame.Name = "LoginFrame" LoginFrame.Size = UDim2.new(0, 300, 0, 150) LoginFrame.Position = UDim2.new(0.5, -150, 0.4, -75) LoginFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) LoginFrame.BorderSizePixel = 0 LoginFrame.Active = true LoginFrame.Draggable = true LoginFrame.Parent = ScreenGui local LoginCorner = Instance.new("UICorner") LoginCorner.CornerRadius = UDim.new(0, 8) LoginCorner.Parent = LoginFrame local LoginTitle = Instance.new("TextLabel") LoginTitle.Size = UDim2.new(1, 0, 0, 35) LoginTitle.BackgroundTransparency = 1 LoginTitle.Text = "ENTER PASSWORD" LoginTitle.TextColor3 = Color3.fromRGB(255, 255, 255) LoginTitle.TextSize = 16 LoginTitle.Font = Enum.Font.SourceSansBold LoginTitle.Parent = LoginFrame local PassInput = Instance.new("TextBox") PassInput.Size = UDim2.new(0, 240, 0, 35) PassInput.Position = UDim2.new(0.5, -120, 0, 45) PassInput.BackgroundColor3 = Color3.fromRGB(45, 45, 45) PassInput.PlaceholderText = "Password Here..." PassInput.Text = "" PassInput.TextColor3 = Color3.fromRGB(255, 255, 255) PassInput.TextSize = 14 PassInput.Font = Enum.Font.SourceSans PassInput.ClearTextOnFocus = false PassInput.Parent = LoginFrame local PassCorner = Instance.new("UICorner") PassCorner.CornerRadius = UDim.new(0, 6) PassCorner.Parent = PassInput local LoginBtn = Instance.new("TextButton") LoginBtn.Size = UDim2.new(0, 120, 0, 35) LoginBtn.Position = UDim2.new(0.5, -60, 0, 95) LoginBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 70) LoginBtn.Text = "Unlock" LoginBtn.TextColor3 = Color3.fromRGB(255, 255, 255) LoginBtn.TextSize = 16 LoginBtn.Font = Enum.Font.SourceSansBold LoginBtn.Parent = LoginFrame local BtnCorner = Instance.new("UICorner") BtnCorner.CornerRadius = UDim.new(0, 6) BtnCorner.Parent = LoginBtn ---------------------------------------------------- -- 2. MAIN PANEL SYSTEM (HIDDEN UNTIL UNLOCKED) ---------------------------------------------------- local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 350, 0, 160) MainFrame.Position = UDim2.new(0.5, -175, 0.4, -80) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true MainFrame.Visible = false -- Hidden initially MainFrame.Parent = ScreenGui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 8) MainCorner.Parent = MainFrame -- Title Bar local TitleLabel = Instance.new("TextLabel") TitleLabel.Size = UDim2.new(1, -40, 0, 35) TitleLabel.Position = UDim2.new(0, 10, 0, 0) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "zHack Control Panel" TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TitleLabel.TextSize = 16 TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.Parent = MainFrame -- Minimize Button local MinBtn = Instance.new("TextButton") MinBtn.Size = UDim2.new(0, 30, 0, 30) MinBtn.Position = UDim2.new(1, -35, 0, 2.5) MinBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45) MinBtn.Text = "-" MinBtn.TextColor3 = Color3.fromRGB(255, 255, 255) MinBtn.TextSize = 20 MinBtn.Font = Enum.Font.SourceSansBold MinBtn.Parent = MainFrame local MinCorner = Instance.new("UICorner") MinCorner.CornerRadius = UDim.new(0, 6) MinCorner.Parent = MinBtn -- Container for the Body content (useful for minimizing) local ContainerFrame = Instance.new("Frame") ContainerFrame.Name = "Container" ContainerFrame.Size = UDim2.new(1, 0, 1, -35) ContainerFrame.Position = UDim2.new(0, 0, 0, 35) ContainerFrame.BackgroundTransparency = 1 ContainerFrame.Parent = MainFrame -- The Message TextBox local MsgTextBox = Instance.new("TextBox") MsgTextBox.Size = UDim2.new(1, -20, 0, 50) MsgTextBox.Position = UDim2.new(0, 10, 0, 5) MsgTextBox.BackgroundColor3 = Color3.fromRGB(40, 40, 40) MsgTextBox.Text = LOCKED_TEXT MsgTextBox.TextColor3 = Color3.fromRGB(255, 255, 255) MsgTextBox.TextSize = 14 MsgTextBox.Font = Enum.Font.SourceSans MsgTextBox.TextWrapped = true MsgTextBox.ClearTextOnFocus = false MsgTextBox.TextXAlignment = Enum.TextXAlignment.Left MsgTextBox.Parent = ContainerFrame local MsgCorner = Instance.new("UICorner") MsgCorner.CornerRadius = UDim.new(0, 6) MsgCorner.Parent = MsgTextBox -- Send Button local SendBtn = Instance.new("TextButton") SendBtn.Size = UDim2.new(1, -20, 0, 35) SendBtn.Position = UDim2.new(0, 10, 0, 65) SendBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255) SendBtn.Text = "SEND TO CHAT" SendBtn.TextColor3 = Color3.fromRGB(255, 255, 255) SendBtn.TextSize = 16 SendBtn.Font = Enum.Font.SourceSansBold SendBtn.Parent = ContainerFrame local SendCorner = Instance.new("UICorner") SendCorner.CornerRadius = UDim.new(0, 6) SendCorner.Parent = SendBtn ---------------------------------------------------- -- 3. FUNCTIONALITY & LOGIC ---------------------------------------------------- -- Function to handle sending chat messages (Supports old and new Roblox Chat) local function SendChatMessage(message) if message == "" then return end -- Try TextChatService (New Roblox Chat System) if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then local textChannel = TextChatService:FindFirstChild("TextChannels") and TextChatService.TextChannels:FindFirstChild("RBXGeneral") if textChannel then textChannel:SendAsync(message) end else -- Fallback to Legacy Chat System local SayMessageRequest = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") and ReplicatedStorage.DefaultChatSystemChatEvents:FindFirstChild("SayMessageRequest") if SayMessageRequest then SayMessageRequest:FireServer(message, "All") end end end -- Login Logic LoginBtn.MouseButton1Click:Connect(function() if PassInput.Text == CORRECT_PASSWORD then LoginFrame:Destroy() -- Delete the password panel completely MainFrame.Visible = true -- Display the main panel else LoginBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0) LoginBtn.Text = "Wrong Password!" task.wait(1.5) LoginBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 70) LoginBtn.Text = "Unlock" end end) -- Force Text Lock Constraint (Ensures prefix cannot be edited or erased) MsgTextBox:GetPropertyChangedSignal("Text"):Connect(function() local currentText = MsgTextBox.Text -- If the user deletes past the prefix or alters it, reset it back if string.sub(currentText, 1, string.len(LOCKED_TEXT)) ~= LOCKED_TEXT then MsgTextBox.Text = LOCKED_TEXT end end) -- Send Button Trigger SendBtn.MouseButton1Click:Connect(function() local textToSend = MsgTextBox.Text SendChatMessage(textToSend) end) -- Minimize Button Logic local isMinimized = false MinBtn.MouseButton1Click:Connect(function() if not isMinimized then -- Collapse window ContainerFrame.Visible = false MainFrame.Size = UDim2.new(0, 350, 0, 35) MinBtn.Text = "+" isMinimized = true else -- Expand window back MainFrame.Size = UDim2.new(0, 350, 0, 160) ContainerFrame.Visible = true MinBtn.Text = "-" isMinimized = false end end)