Away System — File Browser

AwaySystemv0.20 / AwaySystemv0.20 / away_system / away_system.mrc

away_system.mrc — 17.74 KB — Download this file

; ––––––––––––––––––––––––––––––––––––––––––––––––
; Away system v0.20
; © 2004 by Burnout
; Remember - ripping is lame
; Visit www.disfunctional-studios.be & #]-ds-[ @ Quakenet
; ––––––––––––––––––––––––––––––––––––––––––––––––

on 1:START: updcheck

on *:load:{
  if ( %mailaddy == $null ) { set %mailaddy $input(Please enter your e-mail address,1,Emailadres set! ) }
  if ( %awa_autoaway_time == $null ) { set %awa_autoaway_time 3600 }
  if ( %install.time == $null ) { set %install.time $ctime }
  if ( %awa_stats_totalawatime == $null ) { set %awa_stats_totalawatime 0 }
  if ( %awa_stats_times == $null ) { set %awa_stats_times 0 }
  if ( %awa_stats_timesauto == $null ) { set %awa_stats_timesauto 0 }
  echo -a ו•••••••••••••••••••••••••••••••••• ••••• ••• •• •• •• •  •
  echo -a Away system v0.20
  echo -a © 2004 by Burnout
  echo -a Visit www.disfunctional-studios.be & #]-ds-[ @ Quakenet
  echo -a ו•••••••••••••••••••••••••••••••••• ••••• ••• •• •• •• •  •
}


on *:connect: .timer(autoaway) 0 1 awa_autoaway_check


menu menubar,channel,query,status {
  -
  Away system:awsystem
}

dialog away_system {
  title "Away system [By Burn]"
  size -1 -1 250 300
  tab "System", 1, 5 5 240 250
  tab "Custom", 43
  tab "Setup", 2  
  tab "Credits", 3
  text "Disfunctional-Studios © 2004", 4, 10 255 230 15, style center
  button "Back", 5, 10 272 230 25, ok
  text "Away message:", 6, 10 30 150 15, tab 1
  edit "", 7, 10 45 230 20, tab 1
  check "", 8, 10 68 15 15, tab 1
  text "/me message on Away/Back (ON/OFF)", 9, 25 68 185 15, tab 1
  check "", 10, 10 85 15 15, tab 1
  text "Awaylogger (ON/OFF)", 11, 25 85 185 15, tab 1
  box "Away modes", 12, 10 100 230 60, tab1
  Button "Away", 13, 20 115 105 20, tab1
  Button "Food", 14, 125 115 105 20, tab1
  Button "BrB", 15, 20 135 105 20, tab1
  Button "Asleep", 16, 125 135 105 20, tab1
  box "Fast nickchange", 17, 10 165 230 80,tab1
  Button "Busy", 18, 20 180 105 20, tab1
  Button "Study", 19, 125 180 105 20, tab1
  Button "Phone", 20, 20 200 105 20, tab1
  Button "DivX", 21, 125 200 105 20, tab1
  Button "War", 22, 20 220 105 20, tab1
  Button "Offi", 23, 125 220 105 20, tab1
  box "Setup", 44, 10 30 230 100, tab 2  
  button "Set Standard nick", 24, 25 50 95 20, tab 2
  edit "", 25, 125 50 95 20, tab 2 read
  button "Set away prefix", 26, 25 75 95 20, tab2
  edit "", 27, 125 75 90 20, tab 2 read
  button "Set separator", 28, 15 100 90 20, style right tab 2
  edit "", 29, 110 100 20 20, tab 2 read
  button "Sep. suffix", 52, 140 100 70 20, style right tab 2
  edit "", 53, 215 100 20 20, tab 2 read
  box "Auto-away", 45, 10 130 230 95, tab 2
  check "", 46, 20 150 15 15, tab 2
  text "Auto-away (ON/OFF)", 47, 35 150 200 20, tab 2
  edit "", 48, 25 175 200 20, tab 2 read
  button "Set auto-away time (minutes)", 49, 25 200 200 20, tab 2
  check "", 50, 20 230 15 15, tab 2
  text "Query script (by Fire) (ON/OFF)", 51, 35 230 200 20, tab 2
  box "Custom away", 30, 10 37 230 70, tab 43
  text "Away suffix:", 31, 33 55 90 20, style right tab 43
  edit "", 32, 125 52 80 20, tab 43
  button "Custom away", 33, 75 80 100 20, tab 43
  box "Custom nickchange", 34, 10 110 230 70, tab 43
  text "Nickchange suffix:", 35, 33 130 90 20, style right tab 43
  edit "", 36, 125 127 80 20, tab 43
  button "Custom nickchange", 37, 75 155 100 20, tab 43
  button "Away Stats", 54, 75 205 100 20, tab 43
  text "Away system v0.20", 38, 10 80 230 20, style center tab 3
  text "Made by Burnout", 39, 11 105 230 20, style center tab 3
  link "Website: http://www.disfunctional-studios.be", 40, 10 180 230 15, tab 3
  link "Forum: http://forum.disfunctional-studios.be", 41, 12 195 230 15, tab 3
  Icon 42, 25 215 203 24, minidsbanner.jpg, 0, tab 3
}

