set pubchr "!"
set fstart "${pubchr}fstart"
set fstop "${pubchr}fstop"
set Top "${pubchr}Top"
set poin "${pubchr}poin"
set ulang "${pubchr}ulang"
set fhelp "${pubchr}fhelp"
set fserver "${pubchr}fserver"
set Topbulan "${pubchr}Topbulan"
set fcmdhelp {
"- ® - Jodoh@DALnet Famili 100 - ® -"
"- ® - 100% tempat nyari jodoh! - ® -"
"- ® - ketik !Top untuk melihat Top10 - ® -"
"- ® - ketik !poin untuk melihat Poin Kamu - ® -"
"- ® - ketik !ulang untuk mengulang pertanyaan - ® -"
}
set submit "submit"
set comment "comment"
set actcha "peha"
set actch "#${actcha}"
set AlreadyGoing 0
set stoppedflag 1
set AlreadyGuessed 0
set WonTimes 1
set WonBefore "Nobody"
set Winners ""
set HeadHoncho ""
set QNumber 0
set QALine 0
set Server $server
set bnick "MoVieStar "
set nameofbot "$bnick"
utimer 10 "iklan"
set dater [unixtime]
set datechecker [ctime $dater]
set fblnanl ""
set blnanhtml ""
set fblnan ""
set ikbar {
"***NEW Famili100 Games***"
}
set borki {
"14,1<16>14<16>14<16>14<16>14<16>0"
"11,13*11,6*2,15*11,13*11,6*2,15*0,1"
"1,6||9,6..1,6||0,1"
}
set borka {
"14,1<16>14<16>14<16>14<16>14<16>"
"2,15*11,6*11,13*2,15*11,6*11,13*"
"1,6||9,6..1,6||"
}
########################################################################
# #
# END EDIT.END EDIT.END EDIT.END EDIT.END EDIT.END EDIT.END EDIT.END #
# #
########################################################################
bind pub - "${fstart}" Start
bind pub - "${fstop}" Stop
bind pub - "${Top}" Top10
bind pub - "${poin}" SpecificPlayerScore
bind pub - "${ulang}" ShowQuestionAndHint
bind pubm - "*" CheckPlayerGuess
bind pub - "${fhelp}" Menu
bind join - * Welcome
#bind pub - "${fserver}" Server
bind pub - "${Topbulan}" MonthTopTen
bind msg - "${submit}" UserAdditions
bind msg - "${comment}" UserComments
proc get_Ad { } {
global ikbar
set outputiz7 [lindex $ikbar [rand [llength $ikbar]]]
return $outputiz7
}
#^~
proc iklan {} {
global borki borka ikbar
global fstart
set adtouse [get_Ad]
set bornu [rand [llength $borki]]
# annoying!
#putserv "TOPIC $chan :[lindex $borki $bornu] $adtouse 13 [lindex $borka $bornu]"
#if { $(progress) == 0 } {
# putserv "privmsg $chan :12 !!! ketik 4${fstart}12 aja buat mulai game!"
#}
utimer 6000 "iklan"
return
}
#^~
set sekilasInf {
""
}
#^~
set gakadayjihhh {
"Survei membuktikan......Gak ada jawaban yang benar"
"Survei membuktikan......Jawabannya salah semua"
"Jawabnya pada salah yach??"
"Ayo dong pada semangat......."
"Survei membuktikan......coba aja lage jawab sapa tau bener ^^"
"Jawabnya kok pada ngaco seh..."
"Jawabnya yang bener dong masa salah semua seh"
}
#^~
proc get_nyahnyah { } {
global gakadayjihhh
set outputiz7 [lindex $gakadayjihhh [rand [llength $gakadayjihhh]]]
return $outputiz7
}
#^~
proc get_InfoItem { } {
global sekilasInf
set outputiz7 [lindex $sekilasInf [rand [llength $sekilasInf]]]
return $outputiz7
}
#^~
proc fikhelp { } {
global fcmdhelp
return [lindex $fcmdhelp [rand [llength $fcmdhelp]]]
}
#^~
proc res_t10 { } {
global Score actch fblnan fblnanl blnanhtml
set f [open "MonthlyScores.txt" w]
if {$fblnanl != ""} {
set g [open $fblnanl w]
}
set webScore "MonthlyScores.html"
foreach s [lsort -decreasing -command sort_Score [array names Score]] {
puts $f "$s $Score($s)"
if {$fblnanl != ""} {
puts $g "$s $Score($s)"
}
set Score(s) 0
}
close $f
if {$fblnanl != ""} {
close $g
}
if {$webScore != ""} {
set f [open "MonthlyScores.html" w]
if {$blnanhtml != ""} {
set g [open $blnanhtml w]
}
puts $f "<HTML><HEAD><TITLE>OnLine Previous Month's Scores:</TITLE>"
puts $f "<TABLE BORDER=4 WIDTH=80%>"
puts $f "<TR ALIGN=center><TH ALIGN=center>Nick</TH><TD>Score</TD></TR>"
if {$blnanhtml != ""} {
puts $g "<HTML><HEAD><TITLE>OnLine Monthly Scores:</TITLE>"
puts $g "<TABLE BORDER=4 WIDTH=80%>"
puts $g "<TR ALIGN=center><TH ALIGN=center>Nick</TH><TD>Score</TD></TR>"
}
foreach s [lsort -decreasing -command sort_Score [array names Score]] {
puts $f "<TR ALIGN=center><TH ALIGN=center>$s</TH><TD>$Score($s)</TD></TR>"
if {$blnanhtml != ""} {
puts $g "<TR ALIGN=center><TH ALIGN=center>$s</TH><TD>$Score($s)</TD></TR>"
}
}
puts $f "</TABLE></HTML>"
if {$blnanhtml != ""} {
puts $g "</TABLE></HTML>"
}
close $f
if {$blnanhtml != ""} {
close $g
}
}
set f [open "BotScores.txt" w]
puts $f "Plentet 0"
close $f
if [info exists Score] { unset Score }
putserv "privmsg $actch :*** perhatian - perhatian *** poin bulan lalu sudah di simpan, harap para pemain segera menjawab pertanyaan berikutnya untuk mendapatkan poin bulan ini"
return 1
}
#^~
proc Server {nick uhost hand chan args} {
global Server
global actch
if {$chan != $actch} {return}
putserv "NOTICE $nick :online dengan server: $Server!"
}
#^~
proc Welcome {nick uhost hand chan} {
global AlreadyGoing Server
global actch fstart ulang
if {$chan != $actch} {return}
if {$AlreadyGoing == 0} {
putserv "NOTICE $nick :Selamat datang $nick.. famili 100 belum di mulai, ketik ${fstart} untuk memulai game, ketik !fhelp buat help. Jangan lupa ajak temen temen chat disini biar makin rame cenelnya"
} else {
putserv "NOTICE $nick :Selamat datang $nick.. famili 100 sudah di mulai, ketik ${ulang} untuk melihat pertanyaan sekarang, ketik !fhelp buat help. Jangan lupa aja temen temen chat disini biar makin rame cenelnya"
}
return 1
}
#^~
proc Start {nick uhost hand chan args} {
global AlreadyGoing nameofbot Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
global actch ulang
if {$chan != $actch} {return}
if {$AlreadyGoing == 1} {
putserv "NOTICE $nick : Famili 100 sudah di mulai. Ketik ${ulang} untuk melihat pertanyaan sekarang"
return 1
}
set stoppedflag 0
set filelength 0
set f [open "file.txt" r]
while {[gets $f Line] != -1} {
set validQuestions($filelength) $filelength
incr filelength
}
close $f
CMainProc blah blah blah $chan ""
set AnyonePlaying 0
return 1
}
#^~
proc CMainProc {nick uhost hand chan args} {
global AlreadyGoing Question datechecker fblnan fblnanl blnanhtml AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed validAnswer
global actcha
set AlreadyGoing 1
set HintAlreadyGiven 0
if {$stoppedflag == 1} {
set AlreadyGoing 0
return 1
}
read_Score
set dater [unixtime]
set datechecker [ctime $dater]
set fblnan "Scores"
append fblnan [lindex $datechecker 1]
set blnanhtml $fblnan
append fblnan ".txt"
append blnanhtml ".html"
if {$fblnanl != ""} {
if {![file exist $fblnan]} {
res_t10
}
}
set fblnanl $fblnan
set blnanhtml "Scores"
append blnanhtml [lindex $datechecker 1]
append blnanhtml ".html"
#
set filelength 0
set f [open "file.txt" r]
while {[gets $f Line] != -1} {
set validQuestions($filelength) $filelength
incr filelength
}
close $f
#
set allasked 0
set endflag 0
set AlreadyAskedtotal 0
#
if {![file exists "AlreadyAsked.txt"]} {
set f [open "AlreadyAsked.txt" w]
close $f
}
set f [open "AlreadyAsked.txt" r]
while {[gets $f Line] != -1} {
set validQuestions($Line) 0
incr AlreadyAskedtotal
}
close $f
#
set totalunaskedQuestions [expr ($filelength - $AlreadyAskedtotal) ]
if {$totalunaskedQuestions < 1} {set totalunaskedQuestions 1}
set ArrayNum [rand $filelength]
if {$ArrayNum < 1} {
set ArrayNum 1
}
set MinQuestNumber [expr $AlreadyAskedtotal - $totalunaskedQuestions]
set ReachedEndOnce 0
while {$validQuestions($ArrayNum) < 1} {
incr ArrayNum
if {$ArrayNum >= $filelength} {
incr ReachedEndOnce
if {$ReachedEndOnce == 2} {
putserv "privmsg $chan :<4Perhatian - Perhatian> Pertanyaan sudah habis, kita ulang kembali pertanyaan awal.."
set f [open "AlreadyAsked.txt" w]
puts $f "0"
close $f
if [info exists validQuestions] { unset validQuestions }
set Counter 0
while {$Counter < $filelength} {
set validQuestions($Counter) $Counter
incr Counter
}
set AlreadyAskedtotal 0
set f [open "AlreadyAsked.txt" r]
while {[gets $f Line] != -1} {
set validQuestions($Line) 0
incr AlreadyAskedtotal
}
close $f
putserv "privmsg $chan :4,1 <15> 0,2 Siap Siap... .. 15,1 <4>"
set ReachedEndOnce 0
}
set totalunaskedQuestions [expr ($filelength - $AlreadyAskedtotal) ]
if {$totalunaskedQuestions == 0} {set totalunaskedQuestions 3}
set ArrayNum [rand $totalunaskedQuestions]
if {$ArrayNum < 1} {
set ArrayNum 1
}
}
}
set QNumber $validQuestions($ArrayNum)
set totalunaskedQuestions [expr ($filelength - $AlreadyAskedtotal) ]
set f [open "AlreadyAsked.txt" a]
puts $f $QNumber
close $f
#
set f [open "file.txt" r]
set Counter 0
while {$Counter < $QNumber} {
gets $f QALine
incr Counter
}
close $f
set marker "*"
set allAnswers ""
set qamarker [string first $marker $QALine]
set Questionendmarker [expr $qamarker - 1]
set Question [string range $QALine 0 $Questionendmarker]
set Question [string tolower $Question]
set AnswerCounter 0
set qamarker [expr $qamarker +1]
set Answersleft [string range $QALine $qamarker end]
set endofAnswersflag 0
while {$endofAnswersflag != 1 } {
set Answerend [string first $marker $Answersleft]
if {$Answerend < 1} {
set endofAnswersflag 1
}
set Answerend [expr $Answerend -1]
if {$Answerend == -2} {set Answerend [string length $Answersleft]}
set Answer [string range $Answersleft 0 $Answerend]
set Answer [string tolower $Answer]
set validAnswer($AnswerCounter) "Nobody $Answer"
append allAnswers "$Answer, "
set qamarker [expr $Answerend +2]
set Answersleft [string range $Answersleft $qamarker end]
incr AnswerCounter
}
set numberofAnswers $AnswerCounter
##
set AlreadyGuessed 0
putserv "PRIVMSG $chan :4,1 <15> 0,2 0 $Question? ($numberofAnswers Jawaban) 15,1 <4>"
utimer 30 "30SecondDisplay $chan"
}
#^~
proc 15SecondDisplay {chan} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
if {$stoppedflag == 1} {
return 1
}
if {$AlreadyGuessed == 1} {
return 1
}
putserv "PRIVMSG $chan :4,1 <15> 0,2 45 Detik Lage... 15,1 <4>"
utimer 15 "30SecondDisplay $chan"
return
}
#^~
proc 30SecondDisplay {chan} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
if {$stoppedflag == 1} {
return 1
}
if {$AlreadyGuessed == 1} {
return 1
}
putserv "PRIVMSG $chan :4,1 <15> 0,2 30 Detik Lage...15,1 <4>"
utimer 15 "45SecondDisplay $chan"
return
}
#^~
proc 45SecondDisplay {chan} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
putserv "PRIVMSG $chan :4,1 <15> 0,2 15 Detik Lage... 15,1 <4>"
utimer 15 "60SecondDisplay $chan"
return
}
#^~
proc 60SecondDisplay {chan} {
global validAnswer AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
global fstart
putserv "privmsg $chan : 4,1 <15> 0,2TEEETT! TOOOTTT! Survey membuktikan... 15,1 <4>"
set Counter 0
foreach z [array names validAnswer] {
if {[lindex $validAnswer($z) 0] != "Nobody"} {
putserv "privmsg $chan :12 [expr $Counter +1]: [lrange $validAnswer($z) 1 end] -> [lindex $validAnswer($z) 0] 12(+1 poin)"
incr Counter
}
}
set otherpossibleAnswerCounter 0
set notfoundAnswers "12Salah satu hasil survei:4 "
foreach z [array names validAnswer] {
if {[lindex $validAnswer($z) 0] == "Nobody"} {
if {$otherpossibleAnswerCounter != 1} {
append notfoundAnswers "[lrange $validAnswer($z) 1 end]"
incr otherpossibleAnswerCounter
}
}
}
if {$Counter == 0} {
putserv "privmsg $chan :12[get_nyahnyah]"
putserv "privmsg $chan :$notfoundAnswers"
}
#
if [info exists validAnswer] {unset validAnswer}
putserv "privmsg $chan : 4,1 <15> 0,2 Pertanyaan berikutnya dimulai dalam 15 detik 15,1 <4>"
set AlreadyGuessed 1
#
if {$AnyonePlaying == 10} {
putserv "privmsg $chan :4,1 <15> 0,2 Gak ada yang maen, stop dolo deh ya gamenya! 15,1 <4>"
set stoppedflag 1
set AlreadyGoing 0
foreach t [utimers] {
if [string match *SecondDisplay* [lindex $t 1]] {
killutimer [lindex $t end]
}
if [string match *MainProc* [lindex $t 1]] {
killutimer [lindex $t end]
}
}
set Answer ""
set Hint ""
set Question ""
putserv "PRIVMSG $chan :4,1 <15> 0,2 Kalau mau main game lagi ketik ${fstart} ajah OK? 15,1 <4>"
#utimer 10 "iklan $chan
return 1
}
set TotalTimeCounter [expr ($Counter *2) + 25]
utimer $TotalTimeCounter "CMainProc blah blah blah $chan"
#CMainProc blah blah blah $chan ""
return 1
}
#^~
proc read_Score { } {
global Score
if [info exists Score] { unset Score }
if {[file exists "BotScores.txt"]} {
set f [open "BotScores.txt" r]
while {[gets $f s] != -1} {
set Score([lindex $s 0]) [lindex $s 1]
}
close $f
} {
set f [open "BotScores.txt" w]
puts $f "Doblang 0"
close $f
}
return 1
}
#^~
proc sort_Score {s1 s2} {
global Score
if {$Score($s1) > $Score($s2)} { return 1 }
if {$Score($s1) < $Score($s2)} { return -1 }
if {$Score($s1) == $Score($s2)} { return 0 }
}
#^~
proc write_Score { } {
global Score
set f [open "BotScores.txt" w]
set webScore "BotScore.html"
foreach s [lsort -decreasing -command sort_Score [array names Score]] {
puts $f "$s $Score($s)"
}
close $f
if {$webScore != ""} {
set f [open $webScore w]
puts $f "<HTML><HEAD><TITLE>Current OnLine standings as of [clock format [clock seconds] -format {%c %Z}]</TITLE>"
puts $f "<TABLE BORDER=4 WIDTH=80%>"
puts $f "<TR ALIGN=center><TH ALIGN=center>Nick</TH><TD>Score</TD></TR>"
foreach s [lsort -decreasing -command sort_Score [array names Score]] {
puts $f "<TR ALIGN=center><TH ALIGN=center>$s</TH><TD>$Score($s)</TD></TR>"
}
puts $f "</TABLE></HTML>"
close $f
}
return 1
}
#^~
proc ShowQuestionAndHint {nick uhost hand chan args} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
global actch
if {$chan != $actch} {return}
if {$stoppedflag == 1} {
#putserv "privmsg $chan : isn't even running, $nick: Type ! to start it first!
"
return
}
if {$AlreadyGuessed == 1} {
#putserv "privmsg $chan :We're between Questions right now...wait a few moments, $nick!"
return
}
putserv "PRIVMSG $chan :\0038,1Pertanyaan:\0038,2 $Question?"
return 1
}
#^~
proc CheckPlayerGuess {nick uhost hand chan args} {
global AnyonePlaying stoppedflag Score nameofbot validAnswer
global actch
if {$chan != $actch} {return}
if {$nick != $nameofbot} {
set AnyonePlaying 0
}
if {$stoppedflag == 1} {
return 1
}
regsub -all \[{',.!}] $args "" args
if {[string length args] == 0} {return}
if {$args == "a"} {return}
if {$args == "an"} {return}
if {$args == "and"} {return}
if {$args == "of"} {return}
if {$args == "as"} {return}
if {$args == "on"} {return}
if {$args == "the"} {return}
if {$args == "to"} {return}
if {$args == "was"} {return}
if {$args == "with"} {return}
set origGuess $args
set Guess [string tolower $args]
#
set WordsToRemove "a an and of as on the to was with"
set newAnswer ""
set Counter 0
set RemoveIt 0
while {[llength $Guess] >= $Counter} {
set RemoveChecker 0
while {[llength $WordsToRemove] >= $RemoveChecker} {
if {[string tolower [lindex $Guess $Counter]] == [string tolower [lindex $WordsToRemove $RemoveChecker]]} {
set RemoveIt 1
}
incr RemoveChecker
}
if {$RemoveIt == 0} {
append newAnswer "[lindex $Guess $Counter] "
}
set RemoveIt 0
incr Counter
}
#
set Guess $newAnswer
set Guesslength [string length $Guess]
set Guess [string range $Guess 0 [expr $Guesslength -2]]
set Guesslength [string length $Guess]
#
if {[string tolower [string range $Guess [expr $Guesslength -2] end]] == "es"} {
set Guess [string range $Guess 0 [expr $Guesslength -3]]
}
if {[string tolower [string range $Guess [expr $Guesslength -1] end]] == "s"} {
set Guess [string range $Guess 0 [expr $Guesslength -2]]
}
if {[string tolower [string range $Guess [expr $Guesslength -1] end]] == "y"} {
set Guess [string range $Guess 0 [expr $Guesslength -2]]
}
if {[string tolower [string range $Guess [expr $Guesslength -3] end]] == "ing"} {
set Guess [string range $Guess 0 [expr $Guesslength -4]]
}
if {[string tolower [string range $Guess [expr $Guesslength -2] end]] == "ly"} {
set Guess [string range $Guess 0 [expr $Guesslength -3]]
}
if {[string tolower [string range $Guess [expr $Guesslength -3] end]] == "ish"} {
set Guess [string range $Guess 0 [expr $Guesslength -4]]
}
if {[string tolower [string range $Guess [expr $Guesslength -2] end]] == "er"} {
set Guess [string range $Guess 0 [expr $Guesslength -3]]
}
if {[string tolower [string range $Guess [expr $Guesslength -2] end]] == "ed"} {
set Guess [string range $Guess 0 [expr $Guesslength -3]]
}
if {[string tolower [string range $Guess [expr $Guesslength -2] end]] == "or"} {
set Guess [string range $Guess 0 [expr $Guesslength -3]]
}
#
foreach z [array names validAnswer] {
#
set WordsToRemove "a an and of on as the to was with"
set ToCheck [lrange $validAnswer($z) 1 end]
set origToCheck $ToCheck
regsub -all \[{',.!}] $ToCheck "" ToCheck
set newAnswer ""
set Counter 0
set RemoveIt 0
while {[llength $ToCheck] >= $Counter} {
set RemoveChecker 0
while {[llength $WordsToRemove] >= $RemoveChecker} {
if {[string tolower [lindex $ToCheck $Counter]] == [string tolower [lindex $WordsToRemove $RemoveChecker]]} {
set RemoveIt 1
}
incr RemoveChecker
}
if {$RemoveIt == 0} {
append newAnswer "[lindex $ToCheck $Counter] "
}
set RemoveIt 0
incr Counter
}
set ToCheck $newAnswer
#
set ToChecklength [string length $ToCheck]
set ToCheck [string range $ToCheck 0 [expr $ToChecklength -2]]
#
if {[string tolower [string range $ToCheck [expr $ToChecklength -3] end]] == "es"} {
set ToCheck [string range $ToCheck 0 [expr $ToChecklength -4]]
}
if {[string tolower [string range $ToCheck [expr $ToChecklength -2] end]] == "s"} {
set ToCheck [string range $ToCheck 0 [expr $ToChecklength -3]]
}
if {[string tolower [string range $Guess [expr $Guesslength -1] end]] == "y"} {
set Guess [string range $Guess 0 [expr $Guesslength -2]]
}
if {[string tolower [string range $ToCheck [expr $ToChecklength -4] end]] == "ing"} {
set ToCheck [string range $ToCheck 0 [expr $ToChecklength -5]]
}
if {[string tolower [string range $ToCheck [expr $ToChecklength -3] end]] == "ly"} {
set ToCheck [string range $ToCheck 0 [expr $ToChecklength -4]]
}
if {[string tolower [string range $ToCheck [expr $ToChecklength -4] end]] == "ish"} {
set ToCheck [string range $ToCheck 0 [expr $ToChecklength -5]]
}
if {[string tolower [string range $ToCheck [expr $ToChecklength -3] end]] == "er"} {
set ToCheck [string range $ToCheck 0 [expr $ToChecklength -4]]
}
if {[string tolower [string range $ToCheck [expr $ToChecklength -3] end]] == "ed"} {
set ToCheck [string range $ToCheck 0 [expr $ToChecklength -4]]
}
if {[string tolower [string range $ToCheck [expr $ToChecklength -3] end]] == "or"} {
set ToCheck [string range $ToCheck 0 [expr $ToChecklength -4]]
}
#
set foundit 0
if {$ToCheck == $Guess} {
set foundit 1
}
if {$foundit == 1} {
if {[lindex $validAnswer($z) 0] == "Nobody"} {
if {[info exists Score($nick)]} {
incr Score($nick)
set validAnswer($z) "$nick $origGuess"
write_Score
return 1
} {
set Score($nick) 1
set validAnswer($z) "$nick $origGuess"
write_Score
return 1
}
}
}
}
return 1
}
#^~
proc SpecificPlayerScore {nick uhost hand chan args} {
global actch
if {$chan != $actch} {return}
set Scoreplayer $args
if {[string length $Scoreplayer] == 2} {set Scoreplayer $nick}
set FoundFlag 0
set f [open "BotScores.txt" r]
while {[gets $f Tally] != -1} {
set checker [lindex $Tally 0]
if {$checker == $Scoreplayer} {
putserv "PRIVMSG $chan :4,1 <15> 0,2[lindex $Tally 0] your score is [lindex $Tally 1] points 15,1 <4>"
set FoundFlag 1
}
}
if {$FoundFlag == 0} {
putserv "PRIVMSG $chan :4,1 <15> 0,2$Scoreplayer HAVE NO point! 15,1 <4>"
}
close $f
return
}
#^~
proc Stop {nick uhost hand chan args} {
global AlreadyGoing Question WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
global actch
if {$chan != $actch} {return}
if {![isop $nick $chan]} {return}
if {$stoppedflag == 1} {
putserv "privmsg $chan :12Gamenya lagi istirahat neh, $nick!"
return 1
}
if {$AlreadyGoing == 0} {
putserv "privmsg $chan :12Gamenya lagi istirahat neh, $nick!"
return 1
}
set stoppedflag 1
set AlreadyGoing 0
foreach t [utimers] {
if [string match *SecondDisplay* [lindex $t 1]] {
killutimer [lindex $t end]
}
#if [string match *iklan* [lindex $t 1]] {
# killutimer [lindex $t end]
#}
}
set Answer ""
set Hint ""
set Question ""
putserv "PRIVMSG $chan :12Gamenya Stop by $nick "
#utimer 10 "iklan $chan"
return 1
}
#^~
proc Top10 {nick uhost hand chan args} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
global actch
if {$chan != $actch} {return}
putserv "PRIVMSG $nick :Top 10 Scores :"
set Winners ""
set f [open "BotScores.txt" r]
for { set s 0 } { $s < 10 } { incr s } {
gets $f Tally
set Placement [expr $s +1]
if {$Placement == 1} {
set Placement " 1st Place: "
set HeadHoncho [lindex $Tally 0]
}
if {$Placement == 2} {
set Placement " 2nd Place: "
}
if {$Placement == 3} {set Placement " 3rd Place: "}
if {$Placement == 4} {set Placement " 4th Place: "}
if {$Placement == 5} {set Placement " 5th Place: "}
if {$Placement == 6} {set Placement " 6th Place: "}
if {$Placement == 7} {set Placement " 7th Place: "}
if {$Placement == 8} {set Placement " 8th Place: "}
if {$Placement == 9} {set Placement " 9th Place: "}
if {$Placement == 10} {set Placement " 10th Place: "}
append Winners $Placement
append Winners [lindex $Tally 0]
append Winners " with "
append Winners [lindex $Tally 1]
if {[lindex $Tally 1] > 1} {
append Winners " poin! "
} else {
append Winners " poin! "
}
}
putserv "PRIVMSG $nick :$Winners"
putserv "PRIVMSG $nick :Selamat untuk $HeadHoncho !"
close $f
return
}
#^~
proc Menu {nick uhost hand chan args} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
global actch nameofbot actcha \
fstart fstop Top poin ulang \
fhelp fserver Topbulan
if {$chan != $actch} {return}
putserv "privmsg $nick :*** ${actcha} Famili 100 help ***"
putserv "privmsg $nick :"
putserv "privmsg $nick :${fstart} - memulai famili 100"
putserv "privmsg $nick :${fstop} - stop famili 100 *hanya untuk @p channel ${actcha}*"
putserv "privmsg $nick :${ulang} - melihat pertanyaan yang sekarang"
putserv "privmsg $nick :${Top} - melihat TOP10"
putserv "privmsg $nick :${poin} \[nick\] - melihat poin orang lain, atau poin kamu jika \[nick\] di kosongkan"
putserv "privmsg $nick :${Topbulan} - melihat TOP10 tiap bulan"
}
#^~
proc UserAdditions {nick uhost hand args} {
global nameofbot
set totrim [string length $args]
set argslength [string length $args]
set totrim [expr $argslength -2]
set anythingsubmitted [string range $args 1 $totrim]
if {[string length $anythingsubmitted] == 0} {
putserv "privmsg $nick :cara menambah pertanyaan: /msg ${nameofbot} submit PERTANYAAN*JAWABAN1*JAWABAN2*JAWABAN3 (kalau memungkinkan lebih dari 10 jawaban)"
return
} {
set f [open "botUserQuestions.txt" a]
puts $f "$nick: $args"
putserv "privmsg $nick :Thanks for submiting your question, admin will check it soon."
close $f
return
}
}
#^~
proc UserComments {nick uhost hand args} {
global nameofbot
set totrim [string length $args]
set argslength [string length $args]
set totrim [expr $argslength -2]
set anythingsubmitted [string range $args 1 $totrim]
if {[string length $anythingsubmitted] == 0} {
putserv "privmsg $nick :cara memberi komentar: /msg ${nameofbot} Comment KOMENTAR_ANDA"
return
} {
set f [open "botUserComments.txt" a]
puts $f "$nick: $args"
putserv "privmsg $nick :Thanks for submiting your comment, admin will check it soon."
close $f
return
}
}
#^~
proc MonthTopTen {nick uhost hand chan args} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer stoppedflag Score filelength QNumber AlreadyGuessed
global actch
if {$chan != $actch} {return}
putserv "PRIVMSG $nick :Top 10 Scores :"
set Winners ""
set f [open "MonthlyScores.txt" r]
for { set s 0 } { $s < 10 } { incr s } {
gets $f Tally
set Placement [expr $s +1]
if {$Placement == 1} {
set Placement " 1st Place: "
set HeadHoncho [lindex $Tally 0]
}
if {$Placement == 2} {set Placement " 2nd Place: "}
if {$Placement == 3} {set Placement " 3rd Place: "}
if {$Placement == 4} {set Placement " 4th Place: "}
if {$Placement == 5} {set Placement " 5th Place: "}
if {$Placement == 6} {set Placement " 6th Place: "}
if {$Placement == 7} {set Placement " 7th Place: "}
if {$Placement == 8} {set Placement " 8th Place: "}
if {$Placement == 9} {set Placement " 9th Place: "}
if {$Placement == 10} {set Placement " 10th Place: "}
append Winners $Placement
append Winners [lindex $Tally 0]
append Winners " with "
append Winners [lindex $Tally 1]
if {[lindex $Tally 1] > 1} {
append Winners " poin! "
} else {
append Winners " poin! "
}
}
putserv "PRIVMSG $nick :$Winners"
putserv "PRIVMSG $nick :Congrats $HeadHoncho !"
close $f
return
}