local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))() local Players = game:GetService("Players") local HttpSvc = game:GetService("HttpService") local RunService = game:GetService("RunService") local LP = Players.LocalPlayer local function getChar() return LP.Character end local function getHRP() local c = getChar() return c and c:FindFirstChild("HumanoidRootPart") end local function getHumanoid() local c = getChar() return c and c:FindFirstChildOfClass("Humanoid") end local function tryClipboard(s) pcall(function() if setclipboard then setclipboard(s) end end) end local function getPath(path) local parts = string.split(path, ".") local cur = game local start = (parts[1] == "game") and 2 or 1 for i = start, #parts do if cur then cur = cur:FindFirstChild(parts[i]) else return nil end end return cur end local LOCK_FRAMES = 50 local FLOOR_OFFSET = 2.8 local function snapToFloor(position: Vector3): Vector3 local char = getChar() local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude if char then params.FilterDescendantsInstances = { char } end local origins = { position + Vector3.new(0, 5, 0), position + Vector3.new(0, 15, 0), position + Vector3.new(0, 50, 0), } for _, origin in ipairs(origins) do local result = workspace:Raycast(origin, Vector3.new(0, -200, 0), params) if result then return Vector3.new(position.X, result.Position.Y + FLOOR_OFFSET, position.Z) end end return position end local function safeTeleport(targetCF: CFrame) local hrp = getHRP() local hum = getHumanoid() if not hrp then return end if hum then hum.PlatformStand = true hum:ChangeState(Enum.HumanoidStateType.Physics) end hrp.Anchored = true hrp.AssemblyLinearVelocity = Vector3.zero hrp.AssemblyAngularVelocity = Vector3.zero hrp.CFrame = targetCF task.wait(0.05) local snappedPos = snapToFloor(targetCF.Position) local finalCF = CFrame.new(snappedPos) hrp.CFrame = finalCF hrp.AssemblyLinearVelocity = Vector3.zero hrp.AssemblyAngularVelocity = Vector3.zero local frames = 0 local conn conn = RunService.RenderStepped:Connect(function() frames += 1 local h = getHRP() local hum2 = getHumanoid() if h then h.CFrame = finalCF h.AssemblyLinearVelocity = Vector3.zero h.AssemblyAngularVelocity = Vector3.zero end if frames >= LOCK_FRAMES then conn:Disconnect() if h then h.CFrame = finalCF h.Anchored = false h.AssemblyLinearVelocity = Vector3.zero h.AssemblyAngularVelocity = Vector3.zero end if hum2 then hum2.PlatformStand = false task.defer(function() if hum2 and hum2.Parent then hum2:ChangeState(Enum.HumanoidStateType.Running) end end) end end end) end local SUFFIXES = { { s = "K", v = 1e3 }, { s = "M", v = 1e6 }, { s = "B", v = 1e9 }, { s = "T", v = 1e12 }, { s = "Qa", v = 1e15 }, { s = "Qi", v = 1e18 }, { s = "Sx", v = 1e21 }, { s = "Sp", v = 1e24 }, { s = "Oc", v = 1e27 }, { s = "No", v = 1e30 }, { s = "Dc", v = 1e33 }, { s = "UDc", v = 1e36 }, { s = "DDc", v = 1e39 }, { s = "TDc", v = 1e42 }, { s = "qDc", v = 1e45 }, { s = "QDc", v = 1e48 }, { s = "sDc", v = 1e51 }, { s = "SDc", v = 1e54 }, { s = "ODc", v = 1e57 }, { s = "NDc", v = 1e60 }, { s = "Va", v = 1e63 }, { s = "UVa", v = 1e66 }, { s = "DVg", v = 1e69 }, { s = "TVg", v = 1e72 }, } table.sort(SUFFIXES, function(a, b) return #a.s > #b.s end) local SUFFIX_MAP = {} for _, e in ipairs(SUFFIXES) do SUFFIX_MAP[e.s] = e.v end local function parseSuffix(suf) if SUFFIX_MAP[suf] then return SUFFIX_MAP[suf] end for k, v in pairs(SUFFIX_MAP) do if k:lower() == suf:lower() then return v end end return nil end local function parseAura(raw) if not raw or raw == "" then return 0 end local clean = raw:gsub("<[^>]+>", ""):gsub("%+", ""):match("^%s*(.-)%s*$") local numStr, suf = clean:match("^([%d%.]+)%s*(%a+)$") if numStr and suf then local n = tonumber(numStr) or 0 local mul = parseSuffix(suf) if mul then return n * mul end return n end return tonumber(clean) or 0 end local function getPlayerAuraValue() local ok, lbl = pcall(function() return workspace.Characters[LP.Name].Head.OverheadDisplay.Frame.Aura.Count end) if ok and lbl and lbl:IsA("TextLabel") then return parseAura(lbl.Text), lbl.Text end return 0, "?" end local ZONES = {} local function defZone(name, reqRaw, getPartFn) table.insert(ZONES, { name = name, reqRaw = reqRaw, reqVal = parseAura(reqRaw), getPart = getPartFn, }) end local function firstBP(inst) if not inst then return nil end if inst:IsA("BasePart") then return inst end return inst:FindFirstChildWhichIsA("BasePart", true) end defZone("Fire Bath", "100M", function() local ok, p = pcall(function() return workspace["Training Areas"]["Fire Bath"].FirePart end) return ok and firstBP(p) end) defZone("Carrot Farm", "10B", function() local ok, p = pcall(function() return workspace["Training Areas"]["Carrot Farm"].AreaHitbox end) return ok and firstBP(p) end) defZone("Frost Heaven", "100Dc", function() local ok, p = pcall(function() return workspace["Training Areas"]["Frost Heaven"].Sign end) return ok and firstBP(p) end) defZone("Fallen Star", "10DDc", function() local ok, p = pcall(function() return workspace["Training Areas"]["Fallen Star"] end) return ok and firstBP(p) end) defZone("Electra Field","100Sp", function() local ok, p = pcall(function() return workspace["Training Areas"]["Electra Field"].Ground end) return ok and firstBP(p) end) defZone("Egg Basket", "99Sx", function() local ok, p = pcall(function() return workspace["Training Areas"]["Egg Basket"].AreaHitbox end) return ok and firstBP(p) end) defZone("Divine Realm", "1No", function() local ok, p = pcall(function() return workspace["Training Areas"]["Divine Realm"].Fl1 end) return ok and firstBP(p) end) defZone("Dark Lava", "1Qa", function() local ok, p = pcall(function() return workspace["Training Areas"]["Dark Lava"].LavaPart2 end) return ok and firstBP(p) end) defZone("Bird Nest", "100Qa", function() local ok, p = pcall(function() return workspace["Training Areas"]["Bird Nest"].AreaHitbox end) return ok and firstBP(p) end) defZone("Ancient Ruins","100Qi", function() local ok, p = pcall(function() return workspace["Training Areas"]["Ancient Ruins"].AreaHitbox end) return ok and firstBP(p) end) table.sort(ZONES, function(a, b) return a.reqVal < b.reqVal end) local function getBestZone(playerVal) local best = nil for _, z in ipairs(ZONES) do if playerVal >= z.reqVal then best = z end end return best end local State = { autoChest = false, autoCursed = false, autoKOTH = false, autoFarm = false, masterThread = nil, farmThread = nil, } local function getChestPad() local ok, p = pcall(function() return workspace.Map.Chest.Pad end) return (ok and p and p:IsA("BasePart")) and p or nil end local function getChestTimerLabel() local ok, l = pcall(function() return workspace.Map.Chest.Chest.TimeBillboard.Frame.TextLabel end) return (ok and l and l:IsA("TextLabel")) and l or nil end local function isChestReady() local lbl = getChestTimerLabel() return lbl and lbl.Text:match("READY") ~= nil end local function getKOTHTarget(): CFrame? local ok, parts = pcall(function() return workspace.KOTH.Crown.parts end) if not ok or not parts then return nil end if parts:IsA("BasePart") then return parts.CFrame end local bp = parts:FindFirstChildWhichIsA("BasePart", true) if bp then return bp.CFrame end return nil end local function getCurseTarget(): CFrame? local ok, child = pcall(function() local children = workspace.ActiveCursedZone.Model.Model:GetChildren() return children[2] end) if not ok or not child then return nil end if child:IsA("BasePart") then return child.CFrame end local bp = child:FindFirstChildWhichIsA("BasePart", true) if bp then return bp.CFrame end return nil end local chestStatusLabel local zoneStatusLabel local chestLastCollect = 0 local CHEST_GUARD = 10 local LOCK_WAIT = LOCK_FRAMES / 60 + 0.2 local function startMasterThread() if State.masterThread then pcall(task.cancel, State.masterThread) State.masterThread = nil end if not State.autoChest and not State.autoCursed and not State.autoKOTH then return end State.masterThread = task.spawn(function() local cursedWasActive = false while State.autoChest or State.autoCursed or State.autoKOTH do local didTP = false if State.autoChest then local ready = isChestReady() local lbl = getChestTimerLabel() local now = tick() if chestStatusLabel then chestStatusLabel:Set(ready and "Chest: 🎁 READY β€” teleporting…" or ("Chest: ⏳ " .. (lbl and lbl.Text or "?"))) end if ready and (now - chestLastCollect) > CHEST_GUARD then chestLastCollect = now local hrp = getHRP() local prevCF = hrp and hrp.CFrame Rayfield:Notify({ Title = "Chest 🎁", Content = "Collecting…", Duration = 2, Image = "package" }) local pad = getChestPad() if pad then safeTeleport(pad.CFrame) end task.wait(LOCK_WAIT + 0.06) if prevCF then safeTeleport(prevCF) Rayfield:Notify({ Title = "Chest", Content = "Returning…", Duration = 2, Image = "navigation" }) end task.wait(LOCK_WAIT + 0.1) didTP = true end end if not didTP and State.autoCursed then local cf = getCurseTarget() if cf then if not cursedWasActive then cursedWasActive = true Rayfield:Notify({ Title = "⚑ Cursed Zone", Content = "Zone detected β€” teleporting", Duration = 3, Image = "zap" }) end if zoneStatusLabel then zoneStatusLabel:Set("Zone: ⚑ Cursed Zone (active)") end safeTeleport(cf) task.wait(LOCK_WAIT) didTP = true else if cursedWasActive then cursedWasActive = false Rayfield:Notify({ Title = "⚑ Cursed Zone", Content = "Zone ended β€” switching to KOTH", Duration = 3, Image = "zap-off" }) end if zoneStatusLabel then zoneStatusLabel:Set("Zone: ⚑ Curse β€” waiting for zone…") end end end if not didTP and State.autoKOTH then local cf = getKOTHTarget() if cf then if zoneStatusLabel then zoneStatusLabel:Set(State.autoCursed and "Zone: πŸ‘‘ KOTH (Curse inactive)" or "Zone: πŸ‘‘ KOTH Crown") end safeTeleport(cf) task.wait(LOCK_WAIT) didTP = true else if zoneStatusLabel then zoneStatusLabel:Set("Zone: πŸ‘‘ KOTH β€” searching Crown…") end end end if not didTP then if not State.autoCursed and not State.autoKOTH then if zoneStatusLabel then zoneStatusLabel:Set("Zone: inactive") end end task.wait(0.4) end end cursedWasActive = false State.masterThread = nil end) end local Window = Rayfield:CreateWindow({ Name = "Nuvik v2.0", Icon = 0, LoadingTitle = "Nuvik v2.0", LoadingSubtitle = "@ NUVIKTEAM", Theme = "Default", DisableRayfieldPrompts = false, DisableBuildWarnings = false, ConfigurationSaving = { Enabled = true, FolderName = "Nuvik", FileName = "config", }, KeySystem = false, }) local HubTab = Window:CreateTab("Game Hub", "gamepad-2") HubTab:CreateSection("Auth & Profile") HubTab:CreateButton({ Name = "Rebirth", Callback = function() local rf = getPath("game.ReplicatedStorage.Packages.Knit.Services.PlayerService.RF.RequestRebirth") if rf then local ok, res = pcall(function() return (rf :: RemoteFunction):InvokeServer() end) if ok then Rayfield:Notify({ Title = "Rebirth", Content = "Requested", Duration = 3, Image = "refresh-cw" }) else Rayfield:Notify({ Title = "Failed", Content = tostring(res), Duration = 4, Image = "x-circle" }) end else Rayfield:Notify({ Title = "Error", Content = "RF not found", Duration = 3, Image = "x-circle" }) end end }) HubTab:CreateSection("Auto Chest [Priority #1]") chestStatusLabel = HubTab:CreateLabel("Chest: inactive") HubTab:CreateToggle({ Name = "Auto β†’ Chest", CurrentValue = false, Flag = "AutoChest", Callback = function(val) State.autoChest = val if val then if not getChestPad() then Rayfield:Notify({ Title = "Auto Chest", Content = "⚠ Pad not found", Duration = 5, Image = "alert-circle" }) State.autoChest = false; return end if not getChestTimerLabel() then Rayfield:Notify({ Title = "Auto Chest", Content = "⚠ TextLabel not found", Duration = 5, Image = "alert-circle" }) State.autoChest = false; return end startMasterThread() Rayfield:Notify({ Title = "Auto Chest", Content = "Enabled βœ“ (max priority)", Duration = 3, Image = "package" }) else chestStatusLabel:Set("Chest: inactive") startMasterThread() Rayfield:Notify({ Title = "Auto Chest", Content = "Disabled", Duration = 3, Image = "package" }) end end, }) HubTab:CreateButton({ Name = "TP β†’ Chest Pad", Callback = function() local pad = getChestPad() if pad then safeTeleport(pad.CFrame) Rayfield:Notify({ Title = "Teleported", Content = "β†’ Chest Pad", Duration = 3, Image = "navigation" }) else Rayfield:Notify({ Title = "Error", Content = "Pad not found", Duration = 3, Image = "x-circle" }) end end }) HubTab:CreateButton({ Name = "Check Timer", Callback = function() local lbl = getChestTimerLabel() if lbl then Rayfield:Notify({ Title = "Chest Timer", Content = lbl.Text == "" and "(empty)" or lbl.Text, Duration = 4, Image = "clock" }) else Rayfield:Notify({ Title = "Error", Content = "TextLabel not found", Duration = 3, Image = "x-circle" }) end end }) HubTab:CreateSection("Auto Zones [Priority #2 / #3]") zoneStatusLabel = HubTab:CreateLabel("Zone: inactive") HubTab:CreateToggle({ Name = "Auto β†’ Cursed Zone [#2]", CurrentValue = false, Flag = "AutoCursed", Callback = function(val) State.autoCursed = val startMasterThread() if val then Rayfield:Notify({ Title = "Auto Cursed Zone", Content = "Enabled βœ“", Duration = 3, Image = "zap" }) else Rayfield:Notify({ Title = "Auto Cursed Zone", Content = "Disabled", Duration = 3, Image = "zap-off" }) end end, }) HubTab:CreateButton({ Name = "TP β†’ Cursed Zone", Callback = function() local cf = getCurseTarget() if cf then safeTeleport(cf) Rayfield:Notify({ Title = "Teleported", Content = "β†’ Cursed Zone", Duration = 3, Image = "navigation" }) else Rayfield:Notify({ Title = "Error", Content = "ActiveCursedZone not found", Duration = 3, Image = "x-circle" }) end end }) HubTab:CreateToggle({ Name = "Auto β†’ KOTH Crown [#3]", CurrentValue = false, Flag = "AutoKOTH", Callback = function(val) State.autoKOTH = val startMasterThread() if val then Rayfield:Notify({ Title = "Auto KOTH Crown", Content = State.autoCursed and "Enabled β€” covers when Curse ends" or "Enabled βœ“", Duration = 3, Image = "crown" }) else Rayfield:Notify({ Title = "Auto KOTH Crown", Content = "Disabled", Duration = 3, Image = "crown" }) end end, }) HubTab:CreateButton({ Name = "TP β†’ KOTH Crown", Callback = function() local cf = getKOTHTarget() if cf then safeTeleport(cf) Rayfield:Notify({ Title = "Teleported", Content = "β†’ KOTH Crown", Duration = 3, Image = "navigation" }) else Rayfield:Notify({ Title = "Error", Content = "KOTH Crown not found", Duration = 3, Image = "x-circle" }) end end }) local FarmTab = Window:CreateTab("Auto Farm", "zap") FarmTab:CreateSection("Aura Info") local auraInfoLabel = FarmTab:CreateLabel("Your Aura: loading…") local zoneInfoLabel = FarmTab:CreateLabel("Best Zone: β€”") local nextZoneLabel = FarmTab:CreateLabel("Next Zone: β€”") local farmStatusLabel = FarmTab:CreateLabel("Auto Farm: inactive") FarmTab:CreateButton({ Name = "πŸ” Aura Diagnostics", Callback = function() local val, raw = getPlayerAuraValue() local best = getBestZone(val) print("──── NUVIK DIAGNOSTICS ────") print(" Aura raw:", raw, "β†’", string.format("%.2e", val)) for _, z in ipairs(ZONES) do print(string.format(" %s %-15s req=%-8s (%.2e)", val >= z.reqVal and "βœ“" or "βœ—", z.name, z.reqRaw, z.reqVal)) end Rayfield:Notify({ Title = "Diagnostics", Content = string.format("Raw: %s\nVal: %.2e\nBest: %s", raw, val, best and best.name or "none"), Duration = 6, Image = "search", }) end }) task.spawn(function() while true do local val, raw = getPlayerAuraValue() auraInfoLabel:Set("Your Aura: " .. raw .. " β†’ " .. string.format("%.2e", val)) local best = getBestZone(val) zoneInfoLabel:Set(best and ("Best Zone: " .. best.name .. " (req: " .. best.reqRaw .. ")") or "Best Zone: none unlocked yet") local nextZone = nil for _, z in ipairs(ZONES) do if val < z.reqVal then nextZone = z; break end end nextZoneLabel:Set(nextZone and ("Next: " .. nextZone.name .. " (need: " .. nextZone.reqRaw .. ")") or "Next: all zones unlocked!") task.wait(1) end end) FarmTab:CreateSection("Auto Farm β€” Smart Zone") FarmTab:CreateLabel("Compares your Aura and teleports to the best zone.") local farmInterval = 5 FarmTab:CreateSlider({ Name = "TP Interval (seconds)", Range = {2, 30}, Increment = 1, Suffix = "s", CurrentValue = farmInterval, Flag = "FarmInterval", Callback = function(v) farmInterval = v end, }) FarmTab:CreateToggle({ Name = "Smart Auto Farm", CurrentValue = false, Flag = "AutoFarm", Callback = function(val) State.autoFarm = val if val then Rayfield:Notify({ Title = "Auto Farm", Content = "Enabled…", Duration = 3, Image = "zap" }) State.farmThread = task.spawn(function() local lastZoneName = "" while State.autoFarm do local playerVal, playerRaw = getPlayerAuraValue() local best = getBestZone(playerVal) if best then local part = best.getPart() if part then if best.name ~= lastZoneName then lastZoneName = best.name Rayfield:Notify({ Title = "Auto Farm β†’ " .. best.name, Content = "Your aura: " .. playerRaw, Duration = 4, Image = "map-pin", }) end farmStatusLabel:Set("Farm: ⚑ " .. best.name .. " | " .. playerRaw) safeTeleport(part.CFrame) task.wait(LOCK_FRAMES / 60 + 0.2 + farmInterval) else farmStatusLabel:Set("Farm: ⚠ Part not found β€” " .. best.name) task.wait(farmInterval) end else farmStatusLabel:Set("Farm: ⚠ No zone available β€” " .. playerRaw) task.wait(farmInterval) end end farmStatusLabel:Set("Auto Farm: inactive") end) else if State.farmThread then pcall(task.cancel, State.farmThread); State.farmThread = nil end farmStatusLabel:Set("Auto Farm: inactive") Rayfield:Notify({ Title = "Auto Farm", Content = "Disabled", Duration = 3, Image = "zap-off" }) end end, }) FarmTab:CreateSection("Zone Status") FarmTab:CreateButton({ Name = "Check All Zones", Callback = function() local val, raw = getPlayerAuraValue() local lines = {} for _, z in ipairs(ZONES) do table.insert(lines, string.format("%s %-15s (%s)", val >= z.reqVal and "βœ“" or "βœ—", z.name, z.reqRaw)) end tryClipboard(table.concat(lines, "\n")) Rayfield:Notify({ Title = "Zones β€” "..raw, Content = "List copied ("..#lines.." zones)", Duration = 5, Image = "list" }) end }) FarmTab:CreateSection("Manual TP by Zone") for _, z in ipairs(ZONES) do local zoneCopy = z FarmTab:CreateButton({ Name = "β†’ " .. zoneCopy.name .. " (" .. zoneCopy.reqRaw .. ")", Callback = function() local part = zoneCopy.getPart() if part then safeTeleport(part.CFrame) Rayfield:Notify({ Title = "Teleported", Content = "β†’ "..zoneCopy.name, Duration = 3, Image = "navigation" }) else Rayfield:Notify({ Title = "Error", Content = zoneCopy.name.." β€” Part not found", Duration = 3, Image = "x-circle" }) end end, }) end Rayfield:Notify({ Title = "Nuvik v2.0", Content = "@ NUVIKTEAM", Duration = 4, Image = "terminal" })