alias awsystem { dialog -dm away_system away_system }

on *:dialog:away_system:*:*:{
  if ($devent == init) { 
    if ( %awa_standard_nick == $null ) { set %awa_standard_nick $mnick }
    if ( %awa_prefix_nick == $null ) { awa_prefix_nick }
    if ( %awa_separator == $null) { set %awa_separator ` }
    if ( %awa_me_msg == 1 ) { did -c away_system 8 }
    if ( %awa_logger == 1 ) { did -c away_system 10 }
    if ( %awa_autoaway_onoff == 1 ) { did -c away_system 46 }
    if ( %awa_queryscript == 1 ) { did -c away_system 50 }
    did -o away_system 25 1 %awa_standard_nick
    did -o away_system 29 1 %awa_separator
    did -o away_system 53 1 %awa_separator_suffix
    did -o away_system 27 1 %awa_prefix_nick
    did -o away_system 32 1 %awa_custom_awa_suffix
    did -o away_system 36 1 %awa_custom_nickchange_suffix
    did -o away_system 48 1 Current auto-away time: $calc(%awa_autoaway_time / 60) minutes.
  }
  if ($devent == sclick) {
    if ($did(away_system,8).state) {
      set %awa_me_msg 1 
    }
    else {
      set %awa_me_msg 0
    }
    if ($did(away_system,10).state) {
      set %awa_logger 1 
    }
    else {
      set %awa_logger 0
    }
    if ($did(away_system,46).state) {
      set %awa_autoaway_onoff 1
    }
    else {
      set %awa_autoaway_onoff 0
    }
    if ($did(away_system,50).state) {
      set %awa_queryscript 1
    }
    else {
      set %awa_queryscript 0
    }
    if ($did == 13) { set %awa_msg $did(away_system,7).text | aw }
    if ($did == 5) { re }
    if ($did == 14) { set %awa_msg $did(away_system,7).text | eten }
    if ($did == 15) { set %awa_msg $did(away_system,7).text | brb }
    if ($did == 18) { busy }
    if ($did == 19) { study }
    if ($did == 20) { foon }
    if ($did == 21) { divx }
    if ($did == 22) { war }
    if ($did == 23) { offi }
    if ($did == 16) { set %awa_msg $did(away_system,7).text | asleep }
    if ($did == 24) { awa_standard_nick | did -o away_system 25 1 %awa_standard_nick }
    if ($did == 26) { awa_prefix_nick | did -o away_system 27 1 %awa_prefix_nick }
    if ($did == 28) { awa_separator | did -o away_system 29 1 %awa_separator }
    if ($did == 33) { 
      set %awa_custom_awa_suffix $did(away_system,32).text
      set %awa_msg $did(away_system,7).text
      awa_custom_awa
    }
    if ($did == 37) { set %awa_custom_nickchange_suffix $did(away_system,36).text | awa_custom_nickchange }
    if ($did == 49) { awa_autoaway_settime | did -o away_system 48 1 Current auto-away time: $calc(%awa_autoaway_time / 60) minutes. }
    if ($did == 52) { awa_separator_suffix | did -o away_system 53 1 %awa_separator_suffix }
    if ($did == 40) { url -n http://www.disfunctional-studios.be/ }
    if ($did == 41) { url -n http://forum.disfunctional-studios.be/ }
    if ($did == 54) { dialog -dm awa_stats awa_stats }
  }
}

dialog awa_stats {
  title "Away Stats"
  size -1 -1 205 150
  text "Times away:", 1, 10 10 100 15, style right
  text "", 4, 112 10 20 15
  text "Times auto-away:", 2, 10 25 100 15, style right
  text "", 5, 112 25 20 15, read
  text "Average away time:", 3, 10 40 100 15, style right
  text "", 6, 112 40 100 15
  text "Total away time:", 7, 10 55 100 15, style right
  text "", 8, 112 55 100 15
  button "Reset stats", 9, 50 75 100 20
  button "Show stats to chan", 10, 50 100 100 20
  button "CLOSE", 11, 60 125 80 20
}

on *:dialog:awa_stats:*:*:{
  if ($devent == init) { 
    if ( %awa_stats_times != $null ) { did -o awa_stats 4 1 %awa_stats_times }
    if ( %awa_stats_timesauto != $null ) { did -o awa_stats 5 1 %awa_stats_timesauto }
    did -o awa_stats 6 1 $duration($calc(%awa_stats_totalawatime / %awa_stats_times))
    did -o awa_stats 8 1 $duration(%awa_stats_totalawatime)
  }
  if ($devent == sclick) {
    if ($did == 9) { awa_stats_reset }
    if ($did == 10) { awa_stats_show }
    if ($did == 11) { dialog -x awa_stats }
  }
}

alias -l aw {
  nick %awa_prefix_nick $+ %awa_separator $+ AwAy $+ %awa_separator_suffix
  if ( $away == $true ) {
    set %awa_stats_totalawatime $calc(%awa_stats_totalawatime + $awaytime)
  }
  if ( %awa_msg == $null ) {
    set %awa_msg I'm not here ==> away!
  }
  away %awa_msg
  set %awa_start $ctime
  if ( %awa_me_msg == 1 ) {
    mee is away: %awa_msg
  }
  echo -a Marked as being away || Reason: %awa_msg (Away)
  .timer(autoaway) off 
  dialog -x away_system
}

alias -l eten  {
  nick %awa_prefix_nick $+ %awa_separator $+ F00D $+ %awa_separator_suffix
  if ( $away == $true ) {
    set %awa_stats_totalawatime $calc(%awa_stats_totalawatime + $awaytime)
  }
  if ( %awa_msg == $null ) {
    set %awa_msg I'm gone... eating!
  }
  away %awa_msg
  set %awa_start $ctime
  if ( %awa_me_msg == 1 ) {
    mee is away: %awa_msg
  }
  echo -a Marked as being away || Reason: %awa_msg (food)
  .timer(autoaway) off 
  dialog -x away_system
}

alias -l brb {
  nick %awa_prefix_nick $+ %awa_separator $+ BrB $+ %awa_separator_suffix
  if ( $away == $true ) {
    set %awa_stats_totalawatime $calc(%awa_stats_totalawatime + $awaytime)
  }
  if ( %awa_msg == $null ) {
    set %awa_msg Be Right Back!
  }
  away %awa_msg
  set %awa_start $ctime
  if ( %awa_me_msg == 1 ) {
    mee is away: %awa_msg
  }
  echo -a Marked as being away || Reason: %awa_msg (BrB)
  .timer(autoaway) off 
  dialog -x away_system
}

alias -l asleep {
  nick %awa_prefix_nick $+ %awa_separator $+ zZz $+ %awa_separator_suffix
  if ( $away == $true ) {
    set %awa_stats_totalawatime $calc(%awa_stats_totalawatime + $awaytime)
  }
  if ( %awa_msg == $null ) {
    set %awa_msg I am asleep... zzzzzzzzZZZZZZZZZZZzzzzzzzzzzz...!
  }
  away %awa_msg
  set %awa_start $ctime
  if ( %awa_me_msg == 1 ) {
    mee is away: %awa_msg
  }
  echo -a Marked as being away || Reason: %awa_msg (asleep)
  .timer(autoaway) off 
  dialog -x away_system
}

alias -l busy {
  nick %awa_prefix_nick $+ %awa_separator $+ Busy $+ %awa_separator_suffix
  if ($away == $true) {
    .away
    unset %awa_msg
    resetidle    
    .timer(autoaway) 0 1 awa_autoaway_check
  }
  dialog -x away_system
}

alias -l study {
  nick %awa_prefix_nick $+ %awa_separator $+ Study $+ %awa_separator_suffix
  if ($away == $true) {
    .away
    unset %awa_msg
    resetidle
    .timer(autoaway) 0 1 awa_autoaway_check
  }
  dialog -x away_system
}

alias -l offi {
  nick %awa_prefix_nick $+ %awa_separator $+ Offi $+ %awa_separator_suffix
  if ($away == $true) {
    .away
    unset %awa_msg
    .timer(autoaway) 0 1 awa_autoaway_check
    resetidle
  }
  dialog -x away_system
}

alias -l divx {
  nick %awa_prefix_nick $+ %awa_separator $+ DivX $+ %awa_separator_suffix
  if ($away == $true) {
    .away
    unset %awa_msg
    .timer(autoaway) 0 1 awa_autoaway_check
    resetidle
  }
  dialog -x away_system
}

alias -l foon {
  nick %awa_prefix_nick $+ %awa_separator $+ phone $+ %awa_separator_suffix
  if ($away == $true) {
    .away
    unset %awa_msg
    .timer(autoaway) 0 1 awa_autoaway_check
    resetidle
  }
  dialog -x away_system
}

alias -l war {
  nick %awa_prefix_nick $+ %awa_separator $+ WaR $+ %awa_separator_suffix
  if ($away == $true) {
    .away
    unset %awa_msg
    .timer(autoaway) 0 1 awa_autoaway_check
    resetidle
  }
  dialog -x away_system
}

alias re {
  if ( %awa_standard_nick == $me ) { echo -a You are not away!!! }
  nick %awa_standard_nick
  set %awa_awaytime $duration($calc($ctime - %awa_start))
  if ( $away == $true ) {
    if ( %awa_me_msg == 1 ) {
      mee is BACK after %awa_awaytime from: %awa_msg
    }
    if (%awa_stats_autoawa == 1) {
      inc %awa_stats_timesauto
      unset %awa_stats_autoawa
    }
    inc %awa_stats_times
    set %awa_stats_totalawatime $calc(%awa_stats_totalawatime + $awaytime)
    away 
    .timer(autoaway) 0 1 awa_autoaway_check
    resetidle
    echo -a Marked as being BACK after %awa_awaytime !
    unset %awa_awaytime
    unset %awa_msg
  }
}

alias -l awa_standard_nick {
  %awa_standard_nick = $input(Give a nickname (leave blank for default nick):,1,Nickname set! )
  if ( !%awa_standard_nick ) { %awa_standard_nick = $mnick }
}

alias -l awa_prefix_nick {
  %awa_prefix_nick = $input(Give the away prefix (leave blank for default nick):,1,Away prefix set! )
  if ( !%awa_prefix_nick ) { %awa_prefix_nick = $mnick }
}

alias -l awa_separator {
  %awa_separator = $input(Give a separator: (leave blank for default separator):,1,Separator set!)
  if ( !%awa_separator ) { set %awa_separator ` }
}

alias -l awa_separator_suffix {
  %awa_separator_suffix = $input(Give the suffix of the separator: (leave blank for no suffix separator):,1,Separator suffix set!)
  if (!%awa_separator_suffix) { set %awa_separator_suffix }
}

alias -l awa_custom_awa {
  nick %awa_prefix_nick $+ %awa_separator $+ %awa_custom_awa_suffix $+ %awa_separator_suffix
  if ( %awa_msg != $null ) {
    away %awa_msg
  }
  else {
    set %awa_msg Ik ben er niet! ( %awa_custom_awa_suffix )
  }
  away %awa_msg
  set %awa_start $ctime
  if ( %awa_me_msg == 1 ) {
    mee is away: %awa_msg
  }
  echo -a Marked as being away || Reason: %awa_msg ( %awa_custom_awa_suffix )
  dialog -x away_system
}

alias -l awa_custom_nickchange {
  nick %awa_prefix_nick $+ %awa_separator $+ %awa_custom_nickchange_suffix $+ %awa_separator_suffix
  if ($away == $true) {
    away
  }
  dialog -x away_system
}


alias awa_autoaway_check {
  if ( %awa_autoaway_onoff == 1) {
    if ( $idle >= %awa_autoaway_time ) {
      nick %awa_prefix_nick $+ %awa_separator $+ AwAy $+ %awa_separator_suffix
      set %awa_msg Auto away after $duration(%awa_autoaway_time)
      away %awa_msg
      set %awa_start $ctime
      set %awa_stats_autoawa 1
      if ( %awa_me_msg == 1 ) {
        mee auto away after $duration(%awa_autoaway_time)
      }
      echo -a Marked as being away || Reason: %awa_msg
      .timer(autoaway) off   
    }
  }
}


alias -l awa_autoaway_settime {
  %awa_autoaway_time = $calc( $input(Give the auto-away time in minutes:,1,Auto-away set!) * 60 ) 
  if ( !%awa_autoaway_time ) { set %awa_autoaway_timer 0 }

}


on *:TEXT:*:#:{
  IF ($me isin $1- || %awa_standard_nick isin $1-) { 
    IF (%awa_logger == 1) && ($away == $true) { 
      if ($window(@Away.log) == $null) {
        window -l @Away.log 200 200 630 200 Arial 12
      }
      aline -c15 @Away.log :: $+ $time $+ ::  $+ $chan $+ :: < $+ $nick $+ > $1-
    }
  }
}

