Nitary menu
Key RequiredUniversal

Nitary menu

Universal ScriptNitaryNitary 78 views 826 executesUpdated Jul 11, 2026
Unrated
00
Lua Script•415 lines (11840 chars)
-- Carregar a biblioteca Rayfield
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

-- ===== ServiƧos =====
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local HttpService = game:GetService("HttpService")

local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local rootPart = character:WaitForChild("HumanoidRootPart")

-- ===== ConfiguraƧƵes Globais =====
local settings = {
    infiniteJump = false,
    flyEnabled = false,
    flySpeed = 50,
    walkSpeed = 16,
    jumpPower = 50,
    hitboxEnabled = false,
    hitboxSize = 1.5,
    hitboxTransparency = 0.5,
    invisible = false,
}

-- ===== VariƔveis Internas =====
local flyBodyVelocity = nil
local flyConnection = nil
local floatTime = 0

-- ===== Infinite Jump (UserInputService) =====
UIS.JumpRequest:Connect(function()
    if settings.infiniteJump then
        local char = player.Character
        if char then
            local hum = char:FindFirstChildOfClass("Humanoid")
            if hum then
                hum:ChangeState(Enum.HumanoidStateType.Jumping)
            end
        end
    end
end)

-- ===== Fly (com suavização e animações) =====
local function toggleFly(state)
    settings.flyEnabled = state

    if state then
        if not flyBodyVelocity then
            flyBodyVelocity = Instance.new("BodyVelocity")
            flyBodyVelocity.MaxForce = Vector3.new(1e9, 1e9, 1e9)
            flyBodyVelocity.Velocity = Vector3.new(0, 0, 0)
            flyBodyVelocity.Parent = rootPart
        end

        if not flyConnection then
            flyConnection = RunService.Heartbeat:Connect(function(deltaTime)
                if not settings.flyEnabled or not flyBodyVelocity then return end

                local moveDir = humanoid.MoveDirection
                local vertical = Vector3.new(0, 0, 0)

                -- Subir (EspaƧo) e descer (Shift/Control)
                if UIS:IsKeyDown(Enum.KeyCode.Space) then
                    vertical = Vector3.new(0, 1, 0)
                elseif UIS:IsKeyDown(Enum.KeyCode.LeftControl) or UIS:IsKeyDown(Enum.KeyCode.LeftShift) then
                    vertical = Vector3.new(0, -1, 0)
                end

                local velocity = Vector3.new(0, 0, 0)

                if moveDir.Magnitude > 0 or vertical.Magnitude > 0 then
                    local camera = workspace.CurrentCamera
                    local forward = camera.CFrame.LookVector
                    local right = camera.CFrame.RightVector
                    local up = camera.CFrame.UpVector

                    local horizontal = (forward * -moveDir.Z + right * moveDir.X) * settings.flySpeed
                    local verticalVelocity = vertical * settings.flySpeed

                    velocity = horizontal + verticalVelocity
                end

                -- Suavização (interpolação)
                local smoothFactor = 1 - math.exp(-0.2 * deltaTime * 60)
                local newVel = flyBodyVelocity.Velocity:Lerp(velocity, smoothFactor)
                flyBodyVelocity.Velocity = newVel

                -- Efeito de flutuação (apenas quando parado)
                if velocity.Magnitude == 0 and vertical.Magnitude == 0 then
                    floatTime = floatTime + deltaTime * 2
                    local floatOffset = math.sin(floatTime) * 0.5
                    flyBodyVelocity.Velocity = flyBodyVelocity.Velocity + Vector3.new(0, floatOffset * deltaTime, 0)
                end
            end)
        end

        Rayfield:Notify("Fly", "Ativado! Velocidade: " .. settings.flySpeed, 3)
    else
        if flyBodyVelocity then
            flyBodyVelocity:Destroy()
            flyBodyVelocity = nil
        end
        if flyConnection then
            flyConnection:Disconnect()
            flyConnection = nil
        end
        Rayfield:Notify("Fly", "Desativado!", 3)
    end
end

