This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

time sugestion

Old posts that have not been replied to for several years.
Locked
User avatar
hikaro
Halfop
Posts: 68
Joined: Wed Mar 10, 2004 4:29 am

time sugestion

Post by hikaro »

hello i will paste part of my game code..
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... type !ulang `tuk mengulang soal 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... ketik !fhelp buat help. 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
}
this code just show the right answer after 60 secs, me wanna make it appear when user answer it correctly.
anyone can edit a bit pls.... i really apreciate that thanks
User avatar
Xpert
Halfop
Posts: 88
Joined: Mon Mar 08, 2004 7:03 am

Post by Xpert »

Change the:
utimer
on your code :)
Xpert.
User avatar
hikaro
Halfop
Posts: 68
Joined: Wed Mar 10, 2004 4:29 am

Post by hikaro »

what u mean?? so replace with what code?
User avatar
Xpert
Halfop
Posts: 88
Joined: Mon Mar 08, 2004 7:03 am

Post by Xpert »

I thins you should replace the line:

Code: Select all

utimer 15 "60SecondDisplay $chan"
to:

Code: Select all

utimer 1 "60SecondDisplay $chan" 
It will do the command after 1 second and not 60 seconds.
Xpert.
User avatar
stdragon
Owner
Posts: 959
Joined: Sun Sep 23, 2001 8:00 pm
Contact:

Post by stdragon »

Hikaro,

It seems that you haven't posted the part of the script that actually checks for the right answer (binds probably). That is the part you will probably need to change. Most likely, right now it sets a flag or stores the correct answer somewhere. You should make it kill the timers and call the 60SecondDisplay proc instead.
User avatar
hikaro
Halfop
Posts: 68
Joined: Wed Mar 10, 2004 4:29 am

Post by hikaro »

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! 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 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
}
here the full code of the script... stdragon what should i do now... i have tried to kill all the timers but it also doesnt work it just display the correct answer after 60 seconds... i want it like scramble game so when someone got the correct answer the bot will auto respond to it. then if no one correct it also will give all the correct question.
User avatar
hikaro
Halfop
Posts: 68
Joined: Wed Mar 10, 2004 4:29 am

Post by hikaro »

stdragon where are you?
Locked