Sign ups are back :3 -Sukaira
CharacterAppearance
Property of object Player, takes string
Throughout the years of Roblox, the CharacterAppearance property has taken different value formats, below resides all of the formats until 2012:
Formatting history
June 19, 2009 AND BEFORE We can assume that support still existed in 2009E at the least because of this post from January of 2009, which uses a string for CharacterAppearance rather than CharacterFetch
http://www.roblox.com/asset/?id={assetId};http://www.roblox.com/Asset/BodyColors.ashx?userId={userId}
CharacterFetch.ashx becomes required on June 19, 2009 (0.16.11.1/version-6947f7c78484483d)
Note: Somewhere between 2010M-2011M, CharacterAppearances no longer update automatically, and require the user's character to be reloaded for it to be changed
http://www.roblox.com/Asset/CharacterFetch.ashx?userId={userId}
CharacterAppearance being used in 2013M (version-3363ce97cfb94ae6)
Body Colors
A lot of people wonder how body colors are done through character appearances due to the immediate assumption that it's just setting the brick colors of the characters limbs
It actually is done through an API similar to /asset/, which returned an XML formatted version of the Body Colors object from your client.
Here is an example of what its contents looked like:<syntaxhighlight lang="xml"> <roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="BodyColors" referent="RBX0">
<Properties>
<int name="HeadColor">1</int>
<int name="LeftArmColor">26</int>
<int name="LeftLegColor">26</int>
<string name="Name">Body Colors</string>
<int name="RightArmColor">26</int>
<int name="RightLegColor">26</int>
<int name="TorsoColor">26</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
</roblox>
</syntaxhighlight>Most revivals usually refer to the API as /Asset/BodyColors.ashx, but there is evidence that suggests it may have been /Data/Get.ashx
Each value in the body colors object should be set based on the users saved colors in their respective row in the user table of your database (or however it's organized)
In PHP, it is common to do something along the lines of <?=$BodyColors->BodyPartName?> in each value (between the >< of the integer element)
How It Works
CharacterAppearance ultimately is handling a string of URLs that hold XML contents that can be inserted into the player's character.
EXAMPLE:
| Property | Value |
|---|---|
| CharacterAppearance (07-09M) | http://www.roblox.com/Asset/BodyColors.ashx?userId=3;http://www.roblox.com/asset/?id=2 |
| CharacterAppearance (09M-15) | http://www.roblox.com/Asset/CharacterFetch.ashx?userId=3 |
The contents of CharacterFetch.ashx is the same as the value of CharacterAppearance in 2007-2009 essentially
You have multiple URLs separated by semicolons (;) which defines the start of the next asset
Each URL contains an XML formatted Roblox object (can be found natively by right clicking on an object, then clicking Save To File...)
These URLs are looped through and each URL is handled to insert its contents into the player's character