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();
            }
        }
    }
}
Outils personnels
  • Cette page a été consultée 811 fois.
donate
Google Ads