Ill start with You dont want to pause a script for any length of time.
Howevwer this would pause it for 2 seconds...

var %ticks = $calc(2000 + $ticks) | while (%ticks > $ticks) { }

During those 2 seconds mIRC well do NOTHING else at all, wont see messages, wont maintain downloads or uploads etc, this is becuase mirc uses one thread to handle all of this, and your holding it up for 2 seconds.

This also means if your trying to delay a script for some mIRC type event to occur itrs not likely to happen since mIRC doesnt do anything at all during this delay.

This is the basic reason you use timers to continue processing at a later time.

This being said, there is a 3rd party dll called whilefix.dll which well allow mirc to some degree to continue processing during that loop
var %ticks = $calc(2000 + $ticks) | while (%ticks > $ticks) { if ($file(whilefix.dll)) { dll WhileFix.dll WhileFix } }

There are significant problems doing this, such as if certian things occur mirc stops anyway (never a good thing) use this sparingly if u must use it.

Cant remebr the link to get it, do a search for messages with it in one well have the link.