Hi,

you're almost there. But some things have to be changed first.


First and most important:

Do you realise that the current way you have ur script setup, means that ANYTIME anyone says something in any channel that you are in, a new timer will be set. Im sure this is not your intention.

Here's a solution that might suit you better:
Code:

on me:*:JOIN:%clanchan: .timer 0 1800 msg %clanchan $!read(names.txt) $!read(jokes.txt) 

Note 1:
As you can see the ON TEXT event is changed to the ON JOIN event, specifically when you join your channel %clanchan, then the timer starts, and will msg to %clanchan every 1800 seconds a joke with a nick of your clan members in front of it.

Note 2:
Remember, that if you are using a command from the command line with // in front of it, like //.timer .. then the contents of the line will first be evaluated, then executed. This is the same when a command is run from a script. In other words,

on me:*:JOIN:%clanchan: .timer 0 1800 msg %clanchan $read(names.txt) $read(jokes.txt)

will send out the exact same text message every 1800 seconds. That is cuz mIRC first evaluates $read(names.txt) and $read(jokes.txt) and then sets the timer.

In other words, you need for the two $read identifiers to be re-evaluated each time the timer triggers.

Solution:

msg %clanchan $!read(names.txt) $!read(jokes.txt) or msg %clanchan $($read(names.txt) $read(jokes.txt),0)

Both solutions will make sure that the $read identifiers get sent to the timer without having been evaluated yet.

Greetz




Gone.