Things you can't do in LSL
|
Yumi Murakami
DoIt!AttachTheEarOfACat!
Join date: 27 Sep 2005
Posts: 6,860
|
10-04-2007 10:04
UNAVAILABLE FUNCTIONALITY
You cannot..
- Run a script in anything other than a prim object (such as a piece of non-prim clothing). Notecards can contain scripts, but not run them; everything else cannot contain scripts. - Prevent an object in world from being taken and/or deleted. - Run a script on an item that is not rezzed in the world. - Alter any avatar's inventory in any way, other than giving them objects. - Alter any avatar's shape parameters or clothing in any way. (Some custom clients allow this.) - Have a script transfer ownership of the object that that script is in. - Remote load a script into an object owned by someone else. - Find out how much money an avatar has. - Take money from an avatar other than the owner, except by them click-paying the object. - Take any money from the owner, without requiring the owner to give your object permission to potentially take _all_ their money. - Create a new notecard from scratch, or change or append to the contents of a notecard (except by communication with a bot). - Invite people into groups (except by communication with a bot). - Attach an object to an avatar other than its owner. - Display a dialog to which the user is forced to respond. - Find out that the user pressed Ignore on a dialog box. - Get, or set, attachment positions or rotations relative to the sim. (This may be possible only if you lock the avatar into a particular animation for which you know the attachment offsets, then set the attachment locations based on the avatar's position in the sim. But as soon as any of the armature limbs move, your object will move with them) - Detect collisions between attachments and items in the sim. (But if you scripted the items you want to detect collisions between, you might be able to calculate them manually based on the avatar's bounding box.) - Change the permissions of an object - either the scripted object, or others in its inventory. - Recieve IMs, or send them to other objects. - "Touch" other objects. (But if you scripted the other object, you can have your object send a message telling the other object to behave as if it had been touched.) - Recieve HTTP requests. - Dispatch XMLRPC calls. - Store an unlimited amount of anything. (Each script has only 16k of memory, or 64k under Mono. You can store more substantial amounts of data via HTTP requests, but there is always some limit.) - Rotate an avatar, unless they're sitting on an object. - Prevent the scripts from being removed from an object (even a no-modify object!) - Get or set the "buy" price or status of an object. (An LSL function for this, llForSale, has been specified but not implemented.) - "Take" an object from the world. - Return another object. (It may be possible for an object to force _itself_ to be returned.) - Confirm that a transaction requested via llGiveMoney actually happened (except by communication with a bot). - Send a message that looks exactly like an avatar's chat. (Script chat is always a different colour.) - Get the resolution or aspect ratio of the user's display. (So be careful when making HUDs.)
UNSTABLE FUNCTIONALITY
You can't, RELIABLY:
- Prevent an attachment being removed. (The RestrainedLife client allows scripts to block attachments from being removed, but the user can choose not to use this client.) - Find out the name of a group, or the contents of a user's profile. (This can be found by using HTTP requests into the world server which is intended for search by the GSA, but this is not sanctioned by LL and contravenes the specification of llHTTPRequest, so may disappear.)
|
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
|
10-04-2007 10:10
- Create notecards or write to existing notecards - Invite people into groups - Find the name of the group that an avatar is currently in (I think) - Find out if an avatar is in a group that they don't currently have active
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!! - Go here: http://jira.secondlife.com/browse/SVC-1224- If you see "if you were logged in.." on the left, click it and log in - Click the "Vote for it" link on the left
|
Django Yifu
Beat Island Gaffer
Join date: 7 May 2007
Posts: 189
|
10-04-2007 10:39
- write to a notecrad
_____________________
Tread softly upon the Earth for you walk on my face.
|
RJ Source
Green Sky Labs
Join date: 10 Jan 2007
Posts: 272
|
10-04-2007 11:00
- Have an object attach itself to someone who is not its owner (even if they give permission) - Be able to tell when the user presses the IGNORE button on a dialog pop-up
|
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
|
10-04-2007 12:10
From: Meade Paravane - Find the name of the group that an avatar is currently in (I think) it can find the key and see if it matches... so it shoudl know *1* name (hardcoded as the one you set) but llKey2Name Doesn't work for group keys last I knew, so yeah "mostly" (you can use http functions on search to get the name from the key, IF you can get the key.... it's only exposed in certain circumstances) - make Avatars Phantom (alas poor llVolumeDetect hack, I knew thee) - get/set attachment rotations relative to sim (and will NEVER happen) - get/set sitting avatar positions as child prims ( Works Again) - set permissions
|
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
|
Put this into the LSL Portal
10-04-2007 12:20
You all might consider putting this into the LSL Portal rather than here, that way it would be much easier to reference and update. http://wiki.secondlife.com/wiki/LSL_Portal
|
Darien Caldwell
Registered User
Join date: 12 Oct 2006
Posts: 3,127
|
10-04-2007 12:53
nevermind 
|
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
|
10-04-2007 13:31
*stickies*
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river. - Cyril Connolly
Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence. - James Nachtwey
|
Flennan Roffo
Scripter
Join date: 29 Sep 2007
Posts: 26
|
10-04-2007 18:16
From: Yumi Murakami - Find out how much money an avatar has.
Despite this true claim I do have a script that can access differential information on a balance account of some other avatar.
_____________________
Logic Scripted Products and Script Services Peacock Park (187,228,69)
*** Get your free copy of SL Mail today! ***
|
Ilobmirt Tenk
Registered User
Join date: 4 Jun 2007
Posts: 135
|
10-04-2007 18:35
Become instantly rich, famous, and/or get hot babes ^_-
On a more serious note, to my knowledge, lsl cannot buy/sell your linden $ on the market.
|
Chavo Raven
Registered User
Join date: 19 Dec 2004
Posts: 32
|
10-05-2007 14:19
- Send IMs to other objects (only to avatars) or receive IMs (only slow e-mail) - Store data persitently from a script anywhere except in object name/desc - Create/Use objects - Receive incoming http requests or initiate outgoing XML-RPC connections (and incoming XML-RPC often fails without notification to the sender) - Do an actual teleport (though this was in the docs for future implementation llTeleport(string sim_name, vector location); ) - Use lists like arrays (there is a size limit) - Use a switch/case statement (and if/else if chains are limited to 24 or so) - Use callback methods - Create your own events
And several more items that programmers from outside SL are sure to be missing, like classes and such.
There are strict (and low) memory constraints as well.
|
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
|
10-05-2007 19:52
Rename an object's name or description if it is in inventory or in another object. You can only do it if it is rezzed. Same goes for turning off and on a script if it is in the inventory of an object inside an object. And a script can not write notecards, bears mentioning again and again and again 
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime. From: someone I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
|
Osgeld Barmy
Registered User
Join date: 22 Mar 2005
Posts: 3,336
|
10-05-2007 20:25
write to notecards
write objects description
instant message objects
|
Seifert Surface
Mathematician
Join date: 14 Jun 2005
Posts: 912
|
10-05-2007 21:43
- Alter the rotation of a non-sitting avatar - Get the in world coordinates of an attachment - Alter the permissions on any object
_____________________
-Seifert Surface 2G!tGLf 2nLt9cG
|
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
|
10-06-2007 09:55
From: Yumi Murakami You can't:
- Have a scripted object send a message to another scripted object that cannot possibly be intercepted. Object->object llEmail can't be intercepted via any scripted means.
|
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
10-06-2007 10:15
From: Talarus Luan Object->object llEmail can't be intercepted via any scripted means. Right, neither can a message routed via llHTTPRequest to an outside source which proxies it to another object via XMLRPC. I think this item should be removed from the list.
|
Roy Flanagan
Registered User
Join date: 10 Feb 2007
Posts: 8
|
10-10-2007 08:43
From: Talarus Luan Object->object llEmail can't be intercepted via any scripted means. Technically it is but it'd require breaking in to the SL mailservers and finding the account of the object (In this case it's key) Anyway erhm on topic: - Create the ultimate cyberbabe? - Execute code said in the chat (This list was for beginners right? As with a whole lot of scripting and string stripping it would be possible to execute LSL functions or even some custom functions if you want to go really deep) 
|
Kidd Krasner
Registered User
Join date: 1 Jan 2007
Posts: 1,938
|
10-18-2007 15:55
From: Osgeld Barmy write objects description
See llSetObjectDesc ( http://wiki.secondlife.com/wiki/LlSetObjectDesc) From: Seifert Surface - Alter the permissions on any object
See llSetInventoryPermMask ( http://wiki.secondlife.com/wiki/LlSetInventoryPermMask)
|
CyanAura Femto
Registered User
Join date: 1 Feb 2004
Posts: 14
|
10-18-2007 16:10
Can a script tell that the object in which it resides is being "taken" into a user's inventory - so that the script can make preparations for storage?
|
Jillian Callahan
Rotary-winged Neko Girl
Join date: 24 Jun 2004
Posts: 3,766
|
10-18-2007 18:32
|
Teravus Ousley
---=//^Ö¿Ö^\\=---
Join date: 11 May 2006
Posts: 17
|
10-18-2007 23:02
From: CyanAura Femto Can a script tell that the object in which it resides is being "taken" into a user's inventory - so that the script can make preparations for storage? It can tell a new owner on rez, or on detach, or by timer.. assuming that you've got a function that stores the current owner in a variable and compares the result of llGetOwner() with the stored variable.
_____________________
Our portals are gaurenteed to bring you fresh breath, great teeth and full head of hair, what more could you want?
|
Nyoko Salome
kittytailmeowmeow
Join date: 18 Jul 2005
Posts: 1,378
|
10-19-2007 00:25
From: Teravus Ousley It can tell a new owner on rez, or on detach, or by timer.. assuming that you've got a function that stores the current owner in a variable and compares the result of llGetOwner() with the stored variable. Library: Product Packaging Receipt System/54/4f/214183/1.html
_____________________
 Nyoko's Bodyoils @ Nyoko's Wears http://slurl.com/secondlife/Centaur/126/251/734/ http://home.comcast.net/~nyoko.salome2/nyokosWears/index.html "i don't spend nearly enough time on the holodeck. i should go there more often and relax." - deanna troi
|
Kidd Krasner
Registered User
Join date: 1 Jan 2007
Posts: 1,938
|
10-20-2007 16:07
From: Jillian Callahan Only works for Lindens. oops, yeah.
|
ArchTx Edo
Mystic/Artist/Architect
Join date: 13 Feb 2005
Posts: 1,993
|
10-22-2007 12:13
From: Yumi Murakami You can't:
- Alter any avatar's appearance or clothing in any way.
I assumed the "Deformers" and "UnDeform buttons" described here used a script to deform the avatar, is that not correct? Deformers
_____________________
 VRchitecture Model Homes at http://slurl.com/secondlife/Shona/60/220/30 http://www.slexchange.com/modules.php?name=Marketplace&MerchantID=2240 http://shop.onrez.com/Archtx_Edo
|
Jillian Callahan
Rotary-winged Neko Girl
Join date: 24 Jun 2004
Posts: 3,766
|
10-22-2007 16:52
From: ArchTx Edo I assumed the "Deformers" and "UnDeform buttons" described here used a script to deform the avatar, is that not correct? Deformers Those are just animations. They dont' cahnge the appearance of the av, per se, just the relationships between the av's "bones", like any animation does.
|