Description

[Narukami RE] Project Ghoul auto spin for GHOULS script auto skip cd made by ai if it works and does the job who cares... discord for ccg half human auto spin nexus_oo no idea why i cant upload it here check profile for other scripts

Features

  • + auto spin
  • + skip cd
  • + keyless
  • + open source

Supported Executors

Xeno Volt Potassium Wave Delta Solara Opiumware Codex MacSploit Vega X Velocity

Script

Add Xeno Scripts as a preferred source
local LocalPlayer = game.Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

if PlayerGui:FindFirstChild("GhoulFullMultiRollerUI") then
    PlayerGui.GhoulFullMultiRollerUI:Destroy()
end

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "GhoulFullMultiRollerUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = PlayerGui

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 340, 0, 440)
mainFrame.Position = UDim2.new(0.05, 0, 0.25, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = screenGui

local uiCorner = Instance.new("UICorner")
uiCorner.CornerRadius = UDim.new(0, 8)
uiCorner.Parent = mainFrame

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 0, 40)
titleLabel.BackgroundColor3 = Color3.fromRGB(40, 20, 25)
titleLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
titleLabel.TextSize = 15
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Text = "Ghoul Auto-Roller"
titleLabel.Parent = mainFrame

local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 8)
titleCorner.Parent = titleLabel

local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, -20, 0, 45)
statusLabel.Position = UDim2.new(0, 10, 0, 48)
statusLabel.BackgroundColor3 = Color3.fromRGB(35, 25, 30)
statusLabel.TextColor3 = Color3.fromRGB(255, 150, 150)
statusLabel.TextSize = 13
statusLabel.Font = Enum.Font.GothamMedium
statusLabel.TextWrapped = true
statusLabel.Text = "Status: Select targets from [+] menu"
statusLabel.Parent = mainFrame

local statusCorner = Instance.new("UICorner")
statusCorner.CornerRadius = UDim.new(0, 6)
statusCorner.Parent = statusLabel

local dropBtn = Instance.new("TextButton")
dropBtn.Size = UDim2.new(0, 45, 0, 35)
dropBtn.Position = UDim2.new(0, 10, 0, 100)
dropBtn.BackgroundColor3 = Color3.fromRGB(60, 40, 50)
dropBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
dropBtn.TextSize = 18
dropBtn.Font = Enum.Font.GothamBold
dropBtn.Text = "+"
dropBtn.Parent = mainFrame

local dropBtnCorner = Instance.new("UICorner")
dropBtnCorner.CornerRadius = UDim.new(0, 6)
dropBtnCorner.Parent = dropBtn

local targetDisplay = Instance.new("TextLabel")
targetDisplay.Size = UDim2.new(1, -65, 0, 35)
targetDisplay.Position = UDim2.new(0, 60, 0, 100)
targetDisplay.BackgroundColor3 = Color3.fromRGB(25, 20, 22)
targetDisplay.TextColor3 = Color3.fromRGB(200, 200, 200)
targetDisplay.TextSize = 11
targetDisplay.Font = Enum.Font.Gotham
targetDisplay.TextXAlignment = Enum.TextXAlignment.Left
targetDisplay.Text = " Targets: None selected"
targetDisplay.Parent = mainFrame

local targetDisplayCorner = Instance.new("UICorner")
targetDisplayCorner.CornerRadius = UDim.new(0, 6)
targetDisplayCorner.Parent = targetDisplay

local dropdownFrame = Instance.new("ScrollingFrame")
dropdownFrame.Size = UDim2.new(1, -20, 0, 160)
dropdownFrame.Position = UDim2.new(0, 10, 0, 140)
dropdownFrame.BackgroundColor3 = Color3.fromRGB(28, 22, 26)
dropdownFrame.BorderSizePixel = 0
dropdownFrame.Visible = false
dropdownFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
dropdownFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
dropdownFrame.Parent = mainFrame

local dropScrollCorner = Instance.new("UICorner")
dropScrollCorner.CornerRadius = UDim.new(0, 6)
dropScrollCorner.Parent = dropdownFrame

