This is part of a larger script ive made, i keep getting an if error every 30 secs when the timer goes off, and i cant tell why

Code:
alias autoidleaway {
  var %z = $$input(Idle How Long Before Going Away (Format is Xm,Xh (m = min, h=hours)),ev,Auto Idle After How Long?)
  if ($input(Auto Change Nicks To AFK And Back?,y,Auto Change Nicks) == $true) { set %AutoChangeNicks on }
  else { set %AutoChangenicks off }
  if (m isin %z) {
    .timerawayloggeridle 0 30 if ($idle >= $calc(60 * $remove(%z,m)) { afk2 |.timerawayloggeridle off }
  }
  elseif (h isin %z) { .timerawayloggeridle 0 30 if ($idle >= $calc(3600 * $remove(%z,h)) { afk2 | .timerawayloggeridle off } }
}