trivia top10 & hash - 02/02/07 03:13 AM
Code:
alias trivia.answered { if ($1 == $null) { halt } else { set %trivia.week.add %trivia.week. [ $+ [ $1 ] ] set %trivia.month.add %trivia.month. [ $+ [ $1 ] ] set %trivia.week. [ $+ [ $1 ] ] $calc(%trivia.p + %trivia.week.add) set %trivia.month. [ $+ [ $1 ] ] $calc(%trivia.p + %trivia.month.add) msg %triviachan $1 2Answer:3 %trivia.a 2In: $+ 3 $duration($calc($ctime - %trivia.el)) $+ 14! 2Won: $+ 3 %trivia.p $+ Points. 2points this week: $+ 3 %trivia.week. [ $+ [ $1 ] ] 2points this month: $+ 3 %trivia.month. [ $+ [ $1 ] ] if (%trivia.week. [ $+ [ $1 ] ] > %trivia.week.1) { if ($readini(trivia.ini, week, 1) == $1) { set %trivia.week.1 %trivia.week. [ $+ [ $1 ] ] goto month } if ($readini(trivia.ini, week, 1) !== $1) { set %trivia.week.2 %trivia.week.1 set %trivia.week.1 %trivia.week. [ $+ [ $1 ] ] writeini -s trivia.ini week 2 $readini(trivia.ini, week, 1) writeini -s trivia.ini week 1 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this weeks) $+ 2 #1 P14layer! top5 week goto month } } if (%trivia.week. [ $+ [ $1 ] ] > %trivia.week.2) { if ($readini(trivia.ini, week, 2) == $1) { set %trivia.week.2 %trivia.week. [ $+ [ $1 ] ] goto month } if ($readini(trivia.ini, week, 1) !== $1) && ($readini(trivia.ini, week, 2) !== $1) { set %trivia.week.3 %trivia.week.2 set %trivia.week.2 %trivia.week. [ $+ [ $1 ] ] writeini -s trivia.ini week 3 $readini(trivia.ini, week, 2) writeini -s trivia.ini week 2 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this weeks) $+ 2 #2 P14layer! top5 week goto month } } if (%trivia.week. [ $+ [ $1 ] ] > %trivia.week.3) { if ($readini(trivia.ini, week, 3) == $1) { set %trivia.week.3 %trivia.week. [ $+ [ $1 ] ] goto month } if ($readini(trivia.ini, week, 1) !== $1) && ($readini(trivia.ini, week, 2) !== $1) && ($readini(trivia.ini, week, 3) !== $1) { set %trivia.week.4 %trivia.week.3 set %trivia.week.3 %trivia.week. [ $+ [ $1 ] ] writeini -s trivia.ini week 4 $readini(trivia.ini, week, 3) writeini -s trivia.ini week 3 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this weeks) $+ 2 #3 P14layer! top5 week goto month } } if (%trivia.week. [ $+ [ $1 ] ] > %trivia.week.4) { if ($readini(trivia.ini, week, 4) == $1) { set %trivia.week.4 %trivia.week. [ $+ [ $1 ] ] goto month } if ($readini(trivia.ini, week, 1) !== $1) && ($readini(trivia.ini, week, 2) !== $1) && ($readini(trivia.ini, week, 3) !== $1) && ($readini(trivia.ini, week, 4) !== $1) { set %trivia.week.5 %trivia.week.4 set %trivia.week.4 %trivia.week. [ $+ [ $1 ] ] writeini -s trivia.ini week 5 $readini(trivia.ini, week, 4) writeini -s trivia.ini week 4 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this weeks) $+ 2 #4 P14layer! top5 week goto month } } if (%trivia.week. [ $+ [ $1 ] ] > %trivia.week.5) { if ($readini(trivia.ini, week, 5) == $1) { set %trivia.week.5 %trivia.week. [ $+ [ $1 ] ] goto month } if ($readini(trivia.ini, week, 1) !== $1) && ($readini(trivia.ini, week, 2) !== $1) && ($readini(trivia.ini, week, 3) !== $1) && ($readini(trivia.ini, week, 4) !== $1) && ($readini(trivia.ini, week, 5) !== $1) { set %trivia.week.6 %trivia.week.5 set %trivia.week.5 %trivia.week. [ $+ [ $1 ] ] writeini -s trivia.ini week 5 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this weeks) $+ 2 #5 P14layer! top5 week goto month } } if (%trivia.week. [ $+ [ $1 ] ] > %trivia.week.6) { if ($readini(trivia.ini, week, 6) !== $1) { set %trivia.week.6 %trivia.week. [ $+ [ $1 ] ] goto month } if ($readini(trivia.ini, week, 1) !== $1) && ($readini(trivia.ini, week, 2) !== $1) && ($readini(trivia.ini, week, 3) !== $1) && ($readini(trivia.ini, week, 4) !== $1) && ($readini(trivia.ini, week, 5) !== $1) && ($readini(trivia.ini, week, 6) !== $1) { set %trivia.week.6 %trivia.week. [ $+ [ $1 ] ] writeini -s trivia.ini week 6 $1 goto month } } :month if (%trivia.month. [ $+ [ $1 ] ] > %trivia.month.1) { if ($readini(trivia.ini, month, 1) == $1) { set %trivia.month.1 %trivia.month. [ $+ [ $1 ] ] halt } if ($readini(trivia.ini, month, 1) !== $1) { set %trivia.month.2 %trivia.month.1 set %trivia.month.1 %trivia.month. [ $+ [ $1 ] ] writeini -s trivia.ini month 2 $readini(trivia.ini, month, 1) writeini -s trivia.ini month 1 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this months) $+ 2 #1 P14layer! top5 month halt } } if (%trivia.month. [ $+ [ $1 ] ] > %trivia.month.2) { if ($readini(trivia.ini, month, 2) == $1) { set %trivia.month.2 %trivia.month. [ $+ [ $1 ] ] halt } if ($readini(trivia.ini, month, 1) !== $1) && ($readini(trivia.ini, month, 2) !== $1) { set %trivia.month.3 %trivia.month.2 set %trivia.month.2 %trivia.month. [ $+ [ $1 ] ] writeini -s trivia.ini month 3 $readini(trivia.ini, month, 2) writeini -s trivia.ini month 2 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this months) $+ 2 #2 P14layer! top5 month halt } } if (%trivia.month. [ $+ [ $1 ] ] > %trivia.month.3) { if ($readini(trivia.ini, month, 3) == $1) { set %trivia.month.3 %trivia.month. [ $+ [ $1 ] ] halt } if ($readini(trivia.ini, month, 1) !== $1) && ($readini(trivia.ini, month, 2) !== $1) && ($readini(trivia.ini, month, 3) !== $1) { set %trivia.month.4 %trivia.month.3 set %trivia.month.3 %trivia.month. [ $+ [ $1 ] ] writeini -s trivia.ini month 4 $readini(trivia.ini, month, 3) writeini -s trivia.ini month 3 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this months) $+ 2 #3 P14layer! top5 month halt } } if (%trivia.month. [ $+ [ $1 ] ] > %trivia.month.4) { if ($readini(trivia.ini, month, 4) == $1) { set %trivia.month.4 %trivia.month. [ $+ [ $1 ] ] halt } if ($readini(trivia.ini, month, 1) !== $1) && ($readini(trivia.ini, month, 2) !== $1) && ($readini(trivia.ini, month, 3) !== $1) && ($readini(trivia.ini, month, 4) !== $1) { set %trivia.month.5 %trivia.month.4 set %trivia.month.4 %trivia.month. [ $+ [ $1 ] ] writeini -s trivia.ini month 5 $readini(trivia.ini, month, 4) writeini -s trivia.ini month 4 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this months) $+ 2 #4 P14layer! top5 month halt } } if (%trivia.month. [ $+ [ $1 ] ] > %trivia.month.5) { if ($readini(trivia.ini, month, 5) == $1) { set %trivia.month.5 %trivia.month. [ $+ [ $1 ] ] halt } if ($readini(trivia.ini, month, 1) !== $1) && ($readini(trivia.ini, month, 2) !== $1) && ($readini(trivia.ini, month, 3) !== $1) && ($readini(trivia.ini, month, 4) !== $1) && ($readini(trivia.ini, month, 5) !== $1) { set %trivia.month.6 %trivia.month.5 set %trivia.month.5 %trivia.month. [ $+ [ $1 ] ] writeini -s trivia.ini month 5 $1 msg %triviachan $trivtalk(Congrats!) $+ 2 $1 $trivtalk(is now this months) $+ 2 #5 P14layer! top5 month halt } } if (%trivia.month. [ $+ [ $1 ] ] > %trivia.month.6) { if ($readini(trivia.ini, month, 6) !== $1) { set %trivia.month.6 %trivia.month. [ $+ [ $1 ] ] halt } if ($readini(trivia.ini, month, 1) !== $1) && ($readini(trivia.ini, month, 2) !== $1) && ($readini(trivia.ini, month, 3) !== $1) && ($readini(trivia.ini, month, 4) !== $1) && ($readini(trivia.ini, month, 5) !== $1) && ($readini(trivia.ini, month, 6) !== $1) { set %trivia.month.6 %trivia.month. [ $+ [ $1 ] ] writeini -s trivia.ini month 6 $1 halt } } } } alias top5 { if ($1 == week) { .timern1 1 1 .notice $nick $trivtalk(Top 5 players this week 1st:) $+ 2 $readini(trivia.ini, week, 1) %trivia.week. [ $+ [ $readini(trivia.ini, week, 1) ] ] .timern2 1 2 .notice $nick $trivtalk(2nd:) $+ 2 $readini(trivia.ini, week, 2) %trivia.week. [ $+ [ $readini(trivia.ini, week, 2) ] ] .timern3 1 3 .notice $nick $trivtalk(3rd:) $+ 2 $readini(trivia.ini, week, 3) %trivia.week. [ $+ [ $readini(trivia.ini, week, 3) ] ] .timern4 1 4 .notice $nick $trivtalk(4th:) $+ 2 $readini(trivia.ini, week, 4) %trivia.week. [ $+ [ $readini(trivia.ini, week, 4) ] ] .timern5 1 5 .notice $nick $trivtalk(5th:) $+ 2 $readini(trivia.ini, week, 5) %trivia.week. [ $+ [ $readini(trivia.ini, week, 5) ] ] } if ($1 == month) { .timernm1 1 1 .notice $nick $trivtalk(Top 5 players this month 1st:) $+ 2 $readini(trivia.ini, month, 1) %trivia.month. [ $+ [ $readini(trivia.ini, month, 1) ] ] .timernm2 1 2 .notice $nick $trivtalk(2nd:) $+ 2 $readini(trivia.ini, month, 2) %trivia.month. [ $+ [ $readini(trivia.ini, month, 2) ] ] .timernm3 1 3 .notice $nick $trivtalk(3rd:) $+ 2 $readini(trivia.ini, month, 3) %trivia.month. [ $+ [ $readini(trivia.ini, month, 3) ] ] .timernm4 1 4 .notice $nick $trivtalk(4th:) $+ 2 $readini(trivia.ini, month, 4) %trivia.month. [ $+ [ $readini(trivia.ini, month, 4) ] ] .timernm5 1 5 .notice $nick $trivtalk(5th:) $+ 2 $readini(trivia.ini, month, 5) %trivia.month. [ $+ [ $readini(trivia.ini, month, 5) ] ] } } alias reset { if ($1 == week) { unset %trivia.week.* set %trivia.week.1 0 set %trivia.week.2 0 set %trivia.week.3 0 set %trivia.week.4 0 set %trivia.week.5 0 set %trivia.week.6 0 writeini trivia.ini week 1 none writeini trivia.ini week 2 none writeini trivia.ini week 3 none writeini trivia.ini week 4 none writeini trivia.ini week 5 none writeini trivia.ini week 6 none } if ($1 == month) { unset %trivia.month.* set %trivia.month.1 0 set %trivia.month.2 0 set %trivia.month.3 0 set %trivia.month.4 0 set %trivia.month.5 0 set %trivia.month.6 0 writeini trivia.ini month 1 none writeini trivia.ini month 2 none writeini trivia.ini month 3 none writeini trivia.ini month 4 none writeini trivia.ini month 5 none writeini trivia.ini month 6 none } } on *:JOIN:%triviachan: { if (%trivia.month. [ $+ [ $nick ] ] <= 1) { msg # $trivtalk(welcome $nick $+ .) } elseif (%trivia.month. [ $+ [ $nick ] ] > 0) { msg # $trivtalk(welcome back $nick $+ . score) $+ 2 %trivia.week. [ $+ [ $nick ] ] $trivtalk(poinets this week. and) $+ 2 %trivia.month. [ $+ [ $nick ] ] $trivtalk(points this month.) if ($readini(trivia.ini, week, 1) == $nick) { mode # +v $nick } if ($readini(trivia.ini, week, 2) == $nick) { mode # +v $nick } if ($readini(trivia.ini, week, 3) == $nick) { mode # +v $nick } if ($readini(trivia.ini, week, 4) == $nick) { mode # +v $nick } if ($readini(trivia.ini, week, 5) == $nick) { mode # +v $nick } } }
this is from a trivia script but it only saves up to 5 or top 5 players week/month what i want is if someone may
1.) make it up to top10 players monthly/weekly
2.) Saves on hash instead of sets coz sometimes if there are too many players the script just stop responding and starts to malfunction.