alias -l shortdur {
  if ($prop == nosec) { return $replace($duration($1-,2),wks,w,wk,w,days,d,day,d,hrs,h,hr,h,mins,m,min,m,secs,s,sec,s) }
  else { return $replace($duration($1-),wks,w,wk,w,days,d,day,d,hrs,h,hr,h,mins,m,min,m,secs,s,sec,s) }
}

alias -l awaytime { return $+($remove($shortdur($calc($ctime - %away.set. [ $+ [ $cid ] ] )).nosec,$chr(32))) }
on *:open:?:*:{
  if ( %awa_queryscript == 1 ) {
    inc %querynumber
    if (!$istok(-psybnc o l q f,$nick,32)) {
      if (!$away) { msg $nick 11::: I am not away. My idle time: 8( $+ $shortdur($idle) $+ 8). Please wait a few minutes or write me a mail to: 8( $+  $+ %mailaddy $+  $+ 8). Thank you. 11::: }
      else { msg $nick 11::: I am away, reason: 8( $+ $awaymsg $+ 8) $+ . Since: 8( $+ $duration($awaytime) $+ 8). Your message will be logged. You can write me a mail to: 8( $+  $+ $iif(%mailaddy,%mailaddy,$emailaddr) $+  $+ 8). 11::: }
      msg $nick 11::: Active Queries: 8( $+ $query(0) $+ 8) $+ . Queries since $asctime(%install.time,dd.mm.yyyy) $+ :  8( $+ %querynumber $+ 8) $+ . Queries per day 8( $+ $round($calc(%querynumber /(($ctime -%install.time)/86400)),1) $+ 8) 11:::
    }
  }
}

