0

# How can this local script be re-written to work on a server script?

This was written on a local script, but the server doesn't recognize this for all players in-game to see what it does. How can this be changed so it can work and be written in a server script, and is a RemoteEvent an absolutely necessary thing to use for this?

game.Players.LocalPlayer.CharacterAdded:connect(function()
-- Arms Destroyed
local LeftUpperArm = game.Players.LocalPlayer.Character:WaitForChild("LeftUpperArm")
LeftUpperArm:Destroy()
local RightUpperArm = game.Players.LocalPlayer.Character:WaitForChild("RightUpperArm")
RightUpperArm:Destroy()
-- Sapling Limb Colors Set
local UpperTorso = game.Players.LocalPlayer.Character:WaitForChild("UpperTorso")
UpperTorso.BrickColor = BrickColor.new('New Yeller')
local LowerTorso = game.Players.LocalPlayer.Character:WaitForChild("LowerTorso")
LowerTorso.BrickColor = BrickColor.new('New Yeller')
local LeftUpperLeg = game.Players.LocalPlayer.Character:WaitForChild("LeftUpperLeg")
LeftUpperLeg.BrickColor = BrickColor.new('Bright yellow')
local LeftLowerLeg = game.Players.LocalPlayer.Character:WaitForChild("LeftLowerLeg")
LeftLowerLeg.BrickColor = BrickColor.new('Bright yellow')
local LeftFoot = game.Players.LocalPlayer.Character:WaitForChild("LeftFoot")
LeftFoot.BrickColor = BrickColor.new('Bright yellow')
local RightUpperLeg = game.Players.LocalPlayer.Character:WaitForChild("RightUpperLeg")
RightUpperLeg.BrickColor = BrickColor.new('Bright yellow')
local RightLowerLeg = game.Players.LocalPlayer.Character:WaitForChild("RightLowerLeg")
RightLowerLeg.BrickColor = BrickColor.new('Bright yellow')
local RightFoot = game.Players.LocalPlayer.Character:WaitForChild("RightFoot")
RightFoot.BrickColor = BrickColor.new('Bright yellow')
-- Group Values Destroyed
local plr = game.Players.LocalPlayer.Character
local humanoidplr = game.Players.LocalPlayer
for i, v in ipairs(plr:GetChildren()) do
if v:IsA("Accessory") then
v:Destroy()
end
end
for i, v in ipairs(plr:GetChildren()) do
if v:IsA("Shirt") then
v:Destroy()
end
end
for i, v in ipairs(plr:GetChildren()) do
if v:IsA("Pants") then
v:Destroy()
end
end
end)


What this is doing: Editing a user's avatar upon them joining the game.

0
NotedAPI 809
14 days ago

Hey Savvy,

You can use BodyColors to achieve this.

game.Players.PlayerAdded:Connect(function(plr)

local bodyColors = Character:WaitForChild("Body Colors")
-- Arms Destroyed
local LeftUpperArm = Character:WaitForChild("LeftUpperArm")
LeftUpperArm:Destroy()
local RightUpperArm = Character:WaitForChild("RightUpperArm")
RightUpperArm:Destroy()

-- Sapling Limb Colors Set
bodyColors.TorsoColor = BrickColor.new('New Yeller')
bodyColors.LeftLegColor = BrickColor.new('Bright yellow')
bodyColors.RightLegColor = BrickColor.new('Bright yellow')

-- Group Values Destroyed

wait(1)
-- checks to see the type of the child, and if its one of the ones you want to delete then yeah
if child:IsA("Accessory") then
child:Destroy()
elseif child:IsA("Shirt") then
child:Destroy()
elseif child:IsA("Pants") then
child:Destroy()
end
end)
end)
end)


1
Rinpix 455
14 days ago

If you want to control the shirt or pants a player is wearing, as well as the color of their body parts, you should use a HumanoidDescription. The way it works is that you create it while in edit mode and change its properties so that they meet your desires. It'll let you change the color of each body part in its properties, as well as any shirts, pants, or accessories. You can apply the HumanoidDescription by calling the function ApplyDescription on their Humanoid, and passing in the HumanoidDescription.

This is in a server script:

local humanoidDescription = game.ServerStorage.HumanoidDescription

local humanoid = character:FindFirstChildOfClass("Humanoid")
if (humanoid) then
wait() -- It'll error if you don't put a wait before using the function for some reason
humanoid:ApplyDescription(humanoidDescription)

for _, child in pairs(character:GetChildren()) do
if (child:IsA("BasePart")) then
if (string.find(child.Name, "Arm") or (string.find(child.Name, "Hand"))) then
child:Destroy()
end
end
end
end
end)
end)


It listens for when a player joins the game, for when their character is added, and then applies the description to their Humanoid. It also destroys any arm pieces or hands.