Help with Character Customization

So i have looked up a character customization system it works fine (im using coolcapidog’s customization system) theres one issue that i cant seem to find a fix for
it uses a teleport part which means when the button is pressed it teleports the player and they can edit and once they exit it teleports them back. The problem is that if multiple users are using it , it teleports them to the same spot and they overlap each other which makes it difficult to see your character and i really wanna fix it
Heres the video which i followed

Any help is appreciated
Thanks

1 Like

When the UI is opened, you could try to add a few for loops to loop through each part in each player’s characters and then for each BasePart, set the Transparency property to 0.

Then you could do the opposite and set the Transparency of each BasePart back to 1 when the UI is closed.

Make sure to keep the transparency of the HumanoidRootPart at 1 when you change the other transparency values back to 0

I dont understand it , could you send or make a tutorial explaining it
It would be much helpful

Thanks

1 Like

Sure! In this example, we will fire a raycast from the position of the grey part, ExamplePart, towards the baseplate while ignoring the green part, BodyPartExample.

Here’s a simple example of how a this raycast could be coded:

local ExamplePart = workspace:WaitForChild("ExamplePart")
local BodyPartExample = workspace:WaitForChild("BodypartExample")

local Params = RaycastParams.new() -- Create the parameters of the raycast
Params.FilterType = Enum.RaycastFilterType.Exclude -- Set it to ignore the parts we don't want the raycast to hit
Params:AddToFilter({BodyPartExample}) -- Add the parts we don't want the raycast to hit

local Direction = Vector3.new(0,-20,0) -- Points the raycast downwards up to 20 studs

local success, Cast = pcall(function() -- Use a pcall function to provent it breaking if an error occurs
	return workspace:Raycast(ExamplePart.Position, Vector3.new(0,-20,0), Params) -- Carry out the raycast
end)

if success and Cast then -- Check that the cast was successful and that it hit something
	local Part = Cast.Instance -- The object the ray hit
	if Part:IsA("BasePart") then -- Check that it hit a BasePart
		print(Part.Name)
		print(Part.MaterialVariant) -- You can get the material variant of the part by checking the MaterialVariant property
	end
end

In this case this is what the code outputted:
1Keeth Raycast Output
The second line printed by the script is empty as the baseplate has no Material Propety applied to it.

Hope this helps :slight_smile:
Let me know if you have any other questions about it.

Thank You So Much It Fixed it Thanks again
:grinning:

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.