Jump to content

Maxium number of characters allowed in a list?


dd Temin
 Share

You are about to reply to a thread that has been inactive for 3502 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

It's limited by script memory.  So, it will vary, depending on whatever else you have going on in the script. 

Also, keep in mind that when dumping a list using llSay, for example, the output is going to be limited by chat character limits.  No matter what you have in your list, you will only see the first 1024 characters of it. 

In trouble -shooting your script, you might consider checking list length, rather than dumping the contents of the list. Or, read a few individual records to check content.

  • Like 1
Link to comment
Share on other sites

Yeah, I am having the same issue working on sort of a Total Number of Agents in a region, and it can get pretty busy.

I have everything that I need using llGetAgentList and putting the results in a string, then calling that string within a llSetText, then I run out of chars.

I did find out a way to do it, but have no idea as to how to script it.

Using multiple prims (linked prims), and when one prim maxes out, it will send the overflow to another prim and so on.

Mystitool works this way, but again, I have no clue how to do it.

If someone knows how to do this, I for one, am all ears :)

Thanks in advance and sorry I couldn't help you DD but thought I'd throw mine in there too and maybe we can get some answers since this seems to be a pay-for-secret :) Jake

Link to comment
Share on other sites

The solution is pretty easy, actually.  The limit is not in your list, but in how many characters you can show in chat from a string.  So, for example, if you have a huge long list witith a lot of names in and do this

llSay(0,llList2CSV(my_gigantic_list));

you will fail.  Your chat will terminate after 1023 characters.  If you want to list everyone, you'll have to do it in some sort of loop.  Again, for example:

integer i;while (i < llGetListLength(my_gigantic_list)){    llSay(0,llList2String(my_gigantic_list,i));    ++i;}

 That would put one name in each line of chat.  You could come up with other schemes for saying, say, 8 or 10 names per chat line.  Or if you weren't sending your list to chat but wanted to display it in hover text, you could create a scrolling marquee of some kind. 

 

 

  • Like 1
Link to comment
Share on other sites

Rolig !! Howdy!

 

Yeah, I tried that script of yours and thats not what I am needing (I dont think).

What I have is a multiple output of data.

Simply put, a multi HUD.

FPS, Region Name, Sim Lag, AV Lag, and so forth.

And then there is the "radar" that shows several things PER avatar. More than what Mysti does and others.

That's where I am having the issues, with all that data. It gets about 5 names and data, and POOFs, Stops... producing the data and names.. and so forth.

 

What I am trying to do is, keep the prims down as well as the script usage.

Any other ideas?

llGetPrimitiveParamsFast with LINK ?

TY

Jake

Link to comment
Share on other sites

Don't worry about script usage.  Scripts don't lag a sim anyway.  The worst they can do is lag each other, and then only if your sim is already in trouble.

You won't be able to link the units on several floors because they'll almost surely be too far apart unless you were planning to make them all child prims of the building itself. So sending the data in chat is probably your best bet.  Send one line of data at a time and assemble the list you are going to display as it's received. If you're trying to use a scrolling marquee and it's overloading, just reduce the number of lines that are visible at one time until the display is within the 1023 character limit (including line feeds and any other non printing characters).

I'm not sure where a HUD figures into all of this.  Be very skeptical of any lag information you send out.  Most of it is either unreliable or difficult to interpret.  You're more likely to confuse and annoy your tenants than to enlighten them.

Link to comment
Share on other sites

I think that you may be combining two of my post together. :) No worries.

These are two different projects :)

 

One is for more than 1023 chars fora HUD

The other is for a (possible) linkset for hovertext for a prim on each floor.

 

:)

 

Thank you though to all that replied.

I will just sit these on the back burner for now. I'm sure there is a way to do them, I just have to find the right call.

 

TY ALL!

Jake

Link to comment
Share on other sites

Thanks Life Camino for for those ideas.

Thanks to Miss Loon for your help....I'll get started on the divide and conquer script approach soon :)

dd

UPDATE:  Miss Loon's suggestion works perfect....problem solved :) My list is strided with 4 elements each record  so i broke it up like that.

        integer i;
       while (i < llGetListLength(history))
        {
        llOwnerSay(llList2String(history,i) + llList2String(history,i+1) + llList2String(history,i+2) + llList2String(history,i+3)) ;
        i += 4;
        }

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3502 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...