Autor Tema: ayuda con codigo de lineas y stats  (Leído 836 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Hercules

  • Novato
  • *
  • Mensajes: 14
  • Karma: +0/-0
ayuda con codigo de lineas y stats
« en: Diciembre 22, 2018, 09:28:43 pm »
Hola buenas.a ver si me pueden hechar una mano con este codigo que meda error y no salen las lineas enlos canales y tampoco se puede
mirar las lineas de un usuario.

on 1:TEXT:*:#:{
  tokenize 32 $strip($1-)
  write logs/ $+ $chan $+ .mbt $nick $chr(91) $+ 6 $asctime(hh:nn) $asctime(dd/mm/yy) $+ ]: $1-
  if ( $1 == !actualiza ) {
    var %x = 1
    while (%x <= $ini(logs/top.ini,$chan,0)) {
      var %y = $iif(%y,%y $+ $chr(44)) $+ $readini(logs/top.ini,$chan,$ini(logs/top.ini,$chan,%x))
      inc %x
    }
    var %z = $sorttok(%y,44,nr)
    var %numeros = $gettok(%z,1-10,44)
    var %a = 1
    while (%a <= $numtok(%numeros,44)) {
      var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44))
      if ($istok(%c,$readn,32)) { var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44), $calc(%d +1)) }
      var %c = %c $readn, %d = $readn
      if ($gettok(%b,1,61) !isin %nicks) {
        if ($chr(126) isin $gettok(%b,1,61)) {
          if (%top10. [ $+ [ $gettok(%b,1,61) ] ]) { var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ %top10. [ $+ [  $gettok (%b,1,61) ] ] }
          else { var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $gettok(%b,1,61) }
        }
        else { var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $gettok(%b,1,61) }
      }
      inc %a
    }
    if (%nicks) {
      if ($gettok(%nicks,1,44)) { var %1nick = 1 1º .12 $+($gettok(%nicks,1,44),$chr(40),$gettok(%numeros,1,44),$chr (41)) }
      if ($gettok(%nicks,2,44)) { var %2nick = 1 2º .12 $+($gettok(%nicks,2,44),$chr(40),$gettok(%numeros,2,44),$chr (41)) }
      if ($gettok(%nicks,3,44)) { var %3nick =  1 3º .12 $+($gettok(%nicks,3,44),$chr(40),$gettok(%numeros,3,44),$chr (41)) }
      if ($gettok(%nicks,4,44)) { var %4nick = 1 4º .12 $+($gettok(%nicks,4,44),$chr(40),$gettok(%numeros,4,44),$chr (41)) }
      if ($gettok(%nicks,5,44)) { var %5nick = 1 5º .12 $+($gettok(%nicks,5,44),$chr(40),$gettok(%numeros,5,44),$chr (41)) }
      if ($gettok(%nicks,6,44)) { var %6nick = 1 6º .12 $+($gettok(%nicks,6,44),$chr(40),$gettok(%numeros,6,44),$chr (41)) }
      if ($gettok(%nicks,7,44)) { var %7nick = 1 7º .12 $+($gettok(%nicks,7,44),$chr(40),$gettok(%numeros,7,44),$chr (41)) }
      if ($gettok(%nicks,8,44)) { var %8nick = 1 8º .12 $+($gettok(%nicks,8,44),$chr(40),$gettok(%numeros,8,44),$chr (41)) }
      if ($gettok(%nicks,9,44)) { var %9nick = 1 9º .12 $+($gettok(%nicks,9,44),$chr(40),$gettok(%numeros,9,44),$chr (41)) }
      if ($gettok(%nicks,10,44)) { var %10nick = 1 10º . 12 $+($gettok(%nicks,10,44),$chr(40),$gettok(%numeros,10,44), $chr(41)) }
    }
    else { var %1nick = 1no hay nicks en los 4stats. }
    msg $chan   12[Estadisticas] 1del canal  6 $+ $chan $+   12Lineas: 1escritas por los usuarios  5 %1nick   3 %2nick  5  %3nick  6 %4nick  4 %5nick  2 %6nick  3 %7nick  4 %8nick  6 %9nick  5 %10nick
  }
  if ( $1 == !lineas ) {
    if ($2) {
      var %lineas = $readini(logs/top.ini,$chan,$2)
      var %frase = $r(1,%lineas)
      var %frase2 = $read(logs/ $+ $chan $+ .mbt, w,* $+ $2 $+ *,%frase)
      var %total = $readini(Logs/totallines.ini,$chan,Total)
      var %Por = $round($calc($calc(%lineas * 100) / %total),2)
      var %x = 1
      while (%x <= $ini(Logs/top.ini,$chan,0)) {
        var %y = $iif(%y,%y $+ $chr(44)) $+ $readini(Logs/top.ini,$chan,$ini(logs/top.ini,$chan,%x))
        inc %x
      }
      var %numeros = $sorttok(%y,44,nr)
      var %a = 1
      while (%a <= $numtok(%numeros,44)) {
        var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44))
        if ($istok(%c,$readn,32)) { var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44), $calc(%d +1)) }
        var %c = %c $readn, %d = $readn
        var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $iif($gettok(%b,1,61) !isin %nicks,$gettok(%b,1,61))
        inc %a
      }

      if ($readini(logs/top.ini,$chan,$2)) { msg $chan 12Lineas 1escritas por los usuarios   1(  $+ $2 $+  1) 4 $readini (logs/top.ini,$chan,$2) 12 $iif($readini(logs/top.ini,$chan,$2) > 12 1,Lineas,Lineas) 1escritas en 12 $chan  ,1esta en la 12  $findtok(%nicks,$2,1,44)3 $+ º 1,posicion con un 12 %Por $+  %  1de Las Lineas del Canal 4,Frase  Aleatoria3 %frase2 }
      else { msg $chan 12Disculpa,1pero no tengo las estadisticas de 6 nick $2 1en 12 $chan $+ . }
    }
    else {
      var %lineas = $readini(logs/top.ini,$chan,$nick)
      var %frase = $r(1,%lines)
      var %frase2 = $read(logs/ $+ $chan $+ .mbt, w,* $+ $nick $+ *,%frase)
      var %total = $readini(Logs/totallineas.ini,$chan,Total)
      var %Por = $round($calc($calc(%lineas * 100) / %total),2)
      var %x = 1
      while (%x <= $ini(Logs/top.ini,$chan,0)) {
        var %y = $iif(%y,%y $+ $chr(44)) $+ $readini(Logs/top.ini,$chan,$ini(logs/top.ini,$chan,%x))
        inc %x
        var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $iif($gettok(%b,1,61) !isin %nicks,$gettok(%b,1,61))}
      }
      var %numeros = $sorttok(%y,44,nr)
      var %a = 1
      while (%a <= $numtok(%numeros,44)) {
        var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44))
        if ($istok(%c,$readn,32)) { var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44), $calc(%d +1)) }
        var %c = %c $readn, %d = $readn
        inc %a
      }
      if ($readini(logs/top.ini,$chan,$nick)) { msg $chan  1Hola 1-12 $+ $nick $+ 1-  1tienes un total de 4 $readini (logs/top.ini,$chan,$nick) 12 $iif($readini(logs/top.ini,$chan,$nick) > 12 1,Lineas,Lineas) 1escritas en 12 $chan  ,1estas en  la 4 $findtok(%nicks,$nick,1,44)3 $+ º ,1posicion con un  12 %Por $+  %  1de Las Lineas del Canal, 4Frase  Aleatoria3 %frase2
      }
      else { msg $chan 3Disculpa, 1pero no tengo las 12estadisticas 1de nick 6 $nick 1en 12 $chan $+ . }
    }
  }
  else {
    writeini -n logs/top.ini $chan $nick $calc($readini(logs/top.ini,$chan,$nick) + 1)
    writeini -n logs/totallineas.ini $chan Total $calc($readini(logs/totallines.ini,$chan,Total) + 1)
  }
}

