Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

New LSL Commands in 1.13.4

bucky Barkley
Registered User
Join date: 15 May 2006
Posts: 200
03-08-2007 09:48
I'll just echo the sentiment of some of the recent posts - it is a wishlist item.
It could also increase performance - which does seem counterintuitve!

Just to restate:

1) it's not an additional 1.2 gb of memory from what we have now

2) if you are running far fewer scripts, because you dont need to split up amongst multiple 16k segments, that's a win.. overall script memory footprint on a Sim could actually go down...

3) less context switching (fewer processes that do more)

Another way to think about this is: what would happen to Sim performance if
we suddenly had an 8k limit? ;-)
_____________________
Bucky Barkley -- Mammal, Scripter, Builder, Lover
Emma Nowhere
Registered User
Join date: 15 Aug 2006
Posts: 29
03-08-2007 17:38
From: Haravikk Mistral
llGetLinkPrimitiveParams(list links, list params)


Yes! Need "get" counterparts to these new functions! Please, please, please!
Goapinoa Primeau
Addict
Join date: 29 Jun 2006
Posts: 58
agreed
03-11-2007 17:52
From: Emma Nowhere
Yes! Need "get" counterparts to these new functions! Please, please, please!


Ill second that - or whatever number its up too now.

Would be really handy to have these counterparts.
Seifert Surface
Mathematician
Join date: 14 Jun 2005
Posts: 912
03-11-2007 18:24
From: Goapinoa Primeau
Would be really handy to have these counterparts.
What do people use llGetPrimitiveParams for? I've never found an occasion to use it, since I know what the parameters on the prims are supposed to be already. Unless you're editing the prim and then figuring out what happened in a script somehow?
_____________________
-Seifert Surface
2G!tGLf 2nLt9cG
Joannah Cramer
Registered User
Join date: 12 Apr 2006
Posts: 1,539
03-11-2007 18:52
From: Seifert Surface
What do people use llGetPrimitiveParams for? I've never found an occasion to use it, since I know what the parameters on the prims are supposed to be already. Unless you're editing the prim and then figuring out what happened in a script somehow?

