i'm trying to make a UI that changes the Brick Colour of a part. I've gotten the part(s) to change colour but it only turns the affected part(s) the default grey colour.
GUI code :
local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = game.Players.LocalPlayer local character = player.Character if not character or not character.Parent then character = player.CharacterAdded:wait() end script.Parent.MouseButton1Click:Connect(function(plr) local c = script.Parent.Part.BrickColor local C3 = c.Name character.PlayerInfo.ColourSel.Value = C3 wait(0.30) ReplicatedStorage.Recolour:FireServer() end)
this code changes the value of a string tag found in the character to the name of the desired brick colour (which is gotten from a part found in the colour button) and then fires the recolour event to update the colour using ServerScriptService.
ServerScriptService code:
game.ReplicatedStorage.Recolour.OnServerEvent:Connect(function(plr) local char = plr.Character local LAI1 = char.PlayerInfo.LastAppliedItem1.value local ColourType = char.PlayerInfo.ColourType.value local ColourSel = char.PlayerInfo.ColourSel.value if ColourType ~= ('2') then if LAI1 ~= ('null') then for index, D in next, char[LAI1]:GetChildren() do if D.Name == '1' then D.BrickColor = BrickColor.new(ColourSel) end end end end print('Recolour Fired !') end)
this code finds all the parts named '1' and applies the Brick Colour name from the ColourSel String value