List,
I found a post and a response to the post from Justin that suggests the several
OSSL functions on “attachments” will work for NPC’s.
http://opensim-users.2152040.n2.nabble.com/Dynamically-attaching-objects-to-NPCs-td7579601.html
I have tried several variations to using these OSSL functions and they all work
fine to put an attachment on an avatar.
I have not been successful at putting an attachment on an NPC.
I chose to test with the osForceAttachToOtherAvatarFromInventory function.
I tested with both “owned” and “un-owned” NPC’s.
Here is an edited email I sent to Justin who asked I ask this question here on
the list.
> I read in a post you made sometime ago where you implied you could use the
> OSSL function osForceAttachToAvatarFromInventory and
> the other OSSL commands as well.
> The original post suggested a way to attach using an lsl function which I
> have not yet tried. Your suggestion was to use the OSSL functions.
> I have tried doing the following:
> create a box and place the script below in it.
> create another box named “testbox”, and put it in the first box along with
> the script.
> I have then tried using “box 1” in these ways.
> - place it on the ground and touch it
> - wear it and touch it
> - wear it and clone myself, and then touch it on my cloned NPC.
> None of these will attach the “testbox” to the NPC.
> They all attach it to my real avatar.
> Did attaching an object to an NPC work in the past? Is it broken in the
> release OSGrid put out Aug. 16, 2014?
> Tom Ringate
> Here is the script:
> //XEngine:lsl
> string name = "NPC Mate test box ";
> string version = "V2.2";
> list avatars = [];
> key victim = "aaefe00e-724a-4346-83df-92fa615b009f";
> /* NPC Genie - id - V2.2
> * Licensed under the GPLv2, with the additional requirement that these
> scripts remain "full perms".
> *
> */
> /*** FUNCTIONS ***/
> /*** CODE ***/
> default
> {
> state_entry()
> {
> if(!llGetAttached()) llSetObjectName(name + version);
> else llSetObjectName(llKey2Name(llGetOwner()));
> }
> touch_start(integer iNum)
> {
> llSay(0,"You touched me.");
> avatars = osGetAvatarList(); // get list of avatars on region
> llSay(0, "Avatars in this sim (without the owner): " +
> llList2CSV(avatars));
> victim = llList2Key(avatars,0);
> if(osIsNpc(victim) == TRUE)
> {
> llSay(0, "Victim is Genie: " + victim);
> osForceAttachToOtherAvatarFromInventory(victim, "testbox", ATTACH_PELVIS);
> }
> else
> {
> victim = llGetOwner();
> llSay(0, "Victim is Avatar: " + victim);
> osForceAttachToAvatarFromInventory("testbox", ATTACH_PELVIS);
> }
> // llSleep(5);
> // osForceDropAttachment();
> }
> on_rez(integer iParam)
> {
> llResetScript();
> }
> }
_______________________________________________
Opensim-users mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users