Difference between revisions of "MLPV2 Give Item Add-on"

From Second Life Wiki
Jump to navigation Jump to search
Line 9: Line 9:
4) Add to the menu in an MLPV2 menu notecard the following line:<br />
4) Add to the menu in an MLPV2 menu notecard the following line:<br />


LINKMSG MyButtonName | 1,LINK_ALL,987789,NameOfObjectToOffer##MsgToPerson<br />
LINKMSG MyButtonName | 1,-4,987789,NameOfObjectToOffer##MsgToPerson<br />


In the above line, there are three elements for you to customize as appropriate:<br />
In the above line, there are three elements for you to customize as appropriate:MyButtonName -- the wording that you want to appear for the button on the blue menu<br />
MyButtonName -- the wording that you want to appear for the button on the blue menu<br />
NameOfObjectToOffer -- the name of the object you are offering<br />
NameOfObjectToOffer -- the name of the object you are offering<br />
MsgToPerson -- A message to be instant messaged to the person being offered the item, so they know what it is for, and don't think it's a random spammer or griefer passing by, etc.<br />
MsgToPerson -- A message to be instant messaged to the person being offered the item, so they know what it is for, and don't think it's a random spammer or griefer passing by, etc.<br />
Line 18: Line 17:
Note that NameOfObjectToOffer and MsgToPerson are separated by a ## separator.
Note that NameOfObjectToOffer and MsgToPerson are separated by a ## separator.


What you don't need to change in the above sample line:<br />
What you don't need to change in the above sample line:
1 -- means whether to make the MLPV2 menu go away or not -- generally set it to 1 as per the example, as otherwise the user might not see the accept prompt for the inventory being given<br />
* 1 -- makes it so the MLPV2 menu doesn't reappear, so the user can see the accept-object menu
LINK_ALL -- no real reason generally to ever change this, though you may as you wish<br />
* -1 -- the value of LINK_THIS, meaning, send this message to this prim only.  (Use -4 if the ~give script is in a different prim.)
987789 -- don't change this, this is the communication channel<br />
* 987789 -- This is the number the ~give script looks for to detect a message to it.


_______________________________________________________<br />
_______________________________________________________<br />
Line 29: Line 28:
  //Function: gives object to someone on an MLPV2 ball<br />
  //Function: gives object to someone on an MLPV2 ball<br />
  //in a menu card, format a menu button like this, for example:<br />
  //in a menu card, format a menu button like this, for example:<br />
  //LINKMSG Give Book | 1,LINK_ALL,987789,little book(wear)##Wear This<br />
  //LINKMSG Give Book | 1,-4,987789,little book(wear)##Wear This<br />
  //In this example, Give Book is the button name<br />
  //In this example, Give Book is the button name<br />
  //1 means whether to make the MLPV2 menu go away or not.<br />
  //1 means whether to make the MLPV2 menu go away or not.<br />
  //Generally set it to 1 as per the example, as otherwise the user<br />
  //Generally set it to 1 as per the example, as otherwise the user<br />
  //might not see the accept prompt for the inventory being given<br />
  //might not see the accept prompt for the inventory being given<br />
  //LINK_ALL -- no real reason to ever change this<br />
  //-4 -- the value of LINK_THIS, meaning, send this message to this prim only.  (Use -4 if the ~give script is in a different prim.)
  //987789 -- don't change this, this is the communication channel<br />
  //987789 -- don't change this, this is the communication channel<br />
  //little book(wear)##Wear This -- this is the item to give,<br />
  //little book(wear)##Wear This -- this is the item to give,<br />
Line 61: Line 60:
             }
             }
         } //end of if check for the right channel
         } //end of if check for the right channel
     }//end link_message event
     } //end link_message event
  } //end default state
  } //end default state

Revision as of 14:46, 13 July 2008

Add on tool for MLPV2 that puts a button on the MLPV2 menu that, when clicked, gives a user an object that you wish them to use with an animation.

By Chaz Longstaff, June 2008.

Steps to use:
1) Copy and paste everything below the double-line into a script called, for the sake of argument, "~give" (the script name is actually irrelevant; you may call it kumquat if you wish;)
2) Drop the script into the prim where you have the rest of the MLPV2 scripts;
3) Add the object that you wish to give out. Usually, it is either a prim object, or clothing. Note that this object to be given out needs to have both copy and transfer permissions set on it;
4) Add to the menu in an MLPV2 menu notecard the following line:

LINKMSG MyButtonName | 1,-4,987789,NameOfObjectToOffer##MsgToPerson

In the above line, there are three elements for you to customize as appropriate:MyButtonName -- the wording that you want to appear for the button on the blue menu
NameOfObjectToOffer -- the name of the object you are offering
MsgToPerson -- A message to be instant messaged to the person being offered the item, so they know what it is for, and don't think it's a random spammer or griefer passing by, etc.

Note that NameOfObjectToOffer and MsgToPerson are separated by a ## separator.

What you don't need to change in the above sample line:

  • 1 -- makes it so the MLPV2 menu doesn't reappear, so the user can see the accept-object menu
  • -1 -- the value of LINK_THIS, meaning, send this message to this prim only. (Use -4 if the ~give script is in a different prim.)
  • 987789 -- This is the number the ~give script looks for to detect a message to it.

_______________________________________________________
_______________________________________________________

//add-on by Chaz Longstff for MLPV2 by Lear Cale. June 2008.
//Function: gives object to someone on an MLPV2 ball
//in a menu card, format a menu button like this, for example:
//LINKMSG Give Book | 1,-4,987789,little book(wear)##Wear This
//In this example, Give Book is the button name
//1 means whether to make the MLPV2 menu go away or not.
//Generally set it to 1 as per the example, as otherwise the user
//might not see the accept prompt for the inventory being given
//-4 -- the value of LINK_THIS, meaning, send this message to this prim only. (Use -4 if the ~give script is in a different prim.) //987789 -- don't change this, this is the communication channel
//little book(wear)##Wear This -- this is the item to give,
//followed by a message to be instant messaged to the recipient
//of the object. It's good to include a msg, so that they don't just think
//it's a griefer trying to hand them something. Notice that the object to give,
//and the accompanying msg, are separated by ##
//parameters string ObjectToGive; string message; //_________________________ default{ link_message(integer from, integer num, string str, key id) { if (num == 987789) { list TempList = llParseStringKeepNulls(str,["##"],[]); ObjectToGive = llStringTrim(llList2String(TempList, 0),STRING_TRIM); message = llStringTrim(llList2String(TempList, 1),STRING_TRIM); if ( ( llGetInventoryType(ObjectToGive) != INVENTORY_NONE) && ( llGetInventoryPermMask(ObjectToGive, MASK_NEXT) & PERM_COPY) && ( llGetInventoryPermMask(ObjectToGive, MASK_NEXT) & PERM_COPY) ) { if (message != "") { llInstantMessage(id,message + " " + ObjectToGive); } llGiveInventory(id,ObjectToGive); } } //end of if check for the right channel } //end link_message event } //end default state