local dropListLayout = Instance.new("UIListLayout")
dropListLayout.Padding = UDim.new(0, 4)
dropListLayout.SortOrder = Enum.SortOrder.LayoutOrder
dropListLayout.Parent = dropdownFrame

local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.new(1, -20, 0, 40)
toggleButton.Position = UDim2.new(0, 10, 0, 305)
toggleButton.BackgroundColor3 = Color3.fromRGB(0, 150, 100)
toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleButton.TextSize = 14
toggleButton.Font = Enum.Font.GothamBold
toggleButton.Text = "▶ Start Auto-Roll"
toggleButton.Parent = mainFrame

local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 6)
btnCorner.Parent = toggleButton

local scrollFrame = Instance.new("ScrollingFrame")
scrollFrame.Size = UDim2.new(1, -20, 0, 75)
scrollFrame.Position = UDim2.new(0, 10, 0, 352)
scrollFrame.BackgroundColor3 = Color3.fromRGB(25, 20, 22)
scrollFrame.BorderSizePixel = 0
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
scrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
scrollFrame.Parent = mainFrame

local scrollCorner = Instance.new("UICorner")
scrollCorner.CornerRadius = UDim.new(0, 6)
scrollCorner.Parent = scrollFrame

local uiListLayout = Instance.new("UIListLayout")
uiListLayout.Padding = UDim.new(0, 3)
uiListLayout.SortOrder = Enum.SortOrder.LayoutOrder
uiListLayout.Parent = scrollFrame

local function logResult(text, color)
    local entry = Instance.new("TextLabel")
    entry.Size = UDim2.new(1, -10, 0, 24)
    entry.BackgroundColor3 = Color3.fromRGB(45, 30, 35)
    entry.TextColor3 = color or Color3.fromRGB(255, 255, 255)
    entry.TextSize = 11
    entry.Font = Enum.Font.Gotham
    entry.Text = text
    entry.TextXAlignment = Enum.TextXAlignment.Left
    entry.Parent = scrollFrame
    
    local entryCorner = Instance.new("UICorner")
    entryCorner.CornerRadius = UDim.new(0, 4)
    entryCorner.Parent = entry
end

local availableOptions = {
    "One-Eyed",
    "Arata",
    "Fueguchi",
    "Higemaru",
    "Hinami Chimera",
    "Jason",
    "Ken Kaneki",
    "Kobayashi",
    "Kuzen",
    "Naki",
    "Noro",
    "Rinkaku41",
    "T-Owl",
    "Touka",
    "Tsukiyama",
    "Urie",
    "Yasuhisa"
}

local selectedTargets = {}

for _, optionName in ipairs(availableOptions) do
    selectedTargets[optionName] = false
    
    local optionBtn = Instance.new("TextButton")
    optionBtn.Size = UDim2.new(1, -10, 0, 28)
    optionBtn.BackgroundColor3 = Color3.fromRGB(40, 30, 36)
    optionBtn.TextColor3 = Color3.fromRGB(220, 150, 150)
    optionBtn.TextSize = 12
    optionBtn.Font = Enum.Font.Gotham
    optionBtn.Text = " [ ] " .. optionName
    optionBtn.TextXAlignment = Enum.TextXAlignment.Left
    optionBtn.Parent = dropdownFrame
    
    local optCorner = Instance.new("UICorner")
    optCorner.CornerRadius = UDim.new(0, 4)
    optCorner.Parent = optionBtn
    
    optionBtn.MouseButton1Click:Connect(function()
        selectedTargets[optionName] = not selectedTargets[optionName]
        if selectedTargets[optionName] then
            optionBtn.Text = " [✔] " .. optionName
            optionBtn.TextColor3 = Color3.fromRGB(100, 255, 100)
        else
            optionBtn.Text = " [ ] " .. optionName
            optionBtn.TextColor3 = Color3.fromRGB(220, 150, 150)
        end
        
        local count = 0
        local names = {}
        for k, v in pairs(selectedTargets) do
            if v then 
                count = count + 1 
                table.insert(names, k)
            end
        end
        if count > 0 then
            targetDisplay.Text = " Targets: " .. table.concat(names, ", ")
        else
            targetDisplay.Text = " Targets: None selected"
        end
    end)
