##
# Faimily 100 made by U|S|B
# test ujicoba - edit
##
set pubchr "!"
set mulai "${pubchr}mulai"
set berhenti "${pubchr}berhenti"
set Top "${pubchr}Top"
set poin "${pubchr}poin"
set ulang "${pubchr}ulang"
set help "${pubchr}help"
set server "${pubchr}server"
set Topbulan "${pubchr}Topbulan"
set fcmdhelp {
"!mulai -- mulai famili 100"
"!berhenti -- berhenti famili 100"
"!Top -- lihat top10"
"!poin -- lihat poin"
"!ulang -- ulang pertanyaan"
"!help -- lihat help"
"!Topbulan -- top10 bulanan"
}
set submit "submit"
set comment "comment"
set actcha "kopiku"
set actch "#${actcha}"
set AlreadyGoing 0
set berhentipedflag 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 "mdmSERV"
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 - "${mulai}" mulai
bind pub - "${berhenti}" berhenti
bind pub - "${Top}" Top10
bind pub - "${poin}" SpecificPlayerScore
bind pub - "${ulang}" ShowQuestionAndHint
bind pubm - "*" CheckPlayerGuess
bind pub - "${help}" Menu
bind join - * Welcome
bind pub - "${server}" 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 mulai
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 :0,10 !!! ketik 4${mulai}0 aja buat mulai game!"
#}
utimer 6000 "iklan"
return
}
#^~
set sekilasInf {
"Welcome To #ciamis@allnetwork"
"Please remove any script-advertisements from you quit and part messages"
"Have a nice chat and fun!"
"Don`t CHANGE your nick while playing this Game to keep your score added!"
"Do not use bad nick, ident and host!"
"No spamming, flooding, clones, cheating and inviting!"
"No offending, racism, harassments, abuses or discrimination!"
"Your score is accumulated and autosaved!"
"Need help? please message op!"
"You will be banned if breaking the rule!"
"Congratulations for the Game Winners!"
"Have a nice chat and enjoy your stay here!"
"Wish you all the best for staying here!"
"No excessive flooding and scripting here,Remote Off your scripting"
}
#^~
set gakadayjihhh {
"Survei membuktikan...TenG TonG...Anda kurang beruntung"
"Survei membuktikan...TenG TonG...Jawabannya salah semua"
"Jawabnya kok pada ngaco yah, ato emang gak ada yg tau ya.."
"Ayo dong pada semangat......."
"Survei membuktikan......Ih ngaco semua jawabannya"
"Jawabnya kok pada ngaco seh, mikir dong..."
"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 "deedee 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 mulai ulang
if {$chan != $actch} {return}
if {$AlreadyGoing == 0} {
putserv "NOTICE $nick :selamat datang $nick.. famili 100 belum di mulai, ketik ${mulai} untuk memulai game"
} else {
putserv "NOTICE $nick :selamat datang $nick.. famili 100 sudah di mulai, ketik ${ulang} untuk melihat pertanyaan sekarang"
}
return 1
}
#^~
proc mulai {nick uhost hand chan args} {
global AlreadyGoing nameofbot Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer berhentipedflag Score filelength QNumber AlreadyGuessed
global actch ulang
if {$chan != $actch} {return}
if {$AlreadyGoing == 1} {
putserv "PRIVMSG $chan :$nick, famili 100 sudah di mulai.. ketik ${ulang} untuk melihat pertanyaan sekarang"
return 1
}
set berhentipedflag 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 berhentipedflag Score filelength QNumber AlreadyGuessed validAnswer
global actcha
set AlreadyGoing 1
set HintAlreadyGiven 0
if {$berhentipedflag == 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 :*** perhatian - perhatian *** semua pertanyaan sudah di ajukan, 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 :siap siap....."
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 :0,13 0,2 0,4 0,5 0,6 0,11 0,12 0,10 0,2 Famili-100 8${actcha} 11@ Allnetwork 0,10 0,12 0,11 0,6 0,5 0,4 0,2 0,13 "
putserv "PRIVMSG $chan :0,15 0,14 0,10 0,2 0,1 0,2Pertanyaan:0,29 $Question? 15,2($numberofAnswers Jawaban)0,1 0,2 0,10 0,14 0,15 "
putserv "privmsg $chan : 15,0*14,15*15,14*1,14*14,1*0,1** - [fikhelp] - **14,1*1,14*15,14*14,15*15,0* "
utimer 15 "15SecondDisplay $chan"
}
#^~
proc 15SecondDisplay {chan} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer berhentipedflag Score filelength QNumber AlreadyGuessed
if {$berhentipedflag == 1} {
return 1
}
if {$AlreadyGuessed == 1} {
return 1
}
putserv "PRIVMSG $chan :\0038,1 --== 45 detik lagi ==-- \0034,0"
utimer 15 "30SecondDisplay $chan"
return
}
#^~
proc 30SecondDisplay {chan} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer berhentipedflag Score filelength QNumber AlreadyGuessed
if {$berhentipedflag == 1} {
return 1
}
if {$AlreadyGuessed == 1} {
return 1
}
putserv "PRIVMSG $chan :\0038,1 --== 30 detik lagi ==-- \0034,0"
utimer 15 "45SecondDisplay $chan"
return
}
#^~
proc 45SecondDisplay {chan} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer berhentipedflag Score filelength QNumber AlreadyGuessed
putserv "PRIVMSG $chan :\0038,1 --== 15 detik lagi ==-- \0034,0"
utimer 15 "60SecondDisplay $chan"
return
}
#^~
proc 60SecondDisplay {chan} {
global validAnswer AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer berhentipedflag Score filelength QNumber AlreadyGuessed
global mulai
putserv "privmsg $chan :10Waktu telah habis, Survey Membuktikan..."
set Counter 0
foreach z [array names validAnswer] {
if {[lindex $validAnswer($z) 0] != "Nobody"} {
putserv "privmsg $chan :6 [expr $Counter +1]: [lrange $validAnswer($z) 1 end] dijawab oleh [lindex $validAnswer($z) 0] (+1 poin)"
incr Counter
}
}
set otherpossibleAnswerCounter 0
set notfoundAnswers "6Salah satu hasil survei:3 "
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 :7[get_nyahnyah]"
putserv "privmsg $chan :$notfoundAnswers"
}
#
if [info exists validAnswer] {unset validAnswer}
putserv "privmsg $chan :13Pertanyaan selanjutnya dalam 20 detik !"
set AlreadyGuessed 1
#
if {$AnyonePlaying == 10} {
putserv "privmsg $chan :Wah udah gak ada yang maen yah, berhenti dolo deh gamenya!"
set berhentipedflag 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 :Kalau mau mulai game lagi ketik ${mulai} ajah OK?"
#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 "dede 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 berhentipedflag Score filelength QNumber AlreadyGuessed
global actch
if {$chan != $actch} {return}
if {$berhentipedflag == 1} {
#putserv "privmsg $chan : isn't even running, $nick: Type ! to mulai it first! 8)"
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 berhentipedflag Score nameofbot validAnswer
global actch
if {$chan != $actch} {return}
if {$nick != $nameofbot} {
set AnyonePlaying 0
}
if {$berhentipedflag == 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 :\0037[lindex $Tally 0] punya nilai [lindex $Tally 1] poin!"
set FoundFlag 1
}
}
if {$FoundFlag == 0} {
putserv "PRIVMSG $chan :$Scoreplayer \002BELUM\002 punya poin!"
}
close $f
return
}
#^~
proc berhenti {nick uhost hand chan args} {
global AlreadyGoing Question WonBefore WonTimes HintAlreadyGiven Hint Answer berhentipedflag Score filelength QNumber AlreadyGuessed
global actch
if {$chan != $actch} {return}
if {![isop $nick $chan]} {return}
if {$berhentipedflag == 1} {
putserv "privmsg $chan :Gamenya lagi istirahat neh, $nick!"
return 1
}
if {$AlreadyGoing == 0} {
putserv "privmsg $chan :Gamenya lagi istirahat neh, $nick!"
return 1
}
set berhentipedflag 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 :Gamenya diberhentiin sama $nick euy!!!"
#utimer 10 "iklan $chan"
return 1
}
#^~
proc Top10 {nick uhost hand chan args} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer berhentipedflag Score filelength QNumber AlreadyGuessed
global actch
if {$chan != $actch} {return}
putserv "PRIVMSG $chan :Top 10 Famili-100 Hari Ini :"
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 " 4,8Presiden: "
set HeadHoncho [lindex $Tally 0]
}
if {$Placement == 2} {
set Placement " 0,6Menteri: "
}
if {$Placement == 3} {set Placement " 0,2Gubernur: "}
if {$Placement == 4} {set Placement " 8,1Walikota: "}
if {$Placement == 5} {set Placement " 0,1Bupati: "}
if {$Placement == 6} {set Placement " 4,8Camat: "}
if {$Placement == 7} {set Placement " 0,6Pamongpraja: "}
if {$Placement == 8} {set Placement " 0,2Lurah: "}
if {$Placement == 9} {set Placement " 8,1Rw: "}
if {$Placement == 10} {set Placement " 0,1Rt: "}
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 $chan :$Winners"
putserv "PRIVMSG $chan :1,13..::0,10 ® 8,10Selamat untuk $HeadHoncho0,10 ® 1,13::.."
close $f
return
}
#^~
proc Menu {nick uhost hand chan args} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer berhentipedflag Score filelength QNumber AlreadyGuessed
global actch nameofbot actcha \
mulai berhenti Top poin ulang \
help server Topbulan
if {$chan != $actch} {return}
putserv "privmsg $nick :*** ${actcha} Famili 100 help ***"
putserv "privmsg $nick :"
putserv "privmsg $nick :${mulai} - memulai famili 100"
putserv "privmsg $nick :${berhenti} - berhenti 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 :makasih...."
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 :makasih....."
close $f
return
}
}
#^~
proc MonthTopTen {nick uhost hand chan args} {
global AlreadyGoing Question AnyonePlaying WonBefore WonTimes HintAlreadyGiven Hint Answer berhentipedflag Score filelength QNumber AlreadyGuessed
global actch
if {$chan != $actch} {return}
putserv "PRIVMSG $chan :Top 10 Famili-100 Bulan Ini :"
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 " Presiden: "
set HeadHoncho [lindex $Tally 0]
}
if {$Placement == 2} {set Placement " Menteri: "}
if {$Placement == 3} {set Placement " Gubernur: "}
if {$Placement == 4} {set Placement " Walikota: "}
if {$Placement == 5} {set Placement " Bupati: "}
if {$Placement == 6} {set Placement " Camat: "}
if {$Placement == 7} {set Placement " amongpraja: "}
if {$Placement == 8} {set Placement " Lurah: "}
if {$Placement == 9} {set Placement " Rw: "}
if {$Placement == 10} {set Placement " Rt: "}
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 $chan :$Winners"
putserv "PRIVMSG $chan : 1,13..::0,10 ® 8,10Selamat untuk $arjuna^- !0,10 ® 1,13::.."
close $f
return
}
Sunday, August 28, 2011
f100.tcl
Labels:
tCL
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment