xTrivia — File Browser
xTriviav1.0 / xTriviav1.0 / xTriviaByRibellina / xtrivia / bot / Addons / Giochi / MultiSillaba.mrc
MultiSillaba.mrc — 36.93 KB — Download this file
;--------------------------------------------------------------
multisillaba 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.
;--------------------------------------------------------------
on 1:NICK:{
if (%gamemultisillaba_stato != OFF) && ( $nick != $newnick ) {
multisillaba_search $nick
if (%trovato == 1) {
%multisillaba_chnickline = $read -l %pos scaraclass.txt
%multisillaba_chnickline = $puttok(%multisillaba_chnickline,$newnick,1,46)
write -l %pos scaraclass.txt %multisillaba_chnickline
}
multisillaba_manchesearch $nick
if (%trovato == 1) {
%multisillaba_chnickline = $read -l %pos multisillabamanche.txt
%multisillaba_chnickline = $puttok(%multisillaba_chnickline,$newnick,1,46)
write -l %pos multisillabamanche.txt %multisillaba_chnickline
}
}
}
on 1:JOIN:%game_channel:{ if (%gamemultisillaba_stato != OFF) { .msg $nick 7,2 ©º°¨ - 8 multisillaba9 ++PluS++11 Running!7,2 - ©º°¨¨°º© 8 Digita !aiuto nel canale per le istruzioni } }
on 1:TEXT:!punti:%game_channel:{
if (%gamemultisillaba_stato != OFF) {
multisillaba_search $nick
if (%trovato == 1) {
.msg $nick Il tuo punteggio è %multisillaba_ptsquery
}
}
}
on 1:TEXT:!lettere:%game_channel: {
if (%gamemultisillaba_stato != OFF) {
if (%multisillaba_manche == ON ) { msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 Le lettere a disposizione sono:8,2 %multisillaba_current }
else { msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 Nessuna manche in corso. Attendi la prossima! }
}
}
on 1:TEXT:!valori:%game_channel:{ if (%gamemultisillaba_stato != OFF) { msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 Valori:4,2 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:%game_channel: multisillaba_help $nick
on 1:TEXT:*:?: {
if (%gamemultisillaba_stato == ON) && (%multisillaba_manche == OFF) && ($1 != $null) && ($nick != $me) { .msg $nick Manche terminata. Non posso accettare la tua richiesta }
if (%gamemultisillaba_stato == ON) && (%multisillaba_manche == ON) && ($1 != $null) && ($nick != $me) {
set %multisillaba_string $1
; if ($len(%sillaba_string) < %multisillaba_limite) { .msg $nick Il limite per questa manche è di %sillaba_lenmax lettere | halt }
if (%multisillaba_sillaba !isin %multisillaba_string ) && (%multisillaba_sillaba2 !isin %multisillaba_string ) { .msg $nick Stiamo giocando per le sillabe %multisillaba_sillaba o per %multisillaba_sillaba2 . La tua parola contiene ne l'una ne l'altra | halt }
else {
set %multisillaba_starlet $left(%multisillaba_string,1)
set %multisillaba_trovato $read($scriptdirdictionary\ $+ italiano. [ $+ [ %multisillaba_starlet ] ],w,%multisillaba_string,1)
if ( %multisillaba_trovato == %multisillaba_string ) {
; .msg $nick Parola Accettata, scrivine altre presto!!!
multisillaba_verifica %multisillaba_string
if (%multisillaba_ok == 1) {
multisillaba_manchesearch $nick
if (%trovato == 0) {
set %multisillaba_fileline $nick
set %multisillaba_fileline $instok(%multisillaba_fileline,%multisillaba_string,2,46)
set %multisillaba_fileline $addtok(%multisillaba_fileline,-,46)
write multisillabamanche.txt %multisillaba_fileline
}
if (%trovato == 1) {
set %multisillaba_fileline $read -l %pos multisillabamanche.txt
set %multisillaba_wrdtok $gettok(%multisillaba_fileline,2,46)
set %multisillaba_wrdtok $addtok(%multisillaba_wrdtok,%multisillaba_string,32)
set %multisillaba_fileline $puttok(%multisillaba_fileline,%multisillaba_wrdtok,2,46)
write -l %pos multisillabamanche.txt %multisillaba_fileline
}
}
}
; else .msg $nick Questa parola non esiste nel mio dizionario, spiacente
}
}
close -m $nick
}
alias multisillaba_scara {
}
alias multisillaba_verifica {
set %multisillaba_ok 1
if ($len($1) < %multisillaba_limite ) { set %multisillaba_ok 0 }
set %templet %multisillaba_current
set %remains $1
while ($len(%remains) > 0) && (%multisillaba_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 %multisillaba_ok 0 }
}
}
alias multisillaba_start {
if ( %gamemultisillaba_stato == ON ) || ( %gamemultisillaba_stato == PAUSE ) { if ( $?!="Sei sicuro/a di voler avviare il gioco? Potrebbe essere già attivo oppure in pausa? " == $true ) { set %gamemultisillaba_stato OFF } }
if (%gamemultisillaba_stato == OFF) || (%gamemultisillaba_stato == $null) {
unset %multisillaba*
set %game_channel $?="Su che canale avviare il gioco?"
if ( %game_channel !ischan ) { echo -a Canale non valido | halt }
set %multisillaba_target $?="Inserisci il numero di punti da totalizzare per vincere:"
if (%multisillaba_target !isnum) { echo -a Non hai inserito un valore valido. Fai ripartire il quiz | halt }
set %gamemultisillaba_stato ON
set %multisillaba_manche OFF
set %multisillaba_durata 60
set %multisillaba_pausetime 30
set %multisillaba_manchenum 0
if ($exists(multisillabarecord.txt) == $false) multisillaba_generahs
set %multisillaba_record $read -l 11 multisillabaRecord.txt
set %multisillaba_reckeeper $gettok(%multisillaba_record,1,35)
set %multisillaba_record $gettok(%multisillaba_record,2,35)
if $exists(scaraclass.txt) { .remove scaraclass.txt }
if $exists(multisillabamanche.txt) { .remove multisillabamanche.txt }
msg %game_channel 7,2 ©º°¨ - 8 Silla9 ++PluS++11 AcTivaTeD 0mod. by BREIL 7,2- ¨°º©
msg %game_channel 7,2 ©º°¨¨°º© - 8 **9 Si vince a0 %multisillaba_target $+ 9 punti8 ** 7,2 - ©º°¨¨°º©
echo -a 8,2 Fai partire la prima manche quando vuoi dal pannello col tasto START GAME
dialog -m multisillabagame multisillabagame
}
}
on 1:notice:multisillabaon*:?:{
if (%gamemultisillaba_stato == OFF) || (%gamemultisillaba_stato == $null) {
unset %multisillaba*
set %game_channel %game_channel
if ( %game_channel !ischan ) { .msg $nick Non mi trovo su %game_channel, spiacente | halt }
set %multisillaba_target $2
if (%multisillaba_target !isnum) { .msg $nick Non hai inserito un valore valido. Fai ripartire il quiz | halt }
set %gamemultisillaba_stato ON
set %multisillaba_manche OFF
set %multisillaba_durata 70
set %multisillaba_pausetime 30
set %multisillaba_manchenum 0
set %multisillaba_mad 0
if ($4 == MAD) set %multisillaba_mad 1
if ($exists(multisillabarecord.txt) == $false) multisillaba_generahs
set %multisillaba_record $read -l 11 multisillabaRecord.txt
set %multisillaba_reckeeper $gettok(%multisillaba_record,1,35)
set %multisillaba_record $gettok(%multisillaba_record,2,35)
if $exists(scaraclass.txt) { .remove scaraclass.txt }
if $exists(multisillabamanche.txt) { .remove multisillabamanche.txt }
msg %game_channel 7,2 ©º°¨ - 8 Silla9 ++PluS++11 AcTivaTeD 0mod. by BREIL 7,2- ¨°º©
msg %game_channel 7,2 ©º°¨¨°º© - 8 **9 Si vince a0 %multisillaba_target $+ 9 punti8 ** 7,2 - ©º°¨¨°º©
.timerhub 1 35 multisillaba_hub
}
}
alias multisillaba_generahs {
%x = 1
while ( %x <= 11 ) {
write multisillabarecord.txt none#0
inc %x
}
}
alias multisillaba_endofgame {
if ($lines(scaraclass.txt) > 3) && (%multisillaba_target > 499) {
set %x 1
while (%x <= $lines(scaraclass.txt)) {
set %multisillaba_line $read -l %x scaraclass.txt
set %multisillaba_nick $gettok(%multisillaba_line,1,46)
set %multisillaba_pts $gettok(%multisillaba_line,2,46)
set %multisillaba_media $calc(%multisillaba_pts / %multisillaba_manchenum)
set %y 1
if (%multisillaba_nick == `computer`) goto scstophere
multisillaba_gcs %multisillaba_nick
if (%trovato == 0) {
while (%y <= 10) {
set %multisillaba_procline $read -l %y multisillabarecord.txt
set %multisillaba_ptsentry $gettok(%multisillaba_procline,2,35)
if (%multisillaba_media > %multisillaba_ptsentry) {
set %z %y
set %multisillaba_inline %multisillaba_nick $+ $chr(35) $+ %multisillaba_media
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 %multisillaba_nick 8,2conquista la posizione numero4,2 %y 8,2con la media di9,2 %multisillaba_media 8,2punti.
while (%z <= 10) {
set %multisillaba_temp $read -l %z multisillabarecord.txt
write -l %z multisillabarecord.txt %multisillaba_inline
set %multisillaba_inline %multisillaba_temp
inc %z
}
goto scstophere
}
inc %y
}
}
if (%trovato == 1) {
if (%multisillaba_media <= %multisillaba_ptsquery) goto scstophere
write -dl %pos multisillabarecord.txt
while (%y <= %pos) {
set %multisillaba_procline $read -l %y multisillabarecord.txt
set %multisillaba_ptsentry $gettok(%multisillaba_procline,2,35)
if (%multisillaba_media > %multisillaba_ptsentry) {
set %multisillaba_inline %multisillaba_nick $+ $chr(35) $+ %multisillaba_media
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 %multisillaba_nick 8,2 raggiunge la posizione4,2 %y 8,2con la media di9,2 %multisillaba_media 8,2punti.
write -il %y multisillabarecord.txt %multisillaba_inline
goto scstophere
}
inc %y
}
}
:scstophere
inc %x
}
}
if $exists(scaraclass.txt) { .remove scaraclass.txt }
if $exists(multisillabamanche.txt) { .remove multisillabamanche.txt }
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Silla9,2 ++PluS++11,2 FiNiTo! 4,2
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 Vince 0,2 %multisillaba_1nick $+ 9,2 con0,2 %multisillaba_1pts $+ 9,2 punti 4,2
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 #scarabeo 4,2
set %gamemultisillaba_stato OFF
unset %multisillaba*
}
on 1:notice:multisillabaoff*:?:{
if (%gamemultisillaba_stato == ON) {
if $exists(scaraclass.txt) { .remove scaraclass.txt }
if $exists(multisillabamanche.txt) { .remove multisillabamanche.txt }
.timer* off
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Silla9,2 ++PluS++11,2 FiNiTo! 4,2
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 Vince 0,2 %multisillaba_1nick $+ 9,2 con0,2 %multisillaba_1pts $+ 9,2 punti 4,2
set %gamemultisillaba_stato OFF
unset %multisillaba*
}
}
alias multisillaba_end_query {
if (%gamemultisillaba_stato == ON) || (%gamemultisillaba_stato == PAUSE) {
if ( $?!="Vuoi terminare il gioco? Esso verrà fermato alla fine della prossima manche o di quella in corso " == $true ) { set %multisillaba_target -1 }
}
}
on 1:notice:multisillabapausa*:?:{
if ($2 == %game_password) {
if (%gamemultisillaba_stato == ON) || (%gamemultisillaba_stato == PAUSE) {
if (%multisillaba_manche == ON) { .msg $nick Attendi il termine della manche il corso }
if (%multisillaba_manche == OFF) {
if (%gamemultisillaba_stato == PAUSE) { set %gamemultisillaba_stato ON | msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 ¯°·.¸¸.·°¯°·>9,2 Attenzione: Silla ++PluS++ riprende!4,2 <·°¯°·.¸¸.·°¯ | .timernew 1 30 multisillaba_hub | halt }
if (%gamemultisillaba_stato == ON) { set %gamemultisillaba_stato PAUSE | msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 ¯°·.¸¸.·°¯°·>8,2 Silla ++Plus++ in 9,2 PAUSA!4,2 <·°¯°·.¸¸.·°¯ | halt }
}
}
}
}
alias multisillaba_pause {
if (%gamemultisillaba_stato == ON) || (%gamemultisillaba_stato == PAUSE) {
if (%multisillaba_manche == ON) { echo -a 8,2 Attendi il termine della manche il corso }
if (%multisillaba_manche == OFF) {
if (%gamemultisillaba_stato == PAUSE) { set %gamemultisillaba_stato ON | msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 ¯°·.¸¸.·°¯°·>9,2 Attenzione: Silla ++PluS++ riprende!4,2 <·°¯°·.¸¸.·°¯ | .timernew 1 30 multisillaba_hub | halt }
if (%gamemultisillaba_stato == ON) { set %gamemultisillaba_stato PAUSE | msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 ¯°·.¸¸.·°¯°·>8,2 Silla ++Plus++ in 9,2 PAUSA!4,2 <·°¯°·.¸¸.·°¯ | halt }
}
}
}
alias multisillaba_help {
if ( %gamemultisillaba_stato != OFF) && (%multisillaba_antiflood != ON) {
set %multisillaba_antiflood ON
.timer1 1 1 .msg $1 8,2 ©©© multisillaba ++PluS ©©© - Modalità di gioco :
.timer2 1 2 .msg $1 4,2 “““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““
.timer3 1 3 .msg $1 8,2 Ad ogni manche vengono date 8 lettere. Devi formare il maggior numero di parole con queste
.timer4 1 4 .msg $1 8,2 lettere e scriverle UNA ALLA VOLTA in query a0,2 $me .
.timer5 1 5 .msg $1 8,2 Alla fine della manche vengono calcolati i punteggi. Per conoscere i valori delle lettere
.timer6 1 6 .msg $1 8,2 digita0,2 !valori8,2 nel canale in cui è attivo il quiz.0,2 !lettere8,2 per avere le
.timer7 1 7 .msg $1 8,2 lettere della manche in corso.4,2 Divertiti con lo multisillaba ++PluS++!
.timer8 1 8 .msg $1 4,2 ““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““
.timer10 1 10 set %multisillaba_antiflood OFF
}
}
alias multisillaba_instr {
if ( %gamemultisillaba_stato != OFF ) && (%multisillaba_antiflood != ON) {
set %multisillaba_antiflood ON
.timer1 1 1 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 ©©© multisillaba ++ ©©© - Modalità di gioco :
.timer2 1 2 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 “““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““
.timer3 1 3 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Ad ogni manche vengono date 8 lettere. Devi formare il maggior numero di parole con queste
.timer4 1 4 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 lettere e scriverle UNA ALLA VOLTA in query a0,2 $me .
.timer5 1 5 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Alla fine della manche vengono calcolati i punteggi. Per conoscere i valori delle lettere
.timer6 1 6 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 digita0,2 !valori8,2 nel canale in cui è attivo il quiz.0,2 !lettere8,2 per avere le
.timer7 1 7 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 lettere della manche in corso.4,2 Divertiti con lo multisillaba ++PluS++!
.timer8 1 8 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 ““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““
.timer10 1 10 set %multisillaba_antiflood OFF
}
}
on 1:notice:multisillabahelp*:?:{ if ($2 == %game_password) && (%gamemultisillaba_stato == ON) multisillaba_instr }
alias multisillaba_gcs {
set %i 1
set %trovato 0
while ( ( %i <= 10 ) && ( %trovato == 0 ) ) {
%riga = $read -l %i multisillabarecord.txt
%nome = $gettok(%riga,1,35)
%multisillaba_ptsquery = $gettok(%riga,2,35)
if ( %nome == $1 ) {
set %trovato 1
set %pos %i
}
inc %i 1
}
}
alias multisillaba_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)
%multisillaba_ptsquery = $gettok(%riga,2,46)
if ( %nome == $1 ) {
set %trovato 1
set %pos %i
}
inc %i 1
}
}
alias multisillaba_manchesearch {
%lineefile = $lines(multisillabamanche.txt)
set %i 1
set %trovato 0
while ( ( %i <= %lineefile ) && ( %trovato == 0 ) ) {
%riga = $read -l %i multisillabamanche.txt
%nome = $gettok(%riga,1,46)
if ( %nome == $1 ) {
set %trovato 1
set %pos %i
}
inc %i 1
}
}
alias multisillaba_ordina {
set %multisillaba_nltxt $lines(scaraclass.txt)
set %p 1
while (%p < %multisillaba_nltxt) {
set %x 1
while (%x < %multisillaba_nltxt) {
set %y $calc(%x + 1 )
set %multisillaba_upper $read -l %x scaraclass.txt
set %multisillaba_lower $read -l %y scaraclass.txt
set %multisillaba_uppt $gettok(%multisillaba_upper,2,46)
set %multisillaba_lowpt $gettok(%multisillaba_lower,2,46)
if (%multisillaba_uppt < %multisillaba_lowpt) {
write -l %x scaraclass.txt %multisillaba_lower
write -l %y scaraclass.txt %multisillaba_upper
}
inc %x
}
inc %p
}
multisillaba_ordina_rovescio
}
alias multisillaba_ordina_rovescio {
set %multisillaba_nltxt $lines(multisillabamanche.txt)
set %p 1
while (%p < %multisillaba_nltxt) {
set %x 1
while (%x < %multisillaba_nltxt) {
set %y $calc(%x + 1 )
set %multisillaba_upper $read -l %x multisillabamanche.txt
set %multisillaba_lower $read -l %y multisillabamanche.txt
set %multisillaba_uppt $gettok(%multisillaba_upper,3,46)
set %multisillaba_lowpt $gettok(%multisillaba_lower,3,46)
if (%multisillaba_uppt > %multisillaba_lowpt) {
write -l %x multisillabamanche.txt %multisillaba_lower
write -l %y multisillabamanche.txt %multisillaba_upper
}
inc %x
}
inc %p
}
}
alias multisillaba_start_manche { if (%gamemultisillaba_stato == ON) {
inc %multisillaba_manchenum
unset %multisillaba_current
unset %multisillaba_sillaba
unset %multisillaba_consonante
unset %multisillaba_sillaba2
set %multisillaba_hub OFF
set %multisillaba_nvocali $rand(4,7)
set %multisillaba_limite $rand(3,4)
set %multisillaba_ncons $calc( 12 - %multisillaba_nvocali)
set %z 1
while (%z <= %multisillaba_nvocali) {
set %random $rand(1,5)
;
if (%random == 1) {
set %multisillaba_l [ $+ [ %z ] ] A
set %multisillaba_sillaba %multisillaba_sillaba $+ A
}
;
if (%random == 2) {
set %multisillaba_l [ $+ [ %z ] ] E
set %multisillaba_sillaba %multisillaba_sillaba $+ E
}
;
if (%random == 3) {
set %multisillaba_l [ $+ [ %z ] ] I
set %multisillaba_sillaba %multisillaba_sillaba $+ I
}
;
if (%random == 4) {
set %multisillaba_l [ $+ [ %z ] ] O
set %multisillaba_sillaba %multisillaba_sillaba $+ O
}
;
if (%random == 5) {
set %multisillaba_l [ $+ [ %z ] ] U
set %multisillaba_sillaba %multisillaba_sillaba $+ U
}
inc %z
}
set %multisillaba_sillaba2 $right(%multisillaba_sillaba,1)
set %multisillaba_sillaba $left(%multisillaba_sillaba,1)
while (%z <= 12) {
set %random $rand(1,18)
if (%random == 1) {
set %multisillaba_l [ $+ [ %z ] ] B
set %multisillaba_sillaba %multisillaba_sillaba $+ B
}
if (%random == 2) {
set %multisillaba_l [ $+ [ %z ] ] C
set %multisillaba_sillaba %multisillaba_sillaba $+ C
}
if (%random == 3) {
set %multisillaba_l [ $+ [ %z ] ] D
set %multisillaba_sillaba %multisillaba_sillaba $+ D
}
if (%random == 4) {
set %multisillaba_l [ $+ [ %z ] ] F
set %multisillaba_sillaba %multisillaba_sillaba $+ F
}
if (%random == 5) {
set %multisillaba_l [ $+ [ %z ] ] G
set %multisillaba_sillaba %multisillaba_sillaba $+ G
}
if (%random == 6) {
set %multisillaba_l [ $+ [ %z ] ] H
}
if (%random == 7) { multisillaba_ext_rand }
if (%random == 8) { multisillaba_ext_rand }
if (%random == 9) {
set %multisillaba_l [ $+ [ %z ] ] L
set %multisillaba_sillaba %multisillaba_sillaba $+ L
}
if (%random == 10) {
set %multisillaba_l [ $+ [ %z ] ] M
set %multisillaba_sillaba %multisillaba_sillaba $+ M
}
if (%random == 11) {
set %multisillaba_l [ $+ [ %z ] ] N
set %multisillaba_sillaba %multisillaba_sillaba $+ N
}
if (%random == 12) {
set %multisillaba_l [ $+ [ %z ] ] P
set %multisillaba_sillaba %multisillaba_sillaba $+ P
}
if (%random == 13) {
set %multisillaba_l [ $+ [ %z ] ] Q
}
if (%random == 14) {
set %multisillaba_l [ $+ [ %z ] ] R
set %multisillaba_sillaba %multisillaba_sillaba $+ R
}
if (%random == 15) {
set %multisillaba_l [ $+ [ %z ] ] S
set %multisillaba_sillaba %multisillaba_sillaba $+ S
}
if (%random == 16) {
set %multisillaba_l [ $+ [ %z ] ] T
set %multisillaba_sillaba %multisillaba_sillaba $+ T
}
if (%random == 17) {
set %multisillaba_l [ $+ [ %z ] ] V
set %multisillaba_sillaba %multisillaba_sillaba $+ V
}
if (%random == 18) { set %multisillaba_l [ $+ [ %z ] ] Z }
inc %z
}
set %z 1
set %multisillaba_consonante $mid(%multisillaba_sillaba,3,1)
set %multisillaba_sillaba2 %multisillaba_sillaba2 $+ %multisillaba_consonante
set %multisillaba_sillaba $left(%multisillaba_sillaba,2)
while (%z <= 12) { set %multisillaba_current $instok(%multisillaba_current,%multisillaba_l [ $+ [ %z ] ] ,1,32) | inc %z }
.timer21 1 1 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 ->8,2 multisillaba9,2 ++PluS++4,2 <- Manche N°8,2 %multisillaba_manchenum
.timer22 1 2 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 Le lettere sono8,2 %multisillaba_current
.timer23 1 2 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 Le sillabe in gioco sono8,2 %multisillaba_sillaba 9e8 %multisillaba_sillaba2
.timer24 1 3 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 Il limite minimo è di8,2 %multisillaba_limite $+ 9,2 lettere
.timer25 1 4 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 Scrivi le parole in query a8,2 $me
.timer26 1 5 msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Avete4,2 %multisillaba_durata $+ 8,2 secondi da questo istante
set %multisillaba_manche ON
.timeralert 1 $calc(%multisillaba_durata - 10) { multisillaba_alert }
}
}
alias multisillaba_ext_rand {
set %randomext $rand(1,5)
if (%randomext == 1) { set %multisillaba_l [ $+ [ %z ] ] J }
if (%randomext == 2) { set %multisillaba_l [ $+ [ %z ] ] K }
if (%randomext == 3) { set %multisillaba_l [ $+ [ %z ] ] W }
if (%randomext == 4) { set %multisillaba_l [ $+ [ %z ] ] X }
if (%randomext == 5) { set %multisillaba_l [ $+ [ %z ] ] Y }
}
alias multisillaba_alert {
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Ancora 10 secondi. Presto!
.timerend 1 10 multisillaba_endofmanche
}
alias multisillaba_endofmanche {
set %multisillaba_manche OFF
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Your Time Is Over!
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 4,2 Le lettere erano8,2 %multisillaba_current 4,2e le sillabe erano8,2 %multisillaba_sillaba 4e8 %multisillaba_sillaba2 4. 4,2Risultati della8,2 %multisillaba_manchenum $+ ª4,2 manche:
multisillaba_elabora
close -m
set %multisillaba_timercount 1
set %multisillaba_fatto 0
set %multisillaba_ntim $calc($lines(multisillabamanche.txt) + 1)
.timermsg %multisillaba_ntim 2 multisillaba_resmsg
}
alias multisillaba_elabora {
set %z 1
while ( %z <= $lines(multisillabamanche.txt) ) {
set %multisillaba_finale 0
set %multisillaba_elline $read -l %z multisillabamanche.txt
set %multisillaba_remains $gettok(%multisillaba_elline,2,46)
set %multisillaba_letpos 1
while ($len(%multisillaba_remains) > 0) {
set %multisillaba_leflet $calc($len(%multisillaba_remains) - 1 )
set %multisillaba_proclet $left(%multisillaba_remains,1)
set %multisillaba_remains $right(%multisillaba_remains,%multisillaba_leflet)
unset %multisillaba_let_pts
if ( %multisillaba_proclet == a ) { set %multisillaba_let_pts 1 }
if ( %multisillaba_proclet == b ) { set %multisillaba_let_pts 4 }
if ( %multisillaba_proclet == c ) { set %multisillaba_let_pts 1 }
if ( %multisillaba_proclet == d ) { set %multisillaba_let_pts 4 }
if ( %multisillaba_proclet == e ) { set %multisillaba_let_pts 1 }
if ( %multisillaba_proclet == f ) { set %multisillaba_let_pts 4 }
if ( %multisillaba_proclet == g ) { set %multisillaba_let_pts 4 }
if ( %multisillaba_proclet == h ) { set %multisillaba_let_pts 8 }
if ( %multisillaba_proclet == i ) { set %multisillaba_let_pts 1 }
if ( %multisillaba_proclet == j ) { set %multisillaba_let_pts 12 }
if ( %multisillaba_proclet == k ) { set %multisillaba_let_pts 12 }
if ( %multisillaba_proclet == l ) { set %multisillaba_let_pts 2 }
if ( %multisillaba_proclet == m ) { set %multisillaba_let_pts 2 }
if ( %multisillaba_proclet == n ) { set %multisillaba_let_pts 2 }
if ( %multisillaba_proclet == o ) { set %multisillaba_let_pts 1 }
if ( %multisillaba_proclet == p ) { set %multisillaba_let_pts 3 }
if ( %multisillaba_proclet == q ) { set %multisillaba_let_pts 10 }
if ( %multisillaba_proclet == r ) { set %multisillaba_let_pts 1 }
if ( %multisillaba_proclet == s ) { set %multisillaba_let_pts 1 }
if ( %multisillaba_proclet == t ) { set %multisillaba_let_pts 1 }
if ( %multisillaba_proclet == u ) { set %multisillaba_let_pts 4 }
if ( %multisillaba_proclet == v ) { set %multisillaba_let_pts 4 }
if ( %multisillaba_proclet == x ) { set %multisillaba_let_pts 12 }
if ( %multisillaba_proclet == y ) { set %multisillaba_let_pts 12 }
if ( %multisillaba_proclet == w ) { set %multisillaba_let_pts 12 }
if ( %multisillaba_proclet == z ) { set %multisillaba_let_pts 8 }
if ( %multisillaba_proclet == - ) { set %multisillaba_let_pts 0 }
if ( %multisillaba_proclet == $chr(32) ) { set %multisillaba_let_pts 0 }
inc %multisillaba_finale %multisillaba_let_pts
inc %multisillaba_letpos
}
set %multisillaba_elline $puttok(%multisillaba_elline,%multisillaba_finale,3,46)
write -l %z multisillabamanche.txt %multisillaba_elline
inc %z
}
multisillaba_agg_class
}
alias multisillaba_agg_class {
set %z 1
while (%z <= $lines(multisillabamanche.txt)) {
set %multisillaba_clline $read -l %z multisillabamanche.txt
set %multisillaba_clnick $gettok(%multisillaba_clline,1,46)
set %multisillaba_manchepts $gettok(%multisillaba_clline,3,46)
multisillaba_search %multisillaba_clnick
if (%trovato == 0) {
set %multisillaba_input %multisillaba_clnick
set %multisillaba_input $addtok(%multisillaba_clnick,%multisillaba_manchepts,46)
write scaraclass.txt %multisillaba_input
}
if (%trovato == 1) {
set %multisillaba_input $read -l %pos scaraclass.txt
set %multisillaba_oldpts $gettok(%multisillaba_input,2,46)
inc %multisillaba_oldpts %multisillaba_manchepts
set %multisillaba_input $puttok(%multisillaba_input,%multisillaba_oldpts,2,46)
write -l %pos scaraclass.txt %multisillaba_input
}
inc %z
}
multisillaba_ordina
}
alias multisillaba_resmsg {
if ($lines(multisillabamanche.txt) == $null ) || ($lines(multisillabamanche.txt) == 0) && (%multisillaba_fatto == 0) { msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 ¤>- Nessuna parola trovata. Che scarsi -<¤ | set %multisillaba_fatto 1 }
if (%multisillaba_timercount <= $lines(multisillabamanche.txt)) {
set %linez $read -l %multisillaba_timercount multisillabamanche.txt
set %nick $gettok(%linez,1,46)
set %words $gettok(%linez,2,46)
set %wscore $gettok(%linez,3,46)
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 %nick 8,2 ha trovato9,2 %words 8,2 e guadagna9,2 %wscore 8,2 punti
}
if (%multisillaba_timercount == $calc($lines(multisillabamanche.txt) + 1)) { .timerpreclass 1 5 multisillaba_prepreclass }
inc %multisillaba_timercount
}
alias multisillaba_prepreclass {
if $exists(multisillabamanche.txt) {
set %multisillaba_pnrline $read -l $lines(multisillabamanche.txt) multisillabamanche.txt
set %multisillaba_pnrecord $gettok(%multisillaba_pnrline,3,46)
set %multisillaba_pnrkeeper $gettok(%multisillaba_pnrline,1,46)
if (%multisillaba_pnrecord > %multisillaba_record) {
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 Nuovo Record8,2 ( $+ %multisillaba_pnrecord $+ ) 9,2di punti in una manche. Il precedente4,2 ( $+ %multisillaba_record $+ ) 9,2apparteneva a4,2 %multisillaba_reckeeper
set %multisillaba_record %multisillaba_pnrecord
set %multisillaba_reckeeper %multisillaba_pnrkeeper
set %multisillaba_pnrline %multisillaba_reckeeper $+ $chr(35) $+ %multisillaba_record
write -l 11 multisillabaRecord.txt %multisillaba_pnrline
}
.remove multisillabamanche.txt
}
.timerclass 1 5 multisillaba_preclass
}
alias multisillaba_preclass {
set %timercounter 1
.timerclass 7 2 multisillaba_msgclass
}
alias multisillaba_msgclass {
if (%timercounter == 1) { msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 ©º°¨8,2 Classifica:9,2 ¨°º© }
if (%timercounter == 2) {
set %multisillaba_1line $read -l1 scaraclass.txt
set %multisillaba_1nick $gettok(%multisillaba_1line,1,46)
set %multisillaba_1pts $gettok(%multisillaba_1line,2,46)
if (%multisillaba_1pts == $null) { set %multisillaba_1pts - }
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 1° posto: ( $+ 9,2 %multisillaba_1pts $+ 8,2 ) %multisillaba_1nick
}
if (%timercounter == 3) {
set %multisillaba_2line $read -l2 scaraclass.txt
set %multisillaba_2nick $gettok(%multisillaba_2line,1,46)
set %multisillaba_2pts $gettok(%multisillaba_2line,2,46)
if (%multisillaba_2pts == $null) { set %multisillaba_2pts - }
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 2° posto: ( $+ 9,2 %multisillaba_2pts $+ 8,2 ) %multisillaba_2nick
}
if (%timercounter == 4) {
set %multisillaba_3line $read -l3 scaraclass.txt
set %multisillaba_3nick $gettok(%multisillaba_3line,1,46)
set %multisillaba_3pts $gettok(%multisillaba_3line,2,46)
if (%multisillaba_3pts == $null) { set %multisillaba_3pts - }
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 3° posto: ( $+ 9,2 %multisillaba_3pts $+ 8,2 ) %multisillaba_3nick
}
if (%timercounter == 5) {
set %multisillaba_4line $read -l4 scaraclass.txt
set %multisillaba_4nick $gettok(%multisillaba_4line,1,46)
set %multisillaba_4pts $gettok(%multisillaba_4line,2,46)
if (%multisillaba_4pts == $null) { set %multisillaba_4pts - }
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 4° posto: ( $+ 9,2 %multisillaba_4pts $+ 8,2 ) %multisillaba_4nick
}
if (%timercounter == 6) {
set %multisillaba_5line $read -l5 scaraclass.txt
set %multisillaba_5nick $gettok(%multisillaba_5line,1,46)
set %multisillaba_5pts $gettok(%multisillaba_5line,2,46)
if (%multisillaba_5pts == $null) { set %multisillaba_5pts - }
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 5° posto: ( $+ 9,2 %multisillaba_5pts $+ 8,2 ) %multisillaba_5nick
}
if (%timercounter == 7) { .timerhub 1 %multisillaba_pausetime multisillaba_hub }
inc %timercounter
}
alias multisillaba_hub {
if ( (( %multisillaba_1pts > %multisillaba_2pts ) && ( %multisillaba_1pts >= %multisillaba_target )) || (!($exists(scaraclass.txt)) && (%multisillaba_target == -1)) ) { multisillaba_endofgame }
else { if (%gamemultisillaba_stato == ON) { msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 Tra 5 secondi la prossima manche | .timernew 1 5 multisillaba_start_manche | set %multisillaba_hub ON } }
}
menu channel,menubar {
-
Giochi
.MultiSillaba
..Let's go:multisillaba_start
..Dialog ON:dialog -m multisillabaGame multisillabaGame
..Dialog OFF:dialog -x multisillabaGame multisillabaGame
..Pausa/riprendi:multisillaba_pause
..End of game:multisillaba_end_query
..Istruzioni:multisillaba_instr
-
}
dialog multisillabaGame {
title "MultiSillaba"
size -1 -1 240 288
box "MultiSillaba 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:multisillabaGame:sclick:501: { if (%multisillaba_manchenum == 0) && (%multisillaba_hub != ON) { multisillaba_hub } }
on 1:dialog:multisillabaGame:sclick:502: { multisillaba_pause }
on 1:dialog:multisillabaGame:sclick:503: { multisillaba_instr }
on 1:dialog:multisillabaGame:sclick:504: { multisillaba_end_query }
on 1:dialog:multisillabaGame:sclick:513: {
if (%gamemultisillaba_stato != OFF) {
if (%multisillaba_durata < 50) { echo -a 4,2 Non puoi scendere sotto i 40 secondi }
else {
dec %multisillaba_durata 10
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Il tempo a disposizione per ogni manche è ora di 4,2 %multisillaba_durata 8,2 secondi
}
}
}
on 1:notice:multisillabam-10*:?: {
if (%gamemultisillaba_stato != OFF) {
if (%multisillaba_durata < 50) { .msg $nick Non puoi scendere sotto i 40 secondi }
else {
dec %multisillaba_durata 10
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© Il tempo a disposizione per ogni manche è ora di %multisillaba_durata secondi
}
}
}
on 1:dialog:multisillabaGame:sclick:512: {
if (%gamemultisillaba_stato != OFF) {
inc %multisillaba_durata 10
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Il tempo a disposizione per ogni manche è ora di 4,2 %multisillaba_durata 8,2 secondi
}
}
on 1:notice:multisillabam+10*:?: {
if (%gamemultisillaba_stato != OFF) {
inc %multisillaba_durata 10
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© Il tempo a disposizione per ogni manche è ora di %multisillaba_durata secondi
}
}
on 1:dialog:multisillabaGame:sclick:516: {
if (%gamemultisillaba_stato != OFF) {
if (%multisillaba_pausetime < 15) { echo -a 4,2 Non puoi scendere sotto i 10 secondi }
else {
dec %multisillaba_pausetime 5
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 L'attesa tra due manche è ora di 4,2 %multisillaba_pausetime 9,2 secondi
}
}
}
on 1:notice:multisillabap-5*:?:{
if (%gamemultisillaba_stato != OFF) {
if (%multisillaba_pausetime < 15) { .msg $nick Non puoi scendere sotto i 10 secondi }
else {
dec %multisillaba_pausetime 5
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© L'attesa tra due manche è ora di %multisillaba_pausetime secondi
}
}
}
on 1:dialog:multisillabaGame:sclick:515: {
if (%gamemultisillaba_stato != OFF) {
inc %multisillaba_pausetime 5
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 9,2 L'attesa tra due manche è ora di 4,2 %multisillaba_pausetime 9,2 secondi
}
}
on 1:notice:multisillabap+5*:?:{
if (%gamemultisillaba_stato != OFF) {
inc %multisillaba_pausetime 5
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© L'attesa tra due manche è ora di %multisillaba_pausetime secondi
}
}
on 1:notice:multisillabatarget*:?:{
if (%gamemultisillaba_stato != OFF) && ($2 > 0) {
set %multisillaba_target $2
msg %game_channel 7,2©º°¨8Silla9++7,2¨°º© 8,2 Il punteggio da raggiungere ora è:4,2 %multisillaba_target
}
}
on 1:text:!multisillabaHs:%game_channel:{
set %i 1
unset %hs
while (%i <= 10) {
set %line $read -l %i multisillabarecord.txt
set %nick $gettok(%line,1,35)
set %pts $gettok(%line,2,35)
if $calc(%i % 2) { set %line 8,2 %Pts $+ 8,2 %nick }
else { set %line 9,2 %Pts $+ 9,2 %nick }
set %hs %hs $+ 4,2 •·• $+ %line
inc %i
}
set %line $read -l 11 multisillabarecord.txt
set %nick $gettok(%line,1,35)
set %pts $gettok(%line,2,35)
msg %game_channel 4,2 ©º°¨8,2 multisillaba High Scores4,2 ¨°º©
msg %game_channel 4,2 Record punti in una manche:9,2 %nick 9,2 $+ (8,2 %pts 9,2)
msg %game_channel 4,2 Top Ten media punti: %hs
}