rendered paste body;Trivia Bot
;Made and Tested by Ox_King and Justin
;Visit us on irc.dragonchat.org #heaven
on *:LOAD:/setup_trivia
menu channel {
Setup Trivia:/setup_trivia
}
alias setup_trivia /dialog -m trivia_setup trivia_setup
on 5:TEXT:!strivia:%trivia.channel:{
if %trivia != $null) {
/msg %trivia.channel Trivia is already activated. To de-activate it, press 4!trivia end
}
else {
/strivia
}
}
alias /strivia {
/msg %trivia.channel Trivia Script has now been activated. First question in4 30 seconds.
/timerstrivia 1 30 question
/set %trivia on
}
alias /question {
/set %no.lines $lines(%questions.file)
.set %line.no $rand(1,%no.lines)
.set %question $gettok($read(%questions.file,%line.no),1,42)
.set %answer $gettok($read(%questions.file,%line.no),2,42)
.set %question.points $rand(1,30)
.inc %question.count 1
/question.check
/msg %trivia.channel Question [ $+ %line.no $+ ]:14,1 %question
/msg %trivia.channel Points Value:3 %question.points
/msg %trivia.channel Question will end in4 30 seconds.
/enable #answer
.timertrivia 1 30 /stoptrivia
}
alias /stoptrivia {
/msg %trivia.channel Times up. The answer was:4 %answer
/msg %trivia.channel Next question in4 30 seconds.
.timerstrivia 1 30 question
/disable #answer
}
#answer off
on *:TEXT:%answer:%trivia.channel:{
.timertrivia off
/msg %trivia.channel 04 $+ $nick Got the correct answer!!
/msg %trivia.channel The answer was:4 %answer
/timerstrivia 1 10 question
/msg %trivia.channel Next question in8,1 10 seconds.
.set %nick $nick
/addpoint
/disable #answer
/set %nick.score $readini($mircdir\trivia.ini,POINTS,$nick)
/set %nick $nick
/check.points
}
#answer end
on 5:TEXT:!trivia end:%trivia.channel:{
if (%trivia != $null) {
/msg %trivia.channel Trivia stopped.
/msg %trivia.channel 9,1Trivia Script Revision 1. Designed and tested by Ox_King and Justin at /server irc.dragonchat.org
.timertrivia off
.timerstrivia off
/disable #answer
/unset %trivia
/unset %question.count
}
else {
.notice $nick Trivia isn't active. To enable trivia, type 4!strivia
}
}
alias addpoint {
/writeini $mircdir\trivia.ini POINTS %nick $calc($readini($mircdir\trivia.ini,POINTS,%nick) + %question.points)
}
on *:TEXT:!points*:%trivia.channel:{
if ($2 == $null) {
if ($readini($mircdir\trivia.ini,POINTS,$nick) == $null) {
/msg %trivia.channel You currently have4 0 points.
}
else {
/msg %trivia.channel You currently have4 $readini($mircdir\trivia.ini,POINTS,$nick) points.
}
}
else {
if ($readini($mircdir\trivia.ini,POINTS,$2) == $null) {
/msg %trivia.channel $2 currently has4 0 points.
}
else {
/msg %trivia.channel $2 currently has4 $readini($mircdir\trivia.ini,POINTS,$2) points.
}
}
}
on *:TEXT:!addquestion*:?:{
if ($gettok($1-,2,42) == $null) {
/msg $nick Invalid format. The format should be 4Question*Answer
}
else {
.write %questions.file $2- $+ * $+ $nick
/msg $nick Thank you for adding a question.
/msg $nick You have added4 1 point to your total.
.writeini $mircdir\trivia.ini POINTS $nick $calc($readini($mircdir\trivia.ini,POINTS,$nick) + 1)
/msg %trivia.channel 4 $+ $nick has added4 1 point to their total.
/closemsg $nick
}
}
alias question.check {
if (%question.count >= 20) {
/msg %trivia.channel $read $mircdir\ads.txt
.unset %question.count
return
}
else {
return
}
}
alias check.points {
var %a = $lines($mircdir\topscore.txt)
while (%a) { if ($read($mircdir\topscore.txt,w, %a) <= %nick.score) {
write -i $readn $mircdir\topscore.txt %$nick.score $+ * $+ %nick
delete.11
echo -a Check complete
}
dec %a
}
halt
}
alias delete.11 {
if ($len(topscore) = 11) { write -d 11 $mircdir\topscore.txt }
else { halt }
}
on *:TEXT:!top10:%trivia.channel:{
/msg $nick TOP 10
/msg $nick 1.4 $gettok($read($mircdir\topscores.txt,1),1,42) With4 $gettok($read($mircdir\topscores.txt,1),2,42) points.
/msg $nick 2.4 $gettok($read($mircdir\topscores.txt,2),1,42) With4 $gettok($read($mircdir\topscores.txt,2),2,42) points.
/msg $nick 3.4 $gettok($read($mircdir\topscores.txt,3),1,42) With4 $gettok($read($mircdir\topscores.txt,3),2,42) points.
/msg $nick 4.4 $gettok($read($mircdir\topscores.txt,4),1,42) With4 $gettok($read($mircdir\topscores.txt,4),2,42) points.
/msg $nick 5.4 $gettok($read($mircdir\topscores.txt,5),1,42) With4 $gettok($read($mircdir\topscores.txt,5),2,42) points.
/msg $nick 6.4 $gettok($read($mircdir\topscores.txt,6),1,42) With4 $gettok($read($mircdir\topscores.txt,6),2,42) points.
/msg $nick 7.4 $gettok($read($mircdir\topscores.txt,7),1,42) With4 $gettok($read($mircdir\topscores.txt,7),2,42) points.
/msg $nick 8.4 $gettok($read($mircdir\topscores.txt,8),1,42) With4 $gettok($read($mircdir\topscores.txt,8),2,42) points.
/msg $nick 9.4 $gettok($read($mircdir\topscores.txt,9),1,42) With4 $gettok($read($mircdir\topscores.txt,9),2,42) points.
/msg $nick 10.4 $gettok($read($mircdir\topscores.txt,10),1,42) With4 $gettok($read($mircdir\topscores.txt,10),2,42) points.
}
dialog trivia_setup {
title "TriviaScript Setup"
size -1 -1 178 130
option dbu
text "Channel:", 1, 7 9 25 8
edit "", 2, 35 7 129 10
text "Questions File:", 3, 6 19 38 8
edit "", 4, 45 18 82 10
button "Browse", 5, 129 18 35 12
button "Okay", 6, 66 110 37 12, ok
edit "TriviaScript Copyright 2003 © DragonChat Productions. Designed and Tested by Ox_King and Justin. Please send all comments and ideas to them on /server irc.dragonchat.org -j #TalkCentral. ", 7, 6 57 157 49, disable multi return
button "Enable Trivia", 8, 66 34 37 12
}
on *:DIALOG:trivia_setup:init:0:{
if ( %trivia != $null) {
/did -a $dname 8 Disable Trivia
/did -a $dname 2 %trivia.channel
/did -a $dname 4 %questions.file
}
else {
/did -a $dname 8 Enable Trivia
/did -a $dname 2 %trivia.channel
/did -a $dname 4 %questions.file
}
}
on *:DIALOG:trivia_setup:SCLICK:5://set %questions.file $dir="What questions file to use?" C:\ | /did -a $dname 4 %questions.file
on *:DIALOG:trivia_setup:EDIT:2:/set %trivia.channel $did(2)
on *:DIALOG:trivia_setup:EDIT:4:/set %questions.file $did(4)
on *:DIALOG:trivia_setup:SCLICK:8:{
if (%trivia != $null) {
/msg %trivia.channel Trivia stopped by remote host.
/msg %trivia.channel 9,1Trivia Script Revision 1. Designed and tested by Ox_King and Justin at /server irc.dragonchat.org
.timertrivia off
.timerstrivia off
/disable #answer
/unset %trivia
/unset %question.count
}
else {
.echo -a Trivia isn't active. To enable trivia, type 4!strivia
}
}