Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

llMessageLinked and link_message() event problems

Markus Strong
Registered User
Join date: 13 Jul 2006
Posts: 2
08-10-2006 02:36
Hello All,

I've been having some troubles lately with 2 of my projects, in which both seem to have the same problem, yet they both have entirely different setups. The root cause of the problem, from what I can determin, is that llMessageLinked() and link_message() seem to be at the root cause of the problem.

Now, I know this should be something that would be posted to say the Bug Report, but the problem is, that I have no clue on how to actually track this problem back to the source, of what actually causes it, and being able to re-produce it without having my actual projects there, to see what is going on.

Basically, I'm making 2 ships, one ship, I've built up from the ground up, and doesn't have that many scripts in it at all. While the other ship, my friend built, and I'm working on trying to find the bugs in the LSL that is causing him problems. Both of them have different setups, as mentioned before, one I have 140 prims in it, of which, I have a script in 2 of them, that is suppose to respond to the llMessageLinked() to re-position themselvs properly, as a sort of Door for when they are opened, and when they are closed, and they are linked to the root object. While I have another script in another 2 objects, in which send out the llMessageLinked() to the door, to open / close it.

Seems simple enough. But this breaks down into god knows what after some time, and I can't figure out why it occurs. I've resorted to using a llSay() on a specific channel, in which this method seems to work out just fine on my project.

But my friend's project is a bit different. He's gotten it fully built, objects placed where they needed to be, and scripts placed into them. There is 8 sets of objects, in which the scripts communicate with each other to do certian stuff, as well as the main object, which controls the movement of the object itself, and again, a Door object, in which to enter, and leave the object. The door object, was listening for llMessageLinked(), but I changed it to listen to llSay()'s, no problem. However, when dealing with a few of the llMessageLinked() objects, they tend to go bezerk on me, for no apparent reason, and after this has occured, none of the scripts on the object actually respond to anything.

Within the 8 objects, are simple things, 2 prims, in which follow the way the person sitting at a chair looks while in Mouse Look. Each one have different identifiers in which to seperate themselvs from the others, so that no conflict will be found there. However, whenever one goes into Mouse Look, 3 of the objects don't track with the Mouse Look, 2 mess up while in mouse look, sometimes moving the entire object, and not just the 2 prims that are suppose to guide along with the mouse look, and the other 3 work just as they are suppose to, no problems.

The objects are linked in a way, that doesn't mess up the link set, as far as I can tell, I've tried re-linking them several different ways, even followed a few suggestions from the Scripters of Second Life group, in which to clear out the old code, and create a new Script Object within the prim. This method worked for a short while with my Shuttle, then went back to the same problems. But with my friends object, it continues to have the same exact problems that have been exhibited before.

The final part of my friends object, has a mouselook in which to move the entire object around, as a sort of flight script. Now this has been done under controlled circumstances, where I was the only one working on the object, only one inside the object, doing the tests, and the results are always the same.

I have no clue on how to proceed with this, outside of going through all of the objects, replacing the scripts, and changing the llMessageLinked() to llSay() to do all the actual stuff it does now through llMessageLinked().

I'm at a clear dead end, and have no clue on how to progress with this. Anyone, Linden's included as possibility of it being a bug, have any input?

Thanks in advance.

*edit* Sorry for the extreemly long post, trying to explain the sistuation best I can.
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
08-10-2006 04:24
Wow. That's a lot of stuff to take in. First, you might be better off asking about one specific issue at a time. Second, it may be difficult for anyone to help without seeing some code snippets or some detailed descriptions of precisely what you are trying to do and how you are going about it.
Jigsaw Partridge
A man of parts
Join date: 3 Apr 2005
Posts: 69
08-10-2006 05:35
Markus, although of course I can't be certain without going through the same laborious debugging process you are, my guess is that the problems you are seeing aren't to do with linked messages. There are many very complex objects in SL which rely on them absolutely, and as long as you don't exceed the queue limit (about 50 events or so), then they are as solid and reliable as a rock.

By switching from llMessageLinked() to llSay(), you are probably changing the timing of events happening in the object, so things might randomly start appearing to work properly. For what its worth, I would assume there is a real logic error, and try to find that, rather than wondering if there might be some underlying problem with linked messages (I know it is tempting, we've all been there and done that :) )
Markus Strong
Registered User
Join date: 13 Jul 2006
Posts: 2
08-16-2006 16:51
After looking over all of the scripts, In all of the objects, that are pretty much exact copies of each other, they all have the same logic behind it, which is all sound. An example of this, to put it into terms of context, is that a person sits in a Chair, which triggers a Request to use Mouselook, to guide 2 prims along the avatars LOS (line of sight), and another script requests to gain control of the Mouse Actions, to fire the weapon, so to say.

Now, with this in mind, the scripts aren't all in one spot, there are several in the "Barrels" of the weapon, and a script in the chair to talk with the main controller script, to request the permissions. This does work, on maybe 2 of the 8 Turret seats, but after that, it won't work on any of the other ones. Each one is distinctly seperated by a specific message that the controller script emits, and the barrel's listen for. Example Being: gunner1, gunner2, gunner3, etc, etc.

Normally, this should work, no problem, since only 1 person is sitting in one of the gunner positions when this fluke of a bug appears. The final object, in which everything is linked together with, as a script that does the Actual Movement of the vessel. With this script, it listens for a nonphys trigger under linked_messages(), and only executes when it has successfully received the message. So under all circumstances, there should be no room for error. It should all trigger like it's suppose to.

This, however, isn't the case, as only 2 of the turret seats work just fine, while the rest either don't move, when entering mouse look, or the entire vessel moves, when it shouldn't be even happening when the person is sitting in a gunner position.

This is the best I can describe this, as this seems to be the only way I can describe it. Can't post any Sample LSL in which this system works right now, as I'm not at my home computer, accessable to SL. Maybe next time I can get to SL, I'll post some code. L8ers.

Markus Strong