xTrivia — File Browser

xTriviav1.0 / xTriviav1.0 / xTriviaByRibellina / xtrivia / bot / Addons / Giochi / ScaraPlus.mrc

ScaraPlus.mrc — 32.86 KB — Download this file

;--------------------------------------------------------------
Scarabeo Plus 2.0
by PanToufLe

Per caricare lo script: /load -rs scaraplus.pan
Per il corretto funzionamento dello script assicurarsi
che il dizionario sia contenuto nella sottocartella Dictionary.
;--------------------------------------------------------------
;veste grafica by Novi-ziO & {sTrEGa}

on 1:NICK:{ 
  if (%gamescarabeo_stato != OFF) && ( $nick != $newnick ) {
    scarabeo_search $nick
    if (%trovato == 1) {
      %scarabeo_chnickline = $read -l %pos scaraclass.txt
      %scarabeo_chnickline = $puttok(%scarabeo_chnickline,$newnick,1,46)
      write -l %pos scaraclass.txt %scarabeo_chnickline
    }
    scarabeo_manchesearch $nick
    if (%trovato == 1) {
      %scarabeo_chnickline = $read -l %pos scarabeomanche.txt
      %scarabeo_chnickline = $puttok(%scarabeo_chnickline,$newnick,1,46)
      write -l %pos scarabeomanche.txt %scarabeo_chnickline
    }  
  }
}
on 1:JOIN:%scarabeo_canale:{ if (%gamescarabeo_stato != OFF) { .msg $nick β€”] $scaratalk(ScaraBeo  PluS Running!) [β€”  $scaratalk(Digita)  !aiuto  $scaratalk(nel canale per le istruzioni) } }
on 1:TEXT:!punti:%scarabeo_canale:{ 
  if (%gamescarabeo_stato != OFF) {
    scarabeo_search $nick
    if (%trovato == 1) {
      .msg $nick $scaratalk(Il tuo punteggio Γ¨) 4 %scarabeo_ptsquery 
    }
  }
}
on 1:TEXT:!lettere:%scarabeo_canale: {
  if (%gamescarabeo_stato != OFF) {
    if (%scarabeo_manche == ON ) { msg %scarabeo_canale  $scaratalk(Le lettere a disposizione sono:) 4 %scarabeo_current }
    else { msg %scarabeo_canale $scaratalk(Nessuna manche in corso. Attendi la prossima!) }
  }
} 
on 1:TEXT:!copia:%scarabeo_canale:{
  if (%gamescarabeo_stato != OFF) {
    if (%scarabeo_manche == ON ) { msg $nick  4 %scarabeo_current  7 %scarabeo_limite }
    else { msg %scarabeo_canale  11,2 Nessuna manche in corso. Attendi la prossima! }
  }
} 
on 1:TEXT:!valori:%scarabeo_canale:{ if (%gamescarabeo_stato != OFF) { msg %scarabeo_canale $scaratalk(Valori: a=1 b=4 c=1 d=4 e=1 f=4 g=4 h=8 i=1 j=12 k=12 l=2 m=2 n=2 o=1 p=3 q=10 r=1 s=1 t=1 u=4 v=4 w=12 x=12 y=12 z=8)  } }
on 1:TEXT:!aiuto:%scarabeo_canale: scarabeo_help $nick

on 1:TEXT:*:?:{
  if (%gamescarabeo_stato == ON) && (%scarabeo_manche == OFF) && ($1 != $null) && ($nick != $me) { .msg $nick $scaratalk(Manche terminata. Non posso accettare la tua richiesta) }
  if (%gamescarabeo_stato == ON) && (%scarabeo_manche == ON) && ($1 != $null) && ($nick != $me) {
    set %scarabeo_string $1
    set %scarabeo_starlet $left(%scarabeo_string,1)
    set %scarabeo_trovato $read($scriptdirdictionary\ $+ italiano. [ $+ [ %scarabeo_starlet ] ],w,%scarabeo_string,1)
    if ( %scarabeo_trovato == %scarabeo_string ) {
      scarabeo_verifica %scarabeo_string
      if (%scarabeo_ok == 1) {
        scarabeo_manchesearch $nick
        if (%trovato == 0) {
          set %scarabeo_fileline $nick
          set %scarabeo_fileline $instok(%scarabeo_fileline,%scarabeo_string,2,46)
          set %scarabeo_fileline $addtok(%scarabeo_fileline,-,46)
          write scarabeomanche.txt %scarabeo_fileline
        }
        if (%trovato == 1) {
          set %scarabeo_fileline $read -l %pos scarabeomanche.txt
          set %scarabeo_wrdtok $gettok(%scarabeo_fileline,2,46)
          set %scarabeo_wrdtok $addtok(%scarabeo_wrdtok,%scarabeo_string,32) 
          set %scarabeo_fileline $puttok(%scarabeo_fileline,%scarabeo_wrdtok,2,46)
          write -l %pos scarabeomanche.txt %scarabeo_fileline   
        }
      }
    }
  }
}

alias scarabeo_verifica {
  set %scarabeo_ok 1 
  if ($len($1) < %scarabeo_limite ) { set %scarabeo_ok 0 }
  set %templet %scarabeo_current 
  set %remains $1
  while ($len(%remains) > 0) && (%scarabeo_ok == 1) {
    set %letter $left(%remains,1)
    set %nleft $calc($len(%remains) - 1 )
    set %remains $right(%remains,%nleft)
    if ($istok(%templet,%letter,32) == $true) {
      set %templet $remtok(%templet,%letter,1,32)
    }
    else { set %scarabeo_ok 0 }
  }
}

