Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Instant Message HUD

Nyx Alsop
Registered User
Join date: 14 Dec 2008
Posts: 252
11-24-2009 07:17
How can I make a HUD that instant messages everyone else(anywhere in SL) with the HUD?

I have something that works simlar, but when looking in the LSL WIKI it says Instant Message cannot call an object, and to do multiple people, wouldn't I need to instant message an Objects, then relay it to the other users?
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
11-24-2009 07:53
using chat commands would make it pretty easy using llInstantMessage along with a loop of a list of names.... the fun part would be populating the list of names
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Nyx Alsop
Registered User
Join date: 14 Dec 2008
Posts: 252
11-24-2009 07:57
Yeah thats what I'm struggling with.

I would of had like a prim somewhere that held the online names and looped through them, but without being able to check in?
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
11-24-2009 08:01
Unless you're planning to spam the planet from a monster name list (not advised), it's probably faster to type names into the list one at a time than to script some way to do it.
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
11-24-2009 08:17
a listener and a command to add/remove names is going to be easiest, but then at that point you don't even need a hud.
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
11-24-2009 09:38
Yeah, but then you have to filter the listen in some reasonably sophisticated way (or do the add/subtract manually, which isn't much better than just typing names in) or it will add/subtract everyone it hears. An indiscriminate list-builder isn't much of a system .... unless you're a spammer.
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
11-24-2009 11:08
The best way would be to work off a notecard giving the keys of the people (or the names, and have the script convert the names to keys, which takes a while if the list is long).

Keep in mind that each IM delays the script by two seconds, so it would take 5 minutes to IM 150 people. There are tricks to work around this, but I strongly recommend against them -- the delay is there to keep you from hogging the sim's resources.
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
11-24-2009 17:53
keys are great... unless you happen to be dealing with customers... in which case you want automated look up via w-hat or somesuch
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Epos Imako
Registered User
Join date: 30 May 2008
Posts: 4
11-27-2009 00:30
Hi Lear

From: Lear Cale
Keep in mind that each IM delays the script by two seconds, so it would take 5 minutes to IM 150 people. There are tricks to work around this, but I strongly recommend against them -- the delay is there to keep you from hogging the sim's resources.


For a customers IM list, (voluntary subscription, not spam) I am looking for a workaround. I have a list of about 700 people whom I need to send IM now and then. Indeed the script that sends the IM's sort of stops after about 400 IM's. Can you clarify the workaround you mentioned a bit more?

Thanx

Epos Imako
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
11-27-2009 00:44
one script to parse the name list which doles them out to multiple scripts to send the messages....

note that LL can frown on this type of mass speed messaging, and may be inclined to kill both the script(s) and the account involved.

as for why it stops after 400... could be an abuse filter to reduce spamming devices, in which case you'll want to break up the list and the times that it operates (or a memory limit, which would benefit from some of the same.)
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
11-27-2009 05:59
From: Epos Imako
Hi Lear

For a customers IM list, (voluntary subscription, not spam) I am looking for a workaround. I have a list of about 700 people whom I need to send IM now and then. Indeed the script that sends the IM's sort of stops after about 400 IM's. Can you clarify the workaround you mentioned a bit more?
Nope, because you shouldn't do it. Instead of a HUD, make it an inworld object and let it take its time.

OK, OK -- the workaround is to have a number of scripts sending the IMs, on receipt of link messages from a master script. Hopefully you won't be using this thing often enough to cause much trouble.

This has nothing to do with the script stopping after 400. There may be another limitation, limiting the number of scripted IMs per owner per hour (or whatever) in the sim. There are a number of these kinds of limits, for the obvious purpose.
Nyx Alsop
Registered User
Join date: 14 Dec 2008
Posts: 252
11-27-2009 15:34
Well my idea so far is:

Users HUD using email to tell a prim somewhere on the grid they are there and adds them to a List with their Key.

It then loops through the array, sending to 10 differnt scripts to send the IMs, then does a sleep, and goes to the next 10 etc.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
11-28-2009 06:58
It's not clear from your post who wears the HUD, the manager of the group or the participants.

If the script in the in-world object does a sleep, why use 10 helper scripts? Use as few helper scripts as possible to get the message rate you want -- ideally, none, and just send the IM from the main script. Even in this case you may need a sleep to keep from hitting limits.

Something to keep in mind is that *every* script, even one with no events to handle, or even one with no possible event handlers in its state, take some CPU time. So it's wise to avoid loading down the sim with unnecessary scripts. Only scripts that are set "not running" avoid this CPU usage.
Nyx Alsop
Registered User
Join date: 14 Dec 2008
Posts: 252
11-28-2009 09:11
Would you not need a sleep in the main script, to stop it sending messages to asleep scripts? thrus missing out some of the List names?
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
11-28-2009 11:44
From: Nyx Alsop
Would you not need a sleep in the main script, to stop it sending messages to asleep scripts? thrus missing out some of the List names?
I wouldn't.

I'd have the main script send N LMs, where N is the number of helper scripts.

The helper script, after sending its IM, would send a different LM, ignored by the helpers. The helper would identify itself in the LM (e.g., by using the numeric suffix the helper script gets since no two object inventory items get the same name).

The main script, on receipt of an LM from a helper, would see if there are any remaining IMs to send. If so, it would send an LM to that helper.

Avoid "open-loop waits".
Epos Imako
Registered User
Join date: 30 May 2008
Posts: 4
11-29-2009 23:12
From: Lear
Nope, because you shouldn't do it. Instead of a HUD, make it an inworld object and let it take its time.


Hi Lear, no HUD for me, it's about an inworld object. And I am very memory efficient usually ;)
I was curious about your workaround and indeed a multi-script system would work. It would be nice to have it done by one single script though... Thanx!

Epos