I made this huge local script for my custom character, and it makes the character able to be customized. When I test it, it only appears for 1 player, since FE is enabled. What could I do besides using Remote Events to make it visible for everyone? (No, I'm not going to disable FE)
wait(1) local plr = script.Parent.Parent local mouse = plr:GetMouse() local chr = plr.Character local skin = plr.PlayerGui.Customize.Frame.SkinTone local play = plr.PlayerGui.Customize.Frame.Play local gender = plr.PlayerGui.Customize.Frame.Gender local hair = plr.PlayerGui.Customize.Frame.Hair local frame = plr.PlayerGui.Customize.Frame local editing = play.Editing editing.Parent = chr editing.Value = true --skintone skin.Lightest.MouseButton1Click:connect(function() --stuff(cant go above character limit) end) skin.Light.MouseButton1Click:connect(function() --stuff(cant go above character limit) end) skin.Middle.MouseButton1Click:connect(function() --stuff(cant go above character limit) end) skin.Dark.MouseButton1Click:connect(function() --stuff(cant go above character limit) end) skin.Darkest.MouseButton1Click:connect(function() --stuff(cant go above character limit) end) --gender Gender = "Male" gender.Female.MouseButton1Click:connect(function() chr.Head.Hair.Mesh.MeshId = chr.Head.Hair.Two.Value chr.LowerTorso.Pants.Mesh.MeshId = chr.LowerTorso.Pants.Two.Value chr.UpperTorso.Shirt.Mesh.MeshId = chr.UpperTorso.Shirt.Two.Value chr.LeftUpperArm.LeftSleeve.Mesh.MeshId = chr.LeftUpperArm.LeftSleeve.Two.Value chr.RightUpperArm.RightSleeve.Mesh.MeshId = chr.RightUpperArm.RightSleeve.Two.Value chr.LeftUpperLeg.LeftPants.Mesh.MeshId = chr.LeftUpperLeg.LeftPants.Two.Value chr.RightUpperLeg.RightPants.Mesh.MeshId = chr.RightUpperLeg.RightPants.Two.Value chr.Head.Mesh.MeshId = chr.Head.Two.Value chr.Head.Mesh.MeshId = chr.Head.Two.Value chr.LowerTorso.Mesh.MeshId = chr.LowerTorso.Two.Value chr.UpperTorso.Mesh.MeshId = chr.UpperTorso.Two.Value chr.LeftUpperArm.Mesh.MeshId = chr.LeftUpperArm.Two.Value chr.RightUpperArm.Mesh.MeshId = chr.RightUpperArm.Two.Value chr.LeftUpperLeg.Mesh.MeshId = chr.LeftUpperLeg.Two.Value chr.RightUpperLeg.Mesh.MeshId = chr.RightUpperLeg.Two.Value chr.LeftLowerArm.Mesh.MeshId = chr.LeftLowerArm.Two.Value chr.RightLowerArm.Mesh.MeshId = chr.RightLowerArm.Two.Value chr.LeftLowerLeg.Mesh.MeshId = chr.LeftLowerLeg.Two.Value chr.RightLowerLeg.Mesh.MeshId = chr.RightLowerLeg.Two.Value chr.LeftHand.Mesh.MeshId = chr.LeftHand.Two.Value chr.RightHand.Mesh.MeshId = chr.RightHand.Two.Value chr.LeftHand.Mesh.MeshId = chr.LeftHand.Two.Value chr.RightHand.Mesh.MeshId = chr.RightHand.Two.Value chr.Head.Hair.Mesh.Offset = Vector3.new(0,0,0.1) chr.LeftUpperArm.Mesh.Scale = Vector3.new(.75, 0.75, .75) chr.RightUpperArm.Mesh.Scale = Vector3.new(.75, 0.75, .75) chr.LeftUpperArm.Mesh.Offset = Vector3.new(0, -.1, 0.1) chr.RightUpperArm.Mesh.Offset = Vector3.new(0, -.1, 0.1) chr.LeftUpperArm.LeftElbowRigAttachment.Position = Vector3.new(-0.113, -0.336, 0.173) chr.RightUpperArm.RightElbowRigAttachment.Position = Vector3.new(0.113, -0.336, 0.173) chr.LeftLowerArm.LeftElbowRigAttachment.Position = Vector3.new(0.18, 0.288, 0.041) chr.RightLowerArm.RightElbowRigAttachment.Position = Vector3.new(-0.18, 0.288, 0.041) Gender = "Female" end) gender.Male.MouseButton1Click:connect(function() chr.Head.Hair.Mesh.MeshId = chr.Head.Hair.One.Value chr.LowerTorso.Pants.Mesh.MeshId = chr.LowerTorso.Pants.One.Value chr.UpperTorso.Shirt.Mesh.MeshId = chr.UpperTorso.Shirt.One.Value chr.LeftUpperArm.LeftSleeve.Mesh.MeshId = chr.LeftUpperArm.LeftSleeve.One.Value chr.RightUpperArm.RightSleeve.Mesh.MeshId = chr.RightUpperArm.RightSleeve.One.Value chr.LeftUpperLeg.LeftPants.Mesh.MeshId = chr.LeftUpperLeg.LeftPants.One.Value chr.RightUpperLeg.RightPants.Mesh.MeshId = chr.RightUpperLeg.RightPants.One.Value chr.Head.Mesh.MeshId = chr.Head.One.Value chr.LowerTorso.Mesh.MeshId = chr.LowerTorso.One.Value chr.UpperTorso.Mesh.MeshId = chr.UpperTorso.One.Value chr.LeftUpperArm.Mesh.MeshId = chr.LeftUpperArm.One.Value chr.RightUpperArm.Mesh.MeshId = chr.RightUpperArm.One.Value chr.LeftUpperLeg.Mesh.MeshId = chr.LeftUpperLeg.One.Value chr.RightUpperLeg.Mesh.MeshId = chr.RightUpperLeg.One.Value chr.LeftLowerArm.Mesh.MeshId = chr.LeftLowerArm.One.Value chr.RightLowerArm.Mesh.MeshId = chr.RightLowerArm.One.Value chr.LeftLowerLeg.Mesh.MeshId = chr.LeftLowerLeg.One.Value chr.RightLowerLeg.Mesh.MeshId = chr.RightLowerLeg.One.Value chr.LeftHand.Mesh.MeshId = chr.LeftHand.One.Value chr.RightHand.Mesh.MeshId = chr.RightHand.One.Value chr.LeftHand.Mesh.MeshId = chr.LeftHand.One.Value chr.RightHand.Mesh.MeshId = chr.RightHand.One.Value chr.Head.Hair.Mesh.Offset = Vector3.new(0,0.3,0.05) chr.LeftUpperArm.Mesh.Scale = Vector3.new(1, 0.75, 1) chr.RightUpperArm.Mesh.Scale = Vector3.new(1, 0.75, 1) chr.LeftUpperArm.Mesh.Offset = Vector3.new(0, 0, 0) chr.RightUpperArm.Mesh.Offset = Vector3.new(0, 0, 0) chr.LeftUpperArm.LeftElbowRigAttachment.Position = Vector3.new(-0.215, -0.507, 0.209) chr.RightUpperArm.RightElbowRigAttachment.Position = Vector3.new(0.215, -0.507, 0.209) chr.LeftLowerArm.LeftElbowRigAttachment.Position = Vector3.new(0.088, 0.351, 0.105) chr.RightLowerArm.RightElbowRigAttachment.Position = Vector3.new(-0.088, 0.351, 0.1051) Gender = "Male" end) --hair hair.Brown.MouseButton1Click:connect(function() chr.Head.Hair.Color = hair.Brown.BackgroundColor3 end) hair.Blonde.MouseButton1Click:connect(function() chr.Head.Hair.Color = hair.Blonde.BackgroundColor3 end) hair.Orange.MouseButton1Click:connect(function() chr.Head.Hair.Color = hair.Orange.BackgroundColor3 end) hair.Black.MouseButton1Click:connect(function() chr.Head.Hair.Color = hair.Black.BackgroundColor3 end) local Hair = true hair.Check.MouseButton1Click:connect(function() wait(.01) if Hair == true then print("HairGone") hair.Check.ImageLabel.ImageTransparency = 1 chr.Head.Hair.Transparency = 1 wait(.01) Hair = false end end) hair.Check.MouseButton1Click:connect(function() wait(.01) if Hair == false then print("HairBack") hair.Check.ImageLabel.ImageTransparency = 0 chr.Head.Hair.Transparency = 0 wait(.01) Hair = true end end) play.MouseButton1Click:connect(function() editing.Value = false play.Parent.Parent.Enabled = false wait() end) wait()
You need to do that on the server to replicate changes to other clients. There is not a hacky workaround to using a remote event; you just need to use a remote event. Have the client fire to the server requesting the customization choices desired; then apply all property changes on the server.
You have two choices, use remotes or disable FE. Just serverscripts alone (referring to first answer) won't work, due to this modifying a specific player/being on the player GUI.