alias scarabeo_start {
  if ( %gamescarabeo_stato == ON ) || ( %gamescarabeo_stato == PAUSE ) { if ( $?!="Sei sicuro/a di voler avviare il gioco? Potrebbe essere giΓ  attivo oppure in pausa? " == $true ) { set %gamescarabeo_stato OFF  } }
  if (%gamescarabeo_stato == OFF) || (%gamescarabeo_stato == $null) {
    unset %scarabeo*
    set %scarabeo_canale $?="Su che canale avviare il gioco?"
    if ( %scarabeo_canale !ischan ) { echo -a $scaratalk(Canale non valido) | halt }
    set %scarabeo_target $?="Inserisci il numero di punti da totalizzare per vincere:"
    if (%scarabeo_target !isnum) { echo -a $scaratalk(Non hai inserito un valore valido. Fai ripartire il quiz) | halt }
    set %gamescarabeo_stato ON
    set %scarabeo_manche OFF
    set %scarabeo_durata 60
    set %scarabeo_pausetime 30
    set %scarabeo_manchenum 0 
    if ($exists(scarabeorecord.txt) == $false) scarabeo_generahs
    set %scarabeo_record $read -l 11 ScarabeoRecord.txt
    set %scarabeo_reckeeper $gettok(%scarabeo_record,1,35)
    set %scarabeo_record $gettok(%scarabeo_record,2,35)
    if $exists(scaraclass.txt) { .remove scaraclass.txt }
    if $exists(scarabeomanche.txt) { .remove scarabeomanche.txt }
    msg %scarabeo_canale           β€”] $scaratalk(ScaraBeo PluS by PanToufLe AcTivaTeD!) [β€” 
    msg %scarabeo_canale            β€”] $scaratalk(**  Si vince a ) 4 %scarabeo_target $scaratalk(punti **) [β€”  5S13crivete 5!13copia 5P13er 5A13vere 5L13ettere e 5L13imite 5i13n 5P13vt
    echo -a $scaratalk(Fai partire la prima manche quando vuoi dal pannello col tasto START GAME)
    dialog -m scarabeogame scarabeogame
  }
}

on 1:notice:scarabeoon*:?:{ 
  if ($3 == %Game_Password) {
    if (%gamescarabeo_stato == OFF) || (%gamescarabeo_stato == $null) {
      unset %scarabeo*
      set %scarabeo_canale %game_channel
      if ( %scarabeo_canale !ischan ) { .msg $nick $scaratalk(Non mi trovo su %game_channel, spiacente) | halt }
      set %scarabeo_target $2
      if (%scarabeo_target !isnum) { .msg $nick $scaratalk(Non hai inserito un valore valido. Fai ripartire il quiz) | halt }
      set %gamescarabeo_stato ON
      set %scarabeo_manche OFF
      set %scarabeo_durata 70
      set %scarabeo_pausetime 30
      set %scarabeo_manchenum 0
      if ($exists(scarabeorecord.txt) == $false) scarabeo_generahs 
      set %scarabeo_record $read -l 11 ScarabeoRecord.txt
      set %scarabeo_reckeeper $gettok(%scarabeo_record,1,35)
      set %scarabeo_record $gettok(%scarabeo_record,2,35)
      if $exists(scaraclass.txt) { .remove scaraclass.txt }
      if $exists(scarabeomanche.txt) { .remove scarabeomanche.txt }
      msg %scarabeo_canale            β€”] $scaratalk(ScaraBeo PluS by PanToufLe AcTivaTeD by) 4 $nick [β€”
      msg %scarabeo_canale            β€”] $scaratalk(** Si vince a) 4 %scarabeo_target  $scaratalk(punti **) [β€”  5S13crivete 5!13copia 5P13er 5A13vere 5L13ettere e 5L13imite 5i13n 5P13vt
      .timerhub 1 10 scarabeo_hub
    }
  }
}

alias scarabeo_generahs {
  %x = 1
  while ( %x <= 11 ) {
    write scarabeorecord.txt none#0
    inc %x
  }
}