Desconectado Hercules

  • Novato
  • *
  • Mensajes: 14
  • Karma: +0/-0
Re:ayuda con codigo de lineas y stats
« Respuesta #1 en: Diciembre 22, 2018, 09:30:46 pm »
on 1:TEXT:*:#:{
  tokenize 32 $strip($1-)
  write logs/ $+ $chan $+ .mbt $nick $chr(91) $+ 6 $asctime(hh:nn) $asctime(dd/mm/yy) $+ ]: $1-
  if ( $1 == !actualiza ) {
    var %x = 1
    while (%x <= $ini(logs/top.ini,$chan,0)) {
      var %y = $iif(%y,%y $+ $chr(44)) $+ $readini(logs/top.ini,$chan,$ini(logs/top.ini,$chan,%x))
      inc %x
    }
    var %z = $sorttok(%y,44,nr)
    var %numeros = $gettok(%z,1-10,44)
    var %a = 1
    while (%a <= $numtok(%numeros,44)) {
      var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44))
      if ($istok(%c,$readn,32)) { var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44), $calc(%d +1)) }
      var %c = %c $readn, %d = $readn
      if ($gettok(%b,1,61) !isin %nicks) {
        if ($chr(126) isin $gettok(%b,1,61)) {
          if (%top10. [ $+ [ $gettok(%b,1,61) ] ]) { var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ %top10. [ $+ [  $gettok (%b,1,61) ] ] }
          else { var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $gettok(%b,1,61) }
        }
        else { var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $gettok(%b,1,61) }
      }
      inc %a
    }
    if (%nicks) {
      if ($gettok(%nicks,1,44)) { var %1nick = 1 1º .12 $+($gettok(%nicks,1,44),$chr(40),$gettok(%numeros,1,44),$chr (41)) }
      if ($gettok(%nicks,2,44)) { var %2nick = 1 2º .12 $+($gettok(%nicks,2,44),$chr(40),$gettok(%numeros,2,44),$chr (41)) }
      if ($gettok(%nicks,3,44)) { var %3nick =  1 3º .12 $+($gettok(%nicks,3,44),$chr(40),$gettok(%numeros,3,44),$chr (41)) }
      if ($gettok(%nicks,4,44)) { var %4nick = 1 4º .12 $+($gettok(%nicks,4,44),$chr(40),$gettok(%numeros,4,44),$chr (41)) }
      if ($gettok(%nicks,5,44)) { var %5nick = 1 5º .12 $+($gettok(%nicks,5,44),$chr(40),$gettok(%numeros,5,44),$chr (41)) }
      if ($gettok(%nicks,6,44)) { var %6nick = 1 6º .12 $+($gettok(%nicks,6,44),$chr(40),$gettok(%numeros,6,44),$chr (41)) }
      if ($gettok(%nicks,7,44)) { var %7nick = 1 7º .12 $+($gettok(%nicks,7,44),$chr(40),$gettok(%numeros,7,44),$chr (41)) }
      if ($gettok(%nicks,8,44)) { var %8nick = 1 8º .12 $+($gettok(%nicks,8,44),$chr(40),$gettok(%numeros,8,44),$chr (41)) }
      if ($gettok(%nicks,9,44)) { var %9nick = 1 9º .12 $+($gettok(%nicks,9,44),$chr(40),$gettok(%numeros,9,44),$chr (41)) }
      if ($gettok(%nicks,10,44)) { var %10nick = 1 10º . 12 $+($gettok(%nicks,10,44),$chr(40),$gettok(%numeros,10,44), $chr(41)) }
    }
    else { var %1nick = 1no hay nicks en los 4stats. }
    msg $chan   12[Estadisticas] 1del canal  6 $+ $chan $+   12Lineas: 1escritas por los usuarios  5 %1nick   3 %2nick  5  %3nick  6 %4nick  4 %5nick  2 %6nick  3 %7nick  4 %8nick  6 %9nick  5 %10nick
  }
  if ( $1 == !lineas ) {
    if ($2) {
      var %lineas = $readini(logs/top.ini,$chan,$2)
      var %frase = $r(1,%lineas)
      var %frase2 = $read(logs/ $+ $chan $+ .mbt, w,* $+ $2 $+ *,%frase)
      var %total = $readini(Logs/totallines.ini,$chan,Total)
      var %Por = $round($calc($calc(%lineas * 100) / %total),2)
      var %x = 1
      while (%x <= $ini(Logs/top.ini,$chan,0)) {
        var %y = $iif(%y,%y $+ $chr(44)) $+ $readini(Logs/top.ini,$chan,$ini(logs/top.ini,$chan,%x))
        inc %x
      }
      var %numeros = $sorttok(%y,44,nr)
      var %a = 1
      while (%a <= $numtok(%numeros,44)) {
        var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44))
        if ($istok(%c,$readn,32)) { var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44), $calc(%d +1)) }
        var %c = %c $readn, %d = $readn
        var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $iif($gettok(%b,1,61) !isin %nicks,$gettok(%b,1,61))
        inc %a
      }

      if ($readini(logs/top.ini,$chan,$2)) { msg $chan 12Lineas 1escritas por los usuarios   1(  $+ $2 $+  1) 4 $readini (logs/top.ini,$chan,$2) 12 $iif($readini(logs/top.ini,$chan,$2) > 12 1,Lineas,Lineas) 1escritas en 12 $chan  ,1esta en la 12  $findtok(%nicks,$2,1,44)3 $+ º 1,posicion con un 12 %Por $+  %  1de Las Lineas del Canal 4,Frase  Aleatoria3 %frase2 }
      else { msg $chan 12Disculpa,1pero no tengo las estadisticas de 6 nick $2 1en 12 $chan $+ . }
    }
    else {
      var %lineas = $readini(logs/top.ini,$chan,$nick)
      var %frase = $r(1,%lines)
      var %frase2 = $read(logs/ $+ $chan $+ .mbt, w,* $+ $nick $+ *,%frase)
      var %total = $readini(Logs/totallineas.ini,$chan,Total)
      var %Por = $round($calc($calc(%lineas * 100) / %total),2)
      var %x = 1
      while (%x <= $ini(Logs/top.ini,$chan,0)) {
        var %y = $iif(%y,%y $+ $chr(44)) $+ $readini(Logs/top.ini,$chan,$ini(logs/top.ini,$chan,%x))
        inc %x
        var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $iif($gettok(%b,1,61) !isin %nicks,$gettok(%b,1,61))}
      }
      var %numeros = $sorttok(%y,44,nr)
      var %a = 1
      while (%a <= $numtok(%numeros,44)) {
        var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44))
        if ($istok(%c,$readn,32)) { var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44), $calc(%d +1)) }
        var %c = %c $readn, %d = $readn
        inc %a
      }
      if ($readini(logs/top.ini,$chan,$nick)) { msg $chan  1Hola 1-12 $+ $nick $+ 1-  1tienes un total de 4 $readini (logs/top.ini,$chan,$nick) 12 $iif($readini(logs/top.ini,$chan,$nick) > 12 1,Lineas,Lineas) 1escritas en 12 $chan  ,1estas en  la 4 $findtok(%nicks,$nick,1,44)3 $+ º ,1posicion con un  12 %Por $+  %  1de Las Lineas del Canal, 4Frase  Aleatoria3 %frase2
      }
      else { msg $chan 3Disculpa, 1pero no tengo las 12estadisticas 1de nick 6 $nick 1en 12 $chan $+ . }
    }
  }
  else {
    writeini -n logs/top.ini $chan $nick $calc($readini(logs/top.ini,$chan,$nick) + 1)
    writeini -n logs/totallineas.ini $chan Total $calc($readini(logs/totallines.ini,$chan,Total) + 1)
  }
}

