I agree with sparta and whoever else mentioned the over used "it can be scripted" excuse. I also like that someone else mentioned on start is basically two events in one and it'd be nice to tell for which reason it was triggered.

Code:
on *:start:{
  ;%uptimepercent.beginning is the "zero" point on which the script bases the start of measuring uptime
  if (!%uptimepercent.beginning) set %uptimepercent.beginning $ctime
  ;incase the on exit event didn't trigger (crash or something) updates total time
  if (%uptimepercent.temp) set %uptimepercent.up $calc(%uptimepercent.up + (%uptimepercent.temp - %uptimepercent.start)) 
  ;%uptimepercent.start is when mirc was started
  set %uptimepercent.start $ctime
  ;periodically set %uptimepercent.temp in case of crash or something (it happens), this prevents loss of up time
  .timer -o 0 600 set %uptimepercent.temp $!ctime
}
 
on *:exit:{
  ;adds the uptime from mirc start to exit to the total overall uptime
  set %uptimepercent.up $calc(%uptimepercent.up + ($ctime - %uptimepercent.start))
  unset %uptimepercent.temp
}
 
alias uppercent {
  say 7Uptime Percentage: $calc(100* ( %uptimepercent.up + ( $ctime - %uptimepercent.start )) / ( $ctime - %uptimepercent.beginning ) ) $+ % since $asctime(%uptimepercent.beginning)
}


I'm sure everyone and their grandma will try to make a better version and say how crappy mine is. But I made this to do a few things specifically. The initial time is set when you load the script and it should show 100% uptime after you load it. It also keeps a temp variable which tracks time every 10 min in case mirc fails to trigger the on exit. In which case the temp var and start var will be used on the next start up to update the total uptime. What it doesn't do, is not reset the start var when the script is reloaded (what the proposed identifier would fix). I don't care if you just say well don't reload it and it won't have that problem. If I want to change the output format and up reloading the script it'll throw the tracked time off.

If you can make something smaller than what I have and works in the manner I'm looking for great. But I think being able to stick a simple if statement with the identifier I'm suggesting would be perfect.

Like
if ($isstart) set %uptimepercent.start $ctime


http://scripting.pball.win
My personal site with some scripts I've released.