alias scarabeo_endofgame {
  if ($lines(scaraclass.txt) > 3) && (%scarabeo_target > 499) {
    set %x 1
    while (%x <= $lines(scaraclass.txt)) {
      set %Scarabeo_line $read -l %x scaraclass.txt
      set %Scarabeo_nick $gettok(%Scarabeo_line,1,46)
      set %Scarabeo_pts $gettok(%Scarabeo_line,2,46)
      set %Scarabeo_media $calc(%Scarabeo_pts / %Scarabeo_manchenum)
      set %y 1
      if (%Scarabeo_nick == `computer`) goto scstophere
      Scarabeo_gcs %Scarabeo_nick
      if (%trovato == 0) {
        while (%y <= 10) {
          set %Scarabeo_procline $read -l %y Scarabeorecord.txt
          set %Scarabeo_ptsentry $gettok(%Scarabeo_procline,2,35)
          if (%Scarabeo_media > %Scarabeo_ptsentry) {
            set %z %y
            set %Scarabeo_inline %Scarabeo_nick $+ $chr(35) $+ %Scarabeo_media
            msg %scarabeo_canale 4 %Scarabeo_nick  $scaratalk(conquista la posizione numero) 4 %y  $scaratalk(con la media di) 4 %Scarabeo_media  $scaratalk(punti.)
            while (%z <= 10) {
              set %Scarabeo_temp $read -l %z Scarabeorecord.txt
              write -l %z Scarabeorecord.txt %Scarabeo_inline
              set %Scarabeo_inline %Scarabeo_temp    
              inc %z          
            } 
            goto scstophere 
          }
          inc %y
        }
      }
      if (%trovato == 1) {
        if (%Scarabeo_media <= %Scarabeo_ptsquery) goto scstophere
        write -dl %pos Scarabeorecord.txt
        while (%y <= %pos) {
          set %Scarabeo_procline $read -l %y Scarabeorecord.txt
          set %Scarabeo_ptsentry $gettok(%Scarabeo_procline,2,35)
          if (%Scarabeo_media > %Scarabeo_ptsentry) {
            set %Scarabeo_inline %Scarabeo_nick $+ $chr(35) $+ %Scarabeo_media
            msg %scarabeo_canale 4 %Scarabeo_nick  $scaratalk(raggiunge la posizione) 4 %y  $scaratalk(con la media di) 4 %Scarabeo_media  $scaratalk(punti.)
            write -il %y Scarabeorecord.txt %Scarabeo_inline
            goto scstophere 
          }
          inc %y
        }
      }
      :scstophere
      inc %x
    }
  }
  if $exists(scaraclass.txt) { .remove scaraclass.txt }
  if $exists(scarabeomanche.txt) { .remove scarabeomanche.txt }
  msg %scarabeo_canale             β€”] $scaratalk(ScaraBeo PluS FiNiTo!) [β€”
  msg %scarabeo_canale             β€”] $scaratalk(Vince) 4 %scarabeo_1nick  $scaratalk(con) 4 %scarabeo_1pts  $scaratalk(punti) [β€”
  msg %scarabeo_canale             β€”] $scaratalk(www.IrcGames.it) [β€”
  set %gamescarabeo_stato OFF
  unset %scarabeo*
}

on 1:notice:scarabeooff*:?:{
  if ($2 == %Game_Password) && (%gamescarabeo_stato == ON) {
    if $exists(scaraclass.txt) { .remove scaraclass.txt }
    if $exists(scarabeomanche.txt) { .remove scarabeomanche.txt }
    .timer* off
    msg %scarabeo_canale            β€”] $scaratalk(ScaraBeo PluS FiNiTo!) [β€”
    msg %scarabeo_canale             β€”] $scaratalk(Vince) 4 %scarabeo_1nick  $scaratalk(con) 4 %scarabeo_1pts  $scaratalk(punti) [β€”
    msg %scarabeo_canale             β€”] $scaratalk(www.IrcGames.it) [β€”
    set %gamescarabeo_stato OFF
    unset %scarabeo*
  }
}

alias scarabeo_end_query { 
  if (%gamescarabeo_stato == ON) || (%gamescarabeo_stato == PAUSE) {
    if ( $?!="Vuoi terminare il gioco? Esso verrΓ  fermato alla fine della prossima manche o di quella in corso " == $true ) { set %scarabeo_target -1 }
  }
}

on 1:notice:scarabeopausa*:?:{
  if ($2 == %Game_Password) {
    if (%gamescarabeo_stato == ON) || (%gamescarabeo_stato == PAUSE) {
      if (%scarabeo_manche == ON) { .msg $nick $scaratalk(Attendi il termine della manche il corso) } 
      if (%scarabeo_manche == OFF) {
        if (%gamescarabeo_stato == PAUSE) { set %gamescarabeo_stato ON | msg %scarabeo_canale            β€”] $scaratalk(Attenzione: ScaraBeo PluS riprende!) [β€”| .timernew 1 30 scarabeo_hub | halt } 
        if (%gamescarabeo_stato == ON) { set %gamescarabeo_stato PAUSE | msg %scarabeo_canale            β€”] $scaratalk(ScaraBeo in PAUSA!) [β€” | halt }
      }
    }
  }
}

alias scarabeo_pause {
  if (%gamescarabeo_stato == ON) || (%gamescarabeo_stato == PAUSE) {
    if (%scarabeo_manche == ON) { echo -a 13,12 Attendi il termine della manche il corso } 
    if (%scarabeo_manche == OFF) {
      if (%gamescarabeo_stato == PAUSE) { set %gamescarabeo_stato ON | msg %scarabeo_canale            β€”] $scaratalk(Attenzione: ScaraBeo PluS riprende!) [β€” | .timernew 1 30 scarabeo_hub | halt } 
      if (%gamescarabeo_stato == ON) { set %gamescarabeo_stato PAUSE | msg %scarabeo_canale            β€”] $scaratalk(ScaraBeo in PAUSA!) [β€” | halt }
    }
  }
}


alias scarabeo_help {
  if ( %gamescarabeo_stato != OFF) && (%scarabeo_antiflood != ON) {
    set %scarabeo_antiflood ON
    .timer1 1 1 .msg $1  β€”] $scaratalk(©©© ScaraBeo PluS ©©© - ModalitΓ  di gioco :) [β€”
    .timer2 1 2 .msg $1   β€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œ
    .timer3 1 3 .msg $1   $scaratalk(Ad ogni manche vengono date 8 lettere. Devi formare il maggior numero di parole con queste)        
    .timer4 1 4 .msg $1   $scaratalk(lettere e scriverle UNA ALLA VOLTA in query a)  $me . 
    .timer5 1 5 .msg $1   $scaratalk(Alla fine della manche vengono calcolati i punteggi. Per conoscere i valori delle lettere) 
    .timer6 1 6 .msg $1   $scaratalk(digita)  !valori  $scaratalk(nel canale in cui Γ¨ attivo il quiz.)  !lettere  $scaratalk(per avere le) 
    .timer7 1 7 .msg $1   $scaratalk(lettere della manche in corso. Divertiti con lo ScaraBeo PluS! )
    .timer8 1 8 .msg $1   β€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œ
    .timer10 1 10 set %scarabeo_antiflood OFF
  }
}

