xTrivia — File Browser
xTriviav1.0 / xTriviav1.0 / xTriviaByRibellina / xtrivia / bot / Addons / Giochi / Consonando.mrc
Consonando.mrc — 13.04 KB — Download this file
on 1:TEXT:!valori:%game_channel: {
if (%konsonando_gioco == ON) /msg $chan 8,2 Valori:11,2 a=1 b=3 c=1 d=3 e=1 f=3 g=3 h=6 i=1 j=8 k=8 l=2 m=2 n=2 o=1 p=3 q=6 r=1 s=1 t=1 u=3 v=3 w=8 x=8 y=8 z=5
}
on 1:TEXT:!consonandooff*:%game_channel: {
if (%konsonando_gioco == ON) /fine_konsonando
}
on 1:CONNECT:{
set %konsonando_gioco OFF
}
on 1:TEXT:!consonandoon*:%game_channel: {
echo 4 -a richiesta avvio gioco
if (%konsonando_gioco != ON) {
set %game_channel $chan
set %konsonando_mionick $me
set %konsonando_punteggio $2
if (%konsonando_punteggio == $null) set %konsonando_punteggio 1000
set %konsonando_gioco ON
avvia_konsonando
}
}
on 1:TEXT:*:?: {
if (%konsonando_gioco != ON) goto esci_da_verifica_parola
if (%konsonando_manche != ON) {
msg $nick Nessuna manche in corso !
goto esci_da_verifica_parola
}
set %kon_temp_parola $1
if ($len(%kon_temp_parola) < 3) goto esci_da_verifica_parola
if (%kon_ran == a) { if ($len(%kon_temp_parola) != %kon_lun) goto esci_da_verifica_parola }
if (%kon_ran == b) { if ($len(%kon_temp_parola) >= %kon_lun) goto esci_da_verifica_parola }
if (%kon_ran == c) { if ($len(%kon_temp_parola) <= %kon_lun) goto esci_da_verifica_parola }
%kon_x = 0
%kon_cx = 0
while (%kon_x == 0) {
inc %kon_cx
if (%kon_cx > $len(%kon_temp_parola)) { %kon_x = 1 }
else {
if ( $mid(%kon_temp_parola,%kon_cx,1) isin aeiou ) { %kon_x = 0 }
elseif ( $mid(%kon_temp_parola,%kon_cx,1) isin %kon_cons ) { %kon_x = 0 }
else { %kon_x = 2 }
}
}
if (%kon_x == 2) {
goto esci_da_verifica_parola
}
set %kon_r $read($scriptdirDictionary\ $+ italiano. [ $+ [ $left(%kon_temp_parola,1) ] ],w,%kon_temp_parola,1)
if ($readn == 0) { goto esci_da_verifica_parola }
%kon_giocatori_manche = $addtok(%kon_giocatori_manche,$nick,32)
%kon_parole_manche_ [ $+ [ $nick ] ] = $addtok(%kon_parole_manche_ [ $+ [ $nick ] ] ,%kon_temp_parola,32)
:esci_da_verifica_parola
close -m $nick
}
alias fine_konsonando {
if (%konsonando_gioco == ON) {
msg %game_channel 0,01 Gioco Consonando terminato!
unset %kon_*
unset %konsonando*
.timer_kon* OFF
halt
}
}
on 1:TEXT:!Consonando *:%game_channel: {
if (%konsonando_gioco != OFF) {
set %konsonando_punteggio $2
msg %game_channel 11,2 Il punteggio da raggiungere ora è:8,2 %konsonando_punteggio
}
}
alias avvia_konsonando {
if (%konsonando_gioco != ON) goto esci_da_avvia_konsonando
if (%konsonando_punteggio < 1000) set %konsonando_punteggio 1000
if (%konsonando_punteggio > 2000) set %konsonando_punteggio 2000
msg %game_channel 9,1 Gioco Consonando avviato
msg %game_channel 0,01 Punteggio da raggiungere: %konsonando_punteggio
set %kon_scarto aeioujkwxy
set %kon_manche 1
.timer_kon_1 1 10 /avvia_manche_konsonando
:esci_da_avvia_konsonando
}
alias avvia_manche_konsonando {
if (%konsonando_gioco != ON) goto esci_da_avvia_manche_konsonando
unset %kon_riga
unset %kon_cons
unset %kon_giocatori_*
unset %kon_parole_manche_*
unset %kon_punti_manche_*
unset %kon_cl*
genera_lettere_konsonando
genera_range_lunghezza
msg %game_channel 0,01 Tra 5 secondi la prossima manche ...
.timer_kon_1 1 5 /visualizza_lettere_konsonando
:esci_da_avvia_manche_konsonando
}
alias genera_lettere_konsonando {
if (%konsonando_gioco != ON) goto esci_genera_lettere
%kon_x = $rand(2,6)
%kon_temp = 1
:trova_consonanti
set %kon_c $rand(a,z)
if (%kon_c isin %kon_scarto) { goto trova_consonanti }
%kon_riga = %kon_riga $+ [ $chr(32) ] $+ [ %kon_c ]
%kon_cons = %kon_cons $+ [ %kon_c ]
inc %kon_temp
if (%kon_temp <= %kon_x) goto trova_consonanti
%kon_riga = %kon_riga $+ [ $chr(32) ]
%kon_riga_da_visualizzare = $upper(%kon_riga)
:esci_genera_lettere
}
alias genera_range_lunghezza {
if (%konsonando_gioco != ON) goto esci_da_genera_range
%kon_ran = $rand(a,c)
%kon_lun = $rand(3,10)
if (%kon_ran == a) {
if ($len(%kon_cons) = 2) && (%kon_lun > 7) { %kon_lun = 7 }
%kon_range = uguale a %kon_lun
}
if (%kon_ran == b) {
if (%kon_lun == 3) { %kon_lun = 4 }
%kon_range = inferiore a %kon_lun
}
if (%kon_ran == c) {
if ($len(%kon_cons) = 2) && (%kon_lun > 6) { %kon_lun = 6 }
%kon_range = superiore a %kon_lun
}
:esci_da_genera_range
}
alias visualizza_lettere_konsonando {
if (%konsonando_gioco != ON) goto esci_da_visualizza_lettere_konsonando
msg %game_channel 8,1 Consonando ... manche n°: %kon_manche
msg %game_channel 4,02 Le consonanti a disposizione sono: 9,02 %kon_riga_da_visualizzare
msg %game_channel 0,01 Trovate parole di lunghezza 9,1 %kon_range 0,01 lettere
msg %game_channel 0,01 Scrivete le vostre parole in query a 12 %konsonando_mionick 0. Potete utilizzare esclusivamente le consonanti date e tutte le vocali che volete.
msg %game_channel 0,01 Avete 12 90 0 secondi da adesso
set %konsonando_manche ON
.timer_kon_1 1 80 /avviso_fine_manche_konsonando
:esci_da_visualizza_lettere_konsonando
}
alias avviso_fine_manche_konsonando {
if (%konsonando_gioco != ON) goto esci_da_avviso_fine_manche_konsonando
msg %game_channel 13,2 Ancora 10 secondi...
.timer_kon_1 1 11 /fine_tempo_manche_konsonando
:esci_da_avviso_fine_manche_konsonando
}
alias fine_tempo_manche_konsonando {
if (%konsonando_gioco != ON) goto esci_da_fine_tempo_manche_konsonando
msg %game_channel 9,1 manche n°: %kon_manche terminata
%kon_num_nick = $numtok(%kon_giocatori_manche,32)
if (%kon_temp_num_nick != 0) {
%kon_cont = 1
while (%kon_cont <= %kon_num_nick) {
%kon_temp_nick = $gettok(%kon_giocatori_manche, %kon_cont ,32)
msg %kon_temp_nick 4 TEMPO SCADUTO !
inc %kon_cont
}
}
set %konsonando_manche OFF
.timer_kon_1 1 5 /fine_manche_konsonando
:esci_da_fine_tempo_manche_konsonando
}
alias fine_manche_konsonando {
if (%konsonando_gioco != ON) goto esci_da_fine_manche_konsonando
msg %game_channel 0,01 Le consonanti erano: 9,1 %kon_riga_da_visualizzare 0,01 e la lunghezza 9,1 %kon_range
msg %game_channel 9,1 Risultati manche:
%kon_temp_num_nick = $numtok(%kon_giocatori_manche,32)
%kon_x_t = 2
if (%kon_temp_num_nick == 0) {
.timer_kon_2 1 2 /msg %game_channel 0,01 Nessuna parola trovata !
%kon_temp_num_nick = $numtok(%kon_giocatori,32)
goto mostra_classifica_konsonando
}
/assegna_punti_manche_konsonando
/assegna_punti_totali_konsonando
%kon_temp_num_nick = $numtok(%kon_giocatori_manche,32)
%kon_x = 1
while (%kon_x <= %kon_temp_num_nick) {
%kon_temp_nick = %kon_cl_m_ [ $+ [ %kon_x ] ]
%kon_parole_t = %kon_parole_manche_ [ $+ [ %kon_temp_nick ] ]
if ($len(%kon_parole_t) > 190) {
%kon_x_num_parole = $numtok(%kon_parole_t,32)
%kon_parole_t_1 = %kon_parole_t
while ($len(%kon_parole_t_1) > 190) {
%kon_parole_t_1 = $deltok(%kon_parole_t_1,%kon_x_num_parole,32)
dec %kon_x_num_parole
}
%kon_x_len_t = $len(%kon_parole_t)
%kon_x_len_t_1 = $len(%kon_parole_t_1)
%kon_x_len_t_2 = %kon_x_len_t - %kon_x_len_t_1
%kon_parole_t_2 = $right(%kon_parole_t,%kon_x_len_t_2)
.timer_kon_ [ $+ [ %kon_x_t ] ] 1 %kon_x_t /msg %game_channel 9,2 %kon_temp_nick 8,2 con le parole 4,2 %kon_parole_t_1
inc %kon_x_t
.timer_kon_ [ $+ [ %kon_x_t ] ] 1 %kon_x_t /msg %game_channel 8,2 ... e le parole 4,2 %kon_parole_t_2 8,2 ottiene 9,2 %kon_punti_manche_ [ $+ [ %kon_temp_nick ] ] 8,2 punti
}
else {
.timer_kon_ [ $+ [ %kon_x_t ] ] 1 %kon_x_t /msg %game_channel 9,2 %kon_temp_nick 8,2 con le parole 4,2 %kon_parole_manche_ [ $+ [ %kon_temp_nick ] ] 8,2 ottiene 9,2 %kon_punti_manche_ [ $+ [ %kon_temp_nick ] ] 8,2 punti
}
inc %kon_x_t
inc %kon_x
}
unset %kon_parole_t*
:mostra_classifica_konsonando
/prepara_classifica_konsonando
/visualizza_classifica_konsonando
%kon_x_t = %kon_x_t + 15
if (%kon_punti_ [ $+ [ %kon_classificato_1 ] ] > %konsonando_punteggio) {
.timer_kon_ [ $+ [ %kon_x_t ] ] 1 %kon_x_t /msg %game_channel 9,2 --- Gioco 4,2 C O N S O N A N D O 9,2 terminato! ---
inc %kon_x_t
.timer_kon_ [ $+ [ %kon_x_t ] ] 1 %kon_x_t /msg %game_channel 9,2 ... il vincitore è 8,2 %kon_classificato_1 9,2 con 8,2 %kon_punti_ [ $+ [ %kon_classificato_1 ] ] ...
inc %kon_x_t
.timer_kon_ [ $+ [ %kon_x_t ] ] 1 %kon_x_t /fine_konsonando
}
else {
inc %kon_manche
.timer_kon_ [ $+ [ %kon_x_t ] ] 1 %kon_x_t /avvia_manche_konsonando
}
:esci_da_fine_manche_konsonando
}
alias visualizza_classifica_konsonando {
if (%konsonando_gioco != ON) goto esci_da_visualizza_classifica_konsonando
%kon_x_t = %kon_x_t + 10
.timer_kon_ [ $+ [ %kon_x_t ] ] 1 %kon_x_t /msg %game_channel 12,15 Classifica dopo 13 %kon_manche 12 manche:
inc %kon_x_t
set %kon_t 1
while (%kon_t <= 5) {
if ( %kon_classificato_ [ $+ [ %kon_t ] ] == $null ) {
.timer_kon [ $+ [ %kon_x_t ] ] 1 %kon_x_t /msg %game_channel 12,15 %kon_t . Classificato 13 ------ 12 con punti 13 ---
}
else {
.timer_kon [ $+ [ %kon_x_t ] ] 1 %kon_x_t /msg %game_channel 12,15 %kon_t . Classificato 13 %kon_classificato_ [ $+ [ %kon_t ] ] 12 con punti 13 %kon_punti_ [ $+ [ %kon_classificato_ [ $+ [ %kon_t ] ] ] ]
}
inc %kon_x_t
inc %kon_t
}
:esci_da_visualizza_classifica_konsonando
}
alias prepara_classifica_konsonando {
if (%konsonando_gioco != ON) goto esci_da_prepara_classifica_konsonando
%kon_temp_num_nick = $numtok(%kon_giocatori,32)
%kon_temp_nick = $gettok(%kon_giocatori,1,32)
set %kon_classificato_1 %kon_temp_nick
if (%kon_temp_num_nick == 1) goto ciclo_classifica_terminato
%kon_temp = 2
while (%kon_temp <= %kon_temp_num_nick) {
%kon_temp_nick = $gettok(%kon_giocatori,%kon_temp,32)
%kon_classificato_ [ $+ [ %kon_temp ] ] = %kon_temp_nick
%kon_x_temp = %kon_temp
while (%kon_x_temp > 1) {
%kon_y_temp = %kon_x_temp - 1
%kon_classificato_x = %kon_classificato_ [ $+ [ %kon_x_temp ] ]
%kon_classificato_y = %kon_classificato_ [ $+ [ %kon_y_temp ] ]
if ( %kon_punti_ [ $+ [ %kon_classificato_x ] ] > %kon_punti_ [ $+ [ %kon_classificato_y ] ] ) {
%kon_classificato_ [ $+ [ %kon_y_temp ] ] = %kon_classificato_x
%kon_classificato_ [ $+ [ %kon_x_temp ] ] = %kon_classificato_y
}
else {
%kon_classificato_ [ $+ [ %kon_x_temp ] ] = %kon_classificato_x
%kon_x_temp = 1
}
dec %kon_x_temp
}
inc %kon_temp
}
:ciclo_classifica_terminato
:esci_da_prepara_classifica_konsonando
}
alias assegna_punti_totali_konsonando {
if (%konsonando_gioco != ON) goto esci_da_assegna_punti_totali_konsonando
%kon_x = 1
while (%kon_x <= %kon_temp_num_nick) {
%kon_temp_nick = $gettok(%kon_giocatori_manche,%kon_x,32)
%kon_giocatori = $addtok(%kon_giocatori,%kon_temp_nick,32)
if ( %kon_punti_ [ $+ [ %kon_temp_nick ] ] == $null ) { %kon_punti_ [ $+ [ %kon_temp_nick ] ] = 0 }
%kon_punti_ [ $+ [ %kon_temp_nick ] ] = %kon_punti_ [ $+ [ %kon_temp_nick ] ] + %kon_punti_manche_ [ $+ [ %kon_temp_nick ] ]
inc %kon_x
}
:esci_da_assegna_punti_totali_konsonando
}
alias assegna_punti_manche_konsonando {
if (%konsonando_gioco != ON) goto esci_da_assegna_punti_manche_konsonando
%kon_x = 1
while (%kon_x <= %kon_temp_num_nick) {
%kon_temp_nick = $gettok(%kon_giocatori_manche,%kon_x,32)
%kon_x_parole = $lower( %kon_parole_manche_ [ $+ [ %kon_temp_nick ] ] )
%kon_x_punti = 0
%kon_xx = 1
while (%kon_xx <= $len(%kon_x_parole)) {
%kon_x_let = $mid(%kon_x_parole,%kon_xx,1)
if (%kon_x_let isin aceiorst) { %kon_x_punti = %kon_x_punti + 1 }
elseif (%kon_x_let isin lmn) { %kon_x_punti = %kon_x_punti + 2 }
elseif (%kon_x_let isin bdfgpuv) { %kon_x_punti = %kon_x_punti + 3 }
elseif (%kon_x_let == z) { %kon_x_punti = %kon_x_punti + 5 }
elseif (%kon_x_let isin hq) { %kon_x_punti = %kon_x_punti + 6 }
elseif (%kon_x_let isin jkwxy) { %kon_x_punti = %kon_x_punti + 8 }
else { }
inc %kon_xx
}
%kon_punti_manche_ [ $+ [ %kon_temp_nick ] ] = %kon_x_punti
if (%kon_x == 1) {
%kon_cl_m_1 = %kon_temp_nick
}
else {
%kon_x_temp = %kon_x
%kon_cl_m_ [ $+ [ %kon_x ] ] = %kon_temp_nick
while (%kon_x_temp > 1) {
%kon_y_temp = %kon_x_temp - 1
%kon_cl_m_x = %kon_cl_m_ [ $+ [ %kon_x_temp ] ]
%kon_cl_m_y = %kon_cl_m_ [ $+ [ %kon_y_temp ] ]
if ( %kon_punti_manche_ [ $+ [ %kon_cl_m_x ] ] < %kon_punti_manche_ [ $+ [ %kon_cl_m_y ] ] ) {
%kon_cl_m_ [ $+ [ %kon_y_temp ] ] = %kon_cl_m_x
%kon_cl_m_ [ $+ [ %kon_x_temp ] ] = %kon_cl_m_y
}
else {
%kon_cl_m_ [ $+ [ %kon_x_temp ] ] = %kon_cl_m_x
%kon_x_temp = 1
}
dec %kon_x_temp
}
}
inc %kon_x
}
:esci_da_assegna_punti_manche_konsonando
}