OsNpcLoadAppearance
From OpenSimulator
(Difference between revisions)
(Remove wrong script) |
(Add new exemple) |
||
| Line 7: | Line 7: | ||
|delay=0 | |delay=0 | ||
|ossl_example=<source lang="lsl"> | |ossl_example=<source lang="lsl"> | ||
| + | // | ||
| + | // osNpcLoadAppearance Script Exemple | ||
| + | // Authior: djphil | ||
| + | // | ||
| + | |||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llSay(PUBLIC_CHANNEL, "Collide a NPC with this primitive to see osNpcLoadAppearance usage."); | ||
| + | llSay(PUBLIC_CHANNEL, "This will load the appearance of the npc only if the appearance notecard has the same name as the npc."); | ||
| + | } | ||
| + | |||
| + | collision_start(integer number) | ||
| + | { | ||
| + | key collider = llDetectedKey(0); | ||
| + | |||
| + | if (osIsNpc(collider)) | ||
| + | { | ||
| + | if (llGetInventoryType(llKey2Name(collider)) == INVENTORY_NOTECARD) | ||
| + | { | ||
| + | osNpcLoadAppearance(collider, llDetectedName(0)); | ||
| + | osNpcSay(collider, "Wow cool, i have a new appearance now!"); | ||
| + | } | ||
| + | |||
| + | else | ||
| + | { | ||
| + | osNpcSay(collider, "Hmmm, no appearance for me in this primitive ..."); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | else | ||
| + | { | ||
| + | llSay(PUBLIC_CHANNEL, "Only NPC's can collide with me and load a new appearance ..."); | ||
| + | } | ||
| + | } | ||
| + | } | ||
</source> | </source> | ||
|additional_info=This function was added in 0.7.2-post-fixes | |additional_info=This function was added in 0.7.2-post-fixes | ||
| − | '''An important hint:''' | + | '''An important hint:''' This function works only for the npc owner.<br> |
| − | This function works only for the npc owner. | + | |
| − | + | ||
You must create the npc with [[OsNpcCreate]] and the option OS_NPC_NOT_OWNED to allow all others to change the appearance. | You must create the npc with [[OsNpcCreate]] and the option OS_NPC_NOT_OWNED to allow all others to change the appearance. | ||
}} | }} | ||
Revision as of 12:26, 4 December 2020
osNpcLoadAppearance(key npc, string notecard)
| |
| Load appearance from a notecard. This notecard must contain appearance data created with one of the save appearance functions. | |
| Threat Level | High |
| Permissions | ${OSSL|osslNPC} |
| Extra Delay | 0 seconds |
| Example(s) | |
// // osNpcLoadAppearance Script Exemple // Authior: djphil // default { state_entry() { llSay(PUBLIC_CHANNEL, "Collide a NPC with this primitive to see osNpcLoadAppearance usage."); llSay(PUBLIC_CHANNEL, "This will load the appearance of the npc only if the appearance notecard has the same name as the npc."); } collision_start(integer number) { key collider = llDetectedKey(0); if (osIsNpc(collider)) { if (llGetInventoryType(llKey2Name(collider)) == INVENTORY_NOTECARD) { osNpcLoadAppearance(collider, llDetectedName(0)); osNpcSay(collider, "Wow cool, i have a new appearance now!"); } else { osNpcSay(collider, "Hmmm, no appearance for me in this primitive ..."); } } else { llSay(PUBLIC_CHANNEL, "Only NPC's can collide with me and load a new appearance ..."); } } } | |
| Notes | |
| This function was added in 0.7.2-post-fixes
An important hint: This function works only for the npc owner. | |