These would be functions which would work on "worn" objects, i.e. items not in inventory. By using these functions plus animations/gestures, it would be possible to actually hand something to someone (or even throw it to them, I suppose). It would work like this: Allison Avatar wants to give a glass of wine which she is holding to Bob Bitmap. She clicks the pie menu on the wine glass and selects "give," then clicks on Bob. Bob gets a popup saying "Allison Avatar has offered you a 'glass of wine.' Accept? Yes/No". If Bob clicks Yes, at minimum the glass disappears from Allison's hand and is worn by Bob. With appropriate animation settings, Bob's hand moves to the location of the glass and then the transfer occurs. (Possibly the glass could float between their hands if Bob is not standing next to Allison and can't move directly there automatically due to obstacles.)
Conversely, suppose one wanted to create a FRP game in which thieves exist. Different parameters on the llOfferObject function could change properties of the object so that it can be taken with llTakeObject. llOfferObject could have a "silent" mode in which Allison's glass of wine doesn't announce itself to Bob, but Bob can use a scripted gesture to try to take it, and if it has been set to allow llOfferObject (or perhaps this is a permission), it can be taken. Scripted functions could be created to slightly randomize this behavior or allow some skill function to come into effect. Another option could dictate whether Allison will see a popup message when Bob successfully takes the glass away from her, or for that matter, if he tries and fails.
Comments? I think it would be best to kick this idea around a bit before launching a voting proposal.
neko