HDAccessories [Fixes low-quality texture]

Fixes low-quality texture on accessories (tested on R6)

Code
-- HDAccessories

local Players = game:GetService("Players")

local function HandleAccessory(Children: Accessory?)
    if not Children:IsA("Accessory") then return end

    local Handle: BasePart = Children:FindFirstChild("Handle")
    local AccesseryWeld: Weld = Handle and Handle:FindFirstChild("AccessoryWeld")

    if AccesseryWeld then
        local ClonedWeld = AccesseryWeld:Clone()
        ClonedWeld.Name = "AccessoryWeldNew"
        ClonedWeld.Parent = Handle

        local ObjectValue = Instance.new("ObjectValue", Children)
        ObjectValue.Name = "LinkedHandle"
        ObjectValue.Value = Handle

        Handle.CanCollide = false
        Handle.CanQuery = false
        Handle.CanTouch = false
        Handle.Massless = true
        Handle.Name = "HDAccessory_"..Children.Name
        Handle.Parent = Children.Parent

        Children.AncestryChanged:Connect(function(_, NewParent)
            if NewParent == nil then
                Handle:Destroy()
            else
                Handle.Parent = NewParent
            end
        end)
    end
end

local function OnCharacter(Character: Model, Player: Player)
    Character.ChildAdded:Connect(HandleAccessory)

    for _, Children in Character:GetChildren() do
        HandleAccessory(Children)
    end
end

local function OnPlayer(Player: Player)
    if Player.Character then
        task.spawn(OnCharacter, Player.Character, Player)
    end

    Player.CharacterAdded:Connect(function(Character)
        OnCharacter(Character, Player)
    end)
end

for _, Player in Players:GetPlayers() do task.spawn(OnPlayer, Player) end
Players.PlayerAdded:Connect(OnPlayer)
5 Likes