You have %theysaid and %they.said, and %textcount and %text.count (I'm sure those are just typos
).
How about:
on *:text:*:[color:red]#yourchannel[/color]:{
if ($nick == [color:red]thenickyouwant[/color]) {
set %mergetext %mergetext $1-
}
elseif (%mergetext != $null) {
echo [color:red]#yourotherchannel[/color] <[color:red]thenickyouwant[/color]> %mergetext
unset %mergetext
}
}
This will echo all the text from this one person that happens between anyone else's text onto one line.
Example:
<othernick> hi
<trackingnick> hello
<trackingnick> how
<trackingnick> are
<trackingnick> you
<othernick> don't flood
<trackingnick> doing?
<trackingnick> ok.
<othernick> I'm fine
This would echo the following to your other channel:
<trackingnick> hello how are you
<trackingnick> doing? ok.
Note that it will only echo the text once someone else speaks. If you need it to echo sooner, we could set up a timer as a backup. If the channel is fairly active, that won't be needed.
The reason this splits the text whenever someone else speaks is so that you capture lines together for the most part. If you didn't use that as a way to break it up, it would be harder to determine when to echo the text. Usually, if someone is saying a lot all at once (usually from pasting many lines), others end up not speaking in the middle of it. We could use a timer and have it just echo all lines currently said every X seconds, but that's more likely to split lines.
Note that if you meant you want it to MSG the other channel rather than ECHO to it, just replace echo with msg.
Any questions?