Version / Update: v1.0.0
- Download / Script Link
- -- 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)[ View More ]
NovaCore Simple Arsenal is a very simple script where you get basic aimbot features for arsenal. This is currently in early stages so expect bugs.Current Features:Aimbot (toggle by holding right click)ESPTracersNoclipRecent Update (V1.1): Added TeamCheckDo Not Upload This Script Yourself, Only Owners Of NovaCore May Upload.