Originally Posted by Protopia
Slightly faster initialisation (<1s rather than 2s):
alias ctimems {
  if (!$var(%ctimems.ticks,0) || !$var(%ctimems.ctime,0) || (!$isid)) {
    var %ctime = $calc($ctime + 1), %ticks
    while (%ctime > $ctime) %ticks = $ticks
    set -e %ctimems.ticks %ticks
    set -e %ctimems.ctime $ctime
  return $left($calc(%ctimems.ctime + (($ticks - %ctimems.ticks) / 1000) + .0001),-1)

And $timestampms:
alias timestampms {
  var %tsfmt = $timestampfmt
  if (s isin %tsfmt) {
    %tsfmt = $replacex(%tsfmt,ss,ss.xxx,s,s.xxx)
    var %ct = $ctimems
    return $replacex($asctime(%ct,%tsfmt),.xxx,$right(%ct,4))
  else return $timestamp

I have been trying for a few hours to make this work but thus far no joy. (I am brand new to mIRC. I am just copying the code into the script editor under the alias heading. Should I be doing something else?

I also saw this comment in the thread "If you mean setting your timestamp format to contain .x or .xxx and expecting the channel window to show milliseconds in your timestamp instead of x's, then no it doesn't, because that timestamp only recognizes parameters defined for $asctime.

But if you mean using $timestampex in a script then getting the string where your timestamp format is replaced by the milliseconds, then yes it does work."

I sadly have no idea what the bold part means?
Any help hugely, massively appreciated. Please be gentle.