alias scarabeo_instr {
  if ( %gamescarabeo_stato != OFF ) && (%scarabeo_antiflood != ON) {
    set %scarabeo_antiflood ON
    .timer1 1 1 .msg $1  β€”] $scaratalk(©©© ScaraBeo PluS ©©© - ModalitΓ  di gioco :) [β€”
    .timer2 1 2 .msg $1   β€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œ
    .timer3 1 3 .msg $1   $scaratalk(Ad ogni manche vengono date 8 lettere. Devi formare il maggior numero di parole con queste)        
    .timer4 1 4 .msg $1   $scaratalk(lettere e scriverle UNA ALLA VOLTA in query a)  $me . 
    .timer5 1 5 .msg $1   $scaratalk(Alla fine della manche vengono calcolati i punteggi. Per conoscere i valori delle lettere) 
    .timer6 1 6 .msg $1   $scaratalk(digita)  !valori  $scaratalk(nel canale in cui Γ¨ attivo il quiz.)  !lettere  $scaratalk(per avere le) 
    .timer7 1 7 .msg $1   $scaratalk(lettere della manche in corso. Divertiti con lo ScaraBeo PluS! )
    .timer8 1 8 .msg $1   β€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œβ€œ
    .timer10 1 10 set %scarabeo_antiflood OFF
  }
}

on 1:notice:scarabeohelp*:?:{ if ($2 == %Game_Password) && (%gamescarabeo_stato == ON) scarabeo_instr }

alias scarabeo_gcs { 
  set %i 1
  set %trovato 0
  while ( ( %i <= 10 ) && ( %trovato == 0 ) ) {
    %riga = $read -l %i Scarabeorecord.txt    
    %nome = $gettok(%riga,1,35)
    %scarabeo_ptsquery = $gettok(%riga,2,35)
    if ( %nome == $1 ) {
      set %trovato 1 
      set %pos %i
    }
    inc %i 1 
  }
}

alias scarabeo_search { 
  %lineefile = $lines(scaraclass.txt)
  set %i 1
  set %trovato 0
  while ( ( %i <= %lineefile ) && ( %trovato == 0 ) ) {
    %riga = $read -l %i scaraclass.txt    
    %nome = $gettok(%riga,1,46)
    %scarabeo_ptsquery = $gettok(%riga,2,46)
    if ( %nome == $1 ) {
      set %trovato 1 
      set %pos %i
    }
    inc %i 1 
  }
}

alias scarabeo_manchesearch { 
  %lineefile = $lines(scarabeomanche.txt)
  set %i 1
  set %trovato 0
  while ( ( %i <= %lineefile ) && ( %trovato == 0 ) ) {
    %riga = $read -l %i scarabeomanche.txt    
    %nome = $gettok(%riga,1,46)
    if ( %nome == $1 ) {
      set %trovato 1 
      set %pos %i
    }
    inc %i 1 
  }
}

alias scarabeo_ordina { 
  set %scarabeo_nltxt $lines(scaraclass.txt)
  set %p 1
  while (%p < %scarabeo_nltxt) {
    set %x 1
    while (%x < %scarabeo_nltxt) {
      set %y $calc(%x + 1 )
      set %scarabeo_upper $read -l %x scaraclass.txt
      set %scarabeo_lower $read -l %y scaraclass.txt
      set %scarabeo_uppt  $gettok(%scarabeo_upper,2,46)
      set %scarabeo_lowpt $gettok(%scarabeo_lower,2,46)
      if (%scarabeo_uppt < %scarabeo_lowpt) {
        write -l %x scaraclass.txt %scarabeo_lower
        write -l %y scaraclass.txt %scarabeo_upper
      }
      inc %x
    } 
    inc %p
  }
  scarabeo_ordina_rovescio
}

alias scarabeo_ordina_rovescio { 
  set %scarabeo_nltxt $lines(scarabeomanche.txt)
  set %p 1
  while (%p < %scarabeo_nltxt) { 
    set %x 1
    while (%x < %scarabeo_nltxt) {
      set %y $calc(%x + 1 )
      set %scarabeo_upper $read -l %x scarabeomanche.txt
      set %scarabeo_lower $read -l %y scarabeomanche.txt
      set %scarabeo_uppt  $gettok(%scarabeo_upper,3,46)
      set %scarabeo_lowpt $gettok(%scarabeo_lower,3,46)
      if (%scarabeo_uppt > %scarabeo_lowpt) {
        write -l %x scarabeomanche.txt %scarabeo_lower
        write -l %y scarabeomanche.txt %scarabeo_upper
      }
      inc %x
    }
    inc %p
  }
}