Can't remember off the bat, but i think used it for things like adjustment of certain flexi attributes and such... it's easier to read the relevant set, modify some variable(s) in it and apply the whole thing back, than cache everything that you may ever want to tweak "just in case" ^^;
nand Nerd
Flexi Fanatic
Join date: 4 Oct 2005
Posts: 427
03-12-2007 03:52
In my initial tests PRIM_FLEXIBLE did not effect the child/other prims when calling llSetLinkPrimitiveParams with LINK_ALL_OTHERS or LINK_SET etc. I could simultaneously change the colour of all the other prims so it seems theres an implementation error with llSetLinkPrimitiveParams and PRIM_FLEXIBLE (or just hasn't been implemented yet).
_____________________
www.nandnerd.info
http://ordinalmalaprop.com/forum - Ordinal Malaprop's Scripting Forum
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
03-12-2007 09:18
From: Seifert Surface
What do people use llGetPrimitiveParams for? I've never found an occasion to use it, since I know what the parameters on the prims are supposed to be already. Unless you're editing the prim and then figuring out what happened in a script somehow?


I have a project I'm working on right now that's going to take advantage of these two new llSetLink* functions. There's one aspect of the proejct that would really benefit from llGetLink*... if I don't have it, I'm going to have to store the position of each prim as I set it, which is a pain. That's just on the offchance that a certain set of circumstances comes about that requires each child prim's position... so it's a pain to have to store all those positions and keep them updated just on that offchance. It would be REALLY neat if I could just do llGetLinkPrimitiveParams(LINK_SET, PRIM_POSITION).
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
03-12-2007 10:30
From: Seifert Surface
What do people use llGetPrimitiveParams for? I've never found an occasion to use it, since I know what the parameters on the prims are supposed to be already. Unless you're editing the prim and then figuring out what happened in a script somehow?
Precisely. For example, a door prim that you want to iris in and out between two hollow settings, but you don't know what the hollows you want are until you set it in place. It's much more convenient to just set the two limits and have the script read it than to modify the script (or add a notecard reader and modify a notecard) for each door in a build.
Gearsawe Stonecutter
Over there
Join date: 14 Sep 2005
Posts: 614
03-19-2007 21:42
So will this lead to other new functions like, llSetLinkObjectName, llSetLinkTextureAnim, llSetLinkText and so on?

every little bit will help to reduce the number of scripts.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
03-20-2007 13:50
How about a new control structure?

CODE

// make sure we know where or links are...
if(links == [])
links = my_find_link_numbers();

// Run the contents of the on_link block as if on another prim in the link-set.
on_link(llList2Integer(links, LEFT_CANTILEVER))
{
llSetTextureAnim(...);
k = llGetKey();
}

my_target_particles(k);
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
llMessageLinkedActivate
03-20-2007 14:23
The issue is getting the count of active scripts down while still having control over linked prims, so why not do it directly.

Rather than proliferating functions to duplicate existing functions, but aimed at linked prims, why not just be able to activate scripts in linked prims. That way you could put anything into the prims, but just shut them off except when needed.

Add a link message call that would send all the current args, but have another arg that activated a named script in the target linked prim.

llMessageLinkedActivate(integer linknum, string scriptName, integer num, string str, key id)

Once the script did whatever, it would just shut itself off.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
03-20-2007 16:58
I think you'd get better luck asking for llSetLinkScriptState():

llSetLinkScriptState(LINK_SET,"Common Script",TRUE);
llMessageLinked(LINK_SET,code,message,id);
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
03-20-2007 18:05
Sure, I'll take that, it would just be more convenient to get it all at one go.

The point is that, like your suggestion, it avoids the unending complexity of adding a llxxxxxLink version of all the other prim commands.
Joannah Cramer
Registered User
Join date: 12 Apr 2006
Posts: 1,539
03-20-2007 21:54
From: Gearsawe Stonecutter
So will this lead to other new functions like, llSetLinkObjectName, llSetLinkTextureAnim, llSetLinkText and so on?


Would probably be more convenient to simply add these as new query types for the llSet/GetPrimitiveParams function, then the link equivalent could just inherit them. i.e.

llSetPrimitiveParams( [ PRIM_NAME, "foo", PRIM_HOVERTEXT, "bar" ] );

or something like that ^^;;
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
03-21-2007 07:58
From: Ralph Doctorow
Sure, I'll take that, it would just be more convenient to get it all at one go.
You're assuming that you always want to send a link message to the script, yesno? Not always true, scripts that run off timers or sensors or listens wouldn't need it, and the extra link message could cause problems with other people's scripts.
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
03-21-2007 10:15
Well, I'm assuming that when you wake up a script there is some action it should take which the script doing the awakening knows.

In most cases I'd think that you'd want to communicate something to the newly active script so it knows what to do. If the script isn't active, it's not going to get a timer or touch event anyway, but if that's what it's looking for, just put in a link event handler to get woken up and if necessary, another that tells the script to shut itself off.

All this is not critical at all though, just being able to activate a script in a linked prim is the key point. Then you can put anything your heart desires (and LSL supports) into the linked script.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
03-21-2007 14:53
From: Ralph Doctorow
Well, I'm assuming that when you wake up a script there is some action it should take which the script doing the awakening knows.
I understand. That's a paraphrase of the first part of my own comment.

I'm simply noting that's not always the case. Many scripts are purely contingency handlers and never need to know whether they were recently set running. Other scripts may be listening for link messages and misinterpret the ones you send. I've had to modify a number of scripts in scripted objects created by other people that had NO filters on link messages, and if I were using one of those without the source (say, I was modifying a scripted object with no-mod scripts in it) I'd be stuck.
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
03-21-2007 16:26
From: Argent Stonecutter
I've had to modify a number of scripts in scripted objects created by other people that had NO filters on link messages, and if I were using one of those without the source (say, I was modifying a scripted object with no-mod scripts in it) I'd be stuck.
Correct you are, I had never considered that case.

I didn't think you could link to a prim with a no mod script in it, but I just play with my own stuff so I've never really tried.
1 2 3