Verity
Key Required

Verity

RIVALSDemonofTanksDemonofTanks 4.4K views 3.1K executesUpdated Jul 6, 2026
3.8/ 5(4 votes)
3175% Positive
Lua Script•690 lines (31380 chars)
-- =============================================================================
-- 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

Features & Information

All
#Bot#Aura

Community Comments (4)

MydearMydearJul 6, 2026

?

ladracladracJul 7, 2026

doodoo ah script mexican someshi language

kbaudasherkbaudasherJul 7, 2026

ooh this is a chatbot-like thing, cool

Replying to @kbaudasher
DemonofTanksDemonofTanksJul 14, 2026

@kbaudasher yes

More Scripts for RIVALS