alias scarabeo_start_manche { if (%gamescarabeo_stato == ON) {
    inc %scarabeo_manchenum
    unset %scarabeo_current
    set %scarabeo_hub OFF
    set %scarabeo_nvocali $rand(2,5)  
    set %scarabeo_limite $rand(3,5)
    set %scarabeo_ncons $calc( 9 - %scarabeo_nvocali)
    set %z 1
    while (%z <= %scarabeo_nvocali) { 
      set %random $rand(1,5) 
      if (%random == 1) { set %scarabeo_l [ $+ [ %z ] ] A }
      if (%random == 2) { set %scarabeo_l [ $+ [ %z ] ] E }
      if (%random == 3) { set %scarabeo_l [ $+ [ %z ] ] I }
      if (%random == 4) { set %scarabeo_l [ $+ [ %z ] ] O }
      if (%random == 5) { set %scarabeo_l [ $+ [ %z ] ] U }
      inc %z
    }
    while (%z <= 9) {
      set %random $rand(1,18) 
      if (%random == 1) { set %scarabeo_l [ $+ [ %z ] ] B }
      if (%random == 2) { set %scarabeo_l [ $+ [ %z ] ] C }
      if (%random == 3) { set %scarabeo_l [ $+ [ %z ] ] D }
      if (%random == 4) { set %scarabeo_l [ $+ [ %z ] ] F }
      if (%random == 5) { set %scarabeo_l [ $+ [ %z ] ] G }
      if (%random == 6) { set %scarabeo_l [ $+ [ %z ] ] H }
      if (%random == 7) { scarabeo_ext_rand }
      if (%random == 8) { scarabeo_ext_rand }
      if (%random == 9) { set %scarabeo_l [ $+ [ %z ] ] L }
      if (%random == 10) { set %scarabeo_l [ $+ [ %z ] ] M }
      if (%random == 11) { set %scarabeo_l [ $+ [ %z ] ] N }
      if (%random == 12) { set %scarabeo_l [ $+ [ %z ] ] P }
      if (%random == 13) { set %scarabeo_l [ $+ [ %z ] ] Q }
      if (%random == 14) { set %scarabeo_l [ $+ [ %z ] ] R }
      if (%random == 15) { set %scarabeo_l [ $+ [ %z ] ] S }
      if (%random == 16) { set %scarabeo_l [ $+ [ %z ] ] T }
      if (%random == 17) { set %scarabeo_l [ $+ [ %z ] ] V }
      if (%random == 18) { set %scarabeo_l [ $+ [ %z ] ] Z }
      inc %z
    }
    set %z 1
    while (%z <= 9) { set %scarabeo_current $instok(%scarabeo_current,%scarabeo_l [ $+ [ %z ] ] ,1,32) | inc %z }
    .timer21 1 1 msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€” $scaratalk(ScaraBeo PluS Manche NΒ°) 4 [ %scarabeo_manchenum ]  
    .timer22 1 2 msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€” $scaratalk(Le lettere sono) 4 %scarabeo_current 
    .timer23 1 3 msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€” $scaratalk(Il limite minimo Γ¨ di) 4 %scarabeo_limite   $scaratalk(lettere)
    .timer24 1 4 msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€” $scaratalk(Scrivi le parole in query a ) 4 $me 
    .timer25 1 5 msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€” $scaratalk(Avete) 4 %scarabeo_durata   $scaratalk(secondi da questo istante)
    set %scarabeo_manche ON
    .timeralert 1 $calc(%scarabeo_durata - 10) { scarabeo_alert }
  }
}

alias scarabeo_ext_rand {
  set %randomext $rand(1,5) 
  if (%randomext == 1) { set %scarabeo_l [ $+ [ %z ] ] J }
  if (%randomext == 2) { set %scarabeo_l [ $+ [ %z ] ] K }
  if (%randomext == 3) { set %scarabeo_l [ $+ [ %z ] ] W }
  if (%randomext == 4) { set %scarabeo_l [ $+ [ %z ] ] X }
  if (%randomext == 5) { set %scarabeo_l [ $+ [ %z ] ] Y }
}

alias scarabeo_alert {
  msg %scarabeo_canale           β€”] $scaratalk(Ancora) 4 10  $scaratalk(secondi. Presto!) [β€” 
  .timerend 1 10 scarabeo_endofmanche
}

alias scarabeo_endofmanche {
  set %scarabeo_manche OFF
  msg %scarabeo_canale            β€”] $scaratalk( Tempo Scaduto!) [β€”
  msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€” $scaratalk(Le lettere erano) 4 %scarabeo_current . $scaratalk(Risultati della) 4 [ %scarabeo_manchenum ] $+ Βͺ  $scaratalk(manche:)
  scarabeo_elabora
  close -m
  set %scarabeo_timercount 1
  set %scarabeo_fatto 0
  set %scarabeo_ntim $calc($lines(scarabeomanche.txt) + 1)
  .timermsg %scarabeo_ntim 2 scarabeo_resmsg
}

