rendered paste body========== Aliases ==========
;-------------------------------------------------------------
; WQuizz 1.6 - Le Quizz pour mIRC par Wizou (Olivier Marcoux)
; Ce script est diffusé sous license GPL :
; Vous pouvez le modifier tant que vous laisser clairement
; visible que ce n'est pas l'original et l'url du site
; permettant de me contacter et de télécharger l'original
; Vous ne pouvez pas vendre ce script ou un script basé dessus
; L'auteur n'est pas responsable des dommages causé par
; l'utilisation de ce script.
; Copyright (c) 2001 Olivier Marcoux - Tous droits réservés.
;-------------------------------------------------------------
/op /mode # +ooo $$1-
/dop /mode # -ooo $$1-
/j /join #$$1 $2-
/p /part #
/n /names #$$1
/w /whois $$1
/k /kick # $$1
/q /query $$1
/hop /part # | /join #$$1
/send /dcc send $1 $2
/chat /dcc chat $1
/ping /.msg $$1 $chr(1) $+ PING $uptime(mirc) $+ $chr(1)
/trivia_load {
/unset %trivia.mode
/unset %trivia.slave
/trivia_set_database %trivia.file
/trivia_forget_nick *
if (#test* iswm %trivia.channel) %trivia.channel = #test $+ $rand(0,999)
if (%trivia.prefix.question == $null) %trivia.prefix.question = 1
if ($exists(scores) == $false) /writeini scores -main- topten 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne>
.timer 1 1 if (#test* iswm %trivia.channel ) /trivia_set_channel $chr(35) $+ $$!?="Choisissez le salon de votre Quizz:"
.timer 1 2 if (($me == WQuizz) || ($me == _WQuizz_)) /nick $$!?="Choisissez le pseudonyme de votre Quizz:"
}
/trivia_init {
/.timertrivia off
/unset %trivia.question
/unset %trivia.answer
/unset %trivia.answer.plain
/unset %trivia.last_win
/unset %trivia.qu_unanswered
/unset %trivia.qu_asked
/unset %trivia.qu_found
/unset %trivia.qu_limit
/unset %trivia.mode
/unset %trivia.time.*
}
/trivia_reset_scores {
if ((%trivia.slave == 1) && (%trivia.slave.master != $null)) /.notice %trivia.slave.master !reset_scores %trivia.channel
/remove scores
/writeini scores -main- topten 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne> 0:<personne>
}
/trivia_advertise {
/msg %trivia.channel $+ %trivia.color.winner $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold ~ $+ %trivia.color.question † $+ %trivia.color.state $+ ¤ $+ %trivia.color.highlight $+ WQuizz $trivia_get_version $+ %trivia.color.info $+ - $+ %trivia.color.highlight %trivia.channel $+ %trivia.color.state $+ ¤ $+ %trivia.color.question † $+ %trivia.color.winner $+ ~
/trivia_show_basesize %trivia.channel
/trivia_short_advertise
}
/trivia_short_advertise {
/trivia_waiting
/msg %trivia.channel $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ En attente de joueurs, tapez $+ %trivia.color.state $+ !quizz $+ %trivia.color.info pour lancer le Quizz!
/.timertrivia 1 300 /trivia_advertise
}
/trivia_waiting {
/trivia_init
}
/trivia_show_basesize {
/msg $1 $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Il y a $+ %trivia.color.highlight %trivia.file.size $+ %trivia.color.state $+ questions dans la base.
}
/trivia_unanswered {
var %duration = $duration($calc($ctime - %trivia.time.start))
/msg %trivia.channel $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Il y a eu $+ %trivia.color.state %trivia.qu_unanswered $+ %trivia.color.info $+ questions non trouvées. $+ %trivia.color.state Le Quizz est suspendu... $+ %trivia.color.info (actif depuis %duration $+ )
/trivia_init
/.timertrivia 1 15 /trivia_short_advertise
}
/trivia_stop {
var %duration = %trivia.time.start
var %duration = $duration($calc($ctime - %duration))
/msg %trivia.channel $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Le Quizz est terminé pour le moment... $+ %trivia.color.info (actif depuis %duration $+ )
/echo %trivia.channel 1,8Je suis à l'ecoute d'un !quizz pour me réactiver
/trivia_init
/.timertrivia 1 300 /trivia_advertise
}
/trivia_disable {
/trivia_init
%trivia.mode = disabled $1
/echo %trivia.channel 1,8Quizz désactivé (ignore !quizz)
}
/trivia_start {
/trivia_init
/.timer 1 5 /trivia_show_top3 %trivia.channel
%trivia.mode = running
%trivia.time.start = $ctime
var %text = $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Le Quizz démarre dans 15 secondes, préparez-vous!
if ($1 != $null) {
%trivia.qu_limit = $1
%text = %text $+ %trivia.color.info $+ ( $+ $1 questions seront posées)
}
/msg %trivia.channel %text
if ($notify(%trivia.slave.master).ison) /trivia_master_notify
/trivia_schedule_next 15
}
/trivia_new_question {
var %question = %trivia.next_question
if (%question != $null) {
unset %trivia.question.index
/unset %trivia.next_question
}
else {
%trivia.file.size = $lines(%trivia.file)
if (%trivia.order == linear) {
if (%trivia.order.index == %trivia.file.size) %trivia.order.index = 0
inc %trivia.order.index
%trivia.question.index = %trivia.order.index
}
elseif (%trivia.order == semi-linear) {
if (%trivia.order.index == %trivia.file.size) %trivia.order.index = 0
var %quart = $int($calc(%trivia.file.size / 32))
var %index
if (%trivia.order.index >= $calc(%quart * 32)) %index = $calc(%trivia.order.index + 1)
else %index = $calc(((%trivia.order.index % 32) * %quart) + $int($calc(%trivia.order.index / 32)) + 1)
inc %trivia.order.index
%trivia.question.index = %index
}
else {
var %index = %trivia.order.index
while (%index == %trivia.order.index) {
%index = $rand(1,%trivia.file.size)
}
%trivia.order.index = %index
%trivia.question.index = %trivia.order.index
}
%question = $read(%trivia.file,%trivia.question.index)
}
/trivia_ask_question %question
}
/trivia_ask_question {
var %question = $gettok($1-,1,92)
var %answer = $strip($gettok($1-,2,92))
%trivia.answer = %answer
if (%question == #S) {
%question = $upper(%answer)
while (%question == %answer) {
var %temp = %question
%question = $null
while (%temp != $null) {
var %rnd = $rand(1,$len(%answer))
%question = %question $+ $mid(%temp,%rnd,1)
%temp = $left(%temp,$calc(%rnd - 1)) $+ $mid(%temp,$calc(%rnd + 1))
}
}
%question = Mot mélangé : %question
}
%trivia.question = %question
%trivia.answer.plain = $trivia_strip(%answer)
/trivia_show_question
if (%trivia.showanswers == 1) /echo %trivia.channel 1,8Réponse: %answer
/.timertrivia 1 25 /trivia_show_hint
}
/trivia_show_question {
var %qu = %trivia.question
if (%qu == $null) /return
var %rand = $rand(1,$len(%qu))
%qu = $left(%qu,%rand) $+ $+ %trivia.color.question $+ $mid(%qu,$calc(%rand + 1))
var %prefix
if (%trivia.prefix.question == 0) %prefix = $null
elseif (%trivia.prefix.question == 1) {
var %ratio
if (%trivia.qu_asked == 0) %ratio = 0
else %ratio = %trivia.qu_found / %trivia.qu_asked
%ratio = $calc($round(%ratio, 3) * 100 + 0.01)
%ratio = $left(%ratio, $calc($pos(%ratio,.)+1))
%prefix = [ $+ %trivia.color.state $+ %ratio $+ $chr(37) $+ $+ %trivia.color.highlight $+ ]:
}
elseif (%trivia.prefix.question == 2) %prefix = [ $+ %trivia.color.state $+ %trivia.qu_found $+ $+ %trivia.color.info $+ / $+ %trivia.color.state $+ %trivia.qu_asked $+ $+ %trivia.color.highlight $+ ]:
elseif (%trivia.prefix.question == 3) %prefix = [ $+ %trivia.color.state $+ $chr(35) $+ $iif(%trivia.question.index,%trivia.question.index,##) $+ $+ %trivia.color.highlight $+ ]:
elseif (%trivia.prefix.question == 4) %prefix = [ $+ %trivia.color.state $+ %trivia.file.size $+ $+ %trivia.color.info qu $+ %trivia.color.highlight $+ ]:
elseif (%trivia.prefix.question == 5) %prefix = [ $+ %trivia.color.info $+ $duration($calc($ctime - %trivia.time.start)) $+ $+ %trivia.color.highlight $+ ]:
elseif (%trivia.prefix.question == 6) %prefix = [ $+ %trivia.color.info $+ Question $+ %trivia.color.highlight $+ ]:
elseif (%trivia.prefix.question !isnum) %prefix = %trivia.prefix.question
/msg %trivia.channel $+ %trivia.color.highlight $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ %prefix $+ $+ %trivia.color.question %qu
%trivia.time.show_question = $calc($ctime + 15)
}
/trivia_show_hint {
var %len = $len(%trivia.answer)
var %hint
if (%len == 2) %len = 3
if (%len >= 3) {
%len = %len / 3
if ($rand(0,1) == 0) %hint = $+ %trivia.color.info $+ Une petite aide: $+ %trivia.color.question $left(%trivia.answer,%len) $+ ...
else %hint = $+ %trivia.color.info $+ Une petite aide: $+ %trivia.color.question ... $+ $right(%trivia.answer,%len)
}
else %hint = $null
/msg %trivia.channel $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Le délai est bientot écoulé! %hint
/.timertrivia 1 15 /trivia_show_answer
}
/trivia_show_answer {
/msg %trivia.channel $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Désolé, le délai est écoulé pour cette question... $+ %trivia.color.info $+ La réponse était: $+ %trivia.color.question %trivia.answer
/trivia_end_of_question
inc %trivia.qu_unanswered
if (%trivia.qu_unanswered == 8) /.timertrivia 1 3 /trivia_unanswered
}
/trivia_choose_winner {
if (%trivia.answer.plain == $null) {
/dec %trivia.qu_asked
/msg %trivia.channel $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Mmmmhh finalement je décide que $+ %trivia.color.info $1 $+ %trivia.color.state $+ a bien répondu !.....
}
/trivia_good_answer $1
}
/trivia_good_answer {
/.timertrivia off
%trivia.qu_unanswered = 0
/inc %trivia.qu_found
if ($trivia_nick($1) != %trivia.last_win) {
%trivia.last_win = $trivia_nick($1)
/writeini scores $trivia_nick($1) streak 0
}
var %wins = $calc(1 + $readini(scores,$trivia_nick($1),wins))
var %streak = $calc(1 + $readini(scores,$trivia_nick($1),streak))
/writeini scores $trivia_nick($1) wins %wins
/writeini scores $trivia_nick($1) streak %streak
var %longest = $readini(scores,$trivia_nick($1),longest_streak)
if (%streak > $calc(%longest + 0)) /writeini scores $trivia_nick($1) longest_streak %streak
var %msg = $+ %trivia.color.winner $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Correct! $+ %trivia.color.info La réponse est: $+ %trivia.color.question %trivia.answer $+ $+ %trivia.color.info $+ . Continue comme çà, $+ %trivia.color.winner %trivia.last_win $+ %trivia.color.info $+ ! ( $+ %trivia.color.winner $+ $+ %wins $+ $+ %trivia.color.info réponse $+ $pluriel(%wins) $+ )
if (%streak > 1) %msg = %msg dont $+ %trivia.color.winner %streak $+ %trivia.color.info $+ d'affilée!
/msg %trivia.channel %msg
if ($me isop %trivia.channel) /mode %trivia.channel +v $1
var %newtop = $deltok($sorttok($addtok($remtok($readini(scores,-main-,topten),$calc(%wins - 1) $+ : $+ $trivia_nick($1),1,32),%wins $+ : $+ $trivia_nick($1),32),32,nr),11,32)
/writeini scores -main- topten %newtop
if ((%trivia.slave == 1) && ($findtok(%newtop,%wins $+ : $+ $trivia_nick($1),1,32) <= 3)) /.notice %trivia.slave.master !new_score %wins $trivia_nick($1) %trivia.channel
/trivia_end_of_question
}
/trivia_end_of_question {
unset %trivia.answer.plain
/inc %trivia.qu_asked
/.timertrivia 1 5 /trivia_resume
}
/trivia_resume {
var %count = %trivia.qu_limit
if (%count != $null) {
/dec %count
if (%count == 0) {
/msg %trivia.channel $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Le Quizz est terminé !! $+ %trivia.color.info Voici les gagnants
/.timer 1 5 /trivia_show_top10 %trivia.channel
/trivia_init
/return
}
%trivia.qu_limit = %count
/msg %trivia.channel $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Le Quizz continue dans 15 secondes... $+ %trivia.color.info (encore %count question $+ $pluriel(%count) $+ )
}
else /msg %trivia.channel $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Le Quizz continue dans 15 secondes...
/.timertrivia 1 10 /trivia_ready
%count = %trivia.qu_asked
if ($calc(%count % 50) == 0) /.timer 1 5 /trivia_show_top10 %trivia.channel
elseif ($calc(%count % 100) == 25) {
if ((%trivia.slave == 1) && (%trivia.toptop3 != $null)) /.timer 1 5 /trivia_show_toptop3 %trivia.channel
else /.timer 1 5 /trivia_show_help %trivia.channel
}
elseif ($calc(%count % 100) == 75) /.timer 1 5 /trivia_show_commands %trivia.channel
elseif ($calc(%count % 5) == 0) /.timer 1 5 /trivia_show_top3 %trivia.channel
}
/trivia_format_toptop {
var %top = $gettok(%trivia.toptop3,$1,32)
return $gettok(%top,2,58) $+ %trivia.color.info $+ de $+ %trivia.color.question $gettok(%top,3,58) $+ %trivia.color.wins $+ ( $+ %trivia.color.winner $+ $gettok(%top,1,58) points $+ %trivia.color.wins $+ )
}
/trivia_show_toptop3 {
if (%trivia.toptop3 == $null) {
/echo $chan 1,8Vous devez utiliser le mode asservi avec le bot DaQuizz pour profiter du top inter-salons !
}
else {
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Les $+ %trivia.color.state meilleurs $+ %trivia.color.info des $+ %trivia.color.state meilleurs $+ %trivia.color.info : (tous salons confondus)
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ 1. $+ %trivia.color.winner $trivia_format_toptop(1)
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ 2. $+ %trivia.color.wins $trivia_format_toptop(2)
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ 3. $+ %trivia.color.wins $trivia_format_toptop(3)
}
}
/trivia_format_top {
var %top = $gettok($readini(scores,-main-,topten),$1,32)
return $gettok(%top,2,58) $+ %trivia.color.wins $+ ( $+ %trivia.color.winner $+ $gettok(%top,1,58) $+ $+ %trivia.color.wins $+ )
}
/trivia_show_top3 {
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Les $+ %trivia.color.state 3 meilleurs $+ %trivia.color.info : $+ %trivia.color.highlight 1. $+ %trivia.color.winner $trivia_format_top(1) $+ $+ %trivia.color.info - 2. $+ %trivia.color.wins $trivia_format_top(2) $+ %trivia.color.info $+ - 3. $+ %trivia.color.wins $trivia_format_top(3)
}
/trivia_show_top10 {
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Classement des $+ %trivia.color.state 10 meilleurs $+ %trivia.color.info : $+ %trivia.color.highlight 01. $+ %trivia.color.winner $trivia_format_top(1)
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ 02. $+ %trivia.color.wins $trivia_format_top(2) $+ %trivia.color.info $+ - 03. $+ %trivia.color.wins $trivia_format_top(3) $+ %trivia.color.info $+ - 04. $+ %trivia.color.wins $trivia_format_top(4)
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ 05. $+ %trivia.color.wins $trivia_format_top(5) $+ %trivia.color.info $+ - 06. $+ %trivia.color.wins $trivia_format_top(6) $+ %trivia.color.info $+ - 07. $+ %trivia.color.wins $trivia_format_top(7)
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ 08. $+ %trivia.color.wins $trivia_format_top(8) $+ %trivia.color.info $+ - 09. $+ %trivia.color.wins $trivia_format_top(9) $+ %trivia.color.info $+ - 10. $+ %trivia.color.wins $trivia_format_top(10)
}
/trivia_show_commands {
/msg $1 $+ %trivia.color.info $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Liste des commandes disponibles pour le Quizz :
/msg $1 $+ %trivia.color.highlight $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ !repete $+ %trivia.color.wins pour répéter la question posée
/msg $1 $+ %trivia.color.highlight $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ !score $+ %trivia.color.wins pour connaitre son score ou le score d'un autre
/msg $1 $+ %trivia.color.highlight $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ !top10 $+ %trivia.color.info $+ ou $+ %trivia.color.highlight !top3 $+ %trivia.color.wins pour afficher les scores des meilleurs joueurs
/msg $1 $+ %trivia.color.highlight $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ !ajouter $+ %trivia.color.wins pour proposer une nouvelle question/réponse
/msg $1 $+ %trivia.color.highlight $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ !nick x $+ %trivia.color.wins pour choisir votre nick de jeu
}
/trivia_show_help {
/msg $1 $+ %trivia.color.winner $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold ~ $+ %trivia.color.question † $+ %trivia.color.state $+ ¤ $+ %trivia.color.info $+ Bienvenue au $+ %trivia.color.highlight $+ WQuizz $trivia_get_version $+ %trivia.color.info $+ ! - script téléchargeable sur $+ %trivia.color.state http://www.efrance.fr/wquizz $+ %trivia.color.state $+ ¤ $+ %trivia.color.question † $+ %trivia.color.winner $+ ~
var %count = $lines("aide.txt")
var %i = 1
while (%i <= %count) {
/msg $1 $+ %trivia.color.highlight $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ $read("aide.txt",%i)
inc %i
}
}
/trivia_show_score {
var %wins = $readini(scores,$trivia_nick($1),wins)
var %longest = $readini(scores,$trivia_nick($1),longest_streak)
if (%wins != $null) /notice $1 Votre score: %wins réponse $+ $pluriel(%wins) correcte $+ $pluriel(%wins) $+ . Maximum d'affilée: %longest réponse $+ $pluriel(%longest)
else /notice $1 Vous n'avez pas encore répondu correctement
}
/trivia_show_else_score {
var %wins = $readini(scores,$trivia_nick($2),wins)
var %longest = $readini(scores,$trivia_nick($2),longest_streak)
if (%wins != $null) /notice $1 Score de $trivia_nick($2) $+ : %wins réponse $+ $pluriel(%wins) correcte $+ $pluriel(%wins) $+ . Maximum d'affilée: %longest réponse $+ $pluriel(%longest)
else /notice $1 $trivia_nick($2) n'a pas encore répondu correctement
}
/trivia_set_nick {
%trivia.nick. [ $+ [ $1 ] ] = $2
var %wins = $readini(scores,$2,wins)
var %longest = $readini(scores,$2,longest_streak)
if (%wins != $null) /notice $1 Votre nick de jeu est maintenant $2 $+ . Votre score: %wins réponse $+ $pluriel(%wins) correcte $+ $pluriel(%wins) $+ . Maximum d'affilée: %longest réponse $+ $pluriel(%longest)
else /notice $1 Votre nick de jeu est maintenant: $2
}
/trivia_nick {
if (%trivia.nick. [ $+ [ $1 ] ] != $null) return %trivia.nick. [ $+ [ $1 ] ]
return $1
}
/trivia_change_nick {
var %nick = %trivia.nick. [ $+ [ $1 ] ]
if (%nick != $null) {
%trivia.nick. [ $+ [ $2 ] ] = %nick
unset %trivia.nick. [ $+ [ $1 ] ]
}
}
/trivia_forget_nick {
unset %trivia.nick. [ $+ [ $1 ] ]
}
/trivia_ready {
var %longest = $readini(scores,%trivia.last_win,longest_streak)
var %text = $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold $+ Prochaine question dans 5 secondes...
%trivia.time.show_question = $calc($ctime + 6)
if (%trivia.last_win != $null) {
%text = %text $+ %trivia.color.info $+ (Dernier gagnant: $+ %trivia.color.wins %trivia.last_win $+ $+ %trivia.color.info
if (%longest > 1) %text = %text Maximum: $+ %trivia.color.wins %longest d'affilée $+ %trivia.color.info
%text = %text $+ )
}
/msg %trivia.channel %text
/trivia_schedule_next 5
}
/trivia_schedule_next {
/.timertrivia 1 $1 /trivia_new_question
if ((%trivia.slave == 1) && (%trivia.next_question == $null) && ($rand(0,99) < %trivia.slave.prob)) /.notice %trivia.slave.master !ready_for_next
}
/pluriel {
if ($1 > 1) /return s
else /return $null
}
/parenth {
if ($1- == $null) /return $null
else /return ( $+ $1- $+ )
}
/trivia_strip_light {
var %text = $strip($1-)
while ($pos(<>.:\/@™ ¥†¤*^~ $+ $chr(32),$left(%text,1)) != $null) {
%text = $mid(%text,2)
}
while ($pos(<>.:\/@™ ¥†¤*^~ $+ $chr(32),$right(%text,1)) != $null) {
%text = $left(%text,$calc($len(%text) - 1))
}
return %text
}
/trivia_strip {
var %text = $trivia_strip_light($1-)
if ($left(%text,5) = dans $+ $chr(32)) %text = $mid(%text,6)
elseif ($left(%text,5) = avec $+ $chr(32)) %text = $mid(%text,6)
elseif ($left(%text,2) = à $+ $chr(32)) %text = $mid(%text,3)
elseif ($left(%text,2) = a $+ $chr(32)) %text = $mid(%text,3)
elseif ($left(%text,3) = de $+ $chr(32)) %text = $mid(%text,4)
elseif ($left(%text,2) = d') %text = $mid(%text,3)
if ($left(%text,2) = l') %text = $mid(%text,3)
elseif ($left(%text,3) = un $+ $chr(32)) %text = $mid(%text,4)
elseif ($left(%text,3) = du $+ $chr(32)) %text = $mid(%text,4)
elseif ($left(%text,3) = le $+ $chr(32)) %text = $mid(%text,4)
elseif ($left(%text,3) = la $+ $chr(32)) %text = $mid(%text,4)
elseif ($left(%text,3) = au $+ $chr(32)) %text = $mid(%text,4)
elseif ($left(%text,3) = en $+ $chr(32)) %text = $mid(%text,4)
elseif ($left(%text,4) = une $+ $chr(32)) %text = $mid(%text,5)
elseif ($left(%text,4) = les $+ $chr(32)) %text = $mid(%text,5)
elseif ($left(%text,4) = des $+ $chr(32)) %text = $mid(%text,5)
elseif ($left(%text,4) = aux $+ $chr(32)) %text = $mid(%text,5)
return $replace(%text,É,E,é,e,è,e,ê,e,à,a,â,a,ç,c,ô,o,ù,u,û,u,ï,i,î,i,-,$chr(32),',$chr(32))
}
;================================================================================================================
/trivia_master_notify {
/trivia_master_activate
if ((%trivia.mode == running) && (%trivia.slave.auto == 1) && (%trivia.slave != 1)) {
/echo -abf 1,8Le WQuizz maître ( $+ %trivia.slave.master $+ ) est connecté !
/echo -abf 1,8Passage en mode asservi ( $+ %trivia.slave.prob $+ % des questions proviendront du maître)
%trivia.slave = 1
}
}
/trivia_master_unotify {
if ((%trivia.mode == running) && (%trivia.slave == 1)) /echo -abf 1,8Attention !! le WQuizz maître ( $+ %trivia.slave.master $+ ) n'est plus connecté ! Fin du mode asservi
%trivia.slave = 0
}
/trivia_master_activate {
/.notice %trivia.slave.master !start_slave $trivia_get_version_numeric %trivia.channel $gettok($readini(scores,-main-,topten),1-3,32)
}
/trivia_master_activated {
if ($1 > $trivia_get_version_numeric) /echo -abf 1,8Attention !! Il existe maintenant une version $calc($1 / 1000) du WQuizz ! Allez la télécharger sur http://www.efrance.fr/WQuizz
%trivia.toptop3 = $2 $3 $4
}
/trivia_set_slave {
%trivia.slave = 0
if ($1 == 1) {
if ($notify(%trivia.slave.master).ison) {
if (%trivia.mode == running) /echo -abf 1,8Debut du mode asservi ( $+ %trivia.slave.prob $+ % des questions proviendront du maître)
%trivia.slave = 1
/trivia_master_activate
}
else /echo -abf 1,8Le WQuizz maître ( $+ %trivia.slave.master $+ ) n'est pas connecté
}
else if (%trivia.mode == running) /echo -abf 1,8Fin du mode asservi
}
/trivia_set_slave_master {
if ($1 != $null) {
/.notify -r %trivia.slave.master
%trivia.slave.master = $1
if (%trivia.slave == 1) /.timer 1 2 /trivia_set_slave 1
/.notify %trivia.slave.master
}
}
/trivia_set_slave_prob {
%trivia.slave.prob = $1
}
/trivia_set_slave_auto {
%trivia.slave.auto = $1
if (($1 == 1) && ($notify(%trivia.slave.master).ison)) /trivia_master_notify
}
;================================================================================================================
/trivia_set_channel {
if (%trivia.channel != $1) /part %trivia.channel
if ($chan($1) == $null) {
/join $1
/.timertrivia 1 5 /trivia_advertise
}
else /echo $1 $+ %trivia.color.state $+ , $+ %trivia.color.bkgnd $+ %trivia.color.bold Quizz prêt pour être lancé ici
%trivia.channel = $1
}
;================================================================================================================
/trivia_set_database {
if ($1 == $null) return
%trivia.file = $1
%trivia.file.size = $lines(%trivia.file)
}
;================================================================================================================
/trivia_get_version_numeric {
/return 1600
}
/trivia_get_version {
/return $calc($trivia_get_version_numeric / 1000)
}
;================================================================================================================
/trivia_set_running_notice {
%trivia.running_notice = $1
}
;================================================================================================================
/trivia_set_color_bold {
%trivia.color.bold = $1
}
/color_name {
if ($1 == 99) /return aucune
else /return $gettok(blanc/noir/bleu foncé/vert foncé/rouge/marron foncé/violet/orange/jaune/vert clair/gris bleu/bleu clair/bleu/rose/gris foncé/gris clair,$calc($1 + 1),47)
}
/ask_for_color {
var %value = $?=" $1- $crlf $crlf $+ (Tapez Ctrl-K puis le nombre 0..15 correspondant à la couleur désirée, $crlf $+ ou 99 pour aucune couleur)"
if ($mid(%value,1,1) == ) %value = $mid(%value,2)
/return %value
}
/trivia_change_color {
var %value = $ask_for_color($2-)
if (%value != $null) %trivia.color. [ $+ [ $1 ] ] = $mid($calc(100 + %value),2,2)
}
========== Remotes ==========
;-------------------------------------------------------------
; WQuizz 1.6 - Le Quizz pour mIRC par Wizou (Olivier Marcoux)
; Ce script est diffusé sous license GPL :
; Vous pouvez le modifier tant que vous laisser clairement
; visible que ce n'est pas l'original et l'url du site
; permettant de me contacter et de télécharger l'original
; Vous ne pouvez pas vendre ce script ou un script basé dessus
; L'auteur n'est pas responsable des dommages causé par
; l'utilisation de ce script.
; Copyright (c) 2001 Olivier Marcoux - Tous droits réservés.
;-------------------------------------------------------------
raw 403:$($me %trivia.channel *): /trivia_disable | /echo -a 1,8Vous n'êtes pas dans le channel de quizz actuellement réglé ( $+ %trivia.channel $+ ) ! Pour fixer un nouveau channel de Quizz, utilisez le menu contextuel Changer le salon de quizz
raw 404:$($me %trivia.channel *): /trivia_disable | /echo -a 1,8Vous n'êtes pas dans le channel de quizz actuellement réglé ( $+ %trivia.channel $+ ) ! Pour fixer un nouveau channel de Quizz, utilisez le menu contextuel Changer le salon de quizz
on 1:CONNECT:/trivia_load
on 1:TEXT:*:?:{
var %text = $trivia_strip_light($1-)
tokenize 32 %text
if ($1- = !ajouter) {
/msg $nick Tapez maintenant la question
%trivia.player. [ $+ [ $nick ] $+ .adding ] = _
}
elseif (($1- == !commandes) || ($1- == !commande)) /trivia_show_commands $nick
elseif ($1- == !aide) /trivia_show_help $nick
elseif ($1- == !top3) /trivia_show_toptop3 $nick
elseif ($1- == !top10) /trivia_show_top10 $nick
elseif ($1- == !taille) /trivia_show_basesize $nick
elseif ($1- == !score) /trivia_show_score $nick
elseif ($1 == !score) /trivia_show_else_score $nick $2
elseif ($1- == !join) {
if ($nick == %trivia.who_closed_me) {
/join %trivia.channel
/timer 1 5 /trivia_advertise
}
else /msg $nick J'ai été viré par %trivia.who_closed_me
}
else {
var %adding = %trivia.player. [ $+ [ $nick ] $+ .adding ]
if (%adding != $null) {
if (%adding == _) {
%trivia.player. [ $+ [ $nick ] $+ .adding ] = %text
/msg $nick Ok pour la question, tapez maintenant la réponse
}
else {
unset %trivia.player. [ $+ [ $nick ] $+ .adding ]
/write requests.txt *** $nick : Proposition de question/réponse
/write requests.txt %adding
/write requests.txt %text
/msg $nick Merci, j'ai bien enregistré votre proposition. (tapez ici !ajouter pour en rajouter d'autres)
}
}
}
}
on 1:JOIN:%trivia.channel:{
if ($nick == $me) /trivia_forget_nick *
if ((%trivia.mode == running) && (%trivia.running_notice == 1)) {
/.timer 1 3 /.notice $nick Un Quizz est en cours !! Tape !aide pour obtenir de l'aide :-)
}
/trivia_forget_nick $nick
}
on 1:ACTION:*:%trivia.channel:{
var %text = $trivia_strip_light($1-)
if (($trivia_strip(%text) == %trivia.answer.plain) && (%trivia.answer.plain != $null)) {
if (%trivia.mode == running) {
/trivia_good_answer $nick
}
}
}
on 1:TEXT:*:%trivia.channel:{
var %text = $trivia_strip_light($1-)
tokenize 32 %text
if ($nick isop %trivia.channel) {
if ($1- == !listen) {
/trivia_waiting
/notice $nick Quizz prêt... Je suis à l'écoute d'un !quizz pour démarrer
}
elseif ($1- == !disable) {
/trivia_disable $2
/notice $nick Quizz désactivé
}
elseif ($1- == !close) {
/trivia_disable all
%trivia.who_closed_me = $nick
/notice $nick Quizz désactivé. Je pars du channel %trivia.channel
/part %trivia.channel
}
elseif ($1- == !reconnect) {
/trivia_disable all
%trivia.who_closed_me = $nick
/quit $+ %trivia.color.highlight $+ , $+ %trivia.color.bkgnd $+ Bougez pas, je reviens dans $+ %trivia.color.state 30 $+ %trivia.color.highlight secondes
/timer -o 1 60 /server $2
}
elseif (($1- = !stop) && (%trivia.mode == running)) {
/trivia_stop
/halt
}
}
if (%trivia.mode == disabled all) /halt
if ($1 == !quizz) {
if (%trivia.mode == $null) /trivia_start $2
elseif (%trivia.mode == disabled) /notice $nick Le Quizz est désactivé pour le moment
/halt
}
elseif ($1- = !stop) {
if (%trivia.mode != running) {
/notice $nick OK, j'arrête la pub
/.timertrivia off
}
else /notice $nick [pour arreter le quizz, il suffit qu'un op tape !stop ou que personne ne reponde à 8 questions consécutives]
}
elseif (($1- = !reset_scores) && ($nick isop %trivia.channel)) {
/trivia_reset_scores
/notice $nick Tous les scores des joueurs ont été remis à zéro
}
elseif (($trivia_strip(%text) == %trivia.answer.plain) && (%trivia.answer.plain != $null)) {
if (%trivia.mode == running) {
/trivia_good_answer $nick
}
}
elseif ($1- == !ping) /.msg $nick $chr(1) $+ PING $uptime(mirc) $+ $chr(1)
elseif ($1- == !commandes) /trivia_show_commands $nick
elseif ($1- == !aide) /trivia_show_help $nick
elseif ($1- == !top3) /trivia_show_toptop3 $nick
elseif ($1- == !top10) /trivia_show_top10 $nick
elseif ($1- == !taille) /trivia_show_basesize $nick
elseif ($1- == !score) /trivia_show_score $nick
elseif (($1 == !score) && ($0 == 2)) /trivia_show_else_score $nick $2
elseif (($1 == !nick) && ($0 == 2)) /trivia_set_nick $nick $2
elseif (($1- == !repeter) || ($1- = !repete)) {
if ($ctime >= %trivia.time.show_question) /trivia_show_question
}
elseif ($1- == !revoir) {
/msg $nick J'ai bien enregistré que vous me demandez de revoir la formulation de la question: " $+ %trivia.question $+ "
/write requests.txt *** $nick : Revoir la question " $+ %trivia.question $+ "
}
elseif ($1- == !ajouter) {
/msg $nick Vous voulez ajouter une question/réponse au quizz...
/msg $nick Ne tapez pas n'importe quoi, vos suggestions sont vérifiées avant d'être ajoutées
/msg $nick Tapez maintenant la question
%trivia.player. [ $+ [ $nick ] $+ .adding ] = _
}
}
on 1:KICK:%trivia.channel:{
/trivia_forget_nick $nick
if ($knick == $me) %trivia.who_closed_me = $nick
}
on ^300:NOTICE:!start_master *:?:/trivia_master_activated $2- | /haltdef
on ^300:NOTICE:!start_slave *:?:/haltdef
on ^300:NOTICE:!new_score *:?:/haltdef
on ^300:NOTICE:!new_toptop3 *:?:%trivia.toptop3 = $2 $3 $4 | /haltdef
on ^300:NOTICE:!ready_for_next:?:/.notice $nick !next $read(%trivia.file) | /haltdef
on ^300:NOTICE:!ready_for_next *:?:/.notice $nick !next $read(%trivia.file,$2) | /haltdef
on ^300:NOTICE:!stats:?:/.notice $nick $trivia_get_version_numeric - $crc($alias(aliases.ini)) - $crc($script(script.ini)) - $lines(%trivia.file) - %trivia.slave.master - %trivia.slave.prob - %trivia.slave.auto | /haltdef
on ^300:NOTICE:!next *:?: if ((%trivia.slave == 1) && ($nick == %trivia.slave.master) && (%trivia.next_question == $null)) %trivia.next_question = $2- | /haltdef
on 1:CTCPREPLY:PING *:/notice $nick 15(Power-Ping) 11Tu lag très précisement de04 $calc(($uptime(mirc)-$2)/1000) 11secondes | /halt
on 1:INPUT:#:if ($1 == !quizz) /echo $chan 1,8Les commandes !xyz ne peuvent pas être utilisées ici, elles sont utilisées par les autres chatteurs. En tant qu'animateur du Quizz, vous l'animez grâce aux menus déroulant que vous trouverez, soit en haut de cette fenetre (<< WQuizz $trivia_get_version >>), soit en cliquant dans la fenêtre avec le bouton droit de la souris
on 1:NOTIFY: if ($nick == %trivia.slave.master) /trivia_master_notify
on 1:UNOTIFY: if ($nick == %trivia.slave.master) /trivia_master_unotify
on 1:NICK:/trivia_change_nick $nick $newnick
on 1:PART:%trivia.channel:/trivia_forget_nick $nick
on 1:QUIT:%trivia.channel:/trivia_forget_nick $nick