on *:invite:*: {
  if (%invitebot == on) { join $chan | set $+(%,invite,$chan) $nick | describe $chan greets $($+(%,invite,$chan),2) }
  elseif (%invitebot == off) { notice $nick Sorry, but invite is currently off. }

I always find using $+ for dynamic vars is less of a headache and easier to quickly type out.
Dank! smile

My next problem:

on *:part:#: {
  inc $+(%,partcount,$chan)
  timer2 1 5 unset $+(%,partcount,$chan)
  if ($($+(%,invite,$chan),2) > 2) { msg $chan ffs you let them get away!! >:( }

It msg's more then once. Every one who parts, gets a msg "ffs you let them get away!! >:(". It only needs to be msg'd once.