All pastes #628396 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-07-21 06:49 UTC
rendered paste body
Usage:
To turn status to away, type /away [Your Reason here].
To turn status to normal, type /back

Version 2.5 Update:
-All variables should unset.
-Menu has been added for Channel, Nicklist, and the Status Screen.
*/

alias total_ame {
  var %orig.cid = $cid
  var %len = $scid(0)
  var %pos = 1
  while (%len != 0) {
    scid %pos
    ame $1-
    inc %pos 1
    dec %len 1
  }
  scid %orig.cid
  halt
}


on *:TEXT:*:*: { 
  if ($me isin $1-) {
    if (!%away.reason) { halt }
    else {
      if ($address($nick,2) isin %away.highlight) { halt }
      else {
        notice $nick I am away right now, $nick $+ ! I am at: %away.reason $+ . I have been gone for $duration($calc($ctime - %away.time),3) $+ . (One time response to Highlight.)
        set %away.highlight $address($nick,2) - %away.highlight
      }
    }
  }
}
on *:ACTION:*:*: { 
  if ($me isin $1-) {
    if (!%away.reason) { halt }
    else {
      if ($address($nick,2) isin %away.highlight) { halt }
      else {
        notice $nick I am away right now, $nick $+ ! I am at: %away.reason $+ . I have been gone for $duration($calc($ctime - %away.time),3) $+ . (One time response to Highlight.)
        set %away.highlight $address($nick,2) - %away.highlight
      }
    }
  }
}
alias away {
  if (!$1) { 
    set %away.reason $$?="Reason"   
    set %away.time $ctime
    total_ame is 11,1Away (5 $+ %away.reason $+ .)
  }
  else { 
    set %away.reason $$1-
    set %away.time $ctime
    total_ame is 11,1Away (5 $+ %away.reason $+ .)
  }
}
alias back {
  if (!%away.reason) { echo $active You are already Back, $me $+ ! }
  else {
    var %reason = %away.reason
    var %time = %away.time
    awayunset
    total_ame is 11,1back from $qt(5 $+ %reason $+ .) (Gone for $duration($calc($ctime - %time),3) $+ )
  }
}
menu channel,nicklist,status {
  Away
  .Away://away $$?="Reason" 
  .Back://back
}

alias awayunset {
  //unset %away.*
}