IRcap — File Browser

ircap871-mircscripts_2799 / ircap871-mircscripts_2799 / mod / Billar / Billar.mrc

Billar.mrc — 22.71 KB — Download this file

;IRcap8 426d1eccb895b80cdb7b6315655114af

#BILLAR off
alias Billar {
  unset %billar* | hfree -w Billar* | hmake billar

  %billar.p1 = $me
  %billar.p2 = $1
  if %billar.p2 == $me { %billar.p1 = $upper($me) | %billar.p2 = $lower($me) | %tmp.billar.iniy = 20 }
  %billar.pt1 = 0 
  %billar.pt2 = 0 

  hadd billar 1 9991200000
  var %a = 0,6,10,14,2,1,3,9,15,4,11,13,5,12,8,7
  var %i = 2 , %x = 271 , %y = $calc(110 + %tmp.billar.iniy) , %yy = %y , %n = 1 , %nn = 1 | :L1
  hadd billar %i %x $+  $+ %y  $+ 000 $+ $gettok(%a,%i,44)  | 

  inc %y 18 | dec %n | if (%n < 1) { inc %nn | %n = %nn | inc %x 18 | dec %yy 10 | %y = %yy }

  inc %i | if (%i <= 16) goto L1
  unset %tmp.billar.iniy

  if (!$window(@billar)) guiwin @billar c c 510 520 $upper($left($m(541),1)) $+ $mid($m(541),2,99)

  var %a = %skinr | %skinr = 16 | cuagi @billar 114 359 290 20 $rgb(40,40,40) | %skinr = %a

  %billar.tx = 20 487 354 billar.chat
  %billar.ls1 = 20 400 334 6 1 0 billarnosel @billar1
  window -hl @billar1
  billar.boton

  guilista @billar billar.ls1
  guidib @billar

  window -wa @billar

  billar.dib F

  %billar.turno = 2
  %billar.t.pri = 1
  %billar.retador = 1
  if ($2) { %billar.turno = 1 | %billar.retador = 2 }
  billar.turno
  unset %billar.msg | billar.txt $strip($timestamp) $mg(11)  $mg(9,[ % $+ [ billar.p $+ [ %billar.turno ] ] ])
  var %a = $billar.stat(v,%billar.p2) | billarchat  $+ -- $mg(13,$gettok(%a,1,32)) -- $fulldate -- | billarchat $mg(14,%billar.p2,$gettok(%a,4,32),$gettok(%a,5,32),$gettok(%a,6,32))
}

alias -l billar.boton {
  cuag @billar 382 398 108 105 $gettok(%gui.cc,1,44)
  %billar.op = 388 456 sombrabillar/billar.dib $mg(15)
  %billar.bt = 390 404 80 billar.menu_EWn $mg(16) |390 430 80 billar.menu_j $mg(17) $iif(%billar.retador == 4 || %billar.p2 == $me,$chr(124) $+ 390 476 80 billar.menu_rn $mg(18))
}

alias billar.dib {
  var %xi = 30 , %yi = 100
  drawpic -cn @billar %xi %yi mod\billar\mesa.png

  if (%sombrabillar == on) {
    var %i = 1 | :L1s | var %a = $hget(billar,%i) , %x = $gettok(%a,1,22) , %y = $gettok(%a,2,22),  %b = 16 , %dx = $int($calc((225 - %x) / 32)) , %dy = $int($calc((124 - %y) / 24))
    if (%a) { drawpic -cnt @billar 65280 $calc(%xi + %x - %dx - 8) $calc(%yi + %y - %dy - 8) $calc(%b * 16) 0 16 16 mod\billar\bolas.bmp | inc %i | inc %p 16 | goto L1s }
  }
  var %i = 1 | :L1 | var %a = $hget(billar,%i) , %x = $gettok(%a,1,22) , %y = $gettok(%a,2,22),  %b = $gettok(%a,6,22)
  if (%a) { drawpic -cnt @billar 65280 $calc(%xi + %x - 8) $calc(%yi + %y - 8) $calc(%b * 16) 0 16 16 mod\billar\bolas.bmp | inc %i | inc %p 16 | goto L1 }

  if (%billar.dibx) { %billar.dibx | unset %billar.dibx }

  drawline @billar
}


