on *:TEXT:!away*:#: { if (%away. [ $+ [ $nick ] $+ .nick ] == $null) { set %away. $+ $nick $+ .nick $nick set %away. $+ $nick $+ .reason $2- set %away. $+ $nick $+ .time $ctime set %away. $+ $nick $+ .away Away msg $chan %away. [ $+ [ $nick ] $+ ] .nick is away: [ %away. [ $+ [ $nick ] $+ ] .reason ] ( $+ $time $+ ) halt } if (%away. [ $+ [ $nick ] $+ ].away == Away) { halt } } on *:TEXT:!return:#: { if (%away. [ $+ [ $nick ] $+ .away ] == Away) { msg $chan %away. [ $+ [ $nick ] $+ .nick ] has returned: %away. [ $+ [ $nick ] $+ ] .reason ( $duration($calc($ctime - %away. [ $+ [ $nick ] $+ .time ] )) ) unset %away. $+ $nick $+ .nick unset %away. $+ $nick $+ .reason unset %away. $+ $nick $+ .time unset %away. $+ $nick $+ .away } } on *:NICK: { set %away. $+ $newnick $+ .nick $newnick set %away. $+ $newnick $+ .reason %away. [ $+ [ $nick ] $+ ] .reason set %away. $+ $newnick $+ .time %away. [ $+ [ $nick ] $+ ] .time set %away. $+ $newnick $+ .away Away unset %away. $+ $nick $+ .* } on *:TEXT:!helpaway:#: { notice $nick Hello and thanks for using my script! Type !away (reason) to go away and simply type !return to come back from away. Enjoy! (Update, The !away script now has nick change detection so don't worry when you change your nick!) } on *:TEXT:*:#: { if ($findtok($1-,%away. [ $+ [ $nick ] $+ .nick ] ,1,32) != $null) { /notice $nick %away. [ $+ [ $nick ] $+ .nick ] is away: %away. [ $+ [ $nick ] $+ .reason ] ( $duration($calc($ctime - %away. [ $+ [ $nick ] $+ .time ] )) ) } }