All pastes #1078733 Raw Edit

Own3D

public text v1 · immutable
#1078733 ·published 2008-07-21 19:53 UTC
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
  }
}