Star Staff Owner Check
Key Required

Star Staff Owner Check

[BACK!] Dea HoodInfiInfi 9.8K views 119 executesUpdated Aug 16, 2025
5.0/ 5(4 votes)
40100% Positive
Lua Script•161 lines (4488 chars)
local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local HttpService = game:GetService("HttpService")
local LocalPlayer = Players.LocalPlayer

-- Configuration
local SHIELD_ICON = "🛡️"  -- Staff
local CROWN_ICON = "👑"   -- Owner
local STAR_ICON = "⭐"    -- Star Player (can report)
local NOTIFICATION_DURATION = 6
local SCAN_INTERVAL = 5  -- Seconds between scans
local TRACK_HISTORY = true

local playerDatabase = {}
local creatorUserId
local lastScanTime = 0

local function getCreatorId()
    local success, result = pcall(function()
        if game.CreatorType == Enum.CreatorType.User then
            return game.CreatorId
        end
        return nil
    end)
    return success and result or nil
end

creatorUserId = getCreatorId()

local function sendAlert(iconType, player, isJoining)
    local titles = {
        [SHIELD_ICON] = "⚠️ Staff Presence",
        [CROWN_ICON] = "👑 Owner Alert",
        [STAR_ICON] = "⭐ Star Player"
    }

    local actions = {
        [true] = "joined",
        [false] = "left"
    }

    local displayText = player.DisplayName ~= player.Name 
        and string.format("(@%s) %s", player.DisplayName, player.Name)
        or player.Name

    StarterGui:SetCore("SendNotification", {
        Title = titles[iconType] or "Important Player",
        Text = string.format("%s has %s the game", displayText, actions[isJoining]),
        Duration = NOTIFICATION_DURATION,
        Icon = iconType
    })

    if TRACK_HISTORY then
        print(string.format("[%s] %s %s - %s", os.date("%X"), iconType, displayText, actions[isJoining]))
    end
end

local function detectPlayerRole(player)
    if not player.Character then return nil end
    
    local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
    if not humanoid then return nil end
    
    -- Check for special roles
    if creatorUserId and player.UserId == creatorUserId then
        return CROWN_ICON
    end

    local displayName = humanoid.DisplayName
    
    if displayName:find(SHIELD_ICON) then
        return SHIELD_ICON
    elseif displayName:find(CROWN_ICON) then
        return CROWN_ICON
    elseif displayName:find(STAR_ICON) then
        return STAR_ICON
    end

    return nil
end

-- Player monitoring system
local function monitorPlayer(player)
    if player == LocalPlayer then return end

    local lastKnownRole = nil

    local function checkCharacter()
        if not player.Character then return end

        local currentRole = detectPlayerRole(player)
        
        if currentRole ~= lastKnownRole then
            if currentRole then
                sendAlert(currentRole, player, true)
            elseif lastKnownRole then
                sendAlert(lastKnownRole, player, false)
            end
            lastKnownRole = currentRole
        end
    end

    checkCharacter()

    player.CharacterAdded:Connect(function()
        task.wait(0.5)  -- Allow time for character to load
        checkCharacter()
    end)

    if player.Character then
        player.Character:WaitForChild("Humanoid"):GetPropertyChangedSignal("DisplayName"):Connect(checkCharacter)
    end
end

-- Player join/leave handlers
local function onPlayerAdded(player)
    playerDatabase[player] = {
        joinTime = os.time(),
        displayName = player.DisplayName
    }
    monitorPlayer(player)
end

local function onPlayerRemoving(player)
    local data = playerDatabase[player]
    if data then
        local role = detectPlayerRole(player)
        if role then
            sendAlert(role, player, false)
        end
        playerDatabase[player] = nil
    end
end

local function periodicScan()
    while true do
        task.wait(SCAN_INTERVAL)
        for player, data in pairs(playerDatabase) do
            if player.Character then
                local currentRole = detectPlayerRole(player)
                if currentRole ~= data.lastRole then
                    if currentRole then
                        sendAlert(currentRole, player, true)
                    elseif data.lastRole then
                        sendAlert(data.lastRole, player, false)
                    end
                    data.lastRole = currentRole
                end
            end
        end
    end
end

-- Initial setup
for _, player in ipairs(Players:GetPlayers()) do
    onPlayerAdded(player)
end

Players.PlayerAdded:Connect(onPlayerAdded)
Players.PlayerRemoving:Connect(onPlayerRemoving)
coroutine.wrap(periodicScan)()

Features & Information

Checks: Star Staff Owner (not actual owner could be co-owner too but idk thats how i made the script dont complain)
#Da Hood#ModCheck#AntiKick#AntiBan

Community Comments (11)

annahannahAug 16, 2025

hi dont complain abt his scripts :3

ReactorCoreDevReactorCoreDevAug 16, 2025

Havent seen coroutine.wrap()() in such awhile.

Replying to @ReactorCoreDev
InfiInfiAug 16, 2025

@ReactorCoreDev ikr

ReactorCoreDevReactorCoreDevAug 16, 2025

I saw a meme about it "Safe hello world" you saw it?

Replying to @ReactorCoreDev
InfiInfiAug 16, 2025

@ReactorCoreDev sorry for not responding, but no i haven't

ReactorCoreDevReactorCoreDevAug 16, 2025

It goes something like this you cant touch the print like at all (hookfunction and other methods wont work on it)

DX12DX12Aug 16, 2025

gay asf who still plays dahood yet alone knock offs

Replying to @DX12
InfiInfiAug 17, 2025

@DX12 lol i dont play it for fun i exp on it why else would i post a script d i p s h i t

Replying to @DX12
ScriptbloxTermedMeScriptbloxTermedMeAug 17, 2025

@DX12 not 6 7

ScriptbloxTermedMeScriptbloxTermedMeAug 21, 2025

lil bro got doxxed

annahannahAug 22, 2025

get doxxed teheeh

More Scripts for [BACK!] Dea Hood