OsAgentSaveAppearance
From OpenSimulator
(Difference between revisions)
m (Script change) |
(Replace script) |
||
Line 2: | Line 2: | ||
|function_syntax=key osAgentSaveAppearance(key agentId, string notecard)<br> | |function_syntax=key osAgentSaveAppearance(key agentId, string notecard)<br> | ||
key osAgentSaveAppearance(key agentId, string notecard, integer includeHuds) | key osAgentSaveAppearance(key agentId, string notecard, integer includeHuds) | ||
− | |||
|description=Save an arbitrary avatar's appearance to a notecard in the prim's inventory. This includes body part data, clothing items and attachments. If a notecard with the same name already exists then it is replaced. The avatar must be present in the region when this function is invoked. The baked textures for the avatar (necessary to recreate appearance on the NPC) are saved permanently.<br> | |description=Save an arbitrary avatar's appearance to a notecard in the prim's inventory. This includes body part data, clothing items and attachments. If a notecard with the same name already exists then it is replaced. The avatar must be present in the region when this function is invoked. The baked textures for the avatar (necessary to recreate appearance on the NPC) are saved permanently.<br> | ||
The first variant will include HUDs, the second variant allows control that. incluceHuds 1 (TRUE) will include 0(FALSE) will not | The first variant will include HUDs, the second variant allows control that. incluceHuds 1 (TRUE) will include 0(FALSE) will not | ||
Line 13: | Line 12: | ||
// | // | ||
// osAgentSaveAppearance Script Example | // osAgentSaveAppearance Script Example | ||
+ | // Author: djphil | ||
// | // | ||
− | + | ||
default | default | ||
{ | { | ||
Line 21: | Line 21: | ||
llSay(PUBLIC_CHANNEL, "Touch to see osAgentSaveAppearance usage."); | llSay(PUBLIC_CHANNEL, "Touch to see osAgentSaveAppearance usage."); | ||
} | } | ||
− | + | ||
− | touch_start(integer number) | + | touch_start(integer number) |
{ | { | ||
− | + | key toucher = llDetectedKey(0); | |
+ | |||
+ | if (llGetAgentSize(toucher) != ZERO_VECTOR) | ||
+ | { | ||
+ | string FullName = osKey2Name(toucher); | ||
+ | list buffer = llParseString2List(FullName, " ", []); | ||
+ | string FirstName = llList2String(buffer, 0); | ||
+ | string LastName = llList2String(buffer, 1); | ||
+ | string NotecardName = FirstName + " " + LastName + " " + llGetTimestamp(); | ||
+ | llSay(PUBLIC_CHANNEL, "Attempting to create an Notecard \"" + NotecardName + "\"."); | ||
+ | |||
+ | key result = osAgentSaveAppearance(toucher, NotecardName); | ||
+ | |||
+ | if (result && result != NULL_KEY) | ||
+ | { | ||
+ | llSay(PUBLIC_CHANNEL, "Notecard \"" + NotecardName + "\" created with success."); | ||
+ | } | ||
+ | |||
+ | else | ||
+ | { | ||
+ | llSay(PUBLIC_CHANNEL, "Notecard \"" + NotecardName + "\" created without success."); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | else | ||
+ | { | ||
+ | llInstantMessage(toucher, "You need to be in the same region to use this function ..."); | ||
+ | } | ||
} | } | ||
} | } | ||
</source> | </source> | ||
}} | }} |
Revision as of 15:05, 4 December 2020
key osAgentSaveAppearance(key agentId, string notecard)
key osAgentSaveAppearance(key agentId, string notecard, integer includeHuds) | |
Save an arbitrary avatar's appearance to a notecard in the prim's inventory. This includes body part data, clothing items and attachments. If a notecard with the same name already exists then it is replaced. The avatar must be present in the region when this function is invoked. The baked textures for the avatar (necessary to recreate appearance on the NPC) are saved permanently. The first variant will include HUDs, the second variant allows control that. incluceHuds 1 (TRUE) will include 0(FALSE) will not | |
Threat Level | VeryHigh |
Permissions | ESTATE_MANAGER,ESTATE_OWNER |
Extra Delay | 0 seconds |
Example(s) | |
// // osAgentSaveAppearance Script Example // Author: djphil // default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osAgentSaveAppearance usage."); } touch_start(integer number) { key toucher = llDetectedKey(0); if (llGetAgentSize(toucher) != ZERO_VECTOR) { string FullName = osKey2Name(toucher); list buffer = llParseString2List(FullName, " ", []); string FirstName = llList2String(buffer, 0); string LastName = llList2String(buffer, 1); string NotecardName = FirstName + " " + LastName + " " + llGetTimestamp(); llSay(PUBLIC_CHANNEL, "Attempting to create an Notecard \"" + NotecardName + "\"."); key result = osAgentSaveAppearance(toucher, NotecardName); if (result && result != NULL_KEY) { llSay(PUBLIC_CHANNEL, "Notecard \"" + NotecardName + "\" created with success."); } else { llSay(PUBLIC_CHANNEL, "Notecard \"" + NotecardName + "\" created without success."); } } else { llInstantMessage(toucher, "You need to be in the same region to use this function ..."); } } } | |
Notes | |
This function was added in 0.7.2-post-fixes, huds control added in 0.9.2 |