Script run-time error - Too Many Listens - SLUniverse Forums
sluniverse logo SLUNIVERSE


Go Back   SLUniverse Forums > Community Discussion > General SL Discussion

General SL Discussion Discuss topics related to Second Life

Reply
Old 03-05-2008, 12:54 AM   #1 (permalink)
Senior Member
 
Tess Whitcroft's Avatar
 
Join Date: Sep 2007
Posts: 601

Script run-time error - Too Many Listens

Did LL make some change they did not warn us of? I have exactly the same attachments I had lasr week but now I (and lots of others) keep getting this...


[21:48] Tess Whitcroft: Script run-time error
[21:48] Tess Whitcroft: Too Many Listens


Anyone have any ideas?


Tess
Tess Whitcroft is online now   Reply With Quote
Old 03-05-2008, 01:06 AM   #2 (permalink)
aircraft manufacturer
 
Cubey Terra's Avatar
in the clouds
 
Join Date: Aug 2007
Posts: 295
SL Join Date: September 2003
SLShopper Ads: 9

Send a message via AIM to Cubey Terra
That's not new. It sounds like a poorly-made script that starts a new listen without checking for and then removing the previous one. Find the person who made that attachment and smack them over the head a couple of times.
__________________
. . . . .
Cubey Terra
Terra Aeronautics @ Abbotts Aerodrome
www.cubeyterra.com
Cubey Terra is offline   Reply With Quote
1 User Said Thanks:
Old 03-05-2008, 01:10 AM   #3 (permalink)
Senior Member
 
Tess Whitcroft's Avatar
 
Join Date: Sep 2007
Posts: 601

Quote:
Originally Posted by Cubey Terra View Post
That's not new. It sounds like a poorly-made script that starts a new listen without checking for and then removing the previous one. Find the person who made that attachment and smack them over the head a couple of times.
Problem is there are no new attachments...

O.o

Tess
Tess Whitcroft is online now   Reply With Quote
Old 03-05-2008, 07:00 AM   #4 (permalink)
The Purple
 
Chalice Yao's Avatar
Kinda at work. Somewhat.
 
Join Date: Dec 2007
Location: Somewhere purple, Germany
Posts: 1,096

My Mood:

He means that the attachment, on every attach, opens up a new listener without removing the old one. A script only can have 64 concurrent listeners at once..do this: rightclick -> edit the attachment, and in the menu bar on top select tools -> reset scripts in selection. See if that fixes it.
Chalice Yao is online now   Reply With Quote
Old 03-05-2008, 09:45 AM   #5 (permalink)
Doing stuff
 
WarKirby Magojiro's Avatar
Made new armor ^^
 
Join Date: Sep 2007
Location: Glasgow, Scotland
Posts: 2,577
SL Join Date: 14/10/2006
Business: MagoTek Industries
SLShopper Ads: 1

My Mood:

Chalice's suggestion will throw up a neat little bandaid. Sadly, it will break every 64th time you put it on. I suggest contacting the creator and telling them (politely) that their coding sucks
__________________
Quote:
"Beware he who would deny you access to information, for in his heart he dreams
himself your master."
Quote:
Originally Posted by Winter Ventura View Post
If the person is too stupid to figure out that they should wear the burger, then you know what? Maybe they're too stupid to have one.
WarKirby Magojiro is offline   Reply With Quote
Old 03-05-2008, 09:50 AM   #6 (permalink)
Doing stuff
 
WarKirby Magojiro's Avatar
Made new armor ^^
 
Join Date: Sep 2007
Location: Glasgow, Scotland
Posts: 2,577
SL Join Date: 14/10/2006
Business: MagoTek Industries
SLShopper Ads: 1

My Mood:

I find it best to do listeners in state_entry anyways. And I NEVER, EVER key them. Instead, I use this neat little snippet in my listen event.

listen(integer channel, string name, key id, string message)
{
if(id == llGetOwner() || llGetOwnerKey(id) == llGetOwner())
{
}
}
WarKirby Magojiro is offline   Reply With Quote
Old 03-05-2008, 11:10 AM   #7 (permalink)
Senior Member
 
Eata's Avatar
 
Join Date: Sep 2007
Posts: 462

My Mood:

llGetOwnerKey(id) == llGetOwner() covers all the checks.

Also it's best to cast llGetOwner to a constant in state entry, saves script memory as well.
Eata is offline   Reply With Quote
Old 03-05-2008, 12:04 PM   #8 (permalink)
Senior Member
 
Tess Whitcroft's Avatar
 
Join Date: Sep 2007
Posts: 601

Quote:
Originally Posted by Chalice Yao View Post
He means that the attachment, on every attach, opens up a new listener without removing the old one. A script only can have 64 concurrent listeners at once..do this: rightclick -> edit the attachment, and in the menu bar on top select tools -> reset scripts in selection. See if that fixes it.
I was thinking that the fact that I had no "new" attachments would be key, but if it can stack up 64 listens before I get the warning then the attachment doesn't need to really be all "that" new. What is the easy way to find out which attachment is doing this? And thanks for the help...

Tess
Tess Whitcroft is online now   Reply With Quote
Old 03-05-2008, 12:50 PM   #9 (permalink)
CS Violator
 