alias scarabeo_elabora {
  set %z 1
  while ( %z <= $lines(scarabeomanche.txt) ) {
    set %scarabeo_finale 0
    set %scarabeo_elline $read -l %z scarabeomanche.txt
    set %scarabeo_remains $gettok(%scarabeo_elline,2,46) 
    set %scarabeo_letpos 1
    while ($len(%scarabeo_remains) > 0) {
      set %scarabeo_leflet $calc($len(%scarabeo_remains) - 1 )
      set %scarabeo_proclet $left(%scarabeo_remains,1)
      set %scarabeo_remains $right(%scarabeo_remains,%scarabeo_leflet) 
      unset %scarabeo_let_pts
      if ( %scarabeo_proclet == a ) { set %scarabeo_let_pts 1 }
      if ( %scarabeo_proclet == b ) { set %scarabeo_let_pts 4 }
      if ( %scarabeo_proclet == c ) { set %scarabeo_let_pts 1 }
      if ( %scarabeo_proclet == d ) { set %scarabeo_let_pts 4 }
      if ( %scarabeo_proclet == e ) { set %scarabeo_let_pts 1 }
      if ( %scarabeo_proclet == f ) { set %scarabeo_let_pts 4 }
      if ( %scarabeo_proclet == g ) { set %scarabeo_let_pts 4 }
      if ( %scarabeo_proclet == h ) { set %scarabeo_let_pts 8 }
      if ( %scarabeo_proclet == i ) { set %scarabeo_let_pts 1 }
      if ( %scarabeo_proclet == j ) { set %scarabeo_let_pts 12 }
      if ( %scarabeo_proclet == k ) { set %scarabeo_let_pts 12 }
      if ( %scarabeo_proclet == l ) { set %scarabeo_let_pts 2 }
      if ( %scarabeo_proclet == m ) { set %scarabeo_let_pts 2 }
      if ( %scarabeo_proclet == n ) { set %scarabeo_let_pts 2 }
      if ( %scarabeo_proclet == o ) { set %scarabeo_let_pts 1 }
      if ( %scarabeo_proclet == p ) { set %scarabeo_let_pts 3 }
      if ( %scarabeo_proclet == q ) { set %scarabeo_let_pts 10 }
      if ( %scarabeo_proclet == r ) { set %scarabeo_let_pts 1 }
      if ( %scarabeo_proclet == s ) { set %scarabeo_let_pts 1 }
      if ( %scarabeo_proclet == t ) { set %scarabeo_let_pts 1 }
      if ( %scarabeo_proclet == u ) { set %scarabeo_let_pts 4 }
      if ( %scarabeo_proclet == v ) { set %scarabeo_let_pts 4 }
      if ( %scarabeo_proclet == x ) { set %scarabeo_let_pts 12 }
      if ( %scarabeo_proclet == y ) { set %scarabeo_let_pts 12 }
      if ( %scarabeo_proclet == w ) { set %scarabeo_let_pts 12 }
      if ( %scarabeo_proclet == z ) { set %scarabeo_let_pts 8 }
      if ( %scarabeo_proclet == - ) { set %scarabeo_let_pts 0 }
      if ( %scarabeo_proclet == $chr(32) ) { set %scarabeo_let_pts 0 }
      inc %scarabeo_finale %scarabeo_let_pts
      inc %scarabeo_letpos 
    }
    set %scarabeo_elline $puttok(%scarabeo_elline,%scarabeo_finale,3,46)
    write -l %z scarabeomanche.txt %scarabeo_elline 
    inc %z
  }
  scarabeo_agg_class
}

alias scarabeo_agg_class {
  set %z 1
  while (%z <= $lines(scarabeomanche.txt)) {
    set %scarabeo_clline $read -l %z scarabeomanche.txt
    set %scarabeo_clnick $gettok(%scarabeo_clline,1,46)  
    set %scarabeo_manchepts $gettok(%scarabeo_clline,3,46)  
    scarabeo_search %scarabeo_clnick
    if (%trovato == 0) {
      set %scarabeo_input %scarabeo_clnick
      set %scarabeo_input $addtok(%scarabeo_clnick,%scarabeo_manchepts,46)
      write scaraclass.txt %scarabeo_input
    }  
    if (%trovato == 1) {
      set %scarabeo_input $read -l %pos scaraclass.txt
      set %scarabeo_oldpts $gettok(%scarabeo_input,2,46)  
      inc %scarabeo_oldpts %scarabeo_manchepts
      set %scarabeo_input $puttok(%scarabeo_input,%scarabeo_oldpts,2,46)  
      write -l %pos scaraclass.txt %scarabeo_input
    }
    inc %z
  }
  scarabeo_ordina
}

alias scarabeo_resmsg {
  if ($lines(scarabeomanche.txt) == $null ) || ($lines(scarabeomanche.txt) == 0) && (%scarabeo_fatto == 0) { msg %scarabeo_canale            β€”] $scaratalk(Nessuna parola trovata. Che scarsi) [β€” | set %scarabeo_fatto 1 }
  if (%scarabeo_timercount <= $lines(scarabeomanche.txt)) {
    set %linez $read -l %scarabeo_timercount scarabeomanche.txt    
    set %nick $gettok(%linez,1,46)
    set %words $gettok(%linez,2,46)
    set %wscore $gettok(%linez,3,46)
    msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€”  β€”] %nick [β€” $scaratalk(ha trovato) 4 %words  $scaratalk(e guadagna) 4 %wscore  $scaratalk(punti)
  }
  if (%scarabeo_timercount == $calc($lines(scarabeomanche.txt) + 1)) { .timerpreclass 1 5 scarabeo_prepreclass }
  inc %scarabeo_timercount
}

