All pastes #744274 Raw Edit

Broken Trivia Bot Sc

public text v1 · immutable
·published 2007-10-21 08:37 UTC
rendered paste body
;;--
dialog triv.hlp {
  title "Trivia Pimp Help"
  option dbu
  size -1 -1 200 150
  edit "", 1, 5 5 190 140, multi read vsbar
  button "", 90, 0 0 0 0, cancel
}
on *:dialog:triv.hlp:init:0: { loadbuf -o triv.hlp 1 $scriptdirtrivia-readme.txt | did -c triv.hlp 1 1 }
alias  -l triv.hlp { dialog -m triv.hlp triv.hlp }
alias triv.hlp.ask { if ($input(Would you like to read the readme file?,8) == $true) { triv.hlp } }
;----========================================================
alias triv.process { if ($2- == %triv.answer && %triv.inQuestion == $true) { triv.correct $$1 } }
alias -l triv.newChan { set %triv.currChan $$1 }
alias -l triv.msg { msg %triv.currChan $1- }
alias -l triv.timeUp {  triv.msg Time's up on that one! The answer was:  $+ %triv.answer | triv.next }
alias -l triv.hint { triv.msg No one has gotten it yet! Here's a hint:  $+ %triv.hint }
alias -l triv.numQuestions { return $lines($scriptdirtrivia.txt)  } 
alias -l triv.version { return 1.0 }
;===========================
alias triv.correct { 
  var %triv.right = $triv.ini(right,$$1)
  var %triv.longStreak = $triv.ini(longStreak,$$1)
  if (%triv.longStreak == $null) { var %triv.longStreak = 1 }
  inc %triv.right 1
  triv.ini right $$1 %triv.right
  if (%triv.currStreak == $$1) {
    inc %triv.currStreakCount 1
    if (%triv.currStreakCount > %triv.longStreak) { triv.ini longStreak $$1 %triv.currStreakCount | var %triv.longStreak = %triv.currStreakCount }
  }
  else {
    %triv.currStreakCount = 1
    %triv.currStreak = $$1
  }
  triv.msg The correct answer is: %triv.answer $+ . Well done $$1 $+ !! - %triv.right total correct answers - longest streak: %triv.longStreak $iif($$1 == %triv.currStreak, Current Streak: %triv.currStreakCount)
  triv.next
}
alias -l triv.next {
  .timertrivHint off
  .timertrivTimeUp off
  %triv.inQuestion = $false
  triv.setQuestionVars
  .timernextQuestion 1 $triv.ini(settings,pauseBetweenQuestions) triv.askQuestion
}
;;-------------------
alias -l triv.askQuestion {
  triv.msg Question %triv.last / $triv.numQuestions $+ :  $+ %triv.question $+ ? You have $duration($triv.ini(settings,answerTime)) to answer.
  %triv.inQuestion = $true
  .timertrivTimeUp 1 $triv.ini(settings,answerTime) triv.timeUp
  .timertrivHint 1 $triv.ini(settings,hintTime) triv.hint
}
;;-------------------
alias triv.ini {
  if ($isid) { 
    set %stmp $readini($scriptdirtrivia.ini,n,$$1, $$2)
    return $replace(%stmp,&&_u,,&&_b,,&&_k,)
  } 
  else {
    if ($3- !== $null) { writeini $scriptdirtrivia.ini $$1 $$2 $replace($3-,,&&_b,,&&_u,,&&_k) }
  }
}
;--------------
alias triv.setQuestionVars {
  ;---- question�answer�hint ( � == $asc(176) )
  inc %triv.last 1
  if ($triv.numQuestions < %triv.last) { %triv.last = 1 }
  %triv.line = $read($scriptdirtrivia.txt, %triv.last)
  %triv.question = $gettok(%triv.line,1,176)
  %triv.answer = $gettok(%triv.line,2,176)
  %triv.hint = $gettok(%triv.line,3,176)
}

alias triv.on {
  if (%triv.last == $null) { %triv.last = 0 }
  .enable #triv
  triv.msg Trivia On!
  triv.next  
  triv.newChan $1
}

alias triv.off {
  triv.msg Trivia Off!
  .disable #triv
  .timertrivTimeUp off
  .timerNextQuestion off
  .timertrivHint off
}

;-------------------------
#triv off
on *:text:*:%triv.currChan: { triv.process $nick $1- }
#triv end
;;===================================================
dialog triv {
  option dbu
  title "Trivia Pimp Configuration"
  size -1 -1 305 200

  tab "Questions", 70, 5 5 295 190
  tab "Settings", 71, 5 5 295 190

  list 1, 10 30 285 100,tab70

  button "&Up", 91, 270 130 20 10,tab70
  button "&Down", 92, 247 130 20 10,tab70
  button "D&elete Question", 99, 190 130 50 10,tab70

  text "", 20, 30 132 150 10,tab70
  text "Question:",21, 10 150 35 10,tab70
  text "Answer:", 22, 10 160 35 10,tab70
  text "Hint:", 23, 10 170 35 10,tab70

  edit "", 11, 45 150 250 10,tab70
  edit "", 12, 45 160 250 10,tab70
  edit "", 13, 45 170 250 10,tab70


  button "&Save Question", 93, 45 182 55 10,tab70
  button "&Clear Question", 94, 110 182 55 10,tab70
  button "&Add Question", 95, 175 182 55 10,tab70
  ;-----
  text "Number of seconds to pause between questions: ", 31, 10 30 150 10,tab71
  text "Number of seconds to let players attempt to answer: ", 32, 10 40 150 10,tab71
  text "Number of seconds until hint is given: ", 33, 10 50 140 10,tab71
  text "Trivia Channel: ", 34, 10 60 140 10,tab71
  text "**Set hint time higher than attempt time to disable hints.**", 35, 10 71 170 10,tab71
  ;--
  edit "", 41, 165 28 55 10,tab71
  edit "", 42, 165 38 55 10,tab71
  edit "", 43, 165 48 55 10,tab71
  edit %triv.currChan, 44, 165 58 55 10,tab71
  button "Save", 96, 165 69 55 10,tab71
  ;--
  button "Close", 90, 240 182 55 10, cancel
}
alias -l triv.status { did -ra triv 20 $1- }
alias triv.dlg { dialog -dm triv triv }
;-----------------------------------
on *:dialog:triv:init:0: {  
  loadbuf -o triv 1 $scriptdirtrivia.txt 
  did -ra triv 41 $triv.ini(settings,pauseBetweenQuestions)
  did -ra triv 42 $triv.ini(settings,answerTime)
  did -ra triv 43 $triv.ini(settings,hintTime)
}
on *:dialog:triv:sclick:*: {
  if ($did == 1) { triv.showQuestion $did(triv,1).sel }
  if ($did == 91) { triv.moveUp $did(triv,1).sel }
  if ($did == 92) { triv.moveDown $did(triv,1).sel }
  if ($did == 93) { triv.saveQuestion $did(triv,1).sel }
  if ($did == 94) { triv.clearQuestion }
  if ($did == 95) { triv.addQuestion }
  if ($did == 96) { triv.saveSettings }
  if ($did == 99) { triv.delQuestion $did(triv,1).sel }
}
alias -l triv.saveSettings {
  triv.ini settings pauseBetweenQuestions $did(triv,41)
  triv.ini settings answerTime $did(triv,42)
  triv.ini settings hintTime $did(triv,43)
  set %triv.currChan $did(triv,44)
}
;---
alias -l triv.moveUp {
  var %temp = $did(triv,1).seltext
  if ($$1 <= 1 || %temp == $null) return
  var %new = $calc($$1 - 1)
  write -l $+ [ $$1 ] $scriptdirtrivia.txt $did(triv,1,%new)
  write -l $+ [ %new ] $scriptdirtrivia.txt %temp
  did -o triv 1 $$1 $did(triv,1,%new)
  did -o triv 1 %new %temp 
  did -c triv 1 %new
  triv.status Quesiton number %new of $did(triv,1).lines $+ .
}
;--
alias -l triv.moveDown {
  var %temp = $did(triv,1).seltext
  if ($$1 > $did(triv,1).lines || %temp == $null) return
  var %new = $calc($$1 + 1)
  write -l $+ [ $$1 ] $scriptdirtrivia.txt $did(triv,1,%new)
  write -l $+ [ %new ] $scriptdirtrivia.txt %temp
  did -o triv 1 $$1 $did(triv,1,%new)
  did -o triv 1 %new %temp 
  did -c triv 1 %new
  triv.status Quesiton number %new of $did(triv,1).lines $+ .

}
alias -l triv.showQuestion {
  triv.status Quesiton number $$1 of $did(triv,1).lines $+ .
  triv.editQuestionVars $$1
  did -ra triv 11 %triv.edit.question
  did -ra triv 12 %triv.edit.answer
  did -ra triv 13 %triv.edit.hint
}
alias -l triv.saveQuestion {
  write -l $+ [ $$1 ] $scriptdirtrivia.txt $did(triv,11) $+ � $+ $did(triv,12) $+ � $+ $did(triv,13)
  did -o triv 1 $$1 $did(triv,11) $+ � $+ $did(triv,12) $+ � $+ $did(triv,13)
  triv.status Question Saved!
}
alias -l triv.addQuestion {
  write $scriptdirtrivia.txt $did(triv,11) $+ � $+ $did(triv,12) $+ � $+ $did(triv,13)
  did -a triv 1 $did(triv,11) $+ � $+ $did(triv,12) $+ � $+ $did(triv,13)
  triv.clearQuestion
  triv.status Question Added!
}
alias -l triv.delQuestion {
  write -dl $+ [ $$1 ] $scriptdirtrivia.txt 
  did -d triv 1 $$1
  triv.status Question Deleted..
}
alias -l triv.clearQuestion { did -r triv 11,12,13 | triv.status }
;--

alias triv.editQuestionVars {
  ;---- question�answer�hint ( � == $asc(176) )
  %triv.line = $read($scriptdirtrivia.txt, $$1)
  %triv.edit.question = $gettok(%triv.line,1,176)
  %triv.edit.answer = $gettok(%triv.line,2,176)
  %triv.edit.hint = $gettok(%triv.line,3,176)
}
;===========================================================
on *:load: {
  if ($version < 5.9) {
    echo 4 -a ERROR: Trivia Pimp requires mIRC version 5.9 or better, you currently are using version $version $+ .
    echo 4 -a Visit www.mirc.com to download the latest version... Unloading Trivia Pimp v $+ $triv.version
    .timer 1 0 unload -rs $script
  }
  if ($isfile($scriptdirtrivia.ini) == $false) {
    write $scriptdirtrivia.txt What is the name of this script�Trivia Pimp�..rivia..
    triv.ini settings pauseBetweenQuestions 5
    triv.ini settings answerTime 30
    triv.ini settings hintTime 20
  }
  else { echo 3 -a Date File exists.. retaining previous data.... }
  echo 3 -a Trivia Pimp version $triv.version loaded!
  .timer 1 0 triv.hlp.ask
}
;----------
alias -l triv.remove {
  if ($input(Sure you want to remove?,8) == $true) {
    unload -rs $script
  }
}
menu channel {
  -
  &Trivia Pimp v $+ $triv.version
  . $+ $iif($group(#triv) == on,$style(2)) Turn On:triv.on
  . $+ $iif($group(#triv) == off,$style(2)) Turn Off:triv.off
  .$+ Off
  .-
  . $+  $iif(%triv.currChan !== $chan,Make # Trivia Chan,# is Trivia Chan):set %triv.currChan #
  .-
  .Edit Settings / Questions:triv.dlg
  .-
  .Help:triv.hlp
  .-
  .Remove
  ..Yes:.timer 1 0 triv.remove
}
;@