-- ===== WalkSpeed e JumpPower =====
local function setWalkSpeed(value)
    settings.walkSpeed = value
    if humanoid then humanoid.WalkSpeed = value end
end

local function setJumpPower(value)
    settings.jumpPower = value
    if humanoid then humanoid.JumpPower = value end
end

-- ===== Invisibility =====
local function setInvisible(state)
    settings.invisible = state
    local char = player.Character
    if not char then return end

    for _, part in pairs(char:GetDescendants()) do
        if part:IsA("BasePart") then
            part.Transparency = state and 1 or 0
        end
    end
    -- Acessórios
    for _, acc in pairs(char:GetChildren()) do
        if acc:IsA("Accessory") and acc:FindFirstChild("Handle") then
            acc.Handle.Transparency = state and 1 or 0
        end
    end
end

-- ===== Hitbox Expander =====
local function toggleHitbox(state)
    settings.hitboxEnabled = state
    local char = player.Character
    if not char then return end

    if state then
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") then
                part.Size = part.Size * settings.hitboxSize
                part.Transparency = settings.hitboxTransparency
            end
        end
    else
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") then
                part.Size = part.Size / settings.hitboxSize
                part.Transparency = 0
            end
        end
        if settings.invisible then setInvisible(true) end
    end
end

local function setHitboxSize(value)
    settings.hitboxSize = value
    if settings.hitboxEnabled then
        toggleHitbox(false)
        toggleHitbox(true)
    end
end

local function setHitboxTransparency(value)
    settings.hitboxTransparency = value
    if settings.hitboxEnabled then
        local char = player.Character
        if char then
            for _, part in pairs(char:GetDescendants()) do
                if part:IsA("BasePart") then
                    part.Transparency = value
                end
            end
        end
    end
end

-- ===== Salvar / Carregar ConfiguraƧƵes =====
local function saveSettings()
    local json = HttpService:JSONEncode(settings)
    local success, err = pcall(function()
        writefile("nitarymenu_settings.json", json)
    end)
    if success then
        Rayfield:Notify("Settings Saved", "ConfiguraƧƵes salvas com sucesso!", 3)
    else
        Rayfield:Notify("Save Failed", "Erro ao salvar: " .. tostring(err), 3)
    end
end

local function loadSettings()
    local success, data = pcall(function()
        return readfile("nitarymenu_settings.json")
    end)
    if success then
        local decoded = HttpService:JSONDecode(data)
        if decoded then
            for k, v in pairs(decoded) do
                settings[k] = v
            end
            -- Aplicar configuraƧƵes
            setWalkSpeed(settings.walkSpeed)
            setJumpPower(settings.jumpPower)
            toggleFly(settings.flyEnabled)
            toggleHitbox(settings.hitboxEnabled)
            setInvisible(settings.invisible)
            Rayfield:Notify("Settings Loaded", "ConfiguraƧƵes carregadas!", 3)
        else
            Rayfield:Notify("Load Failed", "Arquivo invƔlido", 3)
        end
    else
        Rayfield:Notify("Load Failed", "Nenhum arquivo salvo", 3)
    end
end

local function resetSettings()
    settings = {
        infiniteJump = false,
        flyEnabled = false,
        flySpeed = 50,
        walkSpeed = 16,
        jumpPower = 50,
        hitboxEnabled = false,
        hitboxSize = 1.5,
        hitboxTransparency = 0.5,
        invisible = false,
    }
    setWalkSpeed(settings.walkSpeed)
    setJumpPower(settings.jumpPower)
    toggleFly(false)
    toggleHitbox(false)
    setInvisible(false)
    Rayfield:Notify("Settings Reset", "Todas as configuraƧƵes foram resetadas", 3)
end

-- ===== Interface Rayfield =====
local Window = Rayfield:CreateWindow({
    Name = "nitary menu",
    LoadingTitle = "Carregando...",
    Theme = "Default",
    ConfigurationSaving = {
        Enabled = true,
        FolderName = "nitarymenu",
        FileName = "Settings"
    },
    KeySystem = false,
})

-- Abas
local playerTab = Window:CreateTab("Player", 4483362458)
local hitboxTab = Window:CreateTab("Hitbox", 4483362458)
local configTab = Window:CreateTab("ConfiguraƧƵes", 4483362458)

