-- NovaCore UI with TeamCheck -- Services local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera -- Settings local settings = { aimbot = false, esp = false, tracers = false, noclip = false, fov = 1100, teamCheck = true, aimPart = "HumanoidRootPart" } -- Drawing FOV Circle local FOVCircle = Drawing.new("Circle") FOVCircle.Thickness = 1.5 FOVCircle.Radius = settings.fov FOVCircle.Color = Color3.fromRGB(120, 200, 255) FOVCircle.Filled = false FOVCircle.Visible = true FOVCircle.Transparency = 1 -- Mapping players to drawings local espBoxes = {} local tracerLines = {} -- Create GUI local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "NovaCoreSimpleArsenalV1.0" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = PlayerGui local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 400, 0, 350) mainFrame.Position = UDim2.new(0.5, -200, 0.5, -175) mainFrame.BackgroundColor3 = Color3.fromRGB(15, 20, 30) mainFrame.BorderSizePixel = 0 mainFrame.Parent = ScreenGui local function createUICorner(frame) local corner = Instance.new("UICorner", frame) corner.CornerRadius = UDim.new(0, 15) return corner end createUICorner(mainFrame) -- Title bar and drag local titleBar = Instance.new("Frame", mainFrame) titleBar.Size = UDim2.new(1, 0, 0, 40) titleBar.BackgroundColor3 = Color3.fromRGB(0, 150, 230) createUICorner(titleBar) titleBar.ClipsDescendants = true local titleLabel = Instance.new("TextLabel", titleBar) titleLabel.Size = UDim2.new(1, 0, 1, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "NovaCore Simple Arsenal V1.1" titleLabel.TextColor3 = Color3.fromRGB(30, 30, 30) titleLabel.Font = Enum.Font.GothamBold titleLabel.TextSize = 24 -- Drag logic for title bar local dragging = false local dragInput, dragStart, startPos titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) titleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UIS.InputChanged:Connect(function(input) if input == dragInput and dragging then local delta = input.Position - dragStart mainFrame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) -- Tabs UI local tabNames = {"Main", "About"} local tabButtons = {} local tabPanels = {} local tabFrame = Instance.new("Frame", mainFrame) tabFrame.Size = UDim2.new(1, 0, 0, 35) tabFrame.Position = UDim2.new(0, 0, 0, 40) tabFrame.BackgroundTransparency = 1 local function switchTab(name) for tn, panel in pairs(tabPanels) do panel.Visible = false end for tn, btn in pairs(tabButtons) do btn.BackgroundColor3 = Color3.fromRGB(30, 35, 45) btn.TextColor3 = Color3.fromRGB(120, 180, 255) end tabPanels[name].Visible = true tabButtons[name].BackgroundColor3 = Color3.fromRGB(120, 180, 255) tabButtons[name].TextColor3 = Color3.fromRGB(20, 20, 20) end for i, tName in ipairs(tabNames) do local btn = Instance.new("TextButton", tabFrame) btn.Size = UDim2.new(0, 120, 1, 0) btn.Position = UDim2.new(0, (i-1)*120, 0, 0) btn.BackgroundColor3 = Color3.fromRGB(30, 35, 45) btn.TextColor3 = Color3.fromRGB(120, 180, 255) btn.Font = Enum.Font.GothamSemibold btn.TextSize = 20 btn.Text = tName btn.AutoButtonColor = false createUICorner(btn) btn.MouseButton1Click:Connect(function() switchTab(tName) end) tabButtons[tName] = btn local panel = Instance.new("Frame", mainFrame) panel.Size = UDim2.new(1, 0, 1, -75) panel.Position = UDim2.new(0, 0, 0, 75) panel.BackgroundTransparency = 1 panel.Visible = false tabPanels[tName] = panel end switchTab("Main") -- Toggle Button creator local function createToggle(parent, text, positionY, initial, callback) local btn = Instance.new("TextButton", parent) btn.Size = UDim2.new(0, 260, 0, 40) btn.Position = UDim2.new(0, 20, 0, positionY) btn.BackgroundColor3 = initial and Color3.fromRGB(120, 180, 255) or Color3.fromRGB(45, 50, 60) btn.TextColor3 = Color3.fromRGB(25, 25, 30) btn.Font = Enum.Font.GothamBold btn.TextSize = 18 btn.Text = text .. (initial and ": ON" or ": OFF") createUICorner(btn) btn.MouseButton1Click:Connect(function() local newState = not (btn.BackgroundColor3 == Color3.fromRGB(120, 180, 255)) btn.BackgroundColor3 = newState and Color3.fromRGB(120, 180, 255) or Color3.fromRGB(45, 50, 60) btn.Text = text .. (newState and ": ON" or ": OFF") callback(newState) end) return btn end -- Add Toggles to main tab local mainPanel = tabPanels.Main local spacing = 50 local posY = 20 local aimbotToggle = createToggle(mainPanel, "Aimbot (hold right click)", posY, settings.aimbot, function(v) settings.aimbot = v end) posY = posY + spacing local espToggle = createToggle(mainPanel, "ESP Boxes", posY, settings.esp, function(v) settings.esp = v end) posY = posY + spacing local tracersToggle = createToggle(mainPanel, "Tracers", posY, settings.tracers, function(v) settings.tracers = v end) posY = posY + spacing local noclipToggle = createToggle(mainPanel, "Noclip", posY, settings.noclip, function(v) settings.noclip = v local char = LocalPlayer.Character if char then for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = not v end end end end) posY = posY + spacing local teamCheckToggle = createToggle(mainPanel, "Team Check", posY, settings.teamCheck, function(v) settings.teamCheck = v end) -- About tab content local aboutPanel = tabPanels.About local aboutText = Instance.new("TextLabel", aboutPanel) aboutText.Size = UDim2.new(1, -40, 0, 140) aboutText.Position = UDim2.new(0, 20, 0, 20) aboutText.BackgroundTransparency = 1 aboutText.Font = Enum.Font.GothamBold aboutText.TextSize = 20 aboutText.TextColor3 = Color3.fromRGB(150, 180, 225) aboutText.TextWrapped = true aboutText.Text = [[ Created by Developer Astro Tested by Ghost Do not upload this script yourself. Only owners of NovaCore (Astro and Ghost) may upload. ]] -- ESP, Tracer Drawing setup local function createEspDrawings(player) if espBoxes[player] then return end espBoxes[player] = Drawing.new("Square") espBoxes[player].Thickness = 2 espBoxes[player].Visible = false espBoxes[player].Color = Color3.new(1, 0, 0) tracerLines[player] = Drawing.new("Line") tracerLines[player].Thickness = 1 tracerLines[player].Visible = false tracerLines[player].Color = Color3.new(1, 0, 0) end local function removeEspDrawings(player) if espBoxes[player] then espBoxes[player]:Remove() espBoxes[player] = nil end if tracerLines[player] then tracerLines[player]:Remove() tracerLines[player] = nil end end Players.PlayerAdded:Connect(createEspDrawings) Players.PlayerRemoving:Connect(removeEspDrawings) for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then createEspDrawings(player) end end -- Helper to find closest target within FOV local function getClosestTarget() local mousePos = UIS:GetMouseLocation() local bestDist = settings.fov local closest = nil for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild(settings.aimPart) then if not settings.teamCheck or player.Team ~= LocalPlayer.Team then local pos, onScreen = Camera:WorldToViewportPoint(player.Character[settings.aimPart].Position) if onScreen then local dist = (Vector2.new(pos.X, pos.Y) - Vector2.new(mousePos.X, mousePos.Y)).Magnitude if dist < bestDist then bestDist = dist closest = player end end end end end return closest end RunService.RenderStepped:Connect(function() FOVCircle.Position = Camera.ViewportSize / 2 FOVCircle.Radius = settings.fov FOVCircle.Visible = true if settings.aimbot and UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then local target = getClosestTarget() if target and target.Character and target.Character:FindFirstChild(settings.aimPart) then local tp = target.Character[settings.aimPart].Position Camera.CFrame = CFrame.new(Camera.CFrame.Position, tp) end end for player, box in pairs(espBoxes) do local char = player.Character if settings.esp and char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Head") then if not settings.teamCheck or player.Team ~= LocalPlayer.Team then local pos, onScreen = Camera:WorldToViewportPoint(char.HumanoidRootPart.Position) if onScreen then box.Size = Vector2.new(50, 100) box.Position = Vector2.new(pos.X - 25, pos.Y - 50) box.Visible = true if settings.tracers then local tracer = tracerLines[player] tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) tracer.To = Vector2.new(pos.X, pos.Y) tracer.Visible = true else tracerLines[player].Visible = false end else box.Visible = false tracerLines[player].Visible = false end else box.Visible = false tracerLines[player].Visible = false end else box.Visible = false tracerLines[player].Visible = false end end end) -- Toggle GUI visibility with RightShift local guiState = true UIS.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == Enum.KeyCode.RightShift then guiState = not guiState ScreenGui.Enabled = guiState end end)