Problem with on *:TEXT:*:#: { /trace $nick - 09/05/08 09:59 PM
I have an ON TEXT for the channel so when $nick says something they get traced. If more than one person is talking, several /trace $nick are happening. The problem is that they overlap each other and if there is any server lag for the /trace $nick then the wrong variables get passed.
I.E. John and Steve are talking on the room. John says something and gets /trace'd first then Steve says something and gets /trace'd second. Although John said something first and got /trace'd first, Steve's /trace info came back first, due to server lag from John's /trace. So the variables for John's /trace now have the variables for Steve's /trace, which is wrong.
As a safety I 'set %nicktext $nick' before the '/trace $nick' in the ON JOIN. Then in the 'if TEXT' under the RAW for /trace I compare %nicktext to %nick (%nick of the userhost from the /trace). If (%nicktext == %nick) then the userhost gets checked against the FILE; if $null then it gets saved to the FILE. If (%nicktext != %nick) then re /trace %nickiptext. This sometimes can loop if several people are talking on the channel, until (%nicktext == %nick) again.
So is there any way to use some some kind of temp variables to prevent this?
I.E. John and Steve are talking on the room. John says something and gets /trace'd first then Steve says something and gets /trace'd second. Although John said something first and got /trace'd first, Steve's /trace info came back first, due to server lag from John's /trace. So the variables for John's /trace now have the variables for Steve's /trace, which is wrong.
As a safety I 'set %nicktext $nick' before the '/trace $nick' in the ON JOIN. Then in the 'if TEXT' under the RAW for /trace I compare %nicktext to %nick (%nick of the userhost from the /trace). If (%nicktext == %nick) then the userhost gets checked against the FILE; if $null then it gets saved to the FILE. If (%nicktext != %nick) then re /trace %nickiptext. This sometimes can loop if several people are talking on the channel, until (%nicktext == %nick) again.
So is there any way to use some some kind of temp variables to prevent this?