alias -l billar.mov {
  inc %nocho
  var %i = 1 | :L1

  if (%tmp.mw <= %w) { %tmp.mw = %w }
  if (%tmp.mh <= %h) { %tmp.mh = %h }
  if (%tmp.mf <= %f) { %tmp.mf = %f }

  if (%tmp.nw >= %w) { %tmp.nw = %w }
  if (%tmp.nh >= %h) { %tmp.nh = %h }
  if (%tmp.nf >= %f) { %tmp.nf = %f }

  var %a = $hget(billar,%i)
  if (%a) {
    var %F = $gettok(%a,5,22)
    if (%F != 0) {
      var %x = $gettok(%a,1,22) , %y = $gettok(%a,2,22) , %w = $gettok(%a,3,22) , %h = $gettok(%a,4,22) , %n = $gettok(%a,6,22) , %xx = %x , %yy = %y
      %x = $calc(%x + (%w * %F)) | %y = $calc(%y + (%h * %F))
      dec %F 0.05 | if (%F < 0) { %F = 0 | %w = 0 | %h = 0 | %x = $int(%x) | %y = $int(%y) }

      var %ii = 1 | :L2
      var %b = $hget(billar,%ii)
      if (%b) {
        if (%i != %ii) { 
          var %bx = $gettok(%b,1,22) , %by = $gettok(%b,2,22)

          if ($abs($calc(%x - %bx)) < 16) { if ($abs($calc(%y - %by)) < 16) {

              if ($inroundrect(%x,%y,$calc(%bx - 16),$calc(%by - 16),32,32,32,32)) {

                if (%x == %xx) && (%y == %yy) goto KK2

                %x = %xx | %y = %yy
                var %ide = 24 | while (%ide > 0) {
                                    %x = $calc(%x + %w) | %y = $calc(%y + %h)
                  if ($inroundrect(%x,%y,$calc(%bx - 17),$calc(%by - 17),34,34,34,34)) goto KK2
                  dec %ide
                }
                :KK2


                var %bw = $gettok(%b,3,22) , %bh = $gettok(%b,4,22) , %bF = $gettok(%b,5,22) , %bn = $gettok(%b,6,22) , %bxx = %bx , %byy = %by , %bww = %bw , %bhh = %bh

                if (!%billar.t.pri) { %billar.t.pri = %bn | if (%billar.prix = 999) { %billar.prix = %bx } }
                if (%nocho > 8) { if %sloc == on splay " $+ $mircdirmod\billar\taco $+ $iif(%f < 7,2.wav",.wav") | %nocho = 1 }

                var %dx = $calc(%bx - %x) , %dy = $calc(%by - %y) , %m = $abs(%dx)
                if ($abs(%dy) > %m) { %m = $abs(%dy) } |  var %dx = $calc(%dx / %m) , %dy = $calc(%dy / %m)

                var %z = $abs(%dx) | if ($abs(%dy) > %z) { %z = $abs(%dy) } | %dx = $calc(%dx / %z) | %dy = $calc(%dy / %z) 

                var %m = $abs(%w) | if ($abs(%h) > %m) { %m = $abs(%h) } | var %w = $calc(%w / %m) , %h = $calc(%h / %m) , %f = $calc(%f * %m) 

                var %m = 1
                var %m = $abs(%dx) | if ($abs(%dy) > %m) { %m = $abs(%dy) } | var %dx = $calc(%dx / %m) , %dy = $calc(%dy / %m)
                hadd billar %ii %bx $+  $+ %by $+  $+ %dx  $+  $+ %dy $+  $+ $calc((%f / 1.2) * %m) $+  $+ %bn

                %f = $calc(%f / 1.2)

                %w = $calc(%w - (%dx / 1.2) + (%bww / 1.1))
                %h = $calc(%h - (%dy / 1.2) + (%bhh / 1.1))

                var %z = $abs(%w) | if ($abs(%h) > %z) { %z = $abs(%h) } | %z = $calc(1 / %z)
                var %ff = $calc(%f / %z) | if (%ff < %f) { %f = %ff }
                %x = %xx | %y = %yy
              }
            }
          } 
        }
        inc %ii | goto L2
      }
      if (%x > 418) || (%x < 32) { var %g = $billar.bordes(%x,%y,%i,%f) | if (!%g) { %w = $calc(%w * -1) | %x = %xx | %f = $calc(%f / 1.2) } | else { %w = $calc($gettok(%g,1,32) / 4) | %h = $calc($gettok(%g,2,32) / 4) | %f = $calc($gettok(%g,3,32) * 4) } | if (%i == 1) && (%x > 390) { unset %billar.prix } }
      if (%y > 216) || (%y < 32) { var %g = $billar.bordes(%x,%y,%i,%f) | if (!%g) { %h = $calc(%h * -1) | %y = %yy  |  %f = $calc(%f / 1.2) } | else { %w = $calc($gettok(%g,1,32) / 4) | %h = $calc($gettok(%g,2,32) / 4) | %f = $calc($gettok(%g,3,32) * 4) } }

      hadd billar %i %x $+  $+ %y $+  $+ %w $+  $+ %h $+  $+ %F $+  $+ %n

      var %SI = on
    }
    inc %i | goto L1
  }

  if (%billar.entro) {
    var %p = $calc(74 + ($hget(billar,0).item * 18))
    var %n = 1 | :L7 | var %i = $gettok(%billar.entro,%n,32) | if (%i) {
      var %b = $gettok($hget(billar,%i),6,22)
      if (%b != 0) { hadd billar %i %p $+ 270000 $+ %b | dec %p 18 }

      if (%b != 0) { %billar.tmp.entro. [ $+ [ %b ] ] = 114 | if (!%billar.tmp.cuela) { %billar.tmp.cuela = 1 } | .timer -m 1 %billar.tmp.cuela .timerBILLAR.CUELA. $+ %b -m $calc($hget(billar,0).item * 2 + 2) 30 billar.cuela %b | inc %billar.tmp.cuela 150 }

      if %sloc == on splay " $+ $mircdirmod\billar\punto.wav"
      inc %n | goto L7
    }
    var %n = 1 | :L8 | var %i = $gettok(%billar.entro,%n,32) | if (%i) {
      billar.quita1 %i
      inc %n | goto L8
    }
    billar.dib
    unset %billar.entro
  }
  if (%SI) { billar.dib | return }
  %tmp.mw = 0 | %tmp.mh = 0 | %tmp.mf = 0 | %tmp.nw = 0 | %tmp.nh = 0 | %tmp.nf = 0

  timerBILLAR off
  billar.recoge
  billar.TURNO
  billar.qe
}

alias -l billar.bordes {
  var %g = 20,20,226,14,430,20,20,227,226,232,430,227 , %i = 1
  :L1
  var %x = $gettok(%g,%i,44) , %y = $gettok(%g,$calc(%i + 1),44)
  if (%x) {
    if ($abs($calc($1 - %x)) < 4) && ($abs($calc($2 - %y)) < 4) {
      if (!$findtok(%billar.entro,$3,32)) { %billar.entro = %billar.entro $3 | %billar.entrog = %billar.entrog $int($calc(%i / 2 + 1)) }
      return 0 0 0
    }
    if ($abs($calc($1 - %x)) < 18) && ($abs($calc($2 - %y)) < 18) {
      var %dx = $calc(%x - $1) , %dy = $calc(%y - $2)
      var %i = $abs(%dx) | if ($abs(%dy) > %i) { %i = $abs(%dy) }
      return $calc(%dx / %i) $calc(%dy / %i) $iif($4 > 4,4,$4) %i
    }
    inc %i 2 | goto L1
  }
}

alias -l billar.recoge {
  var %i = 1 | :L1 | var %a = $hget(billar,%i) , %x = $gettok(%a,1,22) , %y = $gettok(%a,2,22)
  var %w = $gettok(%a,3,22) , %h = $gettok(%a,4,22) , %F = $gettok(%a,5,22) , %n = $gettok(%a,6,22)
  if (%a) { 
    if (%x < 32) { %x = 32 }
    if (%x > 418) { if (%x != 999) { %x = 418 } }
    if (%y < 32) { %y = 32 }
    if (%y > 216) { %y = 216 }
    hadd billar %i %x $+  $+ %y $+  $+ %w $+  $+ %h $+  $+ %F $+  $+ %n
    inc %i | goto L1 
  }
  billar.dib
}

alias -l billar.quita1 {
  %billar.t.coladas = %billar.t.coladas $gettok($hget(billar,$1),6,22)
  if $1 == 1 { hadd billar 1 999125000 | return }
  var %i = $1 | :L1
  var %a = $hget(billar,$calc(%i + 1)) | if (%a) { hadd billar %i %a | inc %i | goto L1 }
  hdel billar %i
}

alias -l billar.cuela {
  var %x = %billar.tmp.entro. [ $+ [ $1 ] ]
  if (%x > 114)  drawrect -nrf @billar 2631720 1 %x 362 16 16 8 8
  inc %x 8
  %billar.tmp.entro. [ $+ [ $1 ] ] = %x
  drawpic -cnt @billar 65280 %x 362 $calc($1 * 16) 0 16 16 mod\billar\bolas.bmp
  drawline @billar
}

alias -l billar.apunta {
  if ($gettok($hget(billar,1),1,22) == 999) { if (%billar.turno == 2) && (%billar.p2 != $me) { .timerBILLAR off | return } | .timerBILLAR -moi 0 40 billar.recoloca | return }

  var %xi = 30 , %yi = 100
  var %xp = $mouse.x , %yp = $calc($mouse.y - 8)
  if ($inrect(%xp,%yp,$calc(%xi + 2),$calc(%yi + 2),446,242)) && ($mouse.win == @billar) && (%billar.xyr != %xp %yp) {
    %billar.dibx = billar.apunta2
    billar.dib F
    %billar.xyr = %xp %yp 
  }
}

alias -l billar.apunta2 {
  var %xi = 30 , %yi = 100
  var %xp = $mouse.x , %yp = $calc($mouse.y - 8)
  if ($inrect(%xp,%yp,$calc(%xi + 2),$calc(%yi + 2),446,242)) && ($mouse.win == @billar) {

    var %g = 20,20,226,14,430,20,20,227,226,232,430,227
    if (%billar.turno == 1) && (%billar.agu1) { var %i = $int($calc(%billar.agu1 * 2 - 1)) , %gx = $gettok(%g,%i,44) , %gy = $gettok(%g,$calc(%i + 1),44) }
    if (%billar.turno == 2) && (%billar.agu2) { var %i = $int($calc(%billar.agu2 * 2 - 1)) , %gx = $gettok(%g,%i,44) , %gy = $gettok(%g,$calc(%i + 1),44) }
    if (%gx) { drawrect -er @billar $rgb(255,0,0) 1 $calc(%gx + %xi - 5) $calc(%gy + %yi - 5) 11 11 }

    drawline -r @billar 0 1 $calc($gettok($hget(billar,1),1,22) + %xi) $calc($gettok($hget(billar,1),2,22)  + %yi) %xp %yp
    drawrect -fer @billar $rgb(210,210,255) 1 $calc(%xp - 2) $calc(%yp - 2) 5 5
    drawrect -er @billar 0 1 $calc(%xp - 2) $calc(%yp - 2) 5 5

    var %mx = $calc($mouse.x - 30) , %my = $calc($mouse.y - 108)
    var %a = $hget(billar,1) , %x = $gettok(%a,1,22) , %y = $gettok(%a,2,22)
    var %dx = $calc(%mx - %x) , %dy = $calc(%my - %y)
    %billar.fuerza = $calc(($abs(%dx) + $abs(%dy)) / 7)

    if (%billar.fuerza > 22) { %billar.fuerza = 22 }

    var %apx = 34 | if %billar.turno == 2 { %apx = 364 }
    drawrect -dnfr @billar $rgb(55,0,0) 1 %apx 74 $calc(15 * 7 + 4) 8 4 4 

    var %a = $int($calc(255 - (%billar.fuerza * 8)))
    drawrect -dnfr @billar $rgb(255,%a,0) 1 $calc(%apx + 2) 76 $calc(%billar.fuerza * 4.85) 4 4 4

    %billar.apunta = 1
  }
}

alias UCLICK.@billar {
  if $2 > 350 return
  if (%billar.recoloca) { 
    var %i = 2 , %x = $gettok($hget(billar,1),1,22) , %y = $gettok($hget(billar,1),2,22) | :L1
    var %a = $hget(billar,%i) | if (%a) {
      if ($abs($calc(%x - $gettok(%a,1,22))) < 16) && ($abs($calc(%y - $gettok(%a,2,22))) < 16) { beep 6 1 | return }
      inc %i | goto L1
    }
    bCTCP %billar.p2 BILLAR R %y
    %billar.prix = 999
    unset %billar.recoloca | .timerBILLAR -moi 0 40 billar.apunta | return 
  }
  if (!%billar.apunta) return

  if (%billar.fuerza > 10) {
    var %tmx = $int($calc($rand(1,%billar.fuerza) / 3)) | if ($rand(1,2) == 1) { %tmx = $calc(%tmx * -1) }
    var %tmy = $int($calc($rand(1,%billar.fuerza) / 3)) | if ($rand(1,2) == 1) { %tmy = $calc(%tmy * -1) }
  }
  var %mx = $calc($1 - 30 + %tmx) , %my = $calc($2 - 108 + %tmy)
  var %a = $hget(billar,1) , %x = $gettok(%a,1,22) , %y = $gettok(%a,2,22)
  var %dx = $calc(%mx - %x) , %dy = $calc(%my - %y)
  var %i = $abs(%dx) | if ($abs(%dy) > %i) { %i = $abs(%dy) }
  var %dx = $calc(%dx / %i) ,  %dy = $calc(%dy / %i)
  %billar.fuerza = $int($calc(%billar.fuerza / 1.1))
  billar.dispara %x %y %dx %dy %billar.fuerza
  bCTCP %billar.p2 BILLAR T %x %y %dx %dy %billar.fuerza
  unset %billar.t.* %billar.apunta %billar.fuerza %billar.xyr %billar.tmp.entro.*
}

alias -l billar.dispara {
  hadd billar 1 $1 $+  $+ $2 $+  $+ $3 $+  $+ $4 $+  $+ $5  $+ 0
  .timerBILLAR -moi 0 30 billar.mov
  if %sloc == on splay " $+ $mircdirmod\billar\tiro.wav"
  unset %billar.tmp.cuela
}

alias -l billar.recoloca {
  %billar.recoloca = 1 | var %xi = 30 , %yi = 100
  var %xp = $mouse.x , %yp = $calc($mouse.y - 8)
  if ($inrect(%xp,%yp,$calc(%xi + 2),$calc(%yi + 2),446,242)) && ($mouse.win == @billar) && (%billar.xyr != %xp %yp) {
    var %y = $calc($mouse.y - %yi) | if (%y < 32) { %y = 32 } | if (%y > 216) { %y = 216 }
    hadd billar 1 100 $+ %y $+ 0000
    %billar.dibx = drawline -r @billar 0 1 130 124 130 324
    billar.dib
    %billar.xyr = %xp %yp
  }
}

alias -l billar.TURNO {
  %nocho = 100
  raya

  var %pe , %b | if %billar.t.pri > 1 { %b = L } | if %billar.t.pri > 8 { %b = R } | if %billar.t.pri == 1 { %b = N }
  if (%billar.bp1) {
    if (%billar.turno == 1) {
      if (%b == N) { if (!%billar.agu1) { %pe = 1 | billar.txt $mg(4) } }
      else if (%b != %billar.bp1) { %pe = 1 | billar.txt $mg(4) }
    }
    if (%billar.turno == 2) {
      if (%b == N) { if (!%billar.agu2) { %pe = 2 | billar.txt $mg(4) } }
      else if (%b != %billar.bp2) { %pe = 2 | billar.txt $mg(4) }
    }
  }
  if (!%b) { %pe = %billar.turno | billar.txt $mg(4) }

  if (!%billar.bp1) && ($remtok(%billar.t.coladas,0,32)) { 
    var %b , %b1 , %a = $gettok($remtok(%billar.t.coladas,0,32),1,32) | if %a > 1 { %b = L | %b1 = R } | if %a > 8 { %b = R | %b1 = L }
    if %billar.turno == 1 { %billar.bp1 = %b | %billar.bp2 = %b1 } | else { %billar.bp1 = %b1 | %billar.bp2 = %b }
  }

  if ($findtok(%billar.t.coladas,0,1,32)) && ($findtok(%billar.t.coladas,1,1,32)) { billar.txt $mg(19) | billar.txt $mg(6,$opo) | billar.stat $iif(%billar.turno == 1,-,+) %billar.p2 | billar.menu re | return  }
  var %t2
  var %i = 1 | :L1
  var %a = $gettok(%billar.t.coladas,%i,32) | if (%a != $null) {

    if %a > 1 { %b = L } | if %a > 8 { %b = R }

    if (%a == 0) { %pe = %billar.turno | billar.txt $mg(5) }

    if (%a > 0) {
      var %ag = $gettok(%billar.entrog,%i,32)
      if (%a == 1) {
        if (%ag == %billar.agu1) { billar.txt $mg(6,%billar.p1) | billar.stat + %billar.p2 | billar.menu re | return }
        if (%ag == %billar.agu2) { billar.txt $mg(6,%billar.p2) | billar.stat - %billar.p2 | billar.menu re | return }
       billar.txt $mg(6,$opo) | billar.stat $iif(%billar.turno == 1,-,+) %billar.p2 | billar.menu re | return 
      }
      if (%a > 1) {
        if (%b == %billar.bp1) { inc %billar.pt1 | if %billar.pt1 >= 7 { %billar.agu1 = $aguop(%ag,%billar.agu2) } }
        if (%b == %billar.bp2) { inc %billar.pt2 | if %billar.pt2 >= 7 { %billar.agu2 = $aguop(%ag,%billar.agu1) } }
      }
    }

    if (%billar.turno == 1) {
      if (%b == %billar.bp1) { %billar.extra = 1 } | else { %pe = 1 | billar.txt $mg(7) }
    }
    if (%billar.turno == 2) {
      if (%b == %billar.bp2) { %billar.extra = 2 } | else { %pe = 2 | billar.txt $mg(7) }
    }
    inc %i | goto L1
  }

  if (%billar.prix < 225) { %pe = %billar.turno | unset %billar.extra | billar.txt $mg(30) } | unset %billar.prix

  
  if (%billar.extra != %billar.turno) { unset %billar.extra }

  if (%pe == 1) && (%billar.agu2) { var %pe | if %billar.extra == 1 { var %billar.extra } }
  if (%pe == 2) && (%billar.agu1) { var %pe | if %billar.extra == 2 { var %billar.extra }  }
  if (%pe) { inc %pe | if (%pe > 2) { %pe = 1 } | %billar.extra = %pe }

  :Extra
  inc %billar.turno | if (%billar.turno > 2) %billar.turno = 1
  if (%billar.extra) && (%billar.extra != %billar.turno) { unset %billar.extra | billar.txt $mg(8) | goto extra }

  billar.txt $mg(9,[ % $+ [ billar.p $+ [ %billar.turno ] ] ])

  unset %billar.entro*
  if (%billar.turno == 1) || (%billar.p2 == $me) .timerBILLAR -moi 0 40 billar.apunta
  else { unset %billar.t.* }
  billar.marcador

  var %g = 20,20,226,14,430,20,20,227,226,232,430,227 , %xi = 30 , %yi = 100
  if (%billar.turno == 2) && (%billar.agu2) { var %i = $int($calc(%billar.agu2 * 2 - 1)) , %gx = $gettok(%g,%i,44) , %gy = $gettok(%g,$calc(%i + 1),44) }
  if (%gx) { drawrect -er @billar $rgb(255,0,0) 1 $calc(%gx + %xi - 5) $calc(%gy + %yi - 5) 11 11 }
}

alias -l billar.marcador {
  var %a = @billar 30 36 120 50 | if (%billar.turno == 1) { cuag %a gui | drawtext -cnr @billar $gettok(%gui.cc,2,44) Verdana 9 56 56 99 14 $mg(10) $iif(%billar.extra == 1,x2) } | else { cuagi %a $gettok(%gui.cc,1,44) }
  drawtext -ocnr @billar $gettok(%gui.cc,2,44) Verdana 11 56 40 90 14 %billar.p1
  var %b | if (%billar.bp1 == L) { %b = 2 } | if (%billar.bp1 == R) { %b = 9 } | if (%billar.agu1) { %b = 1 }
  if (%b) drawpic -cnt @billar 65280 34 40 $calc(%b * 16) 0 16 16 mod\billar\bolas.bmp

  var %a = @billar 360 36 120 50 | if (%billar.turno == 2) { cuag %a gui | drawtext -cnr @billar $gettok(%gui.cc,2,44) Verdana 9 386 56 99 14 $mg(10) $iif(%billar.extra == 2,x2) } | else { cuagi %a $gettok(%gui.cc,1,44) }
  drawtext -ocnr @billar $gettok(%gui.cc,2,44) Verdana 11 386 40 90 14 %billar.p2
  var %b | if (%billar.bp2 == L) { %b = 2 } | if (%billar.bp2 == R) { %b = 9 } | if (%billar.agu2) { %b = 1 }
  if (%b) drawpic -cnt @billar 65280 364 40 $calc(%b * 16) 0 16 16 mod\billar\bolas.bmp

  drawline @billar
}

alias -l billar.txt {
  %billar.msg = $gettok(%billar.msg,-2,22) $+  $+ $gettok(%billar.msg,-1,22) $+  $+ $1-
  cuagi @billar 155 36 200 50  $rgb(40,40,40)
  var %i = 1 , %y = 40 , %x = 255 , %r = 100
  :L1
  var %a = $gettok(%billar.msg,%i,22) | if (%a) {
    var %xx = $calc(%x - ($width(%a,verdana,9,1) / 2)) | if (%xx < 156) { %xx = 156 } | drawtext -ocnr @billar $rgb(%r,%r,%r) Verdana 9 %xx %y 198 14 %a
    inc %i | inc %y 14 | inc %r 50 | goto L1
  }
  drawline @billar
}

alias -l OPO if (%billar.turno == 1) return %billar.p2 | else return %billar.p1


alias -l billar.QE {
  var %c = $gettok(%billar.qe,1,22) | %billar.qe = $deltok(%billar.qe,1,22)
  if (!%c) return
  tokenize 32 %c
  if $1 == T {
    billar.dispara $2-
  }
  if $1 == R {
    hadd billar 1 100 $+ $2 $+ 0000
    billar.dib
    %billar.prix = 999
    .timer 1 1 billar.qe
  }
}

alias -l bCTCP if ($1 != $me) { .ctcp $1- | resetidle }

alias -l aguop if $1 != $2 return $1 | var %a = 654321 | return $mid(%a,$1,1)

alias billar.cierra if (!%billar.sefue) bctcp %billar.p2 BILLAR Q | .timerBILLAR off | .timerBILLAR.cuela off | unset %billar* | .disable #billar | drawpic -c | window -c @billar1 | hfree billar

alias ctcp.billar.nosonido if $nick == %billar.p2 return $true | else return $false
alias ctcp.billar.noecho  if $nick == %billar.p2 return $true | else return $false

#BILLAR end

alias onEDIT.@billar {
  if (%billar.chat) {
    bctcp %billar.p2 BILLAR C %billar.chat
    billarchat $strip($timestamp) < $+ $me $+ > %billar.chat | unset %billar.chat
  }
}
on 1:KEYDOWN:@billar:*: if (%billar.tx) { guipulsatx 20 487 20 487 354 billar.chat | editbox -a $keychar }

alias -l BillarChat {
  if $1- == refres { guilista @billar billar.ls1 | guidib @billar | return }
  var %l = $1- , %n = $wrap(%l,verdana,9,334,0) , %i = 1 | while (%i <= %n) { aline @billar1 $wrap(%l,verdana,9,334,%i) | inc %i }
  if ($line(@billar1,0) > 99) { dline @billar1 1 }
  %billar.ls1 = $puttok(%billar.ls1,$line(@billar1,0),5,32)
  %billar.ls1 = $puttok(%billar.ls1,0,6,32)
  .timerBILLARCHAT -m 1 50 billarchat refres
  write " $+ $logdir $+ $mkfn(%billar.p2) $+ .log"  $strip($1-)
}
alias billarnosel sline -r @billar1 | billarchat refres

alias -l MG return $_tm($replace($readini(lng\ $+ %idioma $+ \billar.ini,BILLAR,$1),&1,$2,&2,$3,&3,$4,&4,$5))

CTCP 1:BILLAR: {
  if ($2 == RETO) {
    if $3 == OK { if $nick == %billar.reto { %tmp.billar.iniy = $4 | .enable #billar | billar $nick } | return }
    if ($3 != $billarv) || ($4 != $version) || ($5 != %ircapv) { qc notice $nick $mg(1) | return }
    pregunta $mg(2,$nick)  billar.acepto $nick  qc .notice $nick $mg(3)
    return
  }

  if $nick != %billar.p2 return

  %cflod = $remove(%cflod,$site)

  if $2 == Q { .timerBILLAR off | billar.txt $mg(12,$nick) | billarchat $strip($timestamp) $mg(12,$nick) | unset %billar.tx | %billar.sefue = on | return }

  if $2 == C { billarchat $strip($timestamp) < $+ %billar.p2 $+ > $3- | return }

  %billar.qe = $addtok(%billar.qe,$2-,22)
  if (!$timer(billar)) { billar.qe }
}

alias -l billarv return 1.5

alias billar.stat {
  var %j = $replace($2,$chr(124),!)
  var %f = usr\billarstats.ini , %t = $readini(%f,%j,t) , %g = $readini(%f,%j,g) , %gt = $readini(%f,global.,t) , %gg = $readini(%f,global.,g)

  if $1 == + || $1 == - {
    inc %gt | writeini %f global. t %gt
    inc %t | writeini %f %j t %t
  }

  if $1 == + {
    inc %g | writeini %f %j g %g
    inc %gg | writeini %f global. g %gg
  }

  if $1 == v {
    return $nonull(%gt) $nonull(%gg) $nonull($round($calc((%gg * 100) / %gt),1)) $nonull(%t) $nonull(%g) $nonull($round($calc((%g * 100) / %t),1))
  }
  if $1 == b { remini usr/billarstats.ini %j | if %j == - remove usr/billarstats.ini }
}

menu menubar {
  $m(541)
  .$m(546): .enable #billar | billar $me
  .-
  .$m(547): billar.menu EW
}

menu query,nicklist {
  $m(541)
  .$m(548): billar.menu r $1
  .-
  .$m(547): billar.menu EW $1
  .$m(549) $active: billar.menu E $1 $active
}

alias billar.menu {
  goto $1
  :J | join $mg(17) | return
  :R | if $2 == $me { .enable #billar | billar $me } | else { set -u60 %billar.reto $replace($2,!,$chr(124)) | ctcp $replace($2,!,$chr(124)) BILLAR RETO $billarv $version %ircapv } | if ($window(@billar)) { unset %billar.retador | billar.boton | .timer 1 1 guidib @billar } | return
  :RE | inc %billar.retador 2 | billar.boton | guidib @billar | return
  :E | var %a = $billar.stat(v,$2) | msg $3 $mg(20,$replace($2,!,$chr(124)),$gettok(%a,4,32),$gettok(%a,5,32),$gettok(%a,6,32)) | return
  :EW | .load -rs mod\billar\billarstats.mrc | billarstats $2 | return
  :EWn | .timer -m 1 100 billar.menu EW %billar.p2 | return
  :Rn |  .timer -m 1 100 billar.menu R %billar.p2
}

alias billar.acepto %tmp.billar.iniy = $rand(1,40) | .enable #billar | .timer 1 1 billar $1 2 | .ctcp $1 BILLAR RETO OK %tmp.billar.iniy | unset %cflod

on 1:unload: .timerBILLAR off | .disable #billar | unset %billar* %sombrabillar | window -c @billar
on 1:start: .disable #billar

;EOF