Desconectado Hercules

  • Novato
  • *
  • Mensajes: 14
  • Karma: +0/-0
Re:ayuda con codigo de lineas y stats
« Respuesta #2 en: Diciembre 22, 2018, 09:32:26 pm »
este es el arror ke meda y deme de contar numeros de lineas lo pone como %  * /set: line too long (line 84, lineas.mrc)

Desconectado Cadaver

  • Novato
  • *
  • Mensajes: 20
  • Karma: +0/-0
  • Sexo: Masculino
    • ElChatIRC.com
Re:ayuda con codigo de lineas y stats
« Respuesta #3 en: Diciembre 24, 2018, 05:21:03 pm »
El código funciona sin problemas, tal cual lo estas poniendo, no me marca ningún error y si hace los conteos.

Desconectado CabLac

  • Novato
  • *
  • Mensajes: 2
  • Karma: +0/-0
Re:ayuda con codigo de lineas y stats
« Respuesta #4 en: Marzo 14, 2019, 01:20:30 am »
Buenas, resulta que estaba buscando unas estadisticas y he dado con este post, el codigo tiene 2 fallos que  estoy intentando solucionar y no doy con ello.

1. Cuando queremos ver las lineas con el comando !lineas no te dice el numero de posicion, aparece esto --->  Hola -CabLac- tienes un total de  escritas en #canal ,estas en la  º ,posicion con un  2900% de Las Lineas del Canal, Frase Aleatoria


