The essential problem is that I have 4 scripts generating data (which due to needed state changes can't be merged into one script), a 5th script to gather the data and transmit it to a scoreboard, and a 6th script in the scoreboard. The data that is being generated has an expected numerical range that cannot be exceeded with how I'm generating the data, yet once in a while I'll get some off-the-wall data transmission with data that's well outside the expected range, but on the next transmission of data, everything's back into normal parameters. I've checked with identifiers on the listeners and the wierd data is not a problem with the recieving script overhearing some one else's data comms.
example expected data immediately before "wierd" data: 54//32//"rockets"//<1,3,2>
example "Wierd" data: -54930//-49302//""//<1,0,5>
example data immediately after "wierd" data: 48//30//"rockets"//<1,-4,5>
example script 1 (data generator)
CODE
integer a=100;
default
{
collision_start(integer num)
{
a -= llFloor(llFrand(10));
llMessageLinked(LINK_THS,1000,(string)a,NULL_KEY);
}
}
example script 2 (data generator)
CODE
integer b=60;
default
{
collision_start(integer num)
{
b -= 1;
llMessageLinked(LINK_THS,1001,(string)b,NULL_KEY);
}
}
example script 3 (data generator)
CODE
default
{
collision_start(integer num)
{
string name=llKey2Name(llDetectedKey(0));
llMessageLinked(LINK_THS,1002,name,NULL_KEY);
}
}
example script 4 (data generator)
CODE
default
{
collision_start(integer num)
{
string pos=(string)llGetPos();
llMessageLinked(LINK_THS,1003,pos,NULL_KEY);
}
}
example broadcasting script
CODE
string a;
string b;
string c;
string d;
default
{
link_message(integer sender_num, integer num, string str, key id)
{
if(num==1000)
{
a=str;
}
if(num==1001)
{
b=str;
}
if(num==1002)
{
c=str;
}
if(num==1003)
{
d=str;
}
llShout(-6983469,a + "//" + b + "//" + c + "//" + d);
}
}
I have run through all the scripts that generate data with llOwnerSay(...) when information is being sent via llMessageLinked, and none of the wierd data that is being broadcast is being sent in the link_messages. I do have other link message events, but since I'm using the integer in the llMessageLinked as a channel/filter (and each link message has it's own unique number which I've double and tripple checked), I can't see how I'm getting this strange data to appear.
The strange data doesn't appear all that often, maybe once every 15 to 20 minutes, but when it does, the other scripts within the transmitting prim exhibit strange behaviour (which I am pretty sure is attributed to lag) until the next "real" data transmission occurs.
wierd, huh?