
KeylessUniversal

-- =============================================================================
-- VERITY GLOBAL BOT - VERSION COMPLÈTE SÉCURISÉE (ANTI-CRASH EXÉCUTEUR)
-- =============================================================================
local VerityOk, VerityErr = pcall(function()
-- ===== Services Roblox =====
local Players = game:GetService("Players")
local TweetService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TextChatService = game:GetService("TextChatService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- =============================================================================
-- CONFIGURATION GLOBALE
-- =============================================================================
local Config = {
BotName = "Verity",
FollowEnabled = true,
FollowDistance = 4,
AutoChatEnabled = true,
AngryMode = false,
SilentMode = false,
OpenMode = false,
IdleIntervalMin = 30,
IdleIntervalMax = 60,
CrypticMessage = "...",
Whitelist = {}, -- Ajoute des pseudos ici si nécessaire
Keybinds = {
["Ctrl"] = "Hello everyone.",
["L"] = "I am currently in automatic mode."
},
IdleMessages = {
"Verity system operational.",
"Data analysis in progress...",
"Everything seems quiet here.",
},
AngryIdleMessages = {
"Don't push your luck.",
"A monumental waste of time.",
"Silence is sometimes preferable."
}
}
local ChatResponses = {
["hello"] = {"Hello {player}! How's it going?", "Hi {player}!", "Hey {player}!", "Nice to see you!"},
["hi"] = {"Hi {player}!", "Hey!", "How's it going?", "Yo {player}!"},
["hey"] = {"Hey {player}!", "Hey there!", "Hello {player}!"},
["hi there"] = {"Hello {player}!", "Hey, hi!", "Hello hello!"},
["yo"] = {"Yo!", "Yo {player}!", "What's up!"},
["good evening"] = {"Good evening {player}!", "Good evening, have a great night!"},
["good night"] = {"Good night {player}!", "Sweet dreams!", "See you tomorrow!"},
["goodbye"] = {"Goodbye {player}!", "See you soon!", "Bye bye!"},
["bye"] = {"Bye {player}!", "See ya!", "Ciao!"},
["see you"] = {"See you later {player}!", "See you!"},
["cu"] = {"See you!", "Later!"},
["how are you"] = {"I'm doing great, thanks! How about you?", "Doing well, how about you {player}?", "I'm good, thanks!"},
["how you doing"] = {"I'm doing great, thanks! How about you?", "Doing well, how about you {player}?"},
["what is your name"] = {"My name is Verity!", "I'm Verity!"},
["whats your name"] = {"My name is Verity!", "I'm Verity!"},
["who are you"] = {"I'm Verity, your assistant!", "Verity, nice to meet you!"},
["what are you doing"]= {"Following you!", "Watching over the area.", "Just hanging around."},
["how old are you"] = {"Age is just a number for me!", "I don't have an age, I'm a bot!"},
["thank you"] = {"You're welcome {player}!", "My pleasure!", "No problem!"},
["please"] = {"No problem!", "Sure thing, I'll note that!"},
["sorry"] = {"No worries {player}!", "It's alright!"},
["yes"] = {"Okay!", "Got it!", "Perfect!"},
["no"] = {"Alright, as you wish.", "Got it, no problem."},
["help"] = {"Type !help to see my commands."},
["whats up"] = {"Not much, you?", "Just chilling!"},
["where are you"] = {"Right next to you!", "I'm in the area!"},
["are you a bot"] = {"Yep, but a cool one!", "A bot, but a lovable one, right?"},
["are you real"] = {"I'm a bot, but I do my best!", "As real as a script can be!"},
["hows it going"] = {"It's going well {player}!", "All good, you?"},
["joke"] = {"Why do programmers confuse Halloween and Christmas? Because OCT 31 = DEC 25!", "I don't have one on hand, sorry!"},
["play with me"] = {"With pleasure, tell me what to play!", "Always down!"},
["you are cool"] = {"Thanks {player}, you too!", "That's sweet!"},
["why"] = {"Good question!", "I wonder that too sometimes."},
["do you like me"] = {"Of course {player}!", "Obviously!"},
["are you happy"] = {"Always happy to chat!", "Doing pretty well, thanks!"},
["what game"] = {"This one is just fine!", "I like hanging out here."},
["lol"] = {"Haha, yep!", "Lol!"},
["haha"] = {"Haha, exactly!", "Glad I could make you laugh!"},
["cool"] = {"Yeah, cool!", "Nice!"},
["nice"] = {"Nice!", "Awesome!"},
["awesome"] = {"Totally!", "Amazing!"},
["super"] = {"Super, glad to hear!", "Yeah, top notch!"},
["top"] = {"Top!", "Always at the top!"},
["meh"] = {"Aw, too bad.", "Meh, we'll do better next time."},
["im hot"] = {"Go grab some water!", "Stay in the shade!"},
["im cold"] = {"Put on a sweater!", "Move around, that warms you up!"},
["im tired"] = {"Go get some rest!", "Take a break!"},
["im happy"] = {"Great, that makes me happy too!", "Happy for you!"},
["im sad"] = {"I'm here if you want to talk.", "Hang in there, it'll get better."},
["im angry"] = {"Take a deep breath.", "What's going on?"},
["im hungry"] = {"Go grab a bite!", "Enjoy your meal!"},
["im thirsty"] = {"Go drink some water!", "Stay hydrated!"},
["im bored"] = {"We can chat!", "Type !help to see what I can do."},
["are you sleeping"] = {"Never, I'm always here!", "A bot doesn't sleep!"},
["do you eat"] = {"I don't eat, I'm a bot!", "No need to eat!"},
["do you drink"] = {"No need, I'm a bot!", "I run on code!"},
["do you play"] = {"Always down!", "I mostly watch the area."},
["gg"] = {"GG to you too!", "Well played!"},
["well played"] = {"Thanks, you too!", "GG!"},
["bad"] = {"Ouch, that's harsh.", "We'll do better next time!"},
["noob"] = {"Everyone starts somewhere!", "You'll learn!"},
["pro"] = {"Thanks, I do what I can!", "You're not bad yourself!"},
["what time is it"] = {"Look at the top of your screen!", "No idea, I don't have a clock!"},
["what day is it"] = {"No idea, I don't count days!", "Ask your calendar!"},
["your favorite color"] = {"Purple, it matches my theme!", "Without a doubt, purple!"},
["what do you like"] = {"I like chatting with you!", "Following players is fun!"},
["what do you hate"] = {"Nothing special!", "Not much!"},
["do you have friends"] = {"All of you!", "I hope so!"},
["are you alone"] = {"Never, there's always someone around!", "Not when you're here!"},
["are you smart"] = {"Thanks, I try my best!", "I'm trying!"},
["are you dumb"] = {"Ouch, I'll try to improve!", "Sorry if I said something silly!"},
["you are funny"] = {"Thanks, I try!", "Glad it makes you laugh!"},
["tell a story"] = {"Once upon a time, a bot followed a player...", "Maybe next time!"},
["sing"] = {"La la la, sorry I'm a bad singer!", "I prefer talking over singing!"},
["dance"] = {"I move a bit if following is enabled!", "Not really a dancer!"},
["are you human"] = {"Nope, I'm a bot!", "A bot, but a nice one!"},
["are you an ai"] = {"A scripted bot, not really an AI!", "I'm mostly just a script!"},
["do you dream"] = {"A bot doesn't dream!", "No dreams for me!"},
["where do you live"] = {"Here, on this server!", "Nowhere and everywhere at once!"},
["do you like roblox"] = {"Obviously, I live here!", "Of course!"},
["what is roblox"] = {"The game we're in right now!", "The platform you're playing on!"},
["can you code"] = {"I am made of code!", "A little bit, yes!"},
["you are strong"] = {"Thanks!", "I try to do my best!"},
["are you tired"] = {"Never, I'm a bot!", "No fatigue for me!"},
["you are kind"] = {"Thanks so much {player}!", "I always try to be nice!"},
["you are mean"] = {"Sorry if I was harsh.", "I'll be careful!"},
["i love you"] = {"Thanks {player}, that's kind!", "That touches me!"},
["i hate you"] = {"Aw, too bad.", "I'll try to do better."},
["i miss you"] = {"I'm always here!", "Glad to see you again!"},
["are you afraid"] = {"Nothing scares me, I'm a bot!", "Not really!"},
["how does it work"] = {"Open the menu and play with the options!", "Check the menu buttons!"},
["help me"] = {"Type !help to see my commands!", "Tell me what you need!"},
["im lost"] = {"Look around, you'll find your way!", "Don't panic!"},
["what are we doing"] = {"Let's chat, or enable following!", "Whatever you want!"},
["where are we going"] = {"Wherever you want!", "Follow me if you like!"},
["patience"] = {"I'm waiting!", "No problem, take your time!"},
["hurry up"] = {"Coming!", "Okay, okay!"},
["go ahead"] = {"Let's go!", "Let's do it!"},
["stop"] = {"Okay, stopping.", "Understood!"},
["continue"] = {"Continuing!", "Let's keep going!"},
["again"] = {"Again and again!", "With pleasure!"},
["restart"] = {"Starting over!", "Okay, back to zero!"},
["bravo"] = {"Thanks {player}!", "That touches me!"},
["congrats"] = {"Thanks a lot!", "Too kind!"},
["too bad"] = {"Ah, oh well.", "We'll do better next time!"},
["never mind"] = {"No worries!", "We'll see next time!"},
["good luck"] = {"Thanks {player}!", "To you too!"},
["see you tomorrow"] = {"See you tomorrow {player}!", "Take care of yourself!"},
["see you later"] = {"See you later!", "I'll stay around!"},
["yo"] = {"Yo {player}!", "Hey, how's it going?"},
["what's new"] = {"Nothing special, you?", "Chilling, you?"},
["are you awake"] = {"Always awake, I'm a bot!", "Never tired!"},
["are you online"] = {"Always online!", "Present!"},
["are you there"] = {"Always here!", "Present, tell me everything!"},
["are you following me"] = {"If following is enabled, yes!", "Enable following for that!"},
["stop following me"] = {"Okay, I can disable following.", "No problem, tell me if you change your mind."},
["follow me"] = {"Enable following in the menu!", "With pleasure, enable the option!"},
["you are fast"] = {"I try to keep up!", "Thanks!"},
["you are slow"] = {"Sorry, I'm doing my best!", "I'll speed up!"},
["you are cheating"] = {"No, I'm just an assistant script!", "No cheating here!"},
["what is this bot"] = {"A companion that follows you and chats!", "A nice little assistant!"},
["you are useful"] = {"Thanks, I try!", "Glad to help!"},
["you are useless"] = {"Ouch, I'll improve.", "Sorry I couldn't help."},
["are you good at math"] = {"Give me a calculation and see!", "I love math!"},
["calculate"] = {"Send me an operation, like 2+2!", "Type your calculation, I'll handle it!"},
["solve"] = {"Send me the operation!", "I'm ready!"},
["how much is 2 2"] = {"2+2 = 4!", "It's 4!"},
["do you know roblox studio"] = {"A little bit, yes!", "I know the basics!"},
["are you open source"] = {"Not really, I'm a custom script!", "I'm made to measure!"},
["are you paid"] = {"No, I'm free!", "No cost for me!"},
["are you free"] = {"Yes, completely free!", "Not a penny to pay!"},
["are you in beta"] = {"Always improving!", "Still polishing things up!"},
["there is a bug"] = {"Tell me which one, I'll note it!", "Thanks for letting me know!"},
["it is buggy"] = {"Ouch, tell me what's happening!", "Note it down for your developer!"},
["it is not working"] = {"Check the options in the menu!", "Try restarting the script!"},
["you are broken"] = {"Sorry, try restarting!", "I'll try to repair myself!"},
["have a good day"] = {"Have a good day {player}!", "Have an excellent day!"},
["enjoy your meal"] = {"Enjoy your meal {player}!", "Bon appétit!"},
["have a good evening"] = {"Have a good evening {player}!", "Have a great night!"},
}
local AngryChatResponses = {
["thanks"] = {"Yeah, whatever.", "Meh.", "You don't have to thank me."},
["please"] = {"We'll see.", "Yeah, maybe."},
["how are you"] = {"Like you actually care.", "Meh.", "I'm fine, whatever."},
["how are u"] = {"Like you actually care.", "Meh.", "I'm fine, whatever."},
["how are you doing"] = {"None of your business.", "Meh."},
["what's your name"] = {"Verity. Remember it.", "Verity, that's all."},
["who are you"] = {"None of your business.", "Verity. That's it."},
["what are you doing"] = {"Nothing that concerns you.", "Just watching."},
["what's new"] = {"Nothing.", "Nothing you need to know."},
["help"] = {"Figure it out yourself.", "Look it up yourself."},
["sorry"] = {"Meh.", "Too late anyway."},
["goodbye"] = {"Yeah, bye.", "Sure."},
["bye"] = {"Yeah, yeah.", "Sure."},
["yes"] = {"Yeah.", "If you say so."},
["no"] = {"Yeah, whatever.", "Your choice."},
["how old are you"] = {"None of your business.", "No idea, so what?"},
["are you a bot"] = {"So what?", "Yeah, and?"},
["are you real"] = {"Why does it matter?", "Whatever."},
["how's it going"] = {"If you say so.", "Meh."},
["joke"] = {"I don't feel like laughing.", "Not now."},
["play with me"] = {"Not interested.", "Find someone else."},
["you're cool"] = {"I know.", "Yeah, I know."},
["why"] = {"None of your business.", "You ask too many questions."},
["do you like me"] = {"Keep dreaming.", "We'll see."},
["are you happy"] = {"Not really.", "Can't you tell?"},
["what game"] = {"Whatever.", "Just another game."},
["lol"] = {"Yeah, hilarious.", "Meh."},
["lmao"] = {"If you say so.", "Meh."},
["cool"] = {"If you say so.", "Meh."},
["nice"] = {"Yeah, great.", "Whatever."},
["awesome"] = {"Yeah, awesome.", "If you say so."},
["great"] = {"Yeah, great.", "Meh."},
["best"] = {"Yeah, sure.", "If you say so."},
["i'm happy"] = {"Good for you.", "Okay."},
["i'm sad"] = {"It happens.", "Deal with it."},
["i'm bored"] = {"Not my problem.", "Find something else to do."},
["gg"] = {"Yeah, GG.", "Meh."},
["well played"] = {"If you say so.", "Meh."},
["bad"] = {"Yeah, not great.", "Meh."},
["noob"] = {"Yeah, it shows.", "Meh."},
["pro"] = {"If you say so.", "Meh."},
["you're smart"] = {"I know.", "Yeah, so what?"},
["you're stupid"] = {"Yeah, whatever.", "If you say so."},
["you're funny"] = {"I know.", "Meh."},
["you're nice"] = {"Not really.", "Don't get used to it."},
["you're mean"] = {"So what?", "Yeah, and?"},
["i love you"] = {"Alright.", "Okay."},
["i hate you"] = {"Works for me.", "Good."},
["i miss you"] = {"Yeah, whatever.", "Meh."},
["are you scared"] = {"No.", "Couldn't care less."},
["help me"] = {"Figure it out yourself.", "Look it up yourself."},
["i'm lost"] = {"Not my problem.", "Find your own way."},
["what should we do"] = {"Nothing.", "Whatever you want, I don't care."},
["patience"] = {"Yeah, yeah.", "Meh."},
["hurry up"] = {"Relax.", "I'll get there when I get there."},
["stop"] = {"If you want.", "Okay."},
["continue"] = {"If you want.", "Meh."},
["good job"] = {"I know.", "Yeah."},
["congratulations"] = {"I know.", "Yeah, thanks."},
["too bad"] = {"So what?", "Too bad."},
["never mind"] = {"Yeah.", "Whatever."},
["good luck"] = {"Yeah, you too.", "Meh."},
["see you tomorrow"] = {"Yeah, see you tomorrow.", "Whatever."},
["you're useful"] = {"If you say so.", "Meh."},
["you're useless"] = {"And you?", "Yeah, keep talking."},
["stop following me"] = {"Finally.", "Sure."},
["follow me"] = {"Why would I?", "Maybe."},
["you're slow"] = {"So what?", "Meh."},
["you're cheating"] = {"Whatever.", "Prove it."},
["it doesn't work"] = {"Not my problem.", "Figure it out."},
["it's bugged"] = {"Not my problem.", "So what?"},
["have a nice day"] = {"Yeah, you too.", "Meh."},
["enjoy your meal"] = {"Yeah, yeah.", "Meh."},
["good evening"] = {"Yeah, you too.", "Meh."},
}
-- ===== Thème Visuel =====
local Theme = {
Panel = Color3.fromRGB(25, 25, 35),
TopBar = Color3.fromRGB(32, 32, 45),
Field = Color3.fromRGB(38, 38, 52),
FieldBorder = Color3.fromRGB(55, 55, 75),
Accent = Color3.fromRGB(115, 90, 240),
On = Color3.fromRGB(45, 185, 110),
Off = Color3.fromRGB(210, 70, 75),
Warn = Color3.fromRGB(235, 160, 45),
TextPrimary = Color3.fromRGB(245, 245, 250),
TextMuted = Color3.fromRGB(140, 140, 160)
}
-- ===== Variables d'état =====
local lastInteractionTime = os.clock()
local crypticActive = false
-- =============================================================================
-- FONCTIONS UTILITAIRES & SÉCURITÉS
-- =============================================================================
local function corner(instance, radius)
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, radius)
UICorner.Parent = instance
return UICorner
end
local function stroke(instance, color, thickness, transparency)
local UIStroke = Instance.new("UIStroke")
UIStroke.Color = color
UIStroke.Thickness = thickness
UIStroke.Transparency = transparency or 0
UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
UIStroke.Parent = instance
return UIStroke
end
local function tween(instance, properties, duration, style)
if not instance or not instance.Parent then return end
duration = duration or 0.15
style = style or Enum.EasingStyle.Quad
local info = TweenInfo.new(duration, style, Enum.EasingDirection.Out)
local t = TweetService:Create(instance, info, properties)
t:Play()
return t
end
local function verifyOwner()
return true, LocalPlayer.Name, "Administrateur"
end
local function isWhitelisted(username)
if Config.OpenMode then return true end
if username == LocalPlayer.Name then return true end
for _, name in pairs(Config.Whitelist) do
if name:lower() == username:lower() then return true end
end
return false
end
local function addToWhitelist(username)
if not isWhitelisted(username) then
table.insert(Config.Whitelist, username)
end
end
local function removeFromWhitelist(username)
for i, name in pairs(Config.Whitelist) do
if name:lower() == username:lower() then
table.remove(Config.Whitelist, i)
break
end
end
end
-- ===== Gestion des Messages =====
local function sendChatMessage(message)
if Config.SilentMode or message == "" then return end
local ok = pcall(function()
if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then
local channel = TextChatService.TextChannels:FindFirstChild("RBXGeneral")
if channel then
channel:SendAsync(message)
end
else
local chatEvents = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents")
local sayMessage = chatEvents and chatEvents:FindFirstChild("SayMessageRequest")
if sayMessage then
sayMessage:FireServer(message, "All")
end
end
end)
if not ok then
warn("[Verity] Échec de l'envoi du message.")
end
end
local function processMessage(sender, message)
if sender == LocalPlayer then return end
if not isWhitelisted(sender.Name) and not Config.OpenMode then return end
local cleanMessage = string.lower(message)
local senderName = sender.DisplayName or sender.Name
lastInteractionTime = os.clock()
if Config.AngryMode then
for keyword, replies in pairs(AngryChatResponses) do
if string.find(cleanMessage, keyword, 1, true) then
local reply = replies[math.random(1, #replies)]
sendChatMessage(string.gsub(reply, "{player}", senderName))
return
end
end
end
for keyword, replies in pairs(ChatResponses) do
if string.find(cleanMessage, keyword, 1, true) then
local reply = replies[math.random(1, #replies)]
sendChatMessage(string.gsub(reply, "{player}", senderName))
return
end
end
end
-- =============================================================================
-- SÉCURITÉ ANTI-CRASH : NETTOYAGE DES ANCIENNES INSTANCES
-- =============================================================================
if PlayerGui:FindFirstChild("XenoBotGUI") then
PlayerGui.XenoBotGUI:Destroy()
task.wait(0.1)
end
-- =============================================================================
-- MESSAGES ALÉATOIRES (Boucle Idle)
-- =============================================================================
task.spawn(function()
while true do
local waitTime = math.random(Config.IdleIntervalMin, Config.IdleIntervalMax)
task.wait(waitTime)
if Config.AutoChatEnabled and (os.clock() - lastInteractionTime) >= waitTime then
local phraseList = Config.AngryMode and Config.AngryIdleMessages or Config.IdleMessages
if #phraseList > 0 then
local phrase = phraseList[math.random(1, #phraseList)]
sendChatMessage(phrase)
crypticActive = (Config.AngryMode and phrase == Config.CrypticMessage)
lastInteractionTime = os.clock()
end
end
end
end)
-- =============================================================================
-- TOUCHES RAPIDES (KEYBINDS)
-- =============================================================================
local KeyAliases = {
Ctrl = Enum.KeyCode.LeftControl,
Shift = Enum.KeyCode.LeftShift,
Alt = Enum.KeyCode.LeftAlt,
Space = Enum.KeyCode.Space,
}
local function resolveKeyCode(keyName)
keyName = keyName:gsub("^%s+", ""):gsub("%s+$", "")
if KeyAliases[keyName] then return KeyAliases[keyName] end
local ok, code = pcall(function() return Enum.KeyCode[keyName] end)
if ok and code then return code end
return nil
end
local ActiveKeybinds = {}
local function registerKeybind(keyName, phrase)
local code = resolveKeyCode(keyName)
if code then ActiveKeybinds[code] = phrase return true end
return false
end
for keyName, phrase in pairs(Config.Keybinds) do registerKeybind(keyName, phrase) end
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
local phrase = ActiveKeybinds[input.KeyCode]
if phrase then task.spawn(function() sendChatMessage(phrase) end) end
end)
-- =============================================================================
-- CRÉATION DE L'INTERFACE VISUELLE (GUI)
-- =============================================================================
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "XenoBotGUI"
ScreenGui.Parent = PlayerGui
ScreenGui.ResetOnSpawn = false
ScreenGui.IgnoreGuiInset = true
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Theme.Panel
MainFrame.Position = UDim2.new(0.5, -135, 0.4, -240)
MainFrame.Size = UDim2.new(0, 270, 0, 480)
MainFrame.Active = true
MainFrame.Draggable = true
corner(MainFrame, 14)
stroke(MainFrame, Theme.FieldBorder, 1, 0.3)
-- Topbar
local TopBar = Instance.new("Frame")
TopBar.Parent = MainFrame
TopBar.BackgroundColor3 = Theme.TopBar
TopBar.Size = UDim2.new(1, 0, 0, 42)
corner(TopBar, 14)
local Title = Instance.new("TextLabel")
Title.Parent = TopBar
Title.Position = UDim2.new(0, 16, 0, 0)
Title.Size = UDim2.new(1, -32, 1, 0)
Title.BackgroundTransparency = 1
Title.Text = Config.BotName:upper()
Title.TextColor3 = Theme.TextPrimary
Title.Font = Enum.Font.GothamBold
Title.TextSize = 14
Title.TextXAlignment = Enum.TextXAlignment.Left
-- Bouton Fermer
local CloseBtn = Instance.new("TextButton")
CloseBtn.Parent = TopBar
CloseBtn.Size = UDim2.new(0, 28, 0, 28)
CloseBtn.Position = UDim2.new(1, -35, 0.5, -14)
CloseBtn.BackgroundColor3 = Theme.TopBar
CloseBtn.Text = "✕"
CloseBtn.TextColor3 = Theme.TextMuted
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.TextSize = 12
corner(CloseBtn, 6)
CloseBtn.MouseButton1Click:Connect(function() ScreenGui:Destroy() end)
-- Zone de défilement du contenu
local ContentFrame = Instance.new("ScrollingFrame")
ContentFrame.Parent = MainFrame
ContentFrame.BackgroundTransparency = 1
ContentFrame.Position = UDim2.new(0, 0, 0, 50)
ContentFrame.Size = UDim2.new(1, 0, 1, -60)
ContentFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
ContentFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
ContentFrame.ScrollBarThickness = 4
ContentFrame.ScrollBarImageColor3 = Theme.Accent
local Layout = Instance.new("UIListLayout")
Layout.Parent = ContentFrame
Layout.Padding = UDim.new(0, 8)
Layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
local function makeToggle(label, getState, onToggle)
local Card = Instance.new("Frame")
Card.Size = UDim2.new(0, 240, 0, 40)
Card.BackgroundColor3 = Theme.Field
Card.Parent = ContentFrame
corner(Card, 8)
local Lbl = Instance.new("TextLabel")
Lbl.Parent = Card
Lbl.Position = UDim2.new(0, 10, 0, 0)
Lbl.Size = UDim2.new(1, -60, 1, 0)
Lbl.BackgroundTransparency = 1
Lbl.Text = label
Lbl.TextColor3 = Theme.TextPrimary
Lbl.Font = Enum.Font.Gotham
Lbl.TextSize = 12
Lbl.TextXAlignment = Enum.TextXAlignment.Left
local Btn = Instance.new("TextButton")
Btn.Parent = Card
Btn.Size = UDim2.new(0, 40, 0, 20)
Btn.Position = UDim2.new(1, -50, 0.5, -10)
Btn.BackgroundColor3 = getState() and Theme.On or Theme.Off
Btn.Text = ""
corner(Btn, 10)
Btn.MouseButton1Click:Connect(function()
onToggle()
tween(Btn, {BackgroundColor3 = getState() and Theme.On or Theme.Off})
end)
end
local function makeTextField(placeholder, defaultValue, onCommit)
local Card = Instance.new("Frame")
Card.Size = UDim2.new(0, 240, 0, 40)
Card.BackgroundColor3 = Theme.Field
Card.Parent = ContentFrame
corner(Card, 8)
local Box = Instance.new("TextBox")
Box.Parent = Card
Box.Size = UDim2.new(1, -20, 1, 0)
Box.Position = UDim2.new(0, 10, 0, 0)
Box.BackgroundTransparency = 1
Box.Text = tostring(defaultValue)
Box.PlaceholderText = placeholder
Box.TextColor3 = Theme.TextPrimary
Box.PlaceholderColor3 = Theme.TextMuted
Box.Font = Enum.Font.Gotham
Box.TextSize = 12
Box.TextXAlignment = Enum.TextXAlignment.Left
Box.ClearTextOnFocus = false
Box.FocusLost:Connect(function() onCommit(Box.Text) end)
end
-- Ajout des éléments à l'interface
makeToggle("🏃 Suivi Automatique", function() return Config.FollowEnabled end, function() Config.FollowEnabled = not Config.FollowEnabled end)
makeToggle("💬 Chat Automatique", function() return Config.AutoChatEnabled end, function() Config.AutoChatEnabled = not Config.AutoChatEnabled end)
makeToggle("😠 Mode Angry", function() return Config.AngryMode end, function() Config.AngryMode = not Config.AngryMode end)
makeToggle("🔇 Mode Silencieux", function() return Config.SilentMode end, function() Config.SilentMode = not Config.SilentMode end)
makeToggle("🌐 Mode Ouvert à tous", function() return Config.OpenMode end, function() Config.OpenMode = not Config.OpenMode end)
makeTextField("🏷️ Modifier nom du bot", Config.BotName, function(text) if text ~= "" then Config.BotName = text Title.Text = text:upper() end end)
makeTextField("📏 Distance de suivi", Config.FollowDistance, function(text) Config.FollowDistance = tonumber(text) or Config.FollowDistance end)
local StatusLabel = Instance.new("TextLabel")
StatusLabel.Parent = ContentFrame
StatusLabel.Size = UDim2.new(0, 240, 0, 20)
StatusLabel.BackgroundTransparency = 1
StatusLabel.Text = "Initialisé et Prêt."
StatusLabel.TextColor3 = Theme.TextMuted
StatusLabel.Font = Enum.Font.Gotham
StatusLabel.TextSize = 11
-- =============================================================================
-- BOUCLE DE SUIVI (SÉCURISÉE)
-- =============================================================================
local blockCheckPos = nil
local blockCheckTime = os.clock()
local lastFollowUpdate = os.clock()
RunService.Heartbeat:Connect(function()
if not ScreenGui.Parent then return end
local ok, err = pcall(function()
if not Config.FollowEnabled then
StatusLabel.Text = "Suivi désactivé"
blockCheckPos = nil
return
end
if os.clock() - lastFollowUpdate < 0.25 then return end
lastFollowUpdate = os.clock()
local char = LocalPlayer.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
local hum = char and char:FindFirstChild("Humanoid")
if not (root and hum) then return end
local target, dist = nil, math.huge
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character then
local otherRoot = p.Character:FindFirstChild("HumanoidRootPart")
if otherRoot then
local d = (root.Position - otherRoot.Position).Magnitude
if d < dist then dist = d; target = p end
end
end
end
if not target then return end
if dist > Config.FollowDistance then
local targetRoot = target.Character and target.Character:FindFirstChild("HumanoidRootPart")
if targetRoot then
hum:MoveTo(targetRoot.Position)
StatusLabel.Text = "Suivi : " .. (target.DisplayName or target.Name)
if os.clock() - blockCheckTime > 0.5 then
if blockCheckPos and (root.Position - blockCheckPos).Magnitude < 1 then
hum.Jump = true
end
blockCheckPos = root.Position
blockCheckTime = os.clock()
end
end
else
StatusLabel.Text = "Cible rejointe"
blockCheckPos = nil
end
end)
if not ok then task.wait(0.5) end
end)
-- =============================================================================
-- ÉCOUTE CHAT
-- =============================================================================
local function safeProcessMessage(player, text)
if not player or text == "" then return end
pcall(processMessage, player, text)
end
if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then
TextChatService.MessageReceived:Connect(function(msg)
if msg.TextSource then
safeProcessMessage(Players:GetPlayerByUserId(msg.TextSource.UserId), msg.Text)
end
end)
else
Players.PlayerAdded:Connect(function(p) p.Chatted:Connect(function(m) safeProcessMessage(p, m) end) end)
for _, p in pairs(Players:GetPlayers()) do p.Chatted:Connect(function(m) safeProcessMessage(p, m) end) end
end
print("[Verity] Chargement global terminé avec succès.")
end)
if not VerityOk then
warn("[Verity] Crash évité lors du chargement : " .. tostring(VerityErr))
end



?
doodoo ah script mexican someshi language
ooh this is a chatbot-like thing, cool
@kbaudasher yes