;-==========
;-== Calculator 1.0 by Flv
;-== To load, type: /load -rs calc.mrc
;-== To unload, type: /unload -rs calc.mrc
;-== /calc to open!
;-==Thanks! (http://flv.cjb.net)
-===========
on 1:load: {
  if ($version < 5.31) {
    echo -a 2,0*** Impossible load Calculator 1.0, your mIRC version ( $+ $vrsion $+ ) is not compatible!!
    echo -a 2,0*** Unloading... | unload -rs calc.mrc
  }
  else {
    echo -a 2,0*** Loaded: calc.mrc! | echo -a 2,0*** Calculator 1.0 by vVv
  }
}
alias draw.button {
  if ($2 == 1) {
    drawrect -r $1 $rgb(192,192,192) 1 $3 $4 $5 $6
  }
  if ($2 == 2) {
    drawrect -r $1 $rgb(127,127,127) 1 $3 $4 $5 $6
    drawline -r $1 $rgb(255,255,255) 1 $3 $4 $calc( $3 + $5 +1 ) $4
    drawline -r $1 $rgb(255,255,255) 1 $3 $4 $3 $calc( $4 + $6 )
  }
  if ($2 == 3) {
    drawrect -r $1 $rgb(255,255,255) 1 $3 $4 $5 $6
    drawline -r $1 $rgb(127,127,127) 1 $3 $4 $calc( $3 + $5 ) $4
    drawline -r $1 $rgb(127,127,127) 1 $3 $4 $3 $calc( $4 + $6 +1 )
  }
}
alias draw.realbutton {
  if ($2 == 1) {
    drawline -r $1 $rgb(192,192,192) 1 $calc( $3 -1) $calc( $4 -1) $calc( $3 + $5 +1 ) $calc( $4 -1)
    drawline -r $1 $rgb(192,192,192) 1 $calc( $3 -1) $calc( $4 -1) $calc( $3 -1) $calc( $4 + $6 )
    drawrect -r $1 $rgb(192,192,192) 1 $calc( $3 +1) $calc( $4 +1) $calc( $5 -1) $calc( $6 -1)
    drawrect -r $1 $rgb(0,0,0) 1 $3 $4 $calc( $5 +1) $calc( $6 +1)
    drawrect -r $1 $rgb(127,127,127) 1 $3 $4 $5 $6
    drawline -r $1 $rgb(255,255,255) 1 $3 $4 $calc( $3 + $5 +1 ) $4
    drawline -r $1 $rgb(255,255,255) 1 $3 $4 $3 $calc( $4 + $6 )
  }
  if ($2 == 2) {
    drawrect -r $1 $rgb(192,192,192) 1 $3 $4 $calc( $5 +1) $calc( $6 +1)
    drawrect -r $1 $rgb(255,255,255) 1 $3 $4 $5 $6
    drawline -r $1 $rgb(127,127,127) 1 $3 $4 $calc( $3 + $5 ) $4
    drawline -r $1 $rgb(127,127,127) 1 $3 $4 $3 $calc( $4 + $6 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 -1) $calc( $4 -1) $calc( $3 + $5 +1) $calc( $4 -1)
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 -1) $calc( $4 -1) $calc( $3 -1) $calc( $4 + $6 +1)
  }
}
alias draw.checkbox {
  if ($2 == 1) {
    drawrect -r $1 $rgb(255,255,255) 1 $3 $4 12 12
    drawrect -rf $1 $rgb(255,255,255) 1 $calc( $3 + 2 ) $calc( $4 + 2 ) 8 8
    drawline -r $1 $rgb(127,127,127) 1 $3 $4 $calc( $3 + 12 ) $4
    drawline -r $1 $rgb(127,127,127) 1 $3 $4 $3 $calc( $4 + 12 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 1 ) $calc( $4 + 1 ) $calc( $3 + 11 ) $calc( $4 + 1 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 1 ) $calc( $4 + 1 ) $calc( $3 + 1 ) $calc( $4 + 11 )
  }
  if ($2 == 2) {
    drawrect -r $1 $rgb(255,255,255) 1 $3 $4 12 12
    drawrect -rf $1 $rgb(255,255,255) 1 $calc( $3 + 2 ) $calc( $4 + 2 ) 8 8
    drawline -r $1 $rgb(127,127,127) 1 $3 $4 $calc( $3 + 12 ) $4
    drawline -r $1 $rgb(127,127,127) 1 $3 $4 $3 $calc( $4 + 12 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 1 ) $calc( $4 + 1 ) $calc( $3 + 11 ) $calc( $4 + 1 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 1 ) $calc( $4 + 1 ) $calc( $3 + 1 ) $calc( $4 + 11 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 3 ) $calc( $4 + 5 ) $calc( $3 + 3 ) $calc( $4 + 8 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 4 ) $calc( $4 + 6 ) $calc( $3 + 4 ) $calc( $4 + 9 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 5 ) $calc( $4 + 7 ) $calc( $3 + 5 ) $calc( $4 + 10 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 6 ) $calc( $4 + 6 ) $calc( $3 + 6 ) $calc( $4 + 9 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 7 ) $calc( $4 + 5 ) $calc( $3 + 7 ) $calc( $4 + 8 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 8 ) $calc( $4 + 4 ) $calc( $3 + 8 ) $calc( $4 + 7 )
    drawline -r $1 $rgb(0,0,0) 1 $calc( $3 + 9 ) $calc( $4 + 3 ) $calc( $3 + 9 ) $calc( $4 + 6 )
} }
alias calculator { calc }
alias calc { calc2 }
alias calc2 {
  unset %calc.* | set %cd @Calculator
  window -c %cd
  window -ap %cd 180 70 227 205 @Calculator
  drawfill %cd 15 15 0 0
  drawrect %cd 1 1 0 0 218 177
  draw.realbutton %cd 1 13 13 26 26
  draw.realbutton %cd 1 48 13 26 26
  draw.realbutton %cd 1 83 13 26 26
  draw.realbutton %cd 1 118 13 26 26
  draw.realbutton %cd 1 153 13 26 26
  draw.realbutton %cd 1 13 50 26 26
  draw.realbutton %cd 1 48 50 26 26
  draw.realbutton %cd 1 83 50 26 26
  draw.realbutton %cd 1 118 50 26 26
  draw.realbutton %cd 1 153 50 26 26
  drawtext -of %cd 1 arial 15 23 19 1
  drawtext -of %cd 1 arial 15 57 19 2
  drawtext -of %cd 1 arial 15 92 19 3
  drawtext -of %cd 1 arial 15 127 19 4
  drawtext -of %cd 1 arial 15 162 19 5
  drawtext -of %cd 1 arial 15 23 55 6
  drawtext -of %cd 1 arial 15 57 55 7
  drawtext -of %cd 1 arial 15 92 55 8
  drawtext -of %cd 1 arial 15 127 55 9
  drawtext -of %cd 1 arial 15 162 55 0
  draw.realbutton %cd 1 12 85 26 26
  draw.realbutton %cd 1 47 85 26 26
  draw.realbutton %cd 1 84 85 26 26
  draw.realbutton %cd 1 119 85 26 26
  draw.realbutton %cd 1 153 85 26 26
  drawtext -of %cd 2 arial 17 20 89 +
  drawtext -of %cd 2 arial 17 56 90 -
  drawtext -of %cd 2 arial 17 93 90 
  drawtext -of %cd 2 arial 17 129 90 /
  drawtext -of %cd 2 arial 17 162 92 =
  draw.button %cd 3 6 141 203 26
  draw.realbutton %cd 1 130 118 65 17
  drawtext -of %cd 1 arial 15 142 119 Clear
  unset %calc.*
}
menu @Calculator {
  sclick {
    if ($inrect($mouse.x,$mouse.y,13,13,26,26) == $true) {
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 1 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 1 }
      draw.realbutton %cd 2 13 13 26 26 | draw.realbutton %cd 1 13 13 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,130,118,65,17) == $true) {
      draw.realbutton %cd 2 130 118 65 17 | draw.realbutton %cd 1 130 118 65 17
      drawrect -f %cd 15 100 10 144 197 19
      unset %calc.*
    }
    elseif ($inrect($mouse.x,$mouse.y,48,13,26,26) == $true) {
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 2 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 2 }
      draw.realbutton %cd 2 48 13 26 26 | draw.realbutton %cd 1 48 13 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,83,13,26,26) == $true) {
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 3 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 3 }
      draw.realbutton %cd 2 83 13 26 26 | draw.realbutton %cd 1 83 13 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,118,13,26,26) == $true) {
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 4 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 4 }
      draw.realbutton %cd 2 118 13 26 26 | draw.realbutton %cd 1 118 13 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,153,13,26,26) == $true) {
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 5 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 5 }
      draw.realbutton %cd 2 153 13 26 26 | draw.realbutton %cd 1 153 13 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,13,50,26,26) == $true) {
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 6 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 6 }
      draw.realbutton %cd 2 13 50 26 26 | draw.realbutton %cd 1 13 50 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,48,50,26,26) == $true) {
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 7 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 7 }
      draw.realbutton %cd 2 48 50 26 26 | draw.realbutton %cd 1 48 50 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,83,50,26,26) == $true) {
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 8 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 8 }
      draw.realbutton %cd 2 83 50 26 26 | draw.realbutton %cd 1 83 50 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,118,50,26,26) == $true) { 
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 9 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 9 }
      draw.realbutton %cd 2 118 50 26 26 | draw.realbutton %cd 1 118 50 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,153,50,26,26) == $true) { 
      if ($len(%calc.num1) > 6) && (%calc.sin == $null) { beep | halt }
      if ($len(%calc.num2) > 6) { beep | halt }
      if (%calc.num1 == $null) || (%calc.sin == $null) { set %calc.num1 %calc.num1 $+ 0 }
      elseif (%calc.sin != $null) { set %calc.num2 %calc.num2 $+ 0 }
      draw.realbutton %cd 2 153 50 26 26 | draw.realbutton %cd 1 153 50 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2
    }
    elseif ($inrect($mouse.x,$mouse.y,12,85,26,26) == $true) { 
      if (%calc.num1 == $null) { beep | halt }
      if (%calc.num2 != $null) { beep | halt }
      set %calc.sin +
      set %calc.sin1 +
      draw.realbutton %cd 2 12 85 26 26 | draw.realbutton %cd 1 12 85 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin
    }
    elseif ($inrect($mouse.x,$mouse.y,47,85,26,26) == $true) { 
      if (%calc.num1 == $null) { beep | halt }
      if (%calc.num2 != $null) { beep | halt }
      set %calc.sin -
      set %calc.sin1 -
      draw.realbutton %cd 2 47 85 26 26 | draw.realbutton %cd 1 47 85 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin
    }
    elseif ($inrect($mouse.x,$mouse.y,84,85,26,26) == $true) { 
      if (%calc.num1 == $null) { beep | halt }
      if (%calc.num2 != $null) { beep | halt }
      set %calc.sin x
      set %calc.sin1 *
      draw.realbutton %cd 2 84 85 26 26 | draw.realbutton %cd 1 84 85 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 x
    }
    elseif ($inrect($mouse.x,$mouse.y,119,85,26,26) == $true) { 
      if (%calc.num1 == $null) { beep | halt }
      if (%calc.num2 != $null) { beep | halt }
      set %calc.sin /
      set %calc.sin1 /
      draw.realbutton %cd 2 119 85 26 26 | draw.realbutton %cd 1 119 85 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin
    }
    elseif ($inrect($mouse.x,$mouse.y,153,85,26,26) == $true) { 
      if (%calc.num1 == $null) { beep | halt }
      if (%calc.num2 = $null) { beep | halt }
      if (%calc.sin = $null) { beep | halt }
      %calc.resu = %calc.num1 %calc.sin1 %calc.num2
      draw.realbutton %cd 2 153 85 26 26 | draw.realbutton %cd 1 153 85 26 26
      drawrect -f %cd 15 100 10 144 197 19
      drawtext -f %cd 6 arial 14 14 146 %calc.num1 %calc.sin %calc.num2 = %calc.resu
      unset %calc.*
    }
    else { beep }
  }
  Close Calculator:window -c $active
}
menu menubar,query,channel {
  Calculator 1.0:calc
}
;-=======
;-===========
;-==============