-- ===== Player Tab =====
playerTab:CreateSection("Movement")

playerTab:CreateToggle({
    Name = "Infinite Jump",
    CurrentValue = false,
    Callback = function(value)
        settings.infiniteJump = value
    end,
})

playerTab:CreateSlider({
    Name = "Walk Speed",
    Range = {0, 100},
    Increment = 1,
    Suffix = "Speed",
    CurrentValue = settings.walkSpeed,
    Callback = function(value)
        setWalkSpeed(value)
    end,
})

playerTab:CreateSlider({
    Name = "Jump Power",
    Range = {0, 200},
    Increment = 1,
    Suffix = "Power",
    CurrentValue = settings.jumpPower,
    Callback = function(value)
        setJumpPower(value)
    end,
})

playerTab:CreateSection("Fly System")

playerTab:CreateToggle({
    Name = "Enable Fly",
    CurrentValue = false,
    Callback = function(value)
        toggleFly(value)
    end,
})

playerTab:CreateSlider({
    Name = "Fly Speed",
    Range = {10, 200},
    Increment = 1,
    Suffix = "Speed",
    CurrentValue = settings.flySpeed,
    Callback = function(value)
        settings.flySpeed = value
        if settings.flyEnabled then
            Rayfield:Notify("Fly Speed", "Velocidade ajustada para " .. value, 2)
        end
    end,
})

playerTab:CreateSection("Visual")

playerTab:CreateToggle({
    Name = "Invisibility",
    CurrentValue = false,
    Callback = function(value)
        setInvisible(value)
    end,
})

-- ===== Hitbox Tab =====
hitboxTab:CreateSection("Hitbox Expander")

hitboxTab:CreateToggle({
    Name = "Enable Hitbox Expander",
    CurrentValue = false,
    Callback = function(value)
        toggleHitbox(value)
    end,
})

hitboxTab:CreateSlider({
    Name = "Hitbox Size",
    Range = {0.5, 3},
    Increment = 0.1,
    Suffix = "x",
    CurrentValue = settings.hitboxSize,
    Callback = function(value)
        setHitboxSize(value)
    end,
})

hitboxTab:CreateSlider({
    Name = "Hitbox Transparency",
    Range = {0, 1},
    Increment = 0.05,
    Suffix = "Alpha",
    CurrentValue = settings.hitboxTransparency,
    Callback = function(value)
        setHitboxTransparency(value)
    end,
})

-- ===== ConfiguraƧƵes Tab =====
configTab:CreateSection("Save / Load")

configTab:CreateButton({
    Name = "Save Settings",
    Callback = function()
        saveSettings()
    end,
})

configTab:CreateButton({
    Name = "Load Settings",
    Callback = function()
        loadSettings()
    end,
})

configTab:CreateButton({
    Name = "Reset Settings",
    Callback = function()
        resetSettings()
    end,
})

configTab:CreateButton({
    Name = "Test Notification",
    Callback = function()
        Rayfield:Notify("Notification", "Teste de notificação!", 3)
    end,
})

-- ===== Inicialização =====
setWalkSpeed(settings.walkSpeed)
setJumpPower(settings.jumpPower)

-- Reaplicar configuraƧƵes ao renascer
player.CharacterAdded:Connect(function(newChar)
    character = newChar
    humanoid = character:WaitForChild("Humanoid")
    rootPart = character:WaitForChild("HumanoidRootPart")

    setWalkSpeed(settings.walkSpeed)
    setJumpPower(settings.jumpPower)
    if settings.flyEnabled then toggleFly(true) end
    if settings.hitboxEnabled then toggleHitbox(true) end
    if settings.invisible then setInvisible(true) end
end)

-- Notificação inicial
Rayfield:Notify("nitary menu", "Carregado com sucesso! Use EspaƧo para subir e Shift para descer no Fly.", 5)

Features & Information

Suspect flyšŸ˜…,hitbox expander,infinitejump,walkspeed and set jump(Pathetic).
#Rayfield

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts