BobloScript.com

Bizarre Lineage script: Auto Storyline, Auto Level Farm

Published by bebraPublished Apr 20
Open in Roblox
37Views
7Copies
Aug 28Updated

Description

Functions

8 functions
  • Auto StorylineAutomatically completes storyline quests including dialogue, combat, and teleporting to NPCs.
  • Auto Boss RaidsFarms bosses like Avdol, Kira, Jotaro, and Dio with automatic restart for continuous rewards.
  • Auto Arrow FarmCollects and uses arrows automatically with the option to select desired stands.
  • Auto Level FarmHandles PvE missions and boss fights to level up efficiently.
  • Auto StatsDistributes stat points automatically based on your target values.
  • Auto PrestigeFully automates the prestige system for faster long-term progression.
  • Auto SkillsExecutes customizable skill combos (E, R, Z, X, C, V, 1–9) during combat.
  • ESP SystemDisplays players, NPCs, and items through walls with details like highlights, boxes, names, HP, and distance.

Script Code

Raw Code
--// SERVICESlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local HttpService = game:GetService("HttpService")local UIS = game:GetService("UserInputService")local VIM = game:GetService("VirtualInputManager")local RunService = game:GetService("RunService")local player = Players.LocalPlayer--// V64: LOCALIZATION SYSTEM (INJECTED)local currentLang = "ENG" -- Defaultlocal LOCALES = {    ["RU"] = {        ["TITLE"] = "YMenu V1",        ["SIDEBAR_CREDITS"] = "BIZZARE LINEAGE\nULTIMATE SCRIPT\nBY YGAR1",        ["RAID_INFO"] = "ИНФОРМАЦИЯ О РЕЙДАХ:\n- Убедитесь, что у вас достаточно ОЗ.\n- Авто-рестарт работает после победы.\n\nВНИМАНИЕ: Авто-атака паузится, когда курсор над меню!",        ["TAB_STAND"] = "Стенд",        ["TAB_FARM"] = "Фарм",        ["TAB_RAIDS"] = "Рейды",        ["TAB_STATS"] = "Статы",        ["TAB_ESP"] = "ESP",        ["TAB_SETTINGS"] = "Настройки",        ["AUTO_ARROW"] = "Авто использование стрел",        ["STOP_WORTH"] = "Стоп если достойность 0",        ["DESIRED_STAND"] = "Желаемый стенд:",        ["PLACEHOLDER_STAND"] = "Введите стенд...",        ["CURR_STAND"] = "Стенд: ",        ["CURR_WORTH"] = "Достойность: ",        ["SUB_ARROWS"] = "Стрелы",        ["FARM_ARROWS"] = "Авто фарм стрел",        ["SUB_QUESTS"] = "Квесты",        ["AUTO_QUEST"] = "Авто квест",        ["SELECT_BOSS"] = "Выбор босса",        ["AUTO_RAID"] = "Авто рейд",        ["AUTO_RESTART"] = "Авто рестарт",        ["ADD_AMOUNT"] = "Добавить кол-во:",        ["AUTO_STATS"] = "Авто добавление статов",        ["TARGET_ATTR"] = "Целевые атрибуты:",        ["LEVEL_TEXT"] = "Уровень: ",        ["CONJ_TEXT"] = "Коньюрация: ",        ["SP_TEXT"] = "Очки статов: ",        ["TARGET_CAT"] = "Категории целей",        ["ESP_ITEMS"] = "ESP Предметы",        ["ESP_PEOPLE"] = "ESP Игроки",        ["ESP_NPC"] = "ESP NPC",        ["ESP_SETTINGS"] = "Настройки ESP",        ["LANG_SWITCH"] = "Смена языка RU/ENG",        ["AUTO_USE_KEYS"] = "Auto Use Keys",        ["STAT_STR"] = "Сила",        ["STAT_HP"] = "Здоровье",        ["STAT_POW"] = "Энергия",        ["STAT_WEP"] = "Оружие",        ["STAT_DP"] = "Разрушительная сила",        ["STAT_DE"] = "Разрушительная энергия",        ["SUB_PRESTIGE"] = "Престиж",        ["AUTO_PRESTIGE"] = "Авто престиж",        ["PRESTIGE_TEXT"] = "Престиж: ",        ["SUB_LVL_FARM"] = "Фарм Уровня",        ["SELECT_LVL_FARM"] = "Выбор режима",        ["AUTO_LVL_FARM"] = "Авто фарм уровня"    },    ["ENG"] = {        ["TITLE"] = "YMenu V1",        ["SIDEBAR_CREDITS"] = "BIZZARE LINEAGE\nULTIMATE SCRIPT\nBY YGAR1",        ["RAID_INFO"] = "RAID INFORMATION:\n- Ensure your character has enough HP.\n- Auto-Restart works after boss defeat.\n\nWARNING: Auto-attack pauses while your cursor is over the menu to ensure UI responsiveness!",        ["TAB_STAND"] = "Stand",        ["TAB_FARM"] = "Farm",        ["TAB_RAIDS"] = "Raids",        ["TAB_STATS"] = "Stats",        ["TAB_ESP"] = "ESP",        ["TAB_SETTINGS"] = "Settings",        ["AUTO_ARROW"] = "Auto use Arrows",        ["STOP_WORTH"] = "Stop if Worthiness 0",        ["DESIRED_STAND"] = "Desired Stand:",        ["PLACEHOLDER_STAND"] = "Enter Stand...",        ["CURR_STAND"] = "Stand: ",        ["CURR_WORTH"] = "Worthiness: ",        ["SUB_ARROWS"] = "Arrows",        ["FARM_ARROWS"] = "Auto Farm Arrows",        ["SUB_QUESTS"] = "Quests",        ["AUTO_QUEST"] = "Auto Quest",        ["SELECT_BOSS"] = "Select Raid Boss",        ["AUTO_RAID"] = "Auto Raid",        ["AUTO_RESTART"] = "Auto Restart",        ["ADD_AMOUNT"] = "Add Amount:",        ["AUTO_STATS"] = "Auto Add Stats",        ["TARGET_ATTR"] = "Target Attributes:",        ["LEVEL_TEXT"] = "Level: ",        ["CONJ_TEXT"] = "Conjuration: ",        ["SP_TEXT"] = "Stat Points: ",        ["TARGET_CAT"] = "Target Categories",        ["ESP_ITEMS"] = "ESP Items",        ["ESP_PEOPLE"] = "ESP People",        ["ESP_NPC"] = "ESP NPC",        ["ESP_SETTINGS"] = "ESP Settings",        ["LANG_SWITCH"] = "Change Language RU/ENG",        ["AUTO_USE_KEYS"] = "Auto Use Keys",        ["STAT_STR"] = "Strength",        ["STAT_HP"] = "Health",        ["STAT_POW"] = "Power",        ["STAT_WEP"] = "Weapon",        ["STAT_DP"] = "Destructive Power",        ["STAT_DE"] = "Destructive Energy",        ["SUB_PRESTIGE"] = "Prestige",        ["AUTO_PRESTIGE"] = "Auto Prestige",        ["PRESTIGE_TEXT"] = "Prestige: ",        ["SUB_LVL_FARM"] = "Lvl Farm",        ["SELECT_LVL_FARM"] = "Select Mode",        ["AUTO_LVL_FARM"] = "Auto Lvl Farm"    }}local function getLoc(key)    local langData = LOCALES[currentLang]    if langData and langData[key] then return langData[key] end    return keyend--// STATESlocal autoArrow = falselocal stopWorth0 = falselocal autoFarm = falselocal autoQuest = falselocal autoRaid = falselocal autoRestart = falselocal autoAddStats = falselocal autoPrestige = falselocal autoLvlFarm = falselocal selectedLvlFarm = "None"-- ESP CATEGORIESlocal espItems = falselocal espPeople = falselocal espNPC = false-- ESP SETTINGS (V63)local espHighlight = truelocal espBox = falselocal espName = falselocal espHealth = falselocal espDist = false-- V64: AUTO-SKILL STATESlocal autoSkills = {    ["E"] = false, ["R"] = false, ["Z"] = false, ["X"] = false, ["C"] = false, ["V"] = false,    ["1"] = false, ["2"] = false, ["3"] = false, ["4"] = false, ["5"] = false, ["6"] = false,    ["7"] = false, ["8"] = false, ["9"] = false}local spAmount = 1local desiredStand = ""local selectedRaidBoss = "None"local isMinimized = falselocal currentTarget = nil local targetCFrame = nil local isHoveringMenu = false -- Stat Targetslocal statTargets = {    ["Strength"] = 0,    ["Health"] = 0,    ["Power"] = 0,    ["Weapon"] = 0,    ["Destructive Power"] = 0,    ["Destructive Energy"] = 0}-- MAPPINGlocal STAT_NAME_MAP = {    ["Strength"] = "StrengthStat",    ["Health"] = "DefenseStat",    ["Power"] = "PowerStat",    ["Weapon"] = "WeaponStat",    ["Destructive Power"] = "DestructivePowerStat",    ["Destructive Energy"] = "DestructiveEnergyStat"}-- BOSS MAPPINGlocal RAID_BOSSES = {    ["Avdol"] = {TalkName = "Muhammad Avdol", BossName = "Muhammad Avdol"},    ["Kira"] = {TalkName = "Yoshikage Kira", BossName = "Yoshikage Kira"},    ["Jotaro"] = {TalkName = "Chumbo", BossName = "Jotaro Kujo"},    ["Dio"] = {TalkName = "???", BossName = "DIO", TwoPhase = true}}--// GUI (RESTORED TO FULL VERBOSE STYLE)local gui = Instance.new("ScreenGui")gui.Name = "YMenu_V1_Premium"gui.DisplayOrder = 999gui.ZIndexBehavior = Enum.ZIndexBehavior.Globalgui.Parent = game.CoreGuilocal frame = Instance.new("Frame")frame.Size = UDim2.new(0,550,0,450)frame.Position = UDim2.new(0.5,-275,0.5,-225)frame.BackgroundColor3 = Color3.fromRGB(14,16,24)frame.Active = trueframe.ClipsDescendants = trueframe.ZIndex = 110frame.Parent = guilocal uiCorner = Instance.new("UICorner")uiCorner.CornerRadius = UDim.new(0,14)uiCorner.Parent = framelocal frameStroke = Instance.new("UIStroke")frameStroke.Color = Color3.fromRGB(60,40,120)frameStroke.Thickness = 1.5frameStroke.Transparency = 0.5frameStroke.Parent = frame-- SMART CLICKER HOVER DETECTIONframe.MouseEnter:Connect(function()     isHoveringMenu = true end)frame.MouseLeave:Connect(function()     isHoveringMenu = false end)local topBar = Instance.new("Frame")topBar.Size = UDim2.new(1,0,0,40)topBar.BackgroundColor3 = Color3.fromRGB(18,20,30)topBar.Active = truetopBar.ZIndex = 115topBar.Parent = framelocal topBarCorner = Instance.new("UICorner")topBarCorner.CornerRadius = UDim.new(0,14)topBarCorner.Parent = topBar-- ACCENT STRIPE (gradient line under topbar)local accentLine = Instance.new("Frame")accentLine.Size = UDim2.new(1,0,0,2)accentLine.Position = UDim2.new(0,0,1,-2)accentLine.BorderSizePixel = 0accentLine.ZIndex = 116accentLine.Parent = topBarlocal accentGrad = Instance.new("UIGradient")accentGrad.Color = ColorSequence.new(Color3.fromRGB(120,80,220), Color3.fromRGB(60,120,255))accentGrad.Parent = accentLinelocal topTitle = Instance.new("TextLabel")topTitle.Size = UDim2.new(0,150,1,0)topTitle.Position = UDim2.new(0,15,0,0)topTitle.Text = getLoc("TITLE")topTitle.TextSize = 18topTitle.Font = Enum.Font.GothamBoldtopTitle.BackgroundTransparency = 1topTitle.TextColor3 = Color3.new(1,1,1)topTitle.TextXAlignment = Enum.TextXAlignment.LefttopTitle.ZIndex = 120topTitle.Parent = topBarlocal minBtn = Instance.new("TextButton")minBtn.Size = UDim2.new(0,30,0,30)minBtn.Position = UDim2.new(1,-75,0,5)minBtn.Text = "-"minBtn.BackgroundColor3 = Color3.fromRGB(45,47,55)minBtn.TextColor3 = Color3.new(1,1,1)minBtn.ZIndex = 125minBtn.Parent = topBarlocal minBtnCorner = Instance.new("UICorner")minBtnCorner.CornerRadius = UDim.new(0,6)minBtnCorner.Parent = minBtnlocal closeBtn = Instance.new("TextButton")closeBtn.Size = UDim2.new(0,30,0,30)closeBtn.Position = UDim2.new(1,-35,0,5)closeBtn.Text = "X"closeBtn.BackgroundColor3 = Color3.fromRGB(200,60,60)closeBtn.TextColor3 = Color3.new(1,1,1)closeBtn.ZIndex = 125closeBtn.Parent = topBarlocal closeBtnCorner = Instance.new("UICorner")closeBtnCorner.CornerRadius = UDim.new(0,6)closeBtnCorner.Parent = closeBtnlocal mainContainer = Instance.new("Frame")mainContainer.Size = UDim2.new(1,0,1,-40)mainContainer.Position = UDim2.new(0,0,0,40)mainContainer.BackgroundTransparency = 1mainContainer.ZIndex = 110mainContainer.Parent = framelocal sidebar = Instance.new("Frame")sidebar.Size = UDim2.new(0,140,1,0)sidebar.BackgroundColor3 = Color3.fromRGB(10,12,20)sidebar.ZIndex = 115sidebar.Parent = mainContainerlocal sidebarCorner = Instance.new("UICorner")sidebarCorner.CornerRadius = UDim.new(0,14)sidebarCorner.Parent = sidebarlocal sideGrad = Instance.new("UIGradient")sideGrad.Color = ColorSequence.new(Color3.fromRGB(14,16,26), Color3.fromRGB(24,26,38))sideGrad.Rotation = 90sideGrad.Parent = sidebarlocal sideCredits = Instance.new("TextLabel")sideCredits.Size = UDim2.new(1,-10,0,60)sideCredits.Position = UDim2.new(0,5,0,10)sideCredits.BackgroundTransparency = 1sideCredits.Text = getLoc("SIDEBAR_CREDITS")sideCredits.TextColor3 = Color3.fromRGB(150,200,255)sideCredits.TextSize = 13sideCredits.Font = Enum.Font.GothamBoldsideCredits.ZIndex = 130sideCredits.Parent = sidebarlocal content = Instance.new("Frame")content.Size = UDim2.new(1,-140,1,0)content.Position = UDim2.new(0,140,0,0)content.BackgroundTransparency = 1content.ZIndex = 112content.Parent = mainContainer-- TABSlocal function createTab(name)    local t = Instance.new("ScrollingFrame")    t.Size = UDim2.new(1,0,1,0)    t.BackgroundTransparency = 1    t.Visible = false    t.CanvasSize = UDim2.new(0,0,0,1400) -- High for settings    t.ScrollBarThickness = 0    t.ZIndex = 115    t.Parent = content    return tendlocal standTab = createTab("Stand")standTab.Visible = truelocal farmTab = createTab("Farm")local raidsTab = createTab("Raids")local statsTab = createTab("Stats")local espTab = createTab("ESP")local settingsTab = createTab("Settings")-- DRAG LOGIClocal dragging, dragInput, dragStart, startPoslocal function updatePos(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)endtopBar.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)    endend)topBar.InputChanged:Connect(function(input)    if input.UserInputType == Enum.UserInputType.MouseMovement then         dragInput = input     endend)UIS.InputEnded:Connect(function(input)    if input.UserInputType == Enum.UserInputType.MouseButton1 then         dragging = false     endend)RunService.RenderStepped:Connect(function()    if dragging and dragInput then         updatePos(dragInput)     endend)minBtn.MouseButton1Click:Connect(function()    isMinimized = not isMinimized    mainContainer.Visible = not isMinimized    frame:TweenSize(UDim2.new(0,550,0, isMinimized and 40 or 450), "Out", "Quad", 0.3, true)    minBtn.Text = isMinimized and "+" or "-"end)closeBtn.MouseButton1Click:Connect(function()     gui:Destroy() end)--// UI BINDING LISTlocal updatableItems = {}-- NAV BUTTONSlocal activeNavBtn = nillocal function createNav(key, pos, callback)    local b = Instance.new("TextButton")    b.Size = UDim2.new(1,-20,0,38)    b.Position = UDim2.new(0,10,0,pos)    b.Text = getLoc(key)    b.TextSize = 15    b.BackgroundColor3 = Color3.fromRGB(58,60,82)    b.TextColor3 = Color3.fromRGB(255,255,255)    b.Font = Enum.Font.GothamSemibold    b.ZIndex = 150    b.AutoButtonColor = false    b.Parent = sidebar        local corner = Instance.new("UICorner")    corner.CornerRadius = UDim.new(0,10)    corner.Parent = b    -- Gradient overlay for active state    local navGrad = Instance.new("UIGradient")    navGrad.Color = ColorSequence.new(Color3.fromRGB(58,60,82), Color3.fromRGB(58,60,82))    navGrad.Rotation = 0    navGrad.Parent = b    -- Left accent bar (thin, rounded, gradient-colored)    local accentBar = Instance.new("Frame")    accentBar.Size = UDim2.new(0,3,0.5,0)    accentBar.Position = UDim2.new(0,1,0.25,0)    accentBar.BackgroundColor3 = Color3.fromRGB(130,80,255)    accentBar.BorderSizePixel = 0    accentBar.Visible = false    accentBar.ZIndex = 155    accentBar.Parent = b    Instance.new("UICorner",accentBar).CornerRadius = UDim.new(1,0)    local accentBarGrad = Instance.new("UIGradient")    accentBarGrad.Color = ColorSequence.new(Color3.fromRGB(130,80,255), Color3.fromRGB(80,140,255))    accentBarGrad.Rotation = 90    accentBarGrad.Parent = accentBar    -- Hover effect    b.MouseEnter:Connect(function()        if activeNavBtn ~= b then            b.BackgroundColor3 = Color3.fromRGB(70,72,95)        end    end)    b.MouseLeave:Connect(function()        if activeNavBtn ~= b then            b.BackgroundColor3 = Color3.fromRGB(58,60,82)        end    end)    b.MouseButton1Click:Connect(function()        -- Deactivate previous        if activeNavBtn then             activeNavBtn.BackgroundColor3 = Color3.fromRGB(50,52,72)            activeNavBtn.TextColor3 = Color3.fromRGB(255,255,255)            local prevAcc = activeNavBtn:FindFirstChild("Frame")            if prevAcc then prevAcc.Visible = false end            local prevStroke = activeNavBtn:FindFirstChildOfClass("UIStroke")            if prevStroke then prevStroke:Destroy() end        end        -- Activate current        b.BackgroundColor3 = Color3.fromRGB(30,25,55)        b.TextColor3 = Color3.new(1,1,1)        accentBar.Visible = true        -- Add subtle glow stroke        local glowStroke = Instance.new("UIStroke")        glowStroke.Color = Color3.fromRGB(100,70,200)        glowStroke.Thickness = 1        glowStroke.Transparency = 0.6        glowStroke.Parent = b        activeNavBtn = b        callback()    end)    table.insert(updatableItems, {Obj = b, Key = key, Type = "Text"})    return bendlocal function showTab(name)    standTab.Visible = (name == "Stand")    farmTab.Visible = (name == "Farm")    raidsTab.Visible = (name == "Raids")    statsTab.Visible = (name == "Stats")    espTab.Visible = (name == "ESP")    settingsTab.Visible = (name == "Settings")endcreateNav("TAB_STAND", 80, function() showTab("Stand") end)createNav("TAB_FARM", 125, function() showTab("Farm") end)createNav("TAB_RAIDS", 170, function() showTab("Raids") end)createNav("TAB_STATS", 215, function() showTab("Stats") end)createNav("TAB_ESP", 260, function() showTab("ESP") end)createNav("TAB_SETTINGS", 305, function() showTab("Settings") end)-- UI HELPERS (VERBOSE)local function createSubTitle(key, pos, parent)    local l = Instance.new("TextLabel")    l.Size = UDim2.new(1,-40,0,25)    l.Position = UDim2.new(0,20,0,pos)    l.BackgroundTransparency = 1    l.Text = getLoc(key)    l.TextSize = 14    l.Font = Enum.Font.GothamBold    l.TextColor3 = Color3.new(0.8,0.8,0.8)    l.TextXAlignment = Enum.TextXAlignment.Left    l.ZIndex = 120    l.Parent = parent    table.insert(updatableItems, {Obj = l, Key = key, Type = "Text"})    return lendlocal function createToggle(key, pos, parent)    local container = Instance.new("TextButton")    container.Size = UDim2.new(1,-40,0,50)    container.Position = UDim2.new(0,20,0,pos)    container.BackgroundColor3 = Color3.fromRGB(20,22,32)    container.Text = getLoc(key)    container.TextSize = 14    container.Font = Enum.Font.GothamSemibold    container.TextColor3 = Color3.fromRGB(210,210,220)    container.TextXAlignment = Enum.TextXAlignment.Left    container.AutoButtonColor = false    container.ZIndex = 120    container.Parent = parent        local corner = Instance.new("UICorner")    corner.CornerRadius = UDim.new(0,10)    corner.Parent = container    -- Subtle border stroke    local borderStroke = Instance.new("UIStroke")    borderStroke.Color = Color3.fromRGB(40,42,60)    borderStroke.Thickness = 1    borderStroke.Transparency = 0.5    borderStroke.Parent = container        local padding = Instance.new("UIPadding")    padding.PaddingLeft = UDim.new(0, 15)    padding.Parent = container    -- Pill-shaped toggle switch track    local track = Instance.new("Frame")    track.Size = UDim2.new(0,52,0,26)    track.Position = UDim2.new(1,-67,0.5,-13)    track.BackgroundColor3 = Color3.fromRGB(55,35,35)    track.ZIndex = 125    track.Parent = container        local trackCorner = Instance.new("UICorner")    trackCorner.CornerRadius = UDim.new(1,0)    trackCorner.Parent = track    -- Pill knob (circle)    local knob = Instance.new("Frame")    knob.Size = UDim2.new(0,20,0,20)    knob.Position = UDim2.new(0,3,0.5,-10)    knob.BackgroundColor3 = Color3.fromRGB(180,60,60)    knob.ZIndex = 130    knob.Parent = track    Instance.new("UICorner",knob).CornerRadius = UDim.new(1,0)    -- Hover    container.MouseEnter:Connect(function()        container.BackgroundColor3 = Color3.fromRGB(25,27,40)    end)    container.MouseLeave:Connect(function()        container.BackgroundColor3 = Color3.fromRGB(20,22,32)    end)    table.insert(updatableItems, {Obj = container, Key = key, Type = "Text"})    local function update(state)        if state then            track.BackgroundColor3 = Color3.fromRGB(30,55,40)            knob.Position = UDim2.new(1,-23,0.5,-10)            knob.BackgroundColor3 = Color3.fromRGB(60,210,100)            borderStroke.Color = Color3.fromRGB(50,120,70)            borderStroke.Transparency = 0.4            -- Knob glow            local glowStroke = knob:FindFirstChildOfClass("UIStroke")            if not glowStroke then                glowStroke = Instance.new("UIStroke")                glowStroke.Parent = knob            end            glowStroke.Color = Color3.fromRGB(80,255,120)            glowStroke.Thickness = 2            glowStroke.Transparency = 0.3        else            track.BackgroundColor3 = Color3.fromRGB(55,35,35)            knob.Position = UDim2.new(0,3,0.5,-10)            knob.BackgroundColor3 = Color3.fromRGB(180,60,60)            borderStroke.Color = Color3.fromRGB(40,42,60)            borderStroke.Transparency = 0.5            local glowStroke = knob:FindFirstChildOfClass("UIStroke")            if glowStroke then glowStroke:Destroy() end        end    end    return container, updateendlocal function createLabel(key, pos, parent, color)    local l = Instance.new("TextLabel")    l.Size = UDim2.new(1,-40,0,45)    l.Position = UDim2.new(0,20,0,pos)    l.BackgroundColor3 = Color3.fromRGB(35,37,45)    l.Text = getLoc(key)    l.TextSize = 14    l.Font = Enum.Font.GothamSemibold    l.TextColor3 = color    l.ZIndex = 115    l.Parent = parent        local corner = Instance.new("UICorner")    corner.CornerRadius = UDim.new(0,10)    corner.Parent = l        table.insert(updatableItems, {Obj = l, Key = key, Type = "Text"})    return lendlocal function createDropdown(titleKey, options, pos, parent, callback)    local container = Instance.new("Frame")    container.Size = UDim2.new(1,-40,0,46)    container.Position = UDim2.new(0,20,0,pos)    container.BackgroundColor3 = Color3.fromRGB(20,22,32)    container.ZIndex = 150    container.Parent = parent    Instance.new("UICorner",container).CornerRadius = UDim.new(0,10)    -- Border stroke    local ddStroke = Instance.new("UIStroke")    ddStroke.Color = Color3.fromRGB(50,45,80)    ddStroke.Thickness = 1    ddStroke.Transparency = 0.4    ddStroke.Parent = container    local btn = Instance.new("TextButton")    btn.Size = UDim2.new(1,-30,1,0)    btn.Position = UDim2.new(0,12,0,0)    btn.BackgroundTransparency = 1    btn.Text = getLoc(titleKey)..": None"    btn.TextSize = 13    btn.Font = Enum.Font.GothamSemibold    btn.TextColor3 = Color3.fromRGB(210,210,225)    btn.TextXAlignment = Enum.TextXAlignment.Left    btn.AutoButtonColor = false    btn.ZIndex = 155    btn.Parent = container    -- Chevron arrow    local arrow = Instance.new("TextLabel")    arrow.Size = UDim2.new(0,20,0,20)    arrow.Position = UDim2.new(1,-25,0.5,-10)    arrow.BackgroundTransparency = 1    arrow.Text = "▼"    arrow.TextSize = 10    arrow.Font = Enum.Font.GothamBold    arrow.TextColor3 = Color3.fromRGB(130,100,220)    arrow.ZIndex = 156    arrow.Parent = container    local list = Instance.new("Frame")    list.Size = UDim2.new(1,0,0,#options * 38)    list.Position = UDim2.new(0,0,1,4)    list.BackgroundColor3 = Color3.fromRGB(18,20,30)    list.BorderSizePixel = 0    list.Visible = false    list.ZIndex = 1000    list.ClipsDescendants = true    list.Parent = container    Instance.new("UICorner",list).CornerRadius = UDim.new(0,10)    local listStroke = Instance.new("UIStroke")    listStroke.Color = Color3.fromRGB(60,50,100)    listStroke.Thickness = 1    listStroke.Transparency = 0.4    listStroke.Parent = list    btn.MouseButton1Click:Connect(function()        list.Visible = not list.Visible        container.ZIndex = list.Visible and 200 or 150        arrow.Text = list.Visible and "▲" or "▼"    end)    for i, name in pairs(options) do        local opt = Instance.new("TextButton")        opt.Size = UDim2.new(1,-10,0,38)        opt.Position = UDim2.new(0,5,0,(i-1)*38)        opt.BackgroundColor3 = Color3.fromRGB(18,20,30)        opt.AutoButtonColor = false        opt.Text = name        opt.TextSize = 13        opt.Font = Enum.Font.GothamSemibold        opt.TextColor3 = Color3.fromRGB(190,190,210)        opt.ZIndex = 1001        opt.Parent = list        Instance.new("UICorner",opt).CornerRadius = UDim.new(0,8)                -- Hover effect on options        opt.MouseEnter:Connect(function()            opt.BackgroundColor3 = Color3.fromRGB(35,30,60)            opt.TextColor3 = Color3.new(1,1,1)        end)        opt.MouseLeave:Connect(function()            opt.BackgroundColor3 = Color3.fromRGB(18,20,30)            opt.TextColor3 = Color3.fromRGB(190,190,210)        end)                opt.MouseButton1Click:Connect(function()            btn.Text = getLoc(titleKey)..": "..name            list.Visible = false            container.ZIndex = 150            arrow.Text = "▼"            callback(name)        end)    end    table.insert(updatableItems, {Obj = btn, Key = titleKey, Type = "Dropdown", Val = "None"})endlocal function createStatRow(titleKey, pos, parent, callback)    local container = Instance.new("Frame")    container.Size = UDim2.new(1,-40,0,55); container.Position = UDim2.new(0,20,0,pos); container.BackgroundColor3 = Color3.fromRGB(30,32,40); container.ZIndex = 120; container.Parent = parent    Instance.new("UICorner",container).CornerRadius = UDim.new(0,10)    local l = Instance.new("TextLabel")    l.Size = UDim2.new(0.5,0,0.5,0); l.BackgroundTransparency = 1; l.Text = getLoc(titleKey); l.TextSize = 14; l.Font = Enum.Font.GothamSemibold; l.TextColor3 = Color3.new(1,1,1); l.TextXAlignment = Enum.TextXAlignment.Left; l.ZIndex = 125; l.Parent = container    Instance.new("UIPadding",l).PaddingLeft = UDim.new(0,12)    local currentLbl = Instance.new("TextLabel")    currentLbl.Size = UDim2.new(0.5,0,0.4,0); currentLbl.Position = UDim2.new(0,0,0.5,0); currentLbl.BackgroundTransparency = 1; currentLbl.Text = "Current: 0"; currentLbl.TextSize = 12; currentLbl.Font = Enum.Font.Gotham; currentLbl.TextColor3 = Color3.new(0.6,0.8,1); currentLbl.TextXAlignment = Enum.TextXAlignment.Left; currentLbl.ZIndex = 125; currentLbl.Parent = container    Instance.new("UIPadding",currentLbl).PaddingLeft = UDim.new(0,12)    local box = Instance.new("TextBox")    box.Size = UDim2.new(0,70,0,30); box.Position = UDim2.new(1,-10,0.5,0); box.AnchorPoint = Vector2.new(1,0.5); box.BackgroundColor3 = Color3.fromRGB(45,47,55); box.Text = "0"; box.TextColor3 = Color3.new(1,1,1); box.TextSize = 14; box.Font = Enum.Font.GothamSemibold; box.ZIndex = 130; box.Parent = container    Instance.new("UICorner",box).CornerRadius = UDim.new(0,6)    box.FocusLost:Connect(function() callback(tonumber(box.Text) or 0) end)    table.insert(updatableItems, {Obj = l, Key = titleKey, Type = "Text"})    return currentLblend-- V64: SETUP STAND TABlocal autoArrowBtn, updateArrow = createToggle("AUTO_ARROW", 20, standTab)local worthBtn, updateWorth = createToggle("STOP_WORTH", 85, standTab)createSubTitle("DESIRED_STAND", 155, standTab)local standBox = Instance.new("TextBox")standBox.Size = UDim2.new(1,-40,0,45); standBox.Position = UDim2.new(0,20,0,185); standBox.PlaceholderText = getLoc("PLACEHOLDER_STAND"); standBox.TextSize = 16; standBox.BackgroundColor3 = Color3.fromRGB(35,37,45); standBox.TextColor3 = Color3.new(1,1,1); standBox.ZIndex = 120; standBox.Parent = standTabInstance.new("UICorner",standBox).CornerRadius = UDim.new(0,10)standBox.FocusLost:Connect(function() desiredStand = standBox.Text end)table.insert(updatableItems, {Obj = standBox, Key = "PLACEHOLDER_STAND", Type = "Placeholder"})local standLabel = createLabel("CURR_STAND", 250, standTab, Color3.fromRGB(255,200,80))local worthLabel = createLabel("CURR_WORTH", 305, standTab, Color3.fromRGB(120,200,255))-- V64: SETUP FARM TABcreateSubTitle("SUB_ARROWS", 20, farmTab)local farmBtn, updateFarm = createToggle("FARM_ARROWS", 50, farmTab)createSubTitle("SUB_QUESTS", 120, farmTab)local questBtn, updateQuest = createToggle("AUTO_QUEST", 150, farmTab)createSubTitle("SUB_PRESTIGE", 220, farmTab)local prestigeBtn, updatePrestige = createToggle("AUTO_PRESTIGE", 250, farmTab)createSubTitle("SUB_LVL_FARM", 320, farmTab)createDropdown("SELECT_LVL_FARM", {"PVE Mission Boards", "Boss Farm"}, 350, farmTab, function(val) selectedLvlFarm = val end)local lvlFarmBtn, updateLvlFarm = createToggle("AUTO_LVL_FARM", 415, farmTab)-- V64: SETUP RAIDS TABcreateSubTitle("SELECT_BOSS", 20, raidsTab)createDropdown("SELECT_BOSS", {"Avdol", "Kira", "Jotaro", "Dio"}, 50, raidsTab, function(val) selectedRaidBoss = val end)local raidToggleBtn, updateRaid = createToggle("AUTO_RAID", 115, raidsTab)local restartToggleBtn, updateRestart = createToggle("AUTO_RESTART", 180, raidsTab)local infoBox = Instance.new("TextLabel")infoBox.Size = UDim2.new(1,-40,0,100); infoBox.Position = UDim2.new(0,20,0,250); infoBox.BackgroundColor3 = Color3.fromRGB(25,25,35); infoBox.Text = getLoc("RAID_INFO"); infoBox.TextColor3 = Color3.fromRGB(200,200,200); infoBox.TextSize = 12; infoBox.Font = Enum.Font.GothamSemibold; infoBox.TextWrapped = true; infoBox.ZIndex = 120; infoBox.Parent = raidsTabInstance.new("UICorner",infoBox).CornerRadius = UDim.new(0,10)table.insert(updatableItems, {Obj = infoBox, Key = "RAID_INFO", Type = "Text"})-- V64: SETUP STATS TABlocal row1 = Instance.new("Frame")row1.Size = UDim2.new(1,-40,0,50); row1.Position = UDim2.new(0,20,0,20); row1.BackgroundColor3 = Color3.fromRGB(30,35,45); row1.ZIndex = 120; row1.Parent = statsTabInstance.new("UICorner",row1).CornerRadius = UDim.new(0,10)local row1L = Instance.new("TextLabel")row1L.Size = UDim2.new(0.4,0,1,0); row1L.BackgroundTransparency = 1; row1L.Text = getLoc("ADD_AMOUNT"); row1L.TextColor3 = Color3.new(0.9,0.9,0.9); row1L.Font = Enum.Font.GothamBold; row1L.TextSize = 14; row1L.ZIndex = 125; row1L.Parent = row1Instance.new("UIPadding",row1L).PaddingLeft = UDim.new(0,12)table.insert(updatableItems, {Obj = row1L, Key = "ADD_AMOUNT", Type = "Text"})local row1Box = Instance.new("TextBox")row1Box.Size = UDim2.new(0,70,0,30); row1Box.Position = UDim2.new(1,-10,0.5,0); row1Box.AnchorPoint = Vector2.new(1,0.5); row1Box.BackgroundColor3 = Color3.fromRGB(45,47,55); row1Box.Text = "1"; row1Box.TextColor3 = Color3.new(1,1,1); row1Box.TextSize = 14; row1Box.Font = Enum.Font.GothamBold; row1Box.ZIndex = 130; row1Box.Parent = row1Instance.new("UICorner",row1Box).CornerRadius = UDim.new(0,6)row1Box.FocusLost:Connect(function() spAmount = tonumber(row1Box.Text) or 1 end)local autoStatsBtn, updateAutoStats = createToggle("AUTO_STATS", 80, statsTab)local row3 = Instance.new("Frame")row3.Size = UDim2.new(1,-40,0,45); row3.Position = UDim2.new(0,20,0,145); row3.BackgroundColor3 = Color3.fromRGB(15,20,30); row3.ZIndex = 120; row3.Parent = statsTabInstance.new("UICorner",row3).CornerRadius = UDim.new(0,10)local lvlLbl = Instance.new("TextLabel")lvlLbl.Size = UDim2.new(0.33,0,1,0); lvlLbl.BackgroundTransparency = 1; lvlLbl.Text = "Level: 0"; lvlLbl.TextColor3 = Color3.new(1,1,1); lvlLbl.Font = Enum.Font.GothamBold; lvlLbl.TextSize = 14; lvlLbl.ZIndex = 125; lvlLbl.Parent = row3local conjLbl = Instance.new("TextLabel")conjLbl.Size = UDim2.new(0.33,0,1,0); conjLbl.Position = UDim2.new(0.33,0,0,0); conjLbl.BackgroundTransparency = 1; conjLbl.Text = "Conjuration: 0"; conjLbl.TextColor3 = Color3.fromRGB(100,255,100); conjLbl.Font = Enum.Font.GothamBold; conjLbl.TextSize = 13; conjLbl.ZIndex = 125; conjLbl.Parent = row3local prestigeLbl = Instance.new("TextLabel")prestigeLbl.Size = UDim2.new(0.33,0,1,0); prestigeLbl.Position = UDim2.new(0.66,0,0,0); prestigeLbl.BackgroundTransparency = 1; prestigeLbl.Text = "Prestige: 0"; prestigeLbl.TextColor3 = Color3.fromRGB(200,100,255); prestigeLbl.Font = Enum.Font.GothamBold; prestigeLbl.TextSize = 13; prestigeLbl.ZIndex = 125; prestigeLbl.Parent = row3local spLabel = Instance.new("TextLabel")spLabel.Size = UDim2.new(1,-40,0,20); spLabel.Position = UDim2.new(0,20,0,200); spLabel.BackgroundTransparency = 1; spLabel.Text = "Stat Points: 0"; spLabel.TextColor3 = Color3.fromRGB(255,255,100); spLabel.Font = Enum.Font.GothamBold; spLabel.TextSize = 15; spLabel.TextXAlignment = Enum.TextXAlignment.Left; spLabel.ZIndex = 125; spLabel.Parent = statsTabcreateSubTitle("TARGET_ATTR", 225, statsTab)local sL = createStatRow("STAT_STR", 255, statsTab, function(v) statTargets["Strength"] = v end)local hL = createStatRow("STAT_HP", 315, statsTab, function(v) statTargets["Health"] = v end)local pL = createStatRow("STAT_POW", 375, statsTab, function(v) statTargets["Power"] = v end)local wL = createStatRow("STAT_WEP", 435, statsTab, function(v) statTargets["Weapon"] = v end)local dpL = createStatRow("STAT_DP", 495, statsTab, function(v) statTargets["Destructive Power"] = v end)local deL = createStatRow("STAT_DE", 555, statsTab, function(v) statTargets["Destructive Energy"] = v end)--// V64: SETUP ESP TABcreateSubTitle("TARGET_CAT", 20, espTab)local espItemsBtn, updateEspItems = createToggle("ESP_ITEMS", 55, espTab)local espPeopleBtn, updateEspPeople = createToggle("ESP_PEOPLE", 120, espTab)local espNpcBtn, updateEspNpc = createToggle("ESP_NPC", 185, espTab)createSubTitle("ESP_SETTINGS", 260, espTab)local hLEspBtn, updateHL = createToggle("Highlight ESP", 295, espTab); updateHL(true)local boxEspBtn, updateBox = createToggle("Box ESP", 360, espTab)local nameEspBtn, updateName = createToggle("Name ESP", 425, espTab)local healthEspBtn, updateHHealth = createToggle("Health ESP", 490, espTab)local distEspBtn, updateDist = createToggle("Distance ESP", 555, espTab)--// V64: SETUP SETTINGS TAB (LOCALE + DUAL COLUMN KEYBINDS)createSubTitle("LANG_SWITCH", 20, settingsTab)local ruBtn = Instance.new("TextButton")ruBtn.Size = UDim2.new(0,100,0,40); ruBtn.Position = UDim2.new(0,20,0,50); ruBtn.BackgroundColor3 = Color3.fromRGB(60,40,40); ruBtn.Text = "РУССКИЙ"; ruBtn.TextColor3 = Color3.new(1,1,1); ruBtn.Font = Enum.Font.GothamBold; ruBtn.ZIndex = 150; ruBtn.Parent = settingsTabInstance.new("UICorner",ruBtn).CornerRadius = UDim.new(0,8)local enBtn = Instance.new("TextButton")enBtn.Size = UDim2.new(0,100,0,40); enBtn.Position = UDim2.new(0,130,0,50); enBtn.BackgroundColor3 = Color3.fromRGB(40,40,60); enBtn.Text = "ENGLISH"; enBtn.TextColor3 = Color3.new(1,1,1); enBtn.Font = Enum.Font.GothamBold; enBtn.ZIndex = 150; enBtn.Parent = settingsTabInstance.new("UICorner",enBtn).CornerRadius = UDim.new(0,8)createSubTitle("AUTO_USE_KEYS", 110, settingsTab)local keysFrame = Instance.new("Frame")keysFrame.Size = UDim2.new(1,-40,0,320); keysFrame.Position = UDim2.new(0,20,0,140); keysFrame.BackgroundTransparency = 1; keysFrame.ZIndex = 150; keysFrame.Parent = settingsTablocal colLetters = Instance.new("Frame")colLetters.Size = UDim2.new(0.48,0,1,0); colLetters.BackgroundTransparency = 1; colLetters.Parent = keysFramelocal gl = Instance.new("UIGridLayout"); gl.CellSize = UDim2.new(1,0,0,35); gl.CellPadding = UDim2.new(0,0,0,5); gl.Parent = colLetterslocal colNumbers = Instance.new("Frame")colNumbers.Size = UDim2.new(0.48,0,1,0); colNumbers.Position = UDim2.new(0.52,0,0,0); colNumbers.BackgroundTransparency = 1; colNumbers.Parent = keysFramelocal gn = Instance.new("UIGridLayout"); gn.CellSize = UDim2.new(1,0,0,35); gn.CellPadding = UDim2.new(0,0,0,5); gn.Parent = colNumberslocal function createKeyToggle(key, parent)    local kb = Instance.new("TextButton")    kb.BackgroundColor3 = Color3.fromRGB(35,37,45); kb.Text = key.." [OFF]"; kb.TextColor3 = Color3.new(0.6,0.6,0.6); kb.Font = Enum.Font.GothamBold; kb.TextSize = 13; kb.ZIndex = 160; kb.Parent = parent    Instance.new("UICorner",kb).CornerRadius = UDim.new(0,6)    kb.MouseButton1Click:Connect(function()        autoSkills[key] = not autoSkills[key]; kb.Text = key..(autoSkills[key] and " [ON]" or " [OFF]")        kb.BackgroundColor3 = autoSkills[key] and Color3.fromRGB(60,160,80) or Color3.fromRGB(35,37,45)        kb.TextColor3 = autoSkills[key] and Color3.new(1,1,1) or Color3.new(0.6,0.6,0.6)    end)endlocal alphabet = {"E","R","Z","X","C","V"}local digits = {"1","2","3","4","5","6","7","8","9"}for _, k in pairs(alphabet) do createKeyToggle(k, colLetters) endfor _, k in pairs(digits) do createKeyToggle(k, colNumbers) end--// LOCALIZATION UPDATERlocal function updateLocale(lang)    currentLang = lang; topTitle.Text = getLoc("TITLE"); sideCredits.Text = getLoc("SIDEBAR_CREDITS")    for _, item in pairs(updatableItems) do        if item.Type == "Text" then item.Obj.Text = getLoc(item.Key)        elseif item.Type == "Placeholder" then item.Obj.PlaceholderText = getLoc(item.Key)        elseif item.Type == "Dropdown" then item.Obj.Text = getLoc(item.Key)..": ".. (item.Val or "None") end    endendruBtn.MouseButton1Click:Connect(function() updateLocale("RU") end)enBtn.MouseButton1Click:Connect(function() updateLocale("ENG") end)--// ROBUST DATA HELPERS (DIRECT V63 CLONE)function getStand()    local sd = player.PlayerData:FindFirstChild("SlotData"); if not sd or not sd:FindFirstChild("Stand") then return "None" end    local val = sd.Stand.Value; local ok,data = pcall(function() return HttpService:JSONDecode(val) end)    return (ok and data) and data.Name or "None"endlocal function toNum(v) local s = tostring(v); local clean = string.gsub(string.upper(s), "I", "1"); clean = string.gsub(clean, "[^0-9]", ""); return tonumber(clean) or 0 endlocal function getConj()    local cVal = player.PlayerData:FindFirstChild("Conjuration"); if not cVal then return 0 end    local ok, data = pcall(function() return HttpService:JSONDecode(cVal.Value) end)    if ok and data then local stand = getStand(); if data[stand] then return data[stand].Conjuration or 0 end end    return 0endlocal function getQuestData()    local slotData = player.PlayerData:FindFirstChild("SlotData"); if not slotData then return nil end    local questNames = {"CurrentQuests", "TrackedQuest", "Storyline", "StorylineQuest", "MainQuest", "Quest", "QuestData"}    for _, qName in pairs(questNames) do        local obj = slotData:FindFirstChild(qName)        if obj and obj.Value and obj.Value ~= "" then            local ok, data = pcall(function() return HttpService:JSONDecode(obj.Value) end)            if ok and data then                -- data is an array of quests — find the first one with INCOMPLETE objectives                local quests = (data[1] ~= nil) and data or {data}                for _, quest in ipairs(quests) do                    -- Only process Storyline quests                    if not quest.Name or string.find(quest.Name, "Storyline", 1, true) then                    -- Check Talk quests: find one with at least one NPC not yet talked to (false)                    if quest.Talk then                        for npcName, talked in pairs(quest.Talk) do                            if talked == false then return quest end                        end                    end                    -- Check Defeat/Kills quests                    if quest.Defeat then                        for n, p in pairs(quest.Defeat) do                            if type(p) == "number" and p < 999 then return quest end                            if type(p) == "table" and (p.Current or 0) < (p.Target or 999) then return quest end                        end                    end                    if quest.Kills then                        for n, p in pairs(quest.Kills) do                            if type(p) == "number" and p < 999 then return quest end                            if type(p) == "table" and (p.Current or 0) < (p.Target or 999) then return quest end                        end                    end                    end -- Storyline filter                end -- for quest            end -- if ok        end -- if obj    end -- for qName    return nilendlocal function findNPC(name)    if not name or name == "" then return nil end    -- Priority 1: exact match in known NPC containers (NO HRP requirement — handles Power Box etc.)    local paths = {workspace:FindFirstChild("Npcs"), workspace:FindFirstChild("NPCs"), ReplicatedStorage:FindFirstChild("assets") and ReplicatedStorage.assets:FindFirstChild("npc_cache")}    for _, f in pairs(paths) do if f and f:FindFirstChild(name) then return f[name] end end    -- Priority 2: exact match in Live (but NOT other players)    local live = workspace:FindFirstChild("Live")    if live then        local exact = live:FindFirstChild(name)        if exact and not Players:GetPlayerFromCharacter(exact) then return exact end    end    -- Priority 3: partial match in NPC containers    for _, f in pairs(paths) do        if f then            for _, npc in pairs(f:GetChildren()) do                if string.find(npc.Name, name, 1, true) then return npc end            end        end    end    -- Priority 4: partial match in Live (non-players only, prefer models with HRP)    if live then        local fallback = nil        for _, v in pairs(live:GetChildren()) do            if not Players:GetPlayerFromCharacter(v) and string.find(v.Name, name, 1, true) then                if v:FindFirstChild("HumanoidRootPart") then return v end                fallback = v            end        end        if fallback then return fallback end    end    return nilend-- Safe position getter for NPCs (works with and without HumanoidRootPart)local function getNpcCFrame(npc)    if npc:FindFirstChild("HumanoidRootPart") then return npc.HumanoidRootPart.CFrame end    local ok, cf = pcall(function() return npc:GetPivot() end)    if ok and cf then return cf end    if npc:FindFirstChild("Part") then return npc.Part.CFrame end    for _, p in pairs(npc:GetDescendants()) do if p:IsA("BasePart") then return p.CFrame end end    return nilendlocal function isStandActive()    local effects = workspace:FindFirstChild("Effects")    if not effects then return false end    -- Check multiple possible stand name formats    local standNames = {        "." .. player.Name .. "'s Stand",        player.Name .. "'s Stand",        player.Name .. "'s stand"    }    for _, sName in pairs(standNames) do        local stand = effects:FindFirstChild(sName)        if stand then return true end -- Don't require HumanoidRootPart — stand may still be loading    end    -- Fallback: check if any child contains player name and "Stand"    for _, v in pairs(effects:GetChildren()) do        if string.find(v.Name, player.Name, 1, true) and string.find(v.Name, "Stand", 1, true) then return true end    end    return falseendlocal lastSummon = 0local standWasActive = falselocal function summonStand()    local active = isStandActive()    if active then standWasActive = true; return end -- Stand is out, do nothing    -- Stand is NOT active    if standWasActive then        -- Stand was just deactivated (maybe by game mechanic) — wait before resummoning        standWasActive = false        lastSummon = tick() -- reset cooldown        return    end    if tick() - lastSummon < 6 then return end -- 6s cooldown to avoid rapid toggling    VIM:SendKeyEvent(true, Enum.KeyCode.Tab, false, game)    task.wait(0.1)    VIM:SendKeyEvent(false, Enum.KeyCode.Tab, false, game)    lastSummon = tick()end--// V63: ADVANCED ESP LOGIClocal function applyESP(obj, color, nameText)    local hl = obj:FindFirstChild("V63_HL")    if hl then hl.Enabled = espHighlight; hl.FillColor = color else        hl = Instance.new("Highlight"); hl.Name = "V63_HL"; hl.FillColor = color; hl.FillTransparency = 0.5; hl.OutlineColor = Color3.new(1,1,1); hl.OutlineTransparency = 0; hl.Enabled = espHighlight; hl.Adornee = obj; hl.Parent = obj    end    local box = obj:FindFirstChild("V63_BOX")    if box then box.Visible = espBox; box.Color3 = color else        box = Instance.new("SelectionBox"); box.Name = "V63_BOX"; box.Color3 = color; box.LineThickness = 0.05; box.Visible = espBox; box.Adornee = obj; box.Parent = obj    end    local bb = obj:FindFirstChild("V63_BB")    if not bb then        bb = Instance.new("BillboardGui"); bb.Name = "V63_BB"; bb.Size = UDim2.new(0,200,0,50); bb.AlwaysOnTop = true; bb.ExtentsOffset = Vector3.new(0,3,0); bb.Parent = obj        local label = Instance.new("TextLabel"); label.Name = "Info"; label.Size = UDim2.new(1,0,1,0); label.BackgroundTransparency = 1; label.TextColor3 = color; label.TextStrokeTransparency = 0; label.TextSize = 14; label.Font = Enum.Font.GothamBold; label.Parent = bb    end    local finalStr = ""    if espName then finalStr = nameText .. "\n" end    if espDist then local char = player.Character; local hrp = char and char:FindFirstChild("HumanoidRootPart")    if hrp then local d = math.floor((hrp.Position - obj:GetPivot().Position).Magnitude); finalStr = finalStr .. "[" .. d .. "m] " end end    if espHealth and obj:FindFirstChild("Humanoid") then finalStr = finalStr .. "(" .. math.floor(obj.Humanoid.Health) .. " HP)" end    bb.Enabled = (espName or espHealth or espDist); bb.Info.Text = finalStr; bb.Info.TextColor3 = colorendlocal function removeESP(obj)    if obj:FindFirstChild("V63_HL") then obj.V63_HL:Destroy() end    if obj:FindFirstChild("V63_BOX") then obj.V63_BOX:Destroy() end    if obj:FindFirstChild("V63_BB") then obj.V63_BB:Destroy() endend-- ESP: Instant item detection via ChildAdded (no lag)local espTrackedItems = {}workspace.ChildAdded:Connect(function(o)    task.wait(0.1)    if espItems then        local itemName = o.Name        if itemName == "Model" then for _, c in pairs(o:GetChildren()) do if c:IsA("Tool") or c.Name == "Stand Arrow" then itemName = c.Name; break end end end        if (o.Name == "Stand Arrow" or o:FindFirstChild("Stand Arrow") or o:IsA("Tool")) then            local isEffect = string.find(string.lower(itemName), "effect") or string.find(string.lower(itemName), "hit")            local pos = Vector3.new(0, 50, 0)            pcall(function() pos = o:GetPivot().Position end)            if not isEffect and pos.Y > -50 then                applyESP(o, Color3.fromRGB(230,190,0), itemName)                espTrackedItems[o] = true            end        end    endend)workspace.DescendantRemoving:Connect(function(o)    if espTrackedItems[o] then        removeESP(o)        espTrackedItems[o] = nil    endend)task.spawn(function()    while task.wait(0.5) do        pcall(function()            -- Validate existing tracked items first            if espItems then                for o, _ in pairs(espTrackedItems) do                    local isValid = false                    if o and o.Parent == workspace then                        if o.Name == "Stand Arrow" or o:FindFirstChild("Stand Arrow") or o:IsA("Tool") then                            isValid = true                        end                    end                                        if not isValid then                        pcall(function()                            if o:FindFirstChild("V63_HL") then o.V63_HL:Destroy() end                            if o:FindFirstChild("V63_BOX") then o.V63_BOX:Destroy() end                            if o:FindFirstChild("V63_BB") then o.V63_BB:Destroy() end                        end)                        espTrackedItems[o] = nil                    end                end                                for _, o in pairs(workspace:GetChildren()) do                    if (o.Name == "Stand Arrow" or o:FindFirstChild("Stand Arrow") or o:IsA("Tool")) then                        local itemName = o.Name                        if itemName == "Model" then for _, c in pairs(o:GetChildren()) do if c:IsA("Tool") or c.Name == "Stand Arrow" then itemName = c.Name; break end end end                        local isEffect = string.find(string.lower(itemName), "effect") or string.find(string.lower(itemName), "hit")                        local pos = Vector3.new(0, 50, 0)                        pcall(function() pos = o:GetPivot().Position end)                        if not isEffect and pos.Y > -50 then                            applyESP(o, Color3.fromRGB(230,190,0), itemName)                            espTrackedItems[o] = true                        end                    end                end            else                -- Clean up item ESP when disabled                for obj, _ in pairs(espTrackedItems) do                    if obj and obj.Parent then removeESP(obj) end                end                espTrackedItems = {}            end                        -- People & NPC ESP (only scan Live folder)            local live = workspace:FindFirstChild("Live")            if live then                 local myChar = live:FindFirstChild(player.Name)                for _, v in pairs(live:GetChildren()) do                    if v:IsA("Model") and v:FindFirstChild("HumanoidRootPart") and v ~= myChar then                        local isP = Players:GetPlayerFromCharacter(v)                        if isP and espPeople then                             applyESP(v, Color3.fromRGB(0,180,255), v.Name)                        elseif not isP and espNPC then                             applyESP(v, Color3.fromRGB(50,220,50), v.Name)                        elseif v:FindFirstChild("V63_HL") then                             removeESP(v)                         end                    end                 end                 -- Clean up NPC/People ESP when both disabled                if not espPeople and not espNPC then                    for _, v in pairs(live:GetChildren()) do                        if v:FindFirstChild("V63_HL") and not Players:GetPlayerFromCharacter(v) then removeESP(v) end                    end                end            end        end)    endend)--// SKILLS LOGIC (FIXED)function getNil(name,class) for _,v in pairs(getnilinstances())do if v.ClassName==class and v.Name==name then return v;end end endlocal function fireSkill(skillKey, state)    local char = workspace.Live:FindFirstChild(player.Name); local controller = char and char:FindFirstChild("client_character_controller")    if controller and controller:FindFirstChild("Skill") then controller.Skill:FireServer(skillKey, state) endendtask.spawn(function()    while task.wait(0.1) do -- Faster check        if (autoQuest or autoRaid or autoLvlFarm) and currentTarget and not isHoveringMenu then            for key, enabled in pairs(autoSkills) do                 if enabled then                     if key == "E" then                         fireSkill(key, true); task.wait(0.6); fireSkill(key, false); task.wait(0.1)                    else                         fireSkill(key, true); task.wait(0.05); fireSkill(key, false); task.wait(0.05)                    end                end             end        end    endend)--// LOOPSRunService.Heartbeat:Connect(function()    if targetCFrame then local char = workspace.Live:FindFirstChild(player.Name); local hrp = char and char:FindFirstChild("HumanoidRootPart")    if hrp then hrp.CFrame = targetCFrame; hrp.AssemblyLinearVelocity = Vector3.new(0,0,0); hrp.AssemblyAngularVelocity = Vector3.new(0,0,0) end endend)-- CLICKERtask.spawn(function()    while true do        if (autoQuest or autoRaid or autoLvlFarm) and currentTarget and currentTarget:FindFirstChild("Humanoid") and currentTarget.Humanoid.Health > 0 and not isHoveringMenu and not dragging then            VIM:SendMouseButtonEvent(0,0,0,true,game,0); task.wait(0.12); VIM:SendMouseButtonEvent(0,0,0,false,game,0); task.wait(0.08)        else task.wait(0.5) end    endend)-- BINDINGSautoArrowBtn.MouseButton1Click:Connect(function() autoArrow = not autoArrow; updateArrow(autoArrow) end)worthBtn.MouseButton1Click:Connect(function() stopWorth0 = not stopWorth0; updateWorth(stopWorth0) end)farmBtn.MouseButton1Click:Connect(function() autoFarm = not autoFarm; updateFarm(autoFarm) end)questBtn.MouseButton1Click:Connect(function() autoQuest = not autoQuest; updateQuest(autoQuest); if not autoQuest then currentTarget = nil; targetCFrame = nil end end)raidToggleBtn.MouseButton1Click:Connect(function() autoRaid = not autoRaid; updateRaid(autoRaid); if not autoRaid then currentTarget = nil; targetCFrame = nil end end)restartToggleBtn.MouseButton1Click:Connect(function() autoRestart = not autoRestart; updateRestart(autoRestart) end)autoStatsBtn.MouseButton1Click:Connect(function() autoAddStats = not autoAddStats; updateAutoStats(autoAddStats) end)prestigeBtn.MouseButton1Click:Connect(function() autoPrestige = not autoPrestige; updatePrestige(autoPrestige); if autoPrestige then currentTarget = nil; targetCFrame = nil end end)lvlFarmBtn.MouseButton1Click:Connect(function() autoLvlFarm = not autoLvlFarm; updateLvlFarm(autoLvlFarm); if not autoLvlFarm then currentTarget = nil; targetCFrame = nil end end)espItemsBtn.MouseButton1Click:Connect(function() espItems = not espItems; updateEspItems(espItems) end)espPeopleBtn.MouseButton1Click:Connect(function() espPeople = not espPeople; updateEspPeople(espPeople) end)espNpcBtn.MouseButton1Click:Connect(function() espNPC = not espNPC; updateEspNpc(espNPC) end)hLEspBtn.MouseButton1Click:Connect(function() espHighlight = not espHighlight; updateHL(espHighlight) end)boxEspBtn.MouseButton1Click:Connect(function() espBox = not espBox; updateBox(espBox) end)nameEspBtn.MouseButton1Click:Connect(function() espName = not espName; updateName(espName) end)healthEspBtn.MouseButton1Click:Connect(function() espHealth = not espHealth; updateHHealth(espHealth) end)distEspBtn.MouseButton1Click:Connect(function() espDist = not espDist; updateDist(espDist) end)-- UI SYNCtask.spawn(function()    while task.wait(0.5) do pcall(function()        local sd = player.PlayerData.SlotData; standLabel.Text = getLoc("CURR_STAND") .. getStand(); worthLabel.Text = getLoc("CURR_WORTH") .. sd.Worthiness.Value        lvlLbl.Text = getLoc("LEVEL_TEXT") .. toNum(sd.Level.Value); conjLbl.Text = getLoc("CONJ_TEXT") .. getConj(); prestigeLbl.Text = getLoc("PRESTIGE_TEXT") .. toNum(sd.Prestige.Value); spLabel.Text = getLoc("SP_TEXT") .. toNum(sd.StatPoints.Value)        sL.Text = "Current: " .. toNum(sd.StrengthStat.Value); hL.Text = "Current: " .. toNum(sd.DefenseStat.Value); pL.Text = "Current: " .. toNum(sd.PowerStat.Value)        wL.Text = "Current: " .. toNum(sd.WeaponStat.Value); dpL.Text = "Current: " .. toNum(sd.DestructivePowerStat.Value); deL.Text = "Current: " .. toNum(sd.DestructiveEnergyStat.Value)    end) endend)-- AUTOMATIONtask.spawn(function()    while task.wait(1) do if autoArrow then local stand = getStand()    if desiredStand ~= "" and string.lower(stand) == string.lower(desiredStand) then autoArrow = false; updateArrow(false)    elseif stopWorth0 and player.PlayerData.SlotData.Worthiness.Value == 0 then autoArrow = false; updateArrow(false)    else ReplicatedStorage.requests.character.use_item:FireServer("Stand Arrow") end end endend)task.spawn(function()    while task.wait(0.5) do if autoFarm then local char = workspace.Live:FindFirstChild(player.Name)    if char and char:FindFirstChild("HumanoidRootPart") then for _, o in pairs(workspace:GetChildren()) do if not autoFarm then break end    if o.Name == "Stand Arrow" or o:FindFirstChild("Stand Arrow") then char.HumanoidRootPart.CFrame = o:GetPivot(); task.wait(0.2); VIM:SendKeyEvent(true, Enum.KeyCode.E, false, game); task.wait(1.0); VIM:SendKeyEvent(false, Enum.KeyCode.E, false, game); task.wait(1.0); break end end end end endend)task.spawn(function()    while task.wait(0.5) do if autoAddStats then local sd = player.PlayerData.SlotData; local points = toNum(sd.StatPoints.Value)    if points > 0 then for display, target in pairs(statTargets) do if not autoAddStats then break end; local exact = STAT_NAME_MAP[display]    if target > 0 and toNum(sd[exact].Value) < target then ReplicatedStorage.requests.character.increase_stat:FireServer(exact, spAmount); task.wait(0.3); break end end end end endend)local function getKiraTarget()    local map = workspace:FindFirstChild("Map"); local kiraMap = map and map:FindFirstChild("Yoshikage Kira Bites the Dust")    if not kiraMap then return nil end; local rooms = kiraMap:FindFirstChild("Gamemode Rooms"); if not rooms then return nil end    local char = workspace.Live:FindFirstChild(player.Name); local hrp = char and char:FindFirstChild("HumanoidRootPart"); if not hrp then return nil end    for i = 1, 4 do local room = rooms:FindFirstChild("Room " .. i); local spawns = room and room:FindFirstChild("Mob Spawns")    if spawns then for _, live in pairs(workspace.Live:GetChildren()) do if live:FindFirstChild("Humanoid") and live.Humanoid.Health > 0 and live ~= char and not string.find(string.lower(live.Name), "hostage") then    for _, s in pairs(spawns:GetChildren()) do if (live.HumanoidRootPart.Position - s.Position).Magnitude < 100 then return live end end end end end end        -- Only target Kira boss if we are actually in the raid map (kiraMap exists)    for _, v in pairs(workspace.Live:GetChildren()) do if string.find(v.Name, "Yoshikage Kira") and v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 then return v end end; return nilend-- DIO 2-PHASE TARGETINGlocal function getDioTarget()    local map = workspace:FindFirstChild("Map"); local dioMap = map and map:FindFirstChild("DIO")    if not dioMap then return nil end; local rooms = dioMap:FindFirstChild("Gamemode Rooms"); if not rooms then return nil end    local char = workspace.Live:FindFirstChild(player.Name); local hrp = char and char:FindFirstChild("HumanoidRootPart"); if not hrp then return nil end    for i = 1, 2 do local room = rooms:FindFirstChild("Room " .. i); local spawns = room and room:FindFirstChild("Mob Spawns")    if spawns then for _, live in pairs(workspace.Live:GetChildren()) do if live:FindFirstChild("Humanoid") and live.Humanoid.Health > 0 and live ~= char and not string.find(string.lower(live.Name), "hostage") then    for _, s in pairs(spawns:GetChildren()) do if (live.HumanoidRootPart.Position - s.Position).Magnitude < 100 then return live end end end end end end    for _, v in pairs(workspace.Live:GetChildren()) do if v.Name == "DIO" and v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 then return v end end; return nilendtask.spawn(function()    while task.wait(0.1) do -- Extreme Speed        if autoRaid and RAID_BOSSES[selectedRaidBoss] then            local char = workspace.Live:FindFirstChild(player.Name); local hrp = char and char:FindFirstChild("HumanoidRootPart")            if hrp then local bossData = RAID_BOSSES[selectedRaidBoss]; local found = nil            -- Special targeting per boss            if selectedRaidBoss == "Kira" then                 found = getKiraTarget()            elseif selectedRaidBoss == "Dio" then                found = getDioTarget()            else                -- For other bosses: search by exact boss name in Live                for _, v in pairs(workspace.Live:GetChildren()) do if string.find(v.Name, bossData.BossName) and v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 then found = v; break end end            end            -- DIO Phase 1: kill mobs if DIO exists or raid started            if not found and selectedRaidBoss == "Dio" then found = getDioTarget() end                        if found then                 currentTarget = found; summonStand(); targetCFrame = found.HumanoidRootPart.CFrame * CFrame.new(0, 9, 0) * CFrame.Angles(-math.pi/2, 0, 0) -- H=9            else                 targetCFrame = nil; currentTarget = nil                local npc = nil                if selectedRaidBoss == "Dio" then                    if workspace:FindFirstChild("Npcs") and workspace.Npcs:FindFirstChild("???") then npc = workspace.Npcs["???"]                    elseif ReplicatedStorage:FindFirstChild("assets") and ReplicatedStorage.assets:FindFirstChild("npc_cache") and ReplicatedStorage.assets.npc_cache:FindFirstChild("???") then npc = ReplicatedStorage.assets.npc_cache["???"] end                else                    npc = findNPC(bossData.TalkName)                end                                if npc and npc:FindFirstChild("HumanoidRootPart") then                     local tp = npc.HumanoidRootPart.CFrame                    hrp.CFrame = tp * CFrame.new(0,0,-3.5)                    task.wait(0.5)                    VIM:SendKeyEvent(true, Enum.KeyCode.E, false, game)                    task.wait(0.6)                    VIM:SendKeyEvent(false, Enum.KeyCode.E, false, game)                    task.wait(0.5)                    if selectedRaidBoss == "Dio" then                        VIM:SendKeyEvent(true, Enum.KeyCode.One, false, game)                        task.wait(0.2)                        VIM:SendKeyEvent(false, Enum.KeyCode.One, false, game)                        task.wait(10) -- 10 seconds wait per user instruction                    else                        for i=1,2 do                             VIM:SendKeyEvent(true, Enum.KeyCode.One, false, game)                            task.wait(0.2)                            VIM:SendKeyEvent(false, Enum.KeyCode.One, false, game)                            task.wait(0.4)                         end                        -- Push player into the red ring to trigger the raid for Kira/Avdol                        hrp.CFrame = tp * CFrame.new(0, 0, -16)                         task.wait(10)                    end                end             end             end -- Added missing end for 'if hrp then'        end    endend)task.spawn(function()    -- Debug label for auto quest    local debugLbl = Instance.new("TextLabel")    debugLbl.Size = UDim2.new(0,500,0,100); debugLbl.Position = UDim2.new(0,10,0,10)    debugLbl.BackgroundColor3 = Color3.new(0,0,0); debugLbl.BackgroundTransparency = 0.5    debugLbl.TextColor3 = Color3.new(1,1,0); debugLbl.TextSize = 12; debugLbl.Font = Enum.Font.Code    debugLbl.TextWrapped = true; debugLbl.TextXAlignment = Enum.TextXAlignment.Left; debugLbl.TextYAlignment = Enum.TextYAlignment.Top    debugLbl.Visible = false; debugLbl.ZIndex = 9999    pcall(function() debugLbl.Parent = game:GetService("CoreGui") end)    if not debugLbl.Parent then debugLbl.Parent = player:WaitForChild("PlayerGui") end    while task.wait(0.1) do -- Extreme Speed        if autoQuest then            debugLbl.Visible = true            local data = getQuestData(); local char = workspace.Live:FindFirstChild(player.Name); local hrp = char and char:FindFirstChild("HumanoidRootPart")            if not data then                local slotNames = "[AutoQuest] No quest data found!\nSlotData children: "                pcall(function()                    local sd = player.PlayerData:FindFirstChild("SlotData")                    if sd then                        for _, c in pairs(sd:GetChildren()) do                            slotNames = slotNames .. c.Name .. "(" .. c.ClassName .. "), "                        end                    end                end)                debugLbl.Text = slotNames            elseif not hrp then                debugLbl.Text = "[AutoQuest] No character/HRP found"            elseif data.Talk then                targetCFrame = nil; currentTarget = nil                local dbgTalk = "[AutoQuest] TALK quest\nNPCs: "                for npcName, talked in pairs(data.Talk) do                    dbgTalk = dbgTalk .. npcName .. "=" .. tostring(talked) .. ", "                end                -- Try ALL un-talked NPCs                local npcObj = nil                local triedNames = ""                for npcName, talked in pairs(data.Talk) do                    if talked == false then                        triedNames = triedNames .. npcName .. " "                        npcObj = findNPC(npcName)                        if npcObj then                            local cf = getNpcCFrame(npcObj)                            if cf then                                dbgTalk = dbgTalk .. "\nFOUND: " .. npcObj.Name .. " at " .. tostring(cf.Position)                                break                            end                        end                        npcObj = nil                    end                end                if not npcObj then dbgTalk = dbgTalk .. "\nNOT FOUND! Tried: " .. triedNames end                debugLbl.Text = dbgTalk                if npcObj then                    local cf = getNpcCFrame(npcObj)                    if cf then                        hrp.CFrame = cf * CFrame.new(0,0,-3.5)                        task.wait(0.6)                        VIM:SendKeyEvent(true, Enum.KeyCode.E, false, game); task.wait(0.5); VIM:SendKeyEvent(false, Enum.KeyCode.E, false, game); task.wait(0.4)                        for i=1,7 do if not autoQuest then break end; VIM:SendKeyEvent(true, Enum.KeyCode.One, false, game); task.wait(0.2); VIM:SendKeyEvent(false, Enum.KeyCode.One, false, game); task.wait(0.3) end                    end                end            elseif data.Defeat or data.Kills then                local tbl = data.Defeat or data.Kills; local targetStr = nil                local dbgKill = "[AutoQuest] KILL quest\nTargets: "                for n, p in pairs(tbl) do dbgKill = dbgKill .. n .. "=" .. tostring(p) .. ", " end                local lowestCount = math.huge                for n, p in pairs(tbl) do                    -- Skip completed targets: true = done, string = info text                    if p == true or type(p) == "string" then                        -- completed, skip                    elseif type(p) == "table" then                        local cur = p.Current or 0                        local tgt = p.Target or 999                        if cur < tgt and cur < lowestCount then lowestCount = cur; targetStr = n end                    elseif type(p) == "number" then                        -- Pick the one with LOWEST count (least progress = most incomplete)                        if p < lowestCount then lowestCount = p; targetStr = n end                    elseif p == false then                        targetStr = n; lowestCount = -1; break -- false = not started, highest priority                    end                end                dbgKill = dbgKill .. "\nSearching: " .. tostring(targetStr)                                -- LOCK ON: if we already have a target and it's still alive, keep fighting it                if currentTarget and currentTarget.Parent and currentTarget:FindFirstChild("Humanoid") and currentTarget.Humanoid.Health > 0 then                    dbgKill = dbgKill .. "\nLOCKED ON: " .. currentTarget.Name .. " HP=" .. math.floor(currentTarget.Humanoid.Health)                    summonStand()                    targetCFrame = currentTarget.HumanoidRootPart.CFrame * CFrame.new(0, 9, 0) * CFrame.Angles(-math.pi/2, 0, 0)                    debugLbl.Text = dbgKill                else                    -- Target is dead or missing — search for new one                    currentTarget = nil; targetCFrame = nil                    local enemy = nil                    local primeMatch = nil                    local partialMatch = nil                    for _, v in pairs(workspace.Live:GetChildren()) do                        if targetStr and v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 and v:FindFirstChild("HumanoidRootPart") and not Players:GetPlayerFromCharacter(v) then                            if v.Name == targetStr then enemy = v; break end                            if string.find(v.Name, targetStr, 1, true) then                                -- Prefer non-PRIME, but keep PRIME as fallback                                if string.find(v.Name, "PRIME", 1, true) then                                    primeMatch = v                                else                                    partialMatch = v                                end                            end                        end                    end                    if not enemy then enemy = partialMatch or primeMatch end                                        if enemy then                        dbgKill = dbgKill .. "\nFOUND: " .. enemy.Name                        currentTarget = enemy; summonStand(); targetCFrame = enemy.HumanoidRootPart.CFrame * CFrame.new(0, 9, 0) * CFrame.Angles(-math.pi/2, 0, 0)                    else                        -- Enemy not spawned — try to talk to NPC to spawn it                        dbgKill = dbgKill .. "\nNOT FOUND! Trying to talk to NPC..."                        local npcToTalk = findNPC(targetStr)                        if npcToTalk then                            local cf = getNpcCFrame(npcToTalk)                            if cf then                                dbgKill = dbgKill .. "\nTalking to: " .. npcToTalk.Name                                hrp.CFrame = cf * CFrame.new(0,0,-3.5)                                task.wait(0.6)                                VIM:SendKeyEvent(true, Enum.KeyCode.E, false, game); task.wait(0.5); VIM:SendKeyEvent(false, Enum.KeyCode.E, false, game); task.wait(0.4)                                for i=1,3 do if not autoQuest then break end; VIM:SendKeyEvent(true, Enum.KeyCode.One, false, game); task.wait(0.2); VIM:SendKeyEvent(false, Enum.KeyCode.One, false, game); task.wait(0.3) end                            end                        end                    end                    debugLbl.Text = dbgKill                end            else                local dbgRaw = "[AutoQuest] Unknown quest format\nKeys: "                for k, v in pairs(data) do dbgRaw = dbgRaw .. tostring(k) .. " " end                debugLbl.Text = dbgRaw            end        else            debugLbl.Visible = false        end    endend)task.spawn(function()    while task.wait(1.5) do if autoRestart then local pGui = player:FindFirstChild("PlayerGui")    if pGui then for _, v in pairs(pGui:GetDescendants()) do if v:IsA("TextButton") and string.find(string.lower(v.Text), "play again") and v.Visible then    local pos = v.AbsolutePosition + (v.AbsoluteSize / 2); VIM:SendMouseButtonEvent(pos.X, pos.Y + 58, 0, true, game, 0); task.wait(0.1); VIM:SendMouseButtonEvent(pos.X, pos.Y + 58, 0, false, game, 0); break end end end end endend)task.spawn(function()    while task.wait(2) do        if autoPrestige then            local sd = player.PlayerData.SlotData; local lvl = toNum(sd.Level.Value); local money = toNum(sd.Money.Value)            if lvl >= 50 and money >= 10000 then                local mage = workspace.Npcs:FindFirstChild("Arch Mage")                local char = workspace.Live:FindFirstChild(player.Name); local hrp = char and char:FindFirstChild("HumanoidRootPart")                if mage and hrp then                    targetCFrame = nil; currentTarget = nil                    hrp.CFrame = mage.HumanoidRootPart.CFrame * CFrame.new(0,0,-3.5)                    task.wait(0.5); VIM:SendKeyEvent(true, Enum.KeyCode.E, false, game); task.wait(0.8); VIM:SendKeyEvent(false, Enum.KeyCode.E, false, game); task.wait(0.5)                    for i=1,3 do VIM:SendKeyEvent(true, Enum.KeyCode.One, false, game); task.wait(0.2); VIM:SendKeyEvent(false, Enum.KeyCode.One, false, game); task.wait(0.5) end                end            end        end    endend)-- PVE MISSION BOARD AUTO FARMtask.spawn(function()    while task.wait(0.5) do        if autoLvlFarm and selectedLvlFarm == "PVE Mission Boards" then            pcall(function()                local char = workspace.Live:FindFirstChild(player.Name)                local hrp = char and char:FindFirstChild("HumanoidRootPart")                if not hrp then return end                                -- PRIORITY 1: DELIVERY QUEST - search workspace.Effects for Quest Markers with "Delivery"                local deliveryMarker = nil                                local effects = workspace:FindFirstChild("Effects")                if effects then                    for _, obj in pairs(effects:GetChildren()) do                        pcall(function()                            local qm = obj:FindFirstChild("Quest Marker")                            if qm then                                local img = qm:FindFirstChild("Image")                                if img then                                    local title = img:FindFirstChild("Title")                                    if title and string.find(title.Text or "", "Delivery") then                                        deliveryMarker = obj                                    end                                end                            end                        end)                        if deliveryMarker then break end                    end                end                                if deliveryMarker then                    -- Teleport to the delivery marker and hold E                    local markerPos = nil                    pcall(function() markerPos = deliveryMarker:GetPivot() end)                    if markerPos then                        targetCFrame = nil; currentTarget = nil                        hrp.CFrame = markerPos * CFrame.new(0, 0, -3)                        task.wait(0.3)                        -- Hold E to interact                        VIM:SendKeyEvent(true, Enum.KeyCode.E, false, game)                        task.wait(1.5)                        VIM:SendKeyEvent(false, Enum.KeyCode.E, false, game)                        task.wait(0.5)                        -- Press 1 a few times to progress dialogue                        for i = 1, 3 do                            VIM:SendKeyEvent(true, Enum.KeyCode.One, false, game)                            task.wait(0.2)                            VIM:SendKeyEvent(false, Enum.KeyCode.One, false, game)                            task.wait(0.3)                        end                    end                    return                end                                -- PRIORITY 2: KILL QUEST - find NPCs with red Highlight (OutlineColor = 255,0,25)                local enemy = nil                for _, v in pairs(workspace.Live:GetChildren()) do                    if v ~= char and v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 and v:FindFirstChild("HumanoidRootPart") and not Players:GetPlayerFromCharacter(v) then                        for _, hl in pairs(v:GetChildren()) do                            if hl:IsA("Highlight") and hl.Name ~= "V63_HL" then                                -- Check if OutlineColor is red (quest target marker)                                local c = hl.OutlineColor                                if c.R > 0.9 and c.G < 0.1 and c.B < 0.2 then                                    enemy = v; break                                end                            end                        end                    end                    if enemy then break end                end                                if enemy then                    currentTarget = enemy                    summonStand()                    targetCFrame = enemy.HumanoidRootPart.CFrame * CFrame.new(0, 9, 0) * CFrame.Angles(-math.pi/2, 0, 0)                    return                end                                -- NO QUEST DETECTED - Go to the nearest Mission Board to accept one                targetCFrame = nil; currentTarget = nil                                local map = workspace:FindFirstChild("Map")                local boards = map and map:FindFirstChild("Mission Boards")                local pve = boards and boards:FindFirstChild("PvE")                if not pve then return end                                local children = pve:GetChildren()                if #children == 0 then return end                                -- Find the nearest board                local nearest = nil                local nearestDist = math.huge                for _, board in pairs(children) do                    local boardPos = nil                    pcall(function() boardPos = board:GetPivot().Position end)                    if boardPos then                        local dist = (hrp.Position - boardPos).Magnitude                        if dist < nearestDist then                            nearestDist = dist                            nearest = board                        end                    end                end                                if nearest then                    -- Position player in front of the board, facing it                    local boardCFrame = nearest:GetPivot()                    local frontCFrame = boardCFrame * CFrame.new(0, 0, 5)                    hrp.CFrame = CFrame.new(frontCFrame.Position, boardCFrame.Position)                    task.wait(0.1)                    -- Align camera behind player facing board                    pcall(function()                        local cam = workspace.CurrentCamera                        cam.CameraType = Enum.CameraType.Scriptable                        cam.CFrame = CFrame.new(frontCFrame.Position + Vector3.new(0, 2, 3), boardCFrame.Position)                        task.wait(0.1)                        cam.CameraType = Enum.CameraType.Custom                    end)                    task.wait(0.3)                                        -- Hold E to interact with board                    VIM:SendKeyEvent(true, Enum.KeyCode.E, false, game)                    task.wait(1.5)                    VIM:SendKeyEvent(false, Enum.KeyCode.E, false, game)                    task.wait(0.5)                                        -- Press 1 to accept mission                    VIM:SendKeyEvent(true, Enum.KeyCode.One, false, game)                    task.wait(0.2)                    VIM:SendKeyEvent(false, Enum.KeyCode.One, false, game)                    task.wait(1)                end            end)        end    endend)-- BOSS FARM AUTO FARMlocal bossNames = {"Akira Otoishi", "Yoshikage Kira", "Okuyasu Nijimura PRIME", "Miyamoto Musashi"}local currentBossIndex = 1task.spawn(function()    while task.wait(0.5) do        if autoLvlFarm and selectedLvlFarm == "Boss Farm" then            pcall(function()                local char = workspace.Live:FindFirstChild(player.Name)                local hrp = char and char:FindFirstChild("HumanoidRootPart")                if not hrp then return end                                -- Try to find the current boss in workspace.Live                local bossTarget = nil                local bossName = bossNames[currentBossIndex]                                for _, v in pairs(workspace.Live:GetChildren()) do                    if v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 and v:FindFirstChild("HumanoidRootPart") then                        if string.find(v.Name, bossName) then                            bossTarget = v; break                        end                    end                end                                if bossTarget then                    currentTarget = bossTarget                    summonStand()                    targetCFrame = bossTarget.HumanoidRootPart.CFrame * CFrame.new(0, 9, 0) * CFrame.Angles(-math.pi/2, 0, 0)                else                    -- Boss not found or dead - move to next boss                    targetCFrame = nil; currentTarget = nil                    currentBossIndex = currentBossIndex + 1                    if currentBossIndex > #bossNames then                        currentBossIndex = 1                    end                end            end)        end    endend)updateLocale("ENG")-- Set Stand tab as active on startupif activeNavBtn == nil then    -- Trigger the first nav button click to set active state    for _, child in pairs(sidebar:GetChildren()) do        if child:IsA("TextButton") then            child.BackgroundColor3 = Color3.fromRGB(30,25,55)            child.TextColor3 = Color3.new(1,1,1)            local acc = child:FindFirstChild("Frame")            if acc then acc.Visible = true end            local glowStroke = Instance.new("UIStroke")            glowStroke.Color = Color3.fromRGB(100,70,200)            glowStroke.Thickness = 1            glowStroke.Transparency = 0.6            glowStroke.Parent = child            activeNavBtn = child            break        end    endend
Latest changeDescription rewrite + script changedAug 28

Comments

Loading comments…