alias -l mee {
  if ($isid) { return }
  .!describe $active $1-
  if (!$show) { return }
  set -u1 %:echo echo $color(action) -ati2
  set -nu1 %::text $1- | set -u1 %::target $active | set -u1 %::nick $me
  set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
  set -nu1 %::pre 12•11•0
  set -nu1 %::c1 11 | set -nu1 %::c2 12 | set -nu1 %::c3 00 | set -nu1 %::c4 02
  if (* iswm %::text) { set -nu1 %::parentext ( $+ %::text $+ ) }
  if ($active ischan) {
    set -u1 %::chan $active
    if ($nick($active, $me).pnick != $me) { set -u1 %::cmode $left($ifmatch, 1) }
    set -u1 %::cnick $nick($active, $me).color
  }
  %:echo * $+ %::cmode $+ %::me %::text $+ %:comments
  unset %:echo %::parentext %::target %::nick %::chan %::cnick %::cmode %::me %::server %::port %::pre %::c? %::text
}

ctcp 1:version:*:{ .ctcpreply $nick  :: Using Away System v0.20 (by Burnout) :: Powered by Disfunctional-studios :: http://www.disfunctional-studios.be ::  }

alias -l updcheck { sockopen updcheck disfunctional-studios.be 80 }

on *:sockopen:updcheck:{ 
  sockwrite -n $sockname GET /projects/away_system/versioncheck.html HTTP/1.1 
  sockwrite -n $sockname Host: www.disfunctional-studios.be
  sockwrite -n $sockname User-agent: mIRC/ $+ $version
  sockwrite -n $sockname $crlf
  set %gogo 1
}

on *:sockread:updcheck:{ 
  if ($sockerr > 0) { return }
  var %tmp | sockread %tmp
  if (Latest version isin %tmp ) { set %tmpver $matchtok(%tmp,v,2,32) | set %ver $deltok(%tmpver,0,118) }
  if (%ver <= 0.20 && %gogo == 1) {
    echo -a Away System (Disfunctional-Studios.be) VERSION CHECK: v $+ %ver OK!
    unset %gogo
  }
  elseif (%ver > 0.20 && %gogo == 1) {
    echo -a Away System (Disfunctional-Studios.be) VERSION CHECK: You are using an old version, v $+ %ver available!
    unset %gogo
  }
  unset %tmpver
  unset %ver
}

alias -l awa_stats_reset {
  dialog -x awa_stats
  set %awa_stats_totalawatime 0
  set %awa_stats_times 0
  set %awa_stats_timesauto 0
  dialog -dm awa_stats awa_stats
}

alias -l awa_stats_show {
  mee AWAY STATS: -- Times away: %awa_stats_times -- Times auto-away: %awa_stats_timesauto -- Total away time: $duration(%awa_stats_totalawatime) -- Average away time: $duration($calc(%awa_stats_totalawatime / %awa_stats_times)) --
}

on 1:EXIT: {
  if (%awa == 1) {
    .away
    unset %awa_msg
  }
}

ON *:UNLOAD: {
  .timer(autoaway) off
}