NPC Sit
De DigiWiki.
(Différences entre les versions)
(Page créée avec « key gNpc = NULL_KEY; callNpc() { // Replace "" with first and last name gNpc = osNpcCreate("", "", llGetPos(), "appearance"); llSleep(1.0); osNpcSit(gNpc, ll… ») |
|||
Ligne 1 : | Ligne 1 : | ||
+ | <lsl> | ||
key gNpc = NULL_KEY; | key gNpc = NULL_KEY; | ||
Ligne 73 : | Ligne 74 : | ||
} | } | ||
} | } | ||
+ | </lsl> |
Version actuelle en date du 17 septembre 2012 à 20:04
key gNpc = NULL_KEY; callNpc() { // Replace "" with first and last name gNpc = osNpcCreate("", "", llGetPos(), "appearance"); llSleep(1.0); osNpcSit(gNpc, llGetKey(), 0); } dismissNpc() { osNpcStand(gNpc); osNpcRemove(gNpc); gNpc = NULL_KEY; } default { on_rez(integer rezed) { do { llSay(0, "Resetting..."); llResetScript(); } while (TRUE); } changed(integer change) { if ( change & (CHANGED_REGION_RESTART | CHANGED_REGION_START)) do { llOwnerSay("Reseting..."); llResetScript(); } while (TRUE); } state_entry() { if (llGetInventoryType("appearance") == INVENTORY_NOTECARD) state running; else llOwnerSay("Click to make appearance."); } touch_end(integer touched) { if (llGetOwner() == llDetectedKey(0)) { if (llGetLinkNumber() == llDetectedLinkNumber(0)) { osOwnerSaveAppearance("appearance"); state running; } } } } state running { on_rez(integer rezed) { do { llSay(0, "Resetting..."); llResetScript(); } while (TRUE); } changed(integer change) { if ( change & (CHANGED_REGION_RESTART | CHANGED_REGION_START)) do { llOwnerSay("Reseting..."); llResetScript(); } while (TRUE); } state_entry() { callNpc(); } touch_end(integer touched) { if (llGetOwner() == llDetectedKey(0)) { if (llGetLinkNumber() == llDetectedLinkNumber(0)) { if (gNpc == NULL_KEY) callNpc(); else dismissNpc(); } } } }