SetPlayerIdentity: Difference between revisions
Document skin color and tattoos available from 0.1.3; identity/armor improvements |
Document corrected female identities from upcoming 0.1.9; clarify outfits, armor and neutral expression |
||
| Line 5: | Line 5: | ||
</div> | </div> | ||
Selects a named | Selects a named identity while preserving equipped armor and independent cosmetic overrides. See [[Female identities]] for the expanded female body/outfit presentation from upcoming 0.1.9. | ||
== Syntax == | == Syntax == | ||
| Line 35: | Line 35: | ||
* Available only in server-side resource scripts. | * Available only in server-side resource scripts. | ||
* This existing API has improved behavior in 0.1.3; it was not introduced in that release. Use a key from <code>getPlayerIdentityNames</code>, including <code>default</code> to select the default identity. | * This existing API has improved behavior in 0.1.3; it was not introduced in that release. Use a key from <code>getPlayerIdentityNames</code>, including <code>default</code> to select the default identity. | ||
* | * In public 0.1.8, the client applies a head-only identity layer with supported face/hair/beard geometry. From upcoming 0.1.9, the five [[Female identities|supported female identities]] also display their full authored outfit when no armor is equipped and body/head selections match. With armor equipped, the corrected female head is shown with the native armor. This is not a general body-shape or arbitrary model replacement API. | ||
* The identity layers are committed together in server state. Native asset loading and visual reconstruction are asynchronous, so a successful call does not promise an immediately complete image on every client. | * The identity layers are committed together in server state. Native asset loading and visual reconstruction are asynchronous, so a successful call does not promise an immediately complete image on every client. | ||
* Equipped armor remains controlled independently by <code>setPlayerArmor</code>. This call does not equip or remove items, change HP/progression, or reset <code>setPlayerSkinColor</code>/<code>setPlayerTattoo</code> overrides. | * Equipped armor remains controlled independently by <code>setPlayerArmor</code>. This call does not equip or remove items, change HP/progression, or reset <code>setPlayerSkinColor</code>/<code>setPlayerTattoo</code> overrides. | ||
* Test the identities, armor, exposed skin, materials and LODs used by your resource on local and remote clients; not every authored combination or material permutation is guaranteed to render identically. | * Test the identities, armor, exposed skin, materials and LODs used by your resource on local and remote clients; not every authored combination or material permutation is guaranteed to render identically. | ||
* Reliable server-owned state is replayed on relevance entry and late join. Resources must perform their own authorization before exposing this setter to player requests. | * Reliable server-owned state is replayed on relevance entry and late join. Resources must perform their own authorization before exposing this setter to player requests. | ||
* Accepted changes emit existing compatibility events for the layers that changed: <code>onPlayerFaceChange</code> and <code>onPlayerBodyChange</code> for the legacy face/body state, and <code>onPlayerHeadChange</code> for the head state. | * Accepted changes emit existing compatibility events for the layers that changed: <code>onPlayerFaceChange</code> and <code>onPlayerBodyChange</code> for the legacy face/body state, and <code>onPlayerHeadChange</code> for the head state. These are state-change events, not notifications that visual reconstruction has finished; the female outfit presentation from 0.1.9 does not add a new event. | ||
* See [[Player customization]], [[Player identity catalog]] and [[Player tattoo catalog]] for the independent appearance layers and supported catalogs. | * See [[Player customization]], [[Player identity catalog]] and [[Player tattoo catalog]] for the independent appearance layers and supported catalogs. | ||
| Line 47: | Line 47: | ||
[[Category:Player Functions]] | [[Category:Player Functions]] | ||
[[Category:Appearance Functions]] | [[Category:Appearance Functions]] | ||
<!-- female019:start --> | |||
== Female presentation improved from 0.1.9 == | |||
'''Improved from 0.1.9 (upcoming; not yet publicly released).''' This improvement is not included in public 0.1.8. | |||
<code>setPlayerIdentity(playerId, "syra")</code> selects the matched identity; the same applies to <code>velaya</code>, <code>seraphia</code>, <code>chani</code> and <code>natalia</code>. Identity selection remains an existing API. See [[Female identities]] for full-outfit/armor behavior, neutral facial expression and supported customization. The call does not remove armor, change protection or clear tint/tattoos. | |||
<!-- female019:end --> | |||
Revision as of 22:47, 18 October 2026
setPlayerIdentity
Selects a named identity while preserving equipped armor and independent cosmetic overrides. See Female identities for the expanded female body/outfit presentation from upcoming 0.1.9.
Syntax
bool setPlayerIdentity(int playerId, string identityKey)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
playerId |
int |
yes | The connected player identifier. |
identityKey |
string |
yes | A stable key returned by getPlayerIdentityNames.
|
Returns
Returns true when the server accepts the validated identity state; returns false for an unavailable player, invalid key or rejected change. Success is not confirmation that every client has finished rendering it.
Examples
Select Milten's head/face without equipping armor or changing the body:
if not setPlayerIdentity(playerId, "milten") then
outputChatBox("The identity could not be applied.", playerId)
end
Notes
- Available only in server-side resource scripts.
- This existing API has improved behavior in 0.1.3; it was not introduced in that release. Use a key from
getPlayerIdentityNames, includingdefaultto select the default identity. - In public 0.1.8, the client applies a head-only identity layer with supported face/hair/beard geometry. From upcoming 0.1.9, the five supported female identities also display their full authored outfit when no armor is equipped and body/head selections match. With armor equipped, the corrected female head is shown with the native armor. This is not a general body-shape or arbitrary model replacement API.
- The identity layers are committed together in server state. Native asset loading and visual reconstruction are asynchronous, so a successful call does not promise an immediately complete image on every client.
- Equipped armor remains controlled independently by
setPlayerArmor. This call does not equip or remove items, change HP/progression, or resetsetPlayerSkinColor/setPlayerTattoooverrides. - Test the identities, armor, exposed skin, materials and LODs used by your resource on local and remote clients; not every authored combination or material permutation is guaranteed to render identically.
- Reliable server-owned state is replayed on relevance entry and late join. Resources must perform their own authorization before exposing this setter to player requests.
- Accepted changes emit existing compatibility events for the layers that changed:
onPlayerFaceChangeandonPlayerBodyChangefor the legacy face/body state, andonPlayerHeadChangefor the head state. These are state-change events, not notifications that visual reconstruction has finished; the female outfit presentation from 0.1.9 does not add a new event. - See Player customization, Player identity catalog and Player tattoo catalog for the independent appearance layers and supported catalogs.
Female presentation improved from 0.1.9
Improved from 0.1.9 (upcoming; not yet publicly released). This improvement is not included in public 0.1.8.
setPlayerIdentity(playerId, "syra") selects the matched identity; the same applies to velaya, seraphia, chani and natalia. Identity selection remains an existing API. See Female identities for full-outfit/armor behavior, neutral facial expression and supported customization. The call does not remove armor, change protection or clear tint/tattoos.