-- Corruptgore w/ Castlers

game.Players.LocalPlayer.Character.Cap.Handle:Destroy()
game.Players.LocalPlayer.Ragdoll.Cap.Handle:Destroy()
game.ReplicatedStorage.StreamedAssets.ChrModels.Delinquent.Cap.Handle.Mesh.MeshId = "rblxassetid://"
game.ReplicatedStorage.StreamedAssets.ChrModels.Delinquent.Cap.Handle.Mesh.Texture = "47991609"
game:GetService("ReplicatedStorage").ItemData.Images.Skins.Delinquent.Quality.Value = "Admin"

local Config = {
    ProtectedName = "Delinquent with no hat",
    OtherPlayers = false,
    OtherPlayersTemplate = "NameProtect",
    RenameTextBoxes = false,
    UseFilterPadding = false,
    FilterPad = " ",
    UseMetatableHood = true,
    UseAggresiveFiltering = true
}

local ProtectedNames = {}
local Counter = 1
if Config.OtherPlayers then
    for i, v in pairs(game.Players:GetPlayers()) do
        local Filter = Config.OtherPlayersTemplate .. tostring(Counter)
        if Config.UseFilterPadding then
            if string.len(Filter) > string.len(v.Name) then
                Filter = string.sub(Filter, 1, string.len(v.Name))
            elseif string.len(Filter) < string.len(v.Name) then
                local Add = string.len(v.Name) - string.len(Filter)
                for i = 1, Add do
                    Filter = Filter .. Config.FilterPad
                end
            end
        end
    ProtectedNames[v.Name] = Filter
    Counter = Counter + 1
    end

    game.Players.PlayerAdded:Connect(function(player)
        local Filter = Config.OtherPlayersTemplate .. tostring(Counter)
        if Config.UseFilterPadding then
            if string.len(Filter) > string.len(v.Name) then
                Filer = string.sub(Filter, 1, string.len(v.Name))
            elseif string.len(Filter) < string.len(v.Name) then
                local Add = string.len(v.Name) - string.len(Filter)
                for i = 1, Add do
                    Filter = Filter .. Config.FilterPad
                end
            end
        end
        ProtectedNames[player.Name] = Filter
        Counter = Counter + 1
    end)
end

local LPName = "Delinquent"
local IsA = game.IsA

if Config.UseFilterPadding then
    if string.len(Config.ProtectedName) > string.len(LPName) then
        Config.ProtectedName = string.sub(Cofig.ProtectedName, 1, string.len(LPName))
    elseif string.len(Config.ProtctedName) < string.len(LPName) then
        local Add = string.len(LPName) - string.len(Config.ProtectedName)
        for i = 1, Add do
            Config.ProtectedName = Config.ProtectedName .. Config.FilterPad
        end
    end
end

local function FilterString(S)
    local RS = S
    if Config.OtherPlayers then
        for i, v in pairs(ProtctedNames) doesn
            RS = string.gsub(RS, i, v)
        end
    end
    RS = string.gsub(RS, LPName, Config.ProtctedName)
    return RS
end

for i, v in pairs(game:GetDescendants()) do
    if Config.RenameTextBoxes then
        if ISA(v, "TextLabel") or IsA(v, "TextButton") or IsA(v, "TextBox") then
            v.Text = FilterString(v.Text)

            if Config.UseAggresiveFiltering then
                v:GetPropertyChangedSignal("Text"):Connect(function()
                    v.Text = FilterString(v.Text)
                end)
            end
        end
    else
        if IsA(v, "TextLabel") or IsA(v, "TextButton") then
            v.Text = FilterString(v.Text)

            if Config.UseAggressiveFiltering then
                v:GetPropertyChangedSignal("Text"):Connect(function()
                    v.Text = FilterString(v.Text)
                end)
            end
        end
    end
end

if Config.UseAggressiveFiltering then
    game.DescendantAdded:Connect(function(v)
        if Config.RenameTextBoxes then
            if IsA(v, "TextLabel") or IsA(v, "TextButton") or IsA(v, "TextBox") then
                v:GetPropertyChangedSignal("Text"):Connect(function()
                    v.Text = FilterString(v.Text)
                end)
            end
        else
            if IsA(v, "TextLabel") or IsA(v, "TextButton") then
                v:GetPropertyChangedSignal("Text"):Connect(function()
                    v.Text = FilterString(v.Text)
                end)
            end
        end
    end)
end

if Config.UseMetatableHook then
    if not getrawmetatable then
        error("GetRawMetaTable not found")
    end

    local NewCC = function(F)
        if newcclosure then return newcclosure(F) end
        return F
    end

    local SetR0 = function(MT, V)
        if setreadonly then return setreadonly(MT, V) end

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: