Ad
Log in to vote
0

Can I not change the color of the parts in a tool?

Asked by 2 months ago
Edited 2 months ago

Basically, when a player clicks the textlabel specifying what color they'd be choosing it fires the remote, it should go through the weapon that they had equipped and check for all parts, meshparts, and unionoperations. Lastly, change the color of said part, though it's not working?

LOCAL SCRIPT

--[ Client
local plr = game.Players.LocalPlayer
repeat wait() until plr.Character
local char = plr.Character
local hum = char:WaitForChild('Humanoid')

--[ User Interface
local Buttons = script.Parent
local Red = Buttons:WaitForChild('Red')
local Black = Buttons:WaitForChild('Black')
local Pink = Buttons:WaitForChild('Pink')
local White = Buttons:WaitForChild('White')
local Green = Buttons:WaitForChild('Green')

--[ Children
local Remote = script:WaitForChild('RemoteEvent')
local UI = script.Parent.Parent.Parent
local Main = UI:WaitForChild('Main')
local Mods = UI:WaitForChild('Mods')

--[ Variables
local debounce = false
local color = nil

local function touchgreen()
    if not debounce then
    debounce = true
    color = 'green'
    for _, v in pairs(char:GetChildren()) do
        if v:IsA('Tool') then
            Remote:FireServer(color, v)
        end
    end
    Mods.Visible = false
    Main.Visible = true
    end
    wait(10)
    debounce = false
end

local function touchred()
    if not debounce then
    debounce = true
    color = 'red'
    for _, v in pairs(char:GetChildren()) do
        if v:IsA('Tool') then
            Remote:FireServer(color, v)
        end
    end
    Mods.Visible = false
    Main.Visible = true
    end
    wait(10)
    debounce = false
end

local function touchblack()
    if not debounce then
    debounce = true
    color = 'black'
    for _, v in pairs(char:GetChildren()) do
        if v:IsA('Tool') then
            Remote:FireServer(color, v)
        end
    end
    Mods.Visible = false
    Main.Visible = true
    end
    wait(10)
    debounce = false
end

local function touchpink()
    if not debounce then
    debounce = true
    color = 'pink'
    for _, v in pairs(char:GetChildren()) do
        if v:IsA('Tool') then
            Remote:FireServer(color, v)
        end
    end
    Mods.Visible = false
    Main.Visible = true
    end
    wait(10)
    debounce = false
end

local function touchwhite()
    if not debounce then
    debounce = true
    color = 'white'
    for _, v in pairs(char:GetChildren()) do
        if v:IsA('Tool') then
            Remote:FireServer(color, v)
        end
    end
    Mods.Visible = false
    Main.Visible = true
    end
    wait(10)
    debounce = false
end

--[ Event Binding
Green.MouseButton1Click:Connect(touchgreen)
Red.MouseButton1Click:Connect(touchred)
Black.MouseButton1Click:Connect(touchblack)
Pink.MouseButton1Click:Connect(touchpink)
White.MouseButton1Click:Connect(touchwhite)

SERVER SCRIPT

local remote = script.Parent:WaitForChild('RemoteEvent')

local function changeskin(player, color, weapon)
    if not player then return end
    if not weapon then return end
    if not player.Character then return end
    if player.Character.Humanoid.Health <= 0 then return end

    if color == 'red' then
        for _, v in pairs(weapon:GetChildren()) do
            if v:IsA('Part') or v:IsA('MeshPart') or v:IsA('UnionOperation') then
                v.Color = Color3.fromRGB(203, 0, 0)
            end
        end
    end
    if color == 'black' then
        for _, v in pairs(weapon:GetChildren()) do
            if v:IsA('Part') or v:IsA('MeshPart') or v:IsA('UnionOperation') then
                v.Color = Color3.fromRGB(0, 0, 0)
            end
        end
    end
    if color == 'white' then
        for _, v in pairs(weapon:GetChildren()) do
            if v:IsA('Part') or v:IsA('MeshPart') or v:IsA('UnionOperation') then
                v.Color = Color3.fromRGB(255, 245, 255)
            end
        end
    end
    if color == 'green' then
        for _, v in pairs(weapon:GetChildren()) do
            if v:IsA('Part') or v:IsA('MeshPart') or v:IsA('UnionOperation') then
                v.Color = Color3.fromRGB(121, 255, 111)
            end
        end
    end
    if color == 'pink' then
        for _, v in pairs(weapon:GetChildren()) do
            if v:IsA('Part') or v:IsA('MeshPart') or v:IsA('UnionOperation') then
                v.Color = Color3.fromRGB(255, 0, 255)
            end
        end
    end
end

remote.OnServerEvent:Connect(changeskin)
0
Make sure it's in a regular script. Are there any errors? popeeyy 54 — 2mo
0
No, there aren't any errors and this is in a Server Script. basicecstasy 124 — 2mo
0
how are you running this remote event can you include the local script. kingdom5 3950 — 2mo

Answer this question