Mecha Dinosaur's Avatar
+33
 
Join Date: Sep 2007
Posts: 925
SL Join Date: 6/13/2006
Blog Entries: 2
SLShopper Ads: 1

My Mood:

Send a message via ICQ to Mecha Dinosaur Send a message via AIM to Mecha Dinosaur Send a message via Yahoo to Mecha Dinosaur Send a message via Skype™ to Mecha Dinosaur
Quote:
Originally Posted by Eata View Post
Also it's best to cast llGetOwner to a constant in state entry, saves script memory
Quote:
Originally Posted by Eata View Post
best to cast llGetOwner to a constant in state entry, saves
Quote:
Originally Posted by Eata View Post
llGetOwner to a constant in state entry
No :/

Do not want.

__________________
Mecha Dinosaur is offline   Reply With Quote
Old 03-05-2008, 09:21 PM   #10 (permalink)
Doing stuff
 
WarKirby Magojiro's Avatar
Made new armor ^^
 
Join Date: Sep 2007
Location: Glasgow, Scotland
Posts: 2,577
SL Join Date: 14/10/2006
Business: MagoTek Industries
SLShopper Ads: 1

My Mood:

Quote:
Originally Posted by Mecha Dinosaur View Post
No :/

Do not want.

I agree. How does making it a constant help anything? That means you'll need to reset the script completely on transfer.
WarKirby Magojiro is offline   Reply With Quote
Old 03-05-2008, 09:37 PM   #11 (permalink)
Senior Member
 
Ryozu's Avatar
 
Join Date: Sep 2007
Posts: 245

Quote:
Originally Posted by WarKirby Magojiro View Post
I agree. How does making it a constant help anything? That means you'll need to reset the script completely on transfer.
That's how I've been doing it, and it works well for scripts that otherwise never get reset.

I treat a full script reset as "First time wearing product."

IE, same concept as the first time you run a newly installed program. Script starts out fresh, and you can do any new owner type things. Such as a read me first notecard.

Also, saving script memory or not, it's always faster to reference a variable than to call a function. Maybe not critically faster, but it just a little.


Also, for those not in the know, every time you LOG IN it counts as attaching your item. (IE fires the attach event in the script)
__________________

OmniPhaze: Personal Teleportation Attachment.
Get it from Omni Corporation
Ryozu is offline   Reply With Quote
Old 03-05-2008, 11:06 PM   #12 (permalink)
Senior Member
 
Join Date: Sep 2007
Posts: 509

Quote:
Originally Posted by WarKirby Magojiro View Post
I agree. How does making it a constant help anything? That means you'll need to reset the script completely on transfer.
There's event fired for change of ownership, so it's not big deal to re-do listen filter and/or update constant(s) when it happens. Much more environment friendly that the listen() which doesn't bother to filter the incoming messages and relies on the LSL runtime routine for that.
Joannah Cramer is offline   Reply With Quote
Old 03-06-2008, 01:02 PM   #13 (permalink)
Senior Member
 
Eata's Avatar
 
Join Date: Sep 2007
Posts: 462

My Mood:

If you use it a lot why not? After all it's not like the compiler is going to do anything sensible with it. No doubt it actually pulls a pointless function call everytime.

Resetting scripts on new owner is good practise. I'm not even sure where you would not want that to happen.
Eata is offline   Reply With Quote
1 User Said Thanks:
Old 03-06-2008, 02:20 PM   #14 (permalink)
CS Violator
 
Mecha Dinosaur's Avatar
+33
 
Join Date: Sep 2007
Posts: 925
SL Join Date: 6/13/2006
Blog Entries: 2
SLShopper Ads: 1

My Mood:

Send a message via ICQ to Mecha Dinosaur Send a message via AIM to Mecha Dinosaur Send a message via Yahoo to Mecha Dinosaur Send a message via Skype™ to Mecha Dinosaur
I seem to be having issues putting this to words. Resetting a script is fine if it does not have much going on in it. But having a script do expensive processes for a large number of variables that should need only be set once but instead need to be redone each time the entire script is reset requires the cutting off of pinky finger!

CLI/MONO will make this even worse, 64 kb memory means multiple scripts can now be compiled into one script, .
Mecha Dinosaur is offline   Reply With Quote
1 User Said Thanks:
Old 03-06-2008, 05:09 PM   #15 (permalink)
Doing stuff
 
WarKirby Magojiro's Avatar
Made new armor ^^
 
Join Date: Sep 2007
Location: Glasgow, Scotland
Posts: 2,577
SL Join Date: 14/10/2006
Business: MagoTek Industries
SLShopper Ads: 1

My Mood:

Quote:
Originally Posted by Ryozu View Post
Also, for those not in the know, every time you LOG IN it counts as attaching your item. (IE fires the attach event in the script)
good point also. I forgot that.
WarKirby Magojiro is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


All times are GMT -5. The time now is 03:50 AM.
Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC7
vB.Sponsors Copyright 2008 SLUniverse.com / Hurricane Interactive.
All rights reserved.

Second Life(TM) and Linden Lab(TM) are trademarks or registered trademarks of Linden Research, Inc.
No infringement is intended.