2. El bot esta configurado para una sala sola por ejemplo y te cuenta lineas de otras salas donde el bot no esta actuando

3. ¿Mi pregunta es si esos dos errores del codigo tienen solucion? ¡Gracias!

4. Soy nuevo en esto, me defiendo un poco, muy poquito la verdad. Disculpar las molestias. Gracias de ante mano.

Desconectado Cadaver

  • Novato
  • *
  • Mensajes: 20
  • Karma: +0/-0
  • Sexo: Masculino
    • ElChatIRC.com
Re:ayuda con codigo de lineas y stats
« Respuesta #5 en: Marzo 14, 2019, 07:06:20 pm »
Ya lo volví a revisar y le hice algunas correcciones, aquí esta el código y el resultado.

Código: [Seleccionar]
on 1:TEXT:*:#:{
  tokenize 32 $strip($1-)
  write logs/ $+ $chan $+ .mbt $+([,$asctime(dd/mm/yy),$chr(160),$asctime(hh:nn),]) $+(<,$nick,>) $1-
  if ( $1 == !actualiza ) {
    var %x = 1
    while (%x <= $ini(logs/top.ini,$chan,0)) {
      var %y = $iif(%y,%y $+ $chr(44)) $+ $readini(logs/top.ini,$chan,$ini(logs/top.ini,$chan,%x))
      inc %x
    }
    var %z = $sorttok(%y,44,nr)
    var %numeros = $gettok(%z,1-10,44)
    var %a = 1
    while (%a <= $numtok(%numeros,44)) {
      var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44))
      if ($istok(%c,$readn,32)) { var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44), $calc(%d +1)) }
      var %c = %c $readn, %d = $readn
      if ($gettok(%b,1,61) !isin %nicks) {
        if ($chr(126) isin $gettok(%b,1,61)) {
          if (%top10. [ $+ [ $gettok(%b,1,61) ] ]) { var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ %top10. [ $+ [  $gettok (%b,1,61) ] ] }
          else { var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $gettok(%b,1,61) }
        }
        else { var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $gettok(%b,1,61) }
      }
      inc %a
    }
    if (%nicks) {
      if ($gettok(%nicks,1,44)) { var %1nick = 1º $gettok(%nicks,1,44) $+($chr(40),,$gettok(%numeros,1,44),,$chr(41)) }
      if ($gettok(%nicks,2,44)) { var %2nick = 2º $gettok(%nicks,2,44) $+($chr(40),,$gettok(%numeros,2,44),,$chr(41)) }
      if ($gettok(%nicks,3,44)) { var %3nick = 3º $gettok(%nicks,3,44) $+($chr(40),,$gettok(%numeros,3,44),,$chr(41)) }
      if ($gettok(%nicks,4,44)) { var %4nick = 4º $gettok(%nicks,4,44) $+($chr(40),,$gettok(%numeros,4,44),,$chr(41)) }
      if ($gettok(%nicks,5,44)) { var %5nick = 5º $gettok(%nicks,5,44) $+($chr(40),,$gettok(%numeros,5,44),,$chr(41)) }
      if ($gettok(%nicks,6,44)) { var %6nick = 6º $gettok(%nicks,6,44) $+($chr(40),,$gettok(%numeros,6,44),,$chr(41)) }
      if ($gettok(%nicks,7,44)) { var %7nick = 7º $gettok(%nicks,7,44) $+($chr(40),,$gettok(%numeros,7,44),,$chr(41)) }
      if ($gettok(%nicks,8,44)) { var %8nick = 8º $gettok(%nicks,8,44) $+($chr(40),,$gettok(%numeros,8,44),,$chr(41)) }
      if ($gettok(%nicks,9,44)) { var %9nick = 9º $gettok(%nicks,9,44) $+($chr(40),,$gettok(%numeros,9,44),,$chr(41)) }
      if ($gettok(%nicks,10,44)) { var %10nick = 10º $gettok(%nicks,10,44) $+($chr(40),,$gettok(%numeros,10,44),,$chr(41)) }
    }
    else { var %1nick = No tengo estadisticas por el momento. }
    msg $chan [Estadisticas del canal $+($chan,]) Lineas escritas por los usuarios: %1nick %2nick %3nick %4nick %5nick %6nick %7nick %8nick %9nick %10nick
  }
  if ( $1 == !lineas ) {
    if ($2) {
      var %lineas = $readini(logs/top.ini,$chan,$2)
      var %frase = $r(1,%lineas)
      var %frase2 = $read(logs/ $+ $chan $+ .mbt, w,* $+ $2 $+ *,%frase)
      var %total = $readini(Logs/totallineas.ini,$chan,Total)
      var %Por = $round($calc($calc(%lineas * 100) / %total),2)
      var %x = 1
      while (%x <= $ini(Logs/top.ini,$chan,0)) {
        var %y = $iif(%y,%y $+ $chr(44)) $+ $readini(Logs/top.ini,$chan,$ini(logs/top.ini,$chan,%x))
        inc %x
      }
      var %numeros = $sorttok(%y,44,nr)
      var %a = 1
      while (%a <= $numtok(%numeros,44)) {
        var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44))
        if ($istok(%c,$readn,32)) { var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44), $calc(%d +1)) }
        var %c = %c $readn, %d = $readn
        var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $iif($gettok(%b,1,61) !isin %nicks,$gettok(%b,1,61))
        inc %a
      }

      if ($readini(logs/top.ini,$chan,$2)) { msg $chan $+(,$2,) ha escrito $+($chr(40),,$readini(logs/top.ini,$chan,$2),,$chr(41)) $iif($readini(logs/top.ini,$chan,$2) > 1,lineas,linea) en $+(,$chan,) y esta en la posicion $+(#,$findtok(%nicks,$2,1,44),) con un $+(,%Por,$chr(37),) de las lineas escritas en el canal. Frase aleatoria %frase2 }
      else { msg $chan Disculpa pero no tengo las estadisticas de $+(,$2,) en $+(,$chan,,.) }
    }
    else {
      var %lineas = $readini(logs/top.ini,$chan,$nick)
      var %frase = $r(1,%lineas)
      var %frase2 = $read(logs/ $+ $chan $+ .mbt, w,* $+ $nick $+ *,%frase)
      var %total = $readini(Logs/totallineas.ini,$chan,Total)
      var %Por = $round($calc($calc(%lineas * 100) / %total),2)
      var %x = 1
      while (%x <= $ini(logs/top.ini,$chan,0)) {
        var %y = $iif(%y,%y $+ $chr(44)) $+ $readini(Logs/top.ini,$chan,$ini(logs/top.ini,$chan,%x))
        inc %x
      }
      var %numeros = $sorttok(%y,44,nr)
      var %a = 1
      while (%a <= $numtok(%numeros,44)) {
        var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44))
        if ($istok(%c,$readn,32)) { var %b = $read(logs/top.ini,w,*= $+ $gettok(%numeros,%a,44), $calc(%d +1)) }
        var %c = %c $readn, %d = $readn
        var %nicks = $iif(%nicks,%nicks $+ $chr(44)) $+ $iif($gettok(%b,1,61) !isin %nicks,$gettok(%b,1,61))}
        inc %a
      }
      if ($readini(logs/top.ini,$chan,$nick)) { msg $chan $+(,$nick,) tienes un total de $+($chr(40),,$readini(logs/top.ini,$chan,$nick),,$chr(41)) $iif($readini(logs/top.ini,$chan,$nick) > 1,lineas,linea) escritas en $+(,$chan,,) y estas en la posicion $+(#,$findtok(%nicks,$nick,1,44),) con un $+(,%Por,$chr(37),) de las lineas escritas en el canal. Frase aleatoria %frase2
      }
      else { msg $chan $+(,$nick,) no has escrito nada en $+(,$chan,,.) }
    }
  }
  else {
    writeini -n logs/top.ini $chan $nick $calc($readini(logs/top.ini,$chan,$nick) + 1)
    writeini -n logs/totallineas.ini $chan Total $calc($readini(logs/totallineas.ini,$chan,Total) + 1)
  }
}


Desconectado CabLac

  • Novato
  • *
  • Mensajes: 2
  • Karma: +0/-0
Re:ayuda con codigo de lineas y stats
« Respuesta #6 en: Marzo 14, 2019, 09:06:08 pm »
Cadaver ¡Buenas! Gracias por tu aporte, supongo que esto es asi, como en todo trabajo.

Tu codigo funciona perfectamente, miles de gracias, solo que hay un inconveniente!

Cuando usas el comando !actualiza en una sala de 200 o 300 usuarios por ejemplo, aparece  este error.
* /set: line too long (line 7, script12.mrc)

en cambio en una sala con 10 usuarios funciona bien ¿Alguna solucion para ello?

¡Gracias de ante mano! Abrazo Cadaver :)

 

anything