xTrivia — File Browser
xTriviav1.0 / xTriviav1.0 / xTriviaByRibellina / xtrivia / bot / Addons / Giochi / SuPeRQuick.mrc
SuPeRQuick.mrc — 13.34 KB — Download this file
; SuPeRScaraQuick
on 1:TEXT:!valori:%SuPeRScaraQuick_Canale: {
if (%SuPeRScaraQuick_gioco == ON) /.msg %SuPeRScaraQuick_Canale 8,2 Valori:8,2 a=12 b=5 c=17 d=5 e=12 f=5 g=17 h=19 i=12 j=20 k=20 l=14 m=14 n=14 o=12 p=5 q=19 r=13 s=13 t=13 u=5 v=17 w=20 x=20 y=20 z=18
}
on 1:TEXT:!punti:%SuPeRScaraQuick_Canale: {
if (%SuPeRScaraQuick_gioco == ON) {
if (%suq_punti_tot_ [ $+ [ $nick ] ] != $null) {
/.msg $nick Hai totalizzato 4 %suq_punti_tot_ [ $+ [ $nick ] ]
close -m $nick
}
}
}
on 1:TEXT:!ferma SuPeRQuick:%SuPeRScaraQuick_Canale: {
if (%SuPeRScaraQuick_gioco == ON ) /fine_SuPeRScaraQuick
}
on 1:TEXT:!reset:%SuPeRScaraQuick_Canale: {
if (%SuPeRScaraQuick_gioco == ON ) /fine_SuPeRScaraQuick
}
on 1:TEXT:!lancia SuPeRQuick*:%Game_Channel: {
if (%SuPeRScaraQuick_gioco != ON ) {
set %SuPeRScaraQuick_Canale $Chan
set %suq_nick_me $me
set %suq_punteggio $3
if (%suq_punteggio == $null) set %suq_punteggio 1200
set %SuPeRScaraQuick_gioco ON
avvia_SuPeRScaraQuick
}
}
on 1:TEXT:*:?: {
if (%SuPeRScaraQuick_gioco == ON) {
if (%suq_manche_stato != ON) {
.msg $nick Nessuna manche in corso !
goto esci_da_verifica_parola
}
set %suq_temp_parola $1
%suq_temp_len = $len(%suq_temp_parola)
if (%suq_temp_len < %suq_len_manche) {
.msg $nick La lunghezza minima è %suq_len_manche lettere !
goto esci_da_verifica_parola
}
set %suq_t 1
while (%suq_t <= %suq_temp_len) {
if ( $mid(%suq_temp_parola,%suq_t,1) !isin %suq_riga_ [ $+ [ %suq_t ] ] ) {
.msg $nick La parola %suq_temp_parola non è presente nella griglia. Riprova !
goto esci_da_verifica_parola
}
inc %suq_t
}
set %suq_r $read($scriptdirDictionary\ $+ italiano. [ $+ [ $left(%suq_temp_parola,1) ] ],w,%suq_temp_parola,1)
if ($readn != 0) {
if (%suq_parola_manche_ [ $+ [ $nick ] ] != $null) {
$remtok(%suq_giocatori_manche,$nick,1,32)
unset %suq_parola_manche_ [ $+ [ $nick ] ]
}
%suq_giocatori_manche = $addtok(%suq_giocatori_manche,$nick,32)
%suq_parola_manche_ [ $+ [ $nick ] ] = %suq_temp_parola
%suq_parola = $lower(%suq_temp_parola)
%suq_punti = 0
%suq_cont = 1
while (%suq_cont <= $len(%suq_parola)) {
%suq_t_let = $mid(%suq_parola,%suq_cont,1)
if (%suq_t_let isin aeio) { %suq_val = 12 }
elseif (%suq_t_let isin rst) { %suq_val = 13 }
elseif (%suq_t_let isin lmn) { %suq_val = 14 }
elseif (%suq_t_let isin bdfpu) { %suq_val = 14 }
elseif (%suq_t_let isin cgv) { %suq_val = 17 }
elseif (%suq_t_let == z) { %suq_val = 18 }
elseif (%suq_t_let isin hq) { %suq_val = 19 }
elseif (%suq_t_let isin jkwxy) { %suq_val = 20 }
else { %suq_val = 0 }
if (%suq_cont == 7) { %suq_val = %suq_val * 5 }
if (%suq_cont == 8) { %suq_val = %suq_val * 6 }
if (%suq_cont == 9) { %suq_val = %suq_val * 7 }
if (%suq_cont == 10) { %suq_val = %suq_val * 8 }
%suq_punti = $calc(%suq_punti + %suq_val)
inc %suq_cont
}
%suq_punti_parola_ [ $+ [ $nick ] ] = %suq_punti
if (%suq_lunghezza == $null) { %suq_lunghezza = 0 }
if (%suq_temp_len > %suq_lunghezza ) { %suq_lunghezza = %suq_temp_len }
.msg $nick 9,2 Con la parola 8,2 %suq_temp_parola 9,2 ottieni 8,2 %suq_punti 8,2 punti.
}
else {
.msg $nick Parola non presente nel mio dizionario
}
:esci_da_verifica_parola
close -m $nick
}
}
alias fine_gioco_SuPeRScaraQuick {
timersuq* OFF
unset %SuPeRScaraQuick*
unset %suq*
halt
}
alias fine_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco == ON) {
.msg %SuPeRScaraQuick_Canale 0,5 Gioco SuPeRScaraQuick terminato!
timersuq* OFF
unset %SuPeRScaraQuick*
unset %suq*
halt
}
}
alias avvia_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco == ON) {
if (%suq_punteggio < 50) set %suq_punteggio 50
if (%suq_punteggio > 1500) set %suq_punteggio 1500
.msg %SuPeRScaraQuick_Canale 9,1 SuPeRScaraQuick avviato
.msg %SuPeRScaraQuick_Canale 0,5 Punteggio da raggiungere: %suq_punteggio
.msg %SuPeRScaraQuick_Canale 0,2 Trovate una parola partendo dalla prima riga utilizzando una lettera per ogni riga.
set %suq_manche_num 0
/timersuq_1 1 15 /avvia_manche_SuPeRScaraQuick
}
}
alias avvia_manche_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco == ON) {
genera_griglia_SuPeRScaraQuick
set %suq_len_manche $rand(3,4)
%suq_riga_da_visualizzare_ [ $+ [ %suq_len_manche ] ] = %suq_riga_da_visualizzare_ [ $+ [ %suq_len_manche ] ] 8,2 <-- lunghezza minima
.msg %SuPeRScaraQuick_Canale 0,5 Tra 20 secondi la prossima manche
inc %suq_manche_num
/timersuq_1 1 30 /visualizza_griglia_SuPeRScaraQuick
}
}
alias genera_griglia_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco == ON) {
%suq_x = 1
while (%suq_x < 11) {
%suq_t = 1
while (%suq_t < 9) {
%suq_temp = $rand(a,z)
%suq_riga = %suq_riga $+ [ $chr(32) ] $+ [ %suq_temp ]
%suq_r = %suq_r $+ [ %suq_temp ]
inc %suq_t
}
%suq_riga_da_visualizzare_ [ $+ [ %suq_x ] ] = $upper(%suq_riga)
if (a isin %suq_r) || (e isin %suq_r) || (i isin %suq_r) || (o isin %suq_r) || (u isin $suq_r) {
%suq_riga_ [ $+ [ %suq_x ] ] = %suq_r
unset %suq_r
unset %suq_riga
inc %suq_x
}
else {
unset %suq_r
unset %suq_riga
}
}
%suq_cont = 7
while (%suq_cont < 11) {
%suq_x_x = %suq_cont - 2
%suq_riga_da_visualizzare_ [ $+ [ %suq_cont ] ] = %suq_riga_da_visualizzare_ [ $+ [ %suq_cont ] ] 8,2 valore x %suq_x_x
inc %suq_cont
}
}
}
alias visualizza_griglia_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco == ON) {
.msg %SuPeRScaraQuick_Canale 9,1 SuPeRScaraQuick ... manche n°: %suq_manche_num
%suq_t = 1
while (%suq_t < 11) {
/timersuq_ [ $+ [ %suq_t ] ] 1 %suq_t /.msg %SuPeRScaraQuick_Canale 8,2 %suq_riga_da_visualizzare_ [ $+ [ %suq_t ] ]
inc %suq_t
}
/timersuq_ [ $+ [ %suq_t ] ] 1 %suq_t /.msg %SuPeRScaraQuick_Canale 0,5 Scrivete la vostra parole in query a %suq_nick_me
inc %suq_t
/timersuq_ [ $+ [ %suq_t ] ] 1 %suq_t /.msg %SuPeRScaraQuick_Canale 0,5 Per cambiarla riscrivetela.
inc %suq_t
/timersuq_ [ $+ [ %suq_t ] ] 1 %suq_t /manche_avviata_SuPeRScaraQuick
}
}
alias manche_avviata_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco == ON) {
set %suq_manche_stato ON
.msg %SuPeRScaraQuick_Canale 9,1 Avete 8 80 9 secondi da adesso.
/timersuq_1 1 70 /.msg %SuPeRScaraQuick_Canale 9,1 Mancano solo 10 secondi... Sbrigatevi!
/timersuq_2 1 80 /fine_tempo_manche_SuPeRScaraQuick
}
}
alias fine_tempo_manche_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco == ON) {
.msg %SuPeRScaraQuick_Canale 9,1 Manche %suq_manche_num terminata!
%suq_num_nick = $numtok(%suq_giocatori_manche,32)
if (%suq_num_nick != 0) {
%suq_cont = 1
while (%suq_cont <= %suq_num_nick) {
%suq_temp_nick = $gettok(%suq_giocatori_manche, %suq_cont ,32)
.msg %suq_temp_nick 4 TEMPO SCADUTO !
inc %suq_cont
}
}
set %suq_manche_stato OFF
/timersuq_1 1 5 /fine_manche_SuPeRScaraQuick
}
}
alias fine_manche_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco != ON) goto esci_da_fine_manche_SuPeRScaraQuick
.msg %SuPeRScaraQuick_Canale 9,1 Risultati manche:
%suq_num_nick = $numtok(%suq_giocatori_manche,32)
if (%suq_num_nick == 0) {
/timersuq_1 1 2 /.msg %SuPeRScaraQuick_Canale 0,5 Nessuna parola trovata !
%suq_tempo = 5
}
else {
/prepara_risultati_manche_SuPeRScaraQuick
%suq_cont = 1
while (%suq_cont <= %suq_num_nick) {
%suq_temp_nick = %suq_cl_m_ [ $+ [ %suq_cont ] ]
%suq_temp_parola = %suq_parola_manche_ [ $+ [ %suq_temp_nick ] ]
%suq_temp_punti = %suq_punti_parola_ [ $+ [ %suq_temp_nick ] ]
%suq_t_punti = punti
%suq_temp_len = $len(%suq_temp_parola)
if (%suq_temp_len == %suq_lunghezza) {
%suq_temp_punti_tot = $calc(%suq_temp_punti + 20)
%suq_t_punti = + 20 8,2 punti LUNGHEZZA per un totale di 11,2 %suq_temp_punti_tot 8,2 punti
if (%suq_punti_velocita == %suq_temp_nick) {
%suq_temp_punti_tot = $calc(%suq_temp_punti_tot + 0)
%suq_t_punti = + 20 8,2 punti LUNGHEZZA per un totale di 11,2 %suq_temp_punti_tot 8,2 punti
}
}
else {
if (%suq_punti_velocita == %suq_temp_nick) {
%suq_temp_punti_tot = $calc(%suq_temp_punti + 0)
;%suq_t_punti = + 20 8,2 punti LUNGHEZZA per un totale di 11,2 %suq_temp_punti_tot 8,2 punti
}
else {
%suq_temp_punti_tot = %suq_temp_punti
}
}
/timersuq_ [ $+ [ %suq_cont ] ] 1 %suq_cont /.msg %SuPeRScaraQuick_Canale 11,2 %suq_temp_nick 8,2 con la parola 11,2 %suq_temp_parola 8,2 ottiene 11,2 %suq_temp_punti %suq_t_punti
inc %suq_cont
%suq_giocatori_partita = $addtok(%suq_giocatori_partita,%suq_temp_nick,32)
%suq_p_t = %suq_punti_tot_ [ $+ [ %suq_temp_nick ] ]
if (%suq_punti_tot_ [ $+ [ %suq_temp_nick ] ] == $null) { %suq_punti_tot_ [ $+ [ %suq_temp_nick ] ] = 0 }
%suq_punti_tot_ [ $+ [ %suq_temp_nick ] ] = $calc(%suq_p_t + %suq_temp_punti_tot)
}
%suq_tempo = %suq_cont + 5
unset %suq_parola*
/prepara_classifica_SuPeRScaraQuick
}
/timersuq_ [ $+ [ %suq_tempo ] ] 1 %suq_tempo /visualizza_classifica_SuPeRScaraQuick
:esci_da_fine_manche_SuPeRScaraQuick
}
alias visualizza_classifica_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco != ON) goto esci_da_visualizza_classifica_SuPeRScaraQuick
%suq_num_nick = $numtok(%suq_giocatori_partita,32)
if (%suq_num_nick > 5 ) { %suq_num_nick = 5 }
/.msg %SuPeRScaraQuick_Canale 6,2 CLASSIFICA dopo 8,2 %suq_manche_num 8,2 manche...
if (%suq_num_nick == 0) {
/.msg %SuPeRScaraQuick_Canale 8,2 1. ----------
goto prepara_nuova_manche
}
%suq_cont = 1
while (%suq_cont <= %suq_num_nick) {
inc %suq_tempo
%suq_cl = %suq_cl_ [ $+ [ %suq_cont ] ]
%suq_punti_cl = %suq_punti_tot_ [ $+ [ %suq_cl ] ]
/timersuq_ [ $+ [ %suq_tempo ] ] 1 %suq_tempo /.msg %SuPeRScaraQuick_Canale 8,2 %suq_cont . 9,2 %suq_cl 8,2 con punti 9,2 %suq_punti_cl
inc %suq_cont
}
if (%suq_punti_tot_ [ $+ [ %suq_cl_1 ] ] > %suq_punteggio) {
%suq_tempo = %suq_tempo + 10
/timersuq_ [ $+ [ %suq_tempo ] ] 1 %suq_tempo /.msg %SuPeRScaraQuick_Canale 8,2 Gioco SuPeRScaraQuick terminato !
inc %suq_tempo
/timersuq_ [ $+ [ %suq_tempo ] ] 1 %suq_tempo /.msg %SuPeRScaraQuick_Canale 8,2 Il vincitore è 8,2 %suq_cl_1 !
inc %suq_tempo
/timersuq_ [ $+ [ %suq_tempo ] ] 1 %suq_tempo /fine_gioco_SuPeRScaraQuick
}
:prepara_nuova_manche
%suq_tempo = %suq_tempo + 10
unset %suq_lunghezza
unset %suq_giocatori_manche
unset %suq_punti_parola_*
/timersuq_ [ $+ [ %suq_tempo ] ] 1 %suq_tempo /avvia_manche_SuPeRScaraQuick
:esci_da_visualizza_classifica_SuPeRScaraQuick
}
alias prepara_risultati_manche_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco != ON) goto esci_da_prepara_risultati_manche_SuPeRScaraQuick
%suq_cont = 1
while (%suq_cont <= %suq_num_nick) {
%suq_cl_m_ [ $+ [ %suq_cont ] ] = $gettok(%suq_giocatori_manche, %suq_cont ,32)
if (%suq_cont == 1) {
%suq_cl_m_1 = $gettok(%suq_giocatori_manche,1,32)
%suq_punti_velocita = $gettok(%suq_giocatori_manche,1,32)
}
else {
%suq_cont_x = %suq_cont
while (%suq_cont_x > 1) {
%suq_cont_y = %suq_cont_x - 1
%suq_cl_m_x = %suq_cl_m_ [ $+ [ %suq_cont_x ] ]
%suq_cl_m_y = %suq_cl_m_ [ $+ [ %suq_cont_y ] ]
if ( %suq_punti_parola_ [ $+ [ %suq_cl_m_x ] ] < %suq_punti_parola_ [ $+ [ %suq_cl_m_y ] ] ) {
%suq_cl_m_ [ $+ [ %suq_cont_y ] ] = %suq_cl_m_x
%suq_cl_m_ [ $+ [ %suq_cont_x ] ] = %suq_cl_m_y
}
else {
%suq_cl_m_ [ $+ [ %suq_cont_x ] ] = %suq_cl_m_x
%suq_cont_x = 1
}
dec %suq_cont_x
}
}
inc %suq_cont
}
:esci_da_prepara_risultati_manche_SuPeRScaraQuick
}
alias prepara_classifica_SuPeRScaraQuick {
if (%SuPeRScaraQuick_gioco != ON) goto esci_da_prepara_classifica_SuPeRScaraQuick
%suq_num_nick = $numtok(%suq_giocatori_partita,32)
%suq_cont = 1
while (%suq_cont <= %suq_num_nick) {
%suq_cl_ [ $+ [ %suq_cont ] ] = $gettok(%suq_giocatori_partita, %suq_cont ,32)
if (%suq_cont == 1) {
%suq_cl_1 = $gettok(%suq_giocatori_partita,1,32)
}
else {
%suq_cont_x = %suq_cont
while (%suq_cont_x > 1) {
%suq_cont_y = %suq_cont_x - 1
%suq_cl_x = %suq_cl_ [ $+ [ %suq_cont_x ] ]
%suq_cl_y = %suq_cl_ [ $+ [ %suq_cont_y ] ]
if ( %suq_punti_tot_ [ $+ [ %suq_cl_x ] ] > %suq_punti_tot_ [ $+ [ %suq_cl_y ] ] ) {
%suq_cl_ [ $+ [ %suq_cont_y ] ] = %suq_cl_x
%suq_cl_ [ $+ [ %suq_cont_x ] ] = %suq_cl_y
}
else {
%suq_cl_ [ $+ [ %suq_cont_x ] ] = %suq_cl_x
%suq_cont_x = 1
}
dec %suq_cont_x
}
}
inc %suq_cont
}
:esci_da_prepara_classifica_SuPeRScaraQuick
}