end

dropBtn.MouseButton1Click:Connect(function()
    dropdownFrame.Visible = not dropdownFrame.Visible
    dropBtn.Text = dropdownFrame.Visible and "-" or "+"
end)

local isAutoRolling = false
local currentSpins = 0
local currentWeapon = ""
local isOneEyed = false
local isVip = false

local function updateStats()
    pcall(function()
        local data = LocalPlayer:FindFirstChild("data")
        local stats = data and data:FindFirstChild("stats")
        local extra = data and data:FindFirstChild("extra")
        
        currentSpins = stats and stats:FindFirstChild("spins") and stats.spins.Value or 0
        currentWeapon = stats and stats:FindFirstChild("weapon") and stats.weapon.Value or ""
        isOneEyed = extra and extra:FindFirstChild("oneeyed") and extra.oneeyed.Value or false
        isVip = extra and extra:FindFirstChild("vip") and extra.vip.Value or false
    end)
end

task.spawn(function()
    while screenGui.Parent do
        if isAutoRolling then
            updateStats()
            
            local hitTarget = nil
            if selectedTargets["One-Eyed"] and isOneEyed == true then 
                hitTarget = "One-Eyed" 
            else
                for targetName, isSelected in pairs(selectedTargets) do
                    if isSelected and currentWeapon == targetName then
                        hitTarget = targetName
                        break
                    end
                end
            end
            
            if hitTarget then
                isAutoRolling = false
                toggleButton.BackgroundColor3 = Color3.fromRGB(0, 150, 100)
                toggleButton.Text = "▶ Start Auto-Roll"
                statusLabel.Text = "Status: TARGET ACQUIRED (" .. hitTarget .. ")!"
                logResult("🎉 Stopped! Hit target: " .. hitTarget, Color3.fromRGB(100, 255, 100))
            elseif currentSpins <= 0 then
                isAutoRolling = false
                toggleButton.BackgroundColor3 = Color3.fromRGB(0, 150, 100)
                toggleButton.Text = "▶ Start Auto-Roll"
                statusLabel.Text = "Status: Paused (Out of spins)"
                logResult("⚠️ Stopped: No spins left.", Color3.fromRGB(255, 200, 100))
            else
                statusLabel.Text = string.format("Rolling... (Spins left: %d)", currentSpins)
                
                local success, result = pcall(function()
                    return game.ReplicatedStorage.Events.RemoteFunction:InvokeServer("Spin")
                end)

                if success then
                    if result then
                        logResult("Rolled: " .. tostring(result), Color3.fromRGB(255, 180, 180))
                    else
                        logResult("Spin on Cooldown...", Color3.fromRGB(200, 200, 200))
                        task.wait(1.0)
                    end
                else
                    logResult("Spin server error", Color3.fromRGB(255, 100, 100))
                end
                
                task.wait(isVip and 0.4 or 1.5)
            end
        else
            task.wait(0.2)
        end
    end
end)

toggleButton.MouseButton1Click:Connect(function()
    local activeCount = 0
    for _, v in pairs(selectedTargets) do
        if v then activeCount = activeCount + 1 end
    end
    
    if activeCount == 0 and not isAutoRolling then
        logResult("⚠️ Select at least one target first!", Color3.fromRGB(255, 200, 100))
        return
    end
    
    isAutoRolling = not isAutoRolling
    
    if isAutoRolling then
        dropdownFrame.Visible = false
        dropBtn.Text = "+"
        toggleButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
        toggleButton.Text = "⏹ Stop Auto-Roll"
        statusLabel.Text = "Status: Auto-Rolling active..."
    else
        toggleButton.BackgroundColor3 = Color3.fromRGB(0, 150, 100)
        toggleButton.Text = "▶ Start Auto-Roll"
        statusLabel.Text = "Status: Paused."
    end
end)
Script worked? 🚀 Boost it to #1 so others find it too.

Comments (1)

Log in to add a comment.

Nexusri00

Nexusri00Author

1 month ago

whats my life purpose