How do I make a Parent / Kid option?

How do I make like a Parent/Kid morph option? Like the age system like you have on Adopt Me. Like when you join, you have the option to be a parent (Normal height) or a kid (short height) .

make it so if they click/touch something the humanoid description of their height changes, and their team changes.

Do you know any tutorials to help with this? I’m very new to scripting.

  • Sky

I have made a post like this;

You can use MouseButton1Click to detect a click, then change some humanoid values like this:
(this wouldnt change the kid’s heads, but I thought it might look cuter that way)

local parentButton = -- Your parent button path here
local kidButton = -- Your kid button path here

local player = game.Players.LocalPlayer
local char = player.Character

-- Adjust the values here
local parentHeight = 1
local parentWidth = 1
local kidHeight = parentHeight/2
local kidWidth = parentWidth/2

parentButton.MouseButton1Click:Connect(function()
    char.Humanoid.BodyHeightScale.Value = parentHeight
    char.Humanoid.BodyWidthScale.Value = parentWidth
end)

kidButton.MouseButton1Click:Connect(function()
     char.Humanoid.BodyHeightScale.Value = kidHeight
     char.Humanoid.BodyWidthScale.Value = kidWidth
end)
1 Like

I improved your script, since you need to change the depth and the head scale so it looks better.

local player = game.Players.LocalPlayer
local char = player.Character
local k = --kid button
local p = --parent button

local pHeight = 1
local pWidth = 1
local pHead = 1
local pDepth = 1
local kHeight = pHeight/1.3
local kWidth = pWidth/1.3
local kHead = pHead/1.15
local kDepth = pDepth/1.3

k.MouseButton1Click:Connect(function()
	char.Humanoid.BodyHeightScale.Value = kHeight
	char.Humanoid.BodyWidthScale.Value = kWidth
	char.Humanoid.HeadScale.Value = kHead
	char.Humanoid.BodyDepthScale.Value = kDepth
end)

p.MouseButton1Click:Connect(function()
	char.Humanoid.BodyHeightScale.Value = pHeight
	char.Humanoid.BodyWidthScale.Value = pWidth
	char.Humanoid.HeadScale.Value = pHead
	char.Humanoid.BodyDepthScale.Value = pDepth
end)

I wouldnt change the head, it looks quite strange, you can see for yourself.

You have to have the right value to make it look good, and 1.15 is the perfect value for this. I tested it in studio.

Parent:


Kid:
image

1 Like

The only issue with the above scripts is that because they’re only client sided, you still appear adult size to other players. What I had to do is make a RemoteEvent and change the values on a normal server script. Basically: event:FireServer(“Adult” or “Kid”) in a LocalScript, then event.OnServerEvent:Connect(function(player, size) on the server side.

Im pretty sure this fires to other clients since it is manipulating the humanoid? Although I could be wrong. I don’t know much about humanoid to server replication.

I tested it both in studio and in game with my sister, and in both instances when I did it from the client I appeared the same size, partially in the ground. I think the reason size doesn’t replicate from the client side is so exploiters can’t appear as giants to other players. That’s just my guess.