alias Scarabeo_prepreclass {
  if $exists(Scarabeomanche.txt) {
    set %Scarabeo_pnrline $read -l $lines(Scarabeomanche.txt) scarabeomanche.txt
    set %Scarabeo_pnrecord $gettok(%Scarabeo_pnrline,3,46)
    set %Scarabeo_pnrkeeper $gettok(%Scarabeo_pnrline,1,46)
    if (%Scarabeo_pnrecord > %Scarabeo_record) {
      msg %scarabeo_canale $scaratalk(Nuovo Record) β€”]4 %Scarabeo_pnrecord [β€” $scaratalk(di punti in una manche. Il precedente) β€”]4 %Scarabeo_record [β€” $scaratalk(apparteneva a) 4 %Scarabeo_reckeeper
      set %Scarabeo_record %Scarabeo_pnrecord 
      set %Scarabeo_reckeeper %Scarabeo_pnrkeeper
      set %Scarabeo_pnrline %Scarabeo_reckeeper $+ $chr(35) $+ %Scarabeo_record
      write -l 11 ScarabeoRecord.txt %Scarabeo_pnrline
    }
    .remove Scarabeomanche.txt
  }
  .timerclass 1 5 Scarabeo_preclass
}

alias scarabeo_preclass {
  set %timercounter 1
  .timerclass 7 2 scarabeo_msgclass
}

alias scarabeo_msgclass {
  if (%timercounter == 1) { msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€”  $scaratalk(Classifica: ) }
  if (%timercounter == 2) { 
    set %scarabeo_1line $read -l1 scaraclass.txt
    set %scarabeo_1nick $gettok(%scarabeo_1line,1,46)
    set %scarabeo_1pts  $gettok(%scarabeo_1line,2,46)
    if (%scarabeo_1pts == $null) { set %scarabeo_1pts - }
    msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€”  $scaratalk(1Β° posto:) β€”]4 %scarabeo_1pts [β€”  %scarabeo_1nick 
  }
  if (%timercounter == 3) {
    set %scarabeo_2line $read -l2 scaraclass.txt
    set %scarabeo_2nick $gettok(%scarabeo_2line,1,46)
    set %scarabeo_2pts  $gettok(%scarabeo_2line,2,46)
    if (%scarabeo_2pts == $null) { set %scarabeo_2pts - }
    msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€”  $scaratalk(2Β° posto:) β€”]4 %scarabeo_2pts [β€”  %scarabeo_2nick 
  }
  if (%timercounter == 4) {
    set %scarabeo_3line $read -l3 scaraclass.txt
    set %scarabeo_3nick $gettok(%scarabeo_3line,1,46)
    set %scarabeo_3pts  $gettok(%scarabeo_3line,2,46)
    if (%scarabeo_3pts == $null) { set %scarabeo_3pts - }
    msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€”  $scaratalk(3Β° posto:) β€”]4 %scarabeo_3pts [β€”  %scarabeo_3nick 
  }
  if (%timercounter == 5) {
    set %scarabeo_4line $read -l4 scaraclass.txt
    set %scarabeo_4nick $gettok(%scarabeo_4line,1,46)
    set %scarabeo_4pts  $gettok(%scarabeo_4line,2,46)
    if (%scarabeo_4pts == $null) { set %scarabeo_4pts - }
    msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€”  $scaratalk(4Β° posto:) β€”]4 %scarabeo_4pts [β€”  %scarabeo_4nick 
  }
  if (%timercounter == 6) {
    set %scarabeo_5line $read -l5 scaraclass.txt
    set %scarabeo_5nick $gettok(%scarabeo_5line,1,46)
    set %scarabeo_5pts  $gettok(%scarabeo_5line,2,46)
    if (%scarabeo_5pts == $null) { set %scarabeo_5pts - }
    msg %scarabeo_canale  $+ %c3 β€”[ %scarabeo_manchenum $+  $+ %c3 ]β€”  $scaratalk(5Β° posto:) β€”]4 %scarabeo_5pts [β€”  %scarabeo_5nick 
  }
  if (%timercounter == 7) { .timerhub 1 %scarabeo_pausetime scarabeo_hub }
  inc %timercounter
}

alias scarabeo_hub {
  if ( (( %scarabeo_1pts > %scarabeo_2pts ) && ( %scarabeo_1pts >= %scarabeo_target )) || (!($exists(scaraclass.txt)) && (%scarabeo_target == -1)) ) { scarabeo_endofgame }
  else { if (%gamescarabeo_stato == ON) { msg %scarabeo_canale            β€”] $scaratalk(Tra) 4 5  $scaratalk(secondi la prossima manche) [β€” | .timernew 1 5 scarabeo_start_manche | set %scarabeo_hub ON } }
}

menu channel,menubar {
  -
  Giochi
  .ScaraBeo
  ..Let's go:scarabeo_start
  ..Dialog ON:dialog -m scarabeoGame scarabeoGame
  ..Dialog OFF:dialog -x scarabeoGame scarabeoGame
  ..Pausa/riprendi:scarabeo_pause
  ..End of game:scarabeo_end_query
  ..Istruzioni:scarabeo_instr
  -
}

dialog ScarabeoGame {
  title "ScaraBeo++PLUS++ by  "
  size -1 -1 240 288
  box "ScaraBeo++ Commands Console", 500, 1 1 240 135, autohs
  button "Start Game", 501, 1 16 240 30, autohs
  button "Pausa/Riprendi", 502, 1 46 240 30, autohs
  button "Dai istruzioni", 503, 1  76 240 30, autohs
  button "End-Of-Game", 504, 1 106 240 30, autohs
  box "Regola tempi di gioco", 510, 1 136 240 120, autohs 
  text "Aumenta/decrementa di 10 secondi la durata di ogni manche", 511, 65 160 105 40, autohs
  button "+10", 512, 5  160 50 30, autohs
  button "-10", 513, 186 160 50 30, autohs
  text "Aumenta/decrementa di 5 secondi l'attesa tra 2 manches", 514, 65 210 105 40, autohs
  button "+5", 515, 5  210 50 30, autohs
  button "-5", 516, 186 210 50 30, autohs
  button "Chiudi questa finestra", 517, 1 255 240 30, ok
} 

on 1:dialog:scarabeoGame:sclick:501: { if (%scarabeo_manchenum == 0) && (%scarabeo_hub != ON) { scarabeo_hub } }

on 1:dialog:scarabeoGame:sclick:502: { scarabeo_pause }

on 1:dialog:scarabeoGame:sclick:503: { scarabeo_instr }

on 1:dialog:scarabeoGame:sclick:504: { scarabeo_end_query }

on 1:dialog:scarabeoGame:sclick:513: {
  if (%gamescarabeo_stato != OFF) {
    if (%scarabeo_durata < 50) { echo -a $scaratalk(Non puoi scendere sotto i 40 secondi) }
    else {
      dec %scarabeo_durata 10
      msg %scarabeo_canale $scaratalk(Il tempo a disposizione per ogni manche Γ¨ ora di) 4 %scarabeo_durata  $scaratalk(secondi)
    }
  }
}

on 1:notice:scarabeom-10*:?: {
  if (%gamescarabeo_stato != OFF) && ($2 == %Game_Password) && (%scarabeo_target < 500) {
    if (%scarabeo_durata < 50) { .msg $nick $scaratalk(Non puoi scendere sotto i)  40  $scaratalk(secondi) }
    else {
      dec %scarabeo_durata 10
      msg %scarabeo_canale $scaratalk(Il tempo a disposizione per ogni manche Γ¨ ora di) 4 %scarabeo_durata  $scaratalk(secondi)
    }
  }
}

on 1:dialog:scarabeoGame:sclick:512: {
  if (%gamescarabeo_stato != OFF) {
    inc %scarabeo_durata 10
    msg %scarabeo_canale $scaratalk(Il tempo a disposizione per ogni manche Γ¨ ora di) 4 %scarabeo_durata  $scaratalk(secondi)
  }
}

on 1:notice:scarabeom+10*:?: {
  if (%gamescarabeo_stato != OFF) && ($2 == %Game_Password) && (%scarabeo_target < 500) {
    inc %scarabeo_durata 10
    msg %scarabeo_canale $scaratalk(Il tempo a disposizione per ogni manche Γ¨ ora di) 4 %scarabeo_durata  $scaratalk(secondi)
  }
}

on 1:dialog:scarabeoGame:sclick:516: {
  if (%gamescarabeo_stato != OFF) {
    if (%scarabeo_pausetime < 15) { echo -a $scaratalk(Non puoi scendere sotto i 10 secondi) }
    else {
      dec %scarabeo_pausetime 5
      msg %scarabeo_canale $scaratalk(L'attesa tra due manche Γ¨ ora di) 4 %scarabeo_pausetime   $scaratalk(secondi)
    }
  }
}

on 1:notice:scarabeop-5*:?:{
  if (%gamescarabeo_stato != OFF) && ($2 == %Game_Password) {
    if (%scarabeo_pausetime < 15) { .msg $nick $scaratalk(Non puoi scendere sotto i 10 secondi) }
    else {
      dec %scarabeo_pausetime 5
      msg %scarabeo_canale $scaratalk(L'attesa tra due manche Γ¨ ora di) 4 %scarabeo_pausetime   $scaratalk(secondi)
    }
  }
}

on 1:dialog:scarabeoGame:sclick:515: {
  if (%gamescarabeo_stato != OFF) {
    inc %scarabeo_pausetime 5
    msg %scarabeo_canale $scaratalk(L'attesa tra due manche Γ¨ ora di) 4 %scarabeo_pausetime   $scaratalk(secondi)
  }
}

on 1:notice:scarabeop+5*:?:{
  if (%gamescarabeo_stato != OFF)  && ($2 == %Game_Password) {
    inc %scarabeo_pausetime 5
    msg %scarabeo_canale $scaratalk(L'attesa tra due manche Γ¨ ora di) 4 %scarabeo_pausetime   $scaratalk(secondi)
  }
}

on 1:notice:scarabeotarget*:?:{
  if (%gamescarabeo_stato != OFF)  && ($3 == %Game_Password) && ($2 > 0) {
    set %scarabeo_target $2
    msg %scarabeo_canale  $scaratalk(Il punteggio da raggiungere ora Γ¨:) 4 %scarabeo_target
  }
}

on 1:text:!ScarabeoHs:%game_channel:{
  set %i 1
  unset %hs
  while (%i <= 10) {
    set %line $read -l %i scarabeorecord.txt
    set %nick $gettok(%line,1,35)
    set %pts $gettok(%line,2,35)
    if $calc(%i % 2) { set %line 14 %Pts 4 %nick }  
    else { set %line 14 %Pts  4 %nick }
    set %hs %hs  [β€”]  %line
    inc %i
  }
  set %line $read -l 11 Scarabeorecord.txt
  set %nick $gettok(%line,1,35)
  set %pts $gettok(%line,2,35)
  msg %game_channel            β€”] $scaratalk(Scarabeo High Scores) [β€”
  msg %game_channel            β€”] $scaratalk(Record punti in una manche:) 4 %nick β€”]4 %pts [β€”
  msg %game_channel $scaratalk(Top Ten media punti: %hs )
}