I wrote a super simple chat repeater/intercom which listens on channel 0 and a negative channel number. The script shouts out any channel 0 chat it hears on a negative number channel and does an llSay for any shouted text it picks on that negative channel.
Here are the 2 involved scripts:
*********************
// Listen
default
{
state_entry()
{
llListen(-6523480, "", NULL_KEY, ""
;}
listen(integer channel, string name, key id, string message)
{
string new_message;
new_message = llGetSubString(message, 0, -1);
llSay(0, new_message);
}
on_rez(integer start_param)
{
llResetScript();
}
}
*********************
// Broadcast
default
{
state_entry()
{
llListen(0, "", NULL_KEY, ""
;}
listen(integer channel, string name, key id, string message)
{
llShout(-6523480, llKey2Name(id) + " says : " + message);
}
on_rez(integer start_param)
{
llResetScript();
}
}
*********************
I am using three objects with these 2 scripts across the intersection of 3 sims. It worked great until I accidentally made a copy of a repeater next to another in one sim causing a nasty loop spamming the chat. After fixing that, the object will no longer broadcast out chat to one of the sims although it will still listen (making it one way only) . This same object works in the other 2 sims fine.
No matter what I do - rename, copy a new instance, modify the script slightly, etc. - I cannot resolve this. Did this nasty loop trigger some sort of flag to prevent it from spamming again in that specific sim.
Thanks for any help!