-- Peanut skin lolz
game.Players.LocalPlayer.Character.BoyNormalHair1:Destroy()
game.Players.LocalPlayer.Character.Ponytail:Destroy()
game.Players.LocalPlayer.Character.Cap:Destroy()
game.Players.LocalPlayer.Character.FakeHead:Destroy()

game.Players.LocalPlayer.Character.FBIVest.Handle.Mesh.MeshId = "rbxassetid://6902493506"
game.Players.LocalPlayer.Character.FBIVest.Handle.Mesh.Scale = Vector3.new(1, 1, 1)
game.Players.LocalPlayer.Character.FBIVest.Handle.Mesh.TextureId = "http://[Log in to view URL]"
game.Players.LocalPlayer.Character.Pants.PantsTemplate = "rbxassetid://6902691967"
game.Players.LocalPlayer.Character.Shirt.ShirtTemplate = "http://[Log in to view URL]"

game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.BoyNormalHair1:Destroy()
game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.Ponytail:Destroy()
game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.Cap:Destroy()
game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.Head:Destroy()

game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.FBIVest.Handle.Mesh.MeshId = "http://[Log in to view URL]"
game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.FBIVest.Handle.Mesh.Scale = Vector3.new(1, 1, 1)
game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.FBIVest.Handle.OriginalSize:Destroy()
game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.FBIVest.Handle.Mesh.TextureId = "http//:www.roblox.com/assets/?id=6902428490"
game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.Pants.PantsTemplate = "rbxassetid://6902691967"
game.ReplicatedStorage.StreamedAssets.ChrModels.Trainer.Shirt.ShirtTemplate = "http://[Log in to view URL]"

game:GetService("ReplicatedStorage").FavoriteWeapons.Trainer.Value = "Equip"
game:GetService("ReplicatedStorage").ItemData.Images.Skins.Trainer.Quality.Value = "Admin"

game.Players.LocalPlayer.Data.Skin.Value = "Brickbattle"

game:GetService("ReplicatedStorage").Viewmodels.Arms.Brickbattle["Left Arm"].BrickColor = BrickColor.new("CGA brown")
game:GetService("ReplicatedStorage").Viewmodels.Arms.Brickbattle["Right Arm"].BrickColor = BrickColor.new("GGA brown")

local Config = {
    ProtectedName = "Peanut",
    OtherPlayers = false,
    OtherPlayersTemplate = "NameProtect",
    RenameTextBoxes = false,
    UseFilterPadding = false,
    FilterPad = " ",
    UseMetatableHook = true,
    UseAggressiveFiltering = 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
                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[player.Name] = Filter
        Counter = Counter + 1
    end)
end

local LPName = "Trainer"
local IsA = game.IsA

if Config.UseFilterPadding then
    if string.len(Config.ProtectedName) > string.len(LPName) then
        Config.ProtectedName = string.sub(Config.ProtectedName, 1, string.lne(LPName))
    elseif string.len(Config.ProtectedName) < 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(ProtectedNames) do
            rs = string.gsub(rs, i, v)
        end
    end
    rs = string.gsub(rs, LPName, Config.ProtectedName)
    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.UseAggressiveFiltering then
                v:GetPropertyChanedSignal("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:GetPropertyChanedSignal("Text"):Connect(function()
                    v.Text = FilterString(v.Text)
                end)
            end
        end
    end
end

if Config.UseAggressiveFiltering then
    game.DescendantsAdded:Connect(function(v)
        if Config.RenameTextBoxes then
            if IsA(v, "TextLabel") or IsA(v, "TextButton") or IsA(v, "TextBox") then
                v;GetPropertyChanedSignal("Text"):Connect(function()
                    v.Text = FilterString(v.Text)
                end)
            end
        else
            if IsA(v, "TextLabel") or IsA(v, "TextButton") then
                v:GetPropertyChanedSignal("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
        if not v and make_writeable then return make_writeable(mt) end
        if v and make_readonly then return make_readonly(mt) end
        error("No setreadonly found")
    end

    local mt = getrawmetatable(game)
    local OldNewIndex = mt.__newindex
    SetR0(mt, false)

    mt.__newindex = NewCC(function(t, k, v)
        if Config.RenameTextBoxes then
            if (IsA(t, "TextLabel") or IsA(t, "TextButton") or IsA9(t, "TextBox")) and k == "Text" and type(v) == "string" then
                return OldNewIndex(t, k, FilterString(v))
            end
        else
            if (IsA(t, "TextLabel") or IsA(t, "TextButton")) and k == "Text" and type(v) == "string" then
                return OldNewIndex(t, k, FilterString(v))
            end
        end

        return OldNewIndex(t, k, v)
    end)

    SetR0(mt, true)
end

Embed on website

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