IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 22 Ocak 2011, 12:45   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Oyun Botu Tcl Si




PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set tgquestionnumber "0"
# soru dosyalarının tutlacağı dizin.
set tgqdb "scripts/trivia.questions"
# skorların yazılacağı dizin
set tgscf "scripts/trivia.scores"
# soru veya cevap hatalarının saklanacağı dizin
set tgerrfil "scripts/trivia.errors"
# [0/1] Hata raporu mail araciligi ile gonderilsin mi 
set tgerrmethod 0

# hata raporu gonderilmeden once gecici dosyalar nerede saklansin
set tgerrmailtmp "/tmp"
# hata raporlarinin gonderilecegi mail adresi
set tgerremail "
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
"

# Oyunun oynanacagi kanal
set tgchan "#oyun"
# doğru cevaba verilecek puan
set tgpointsperanswer 5
# Soru cevap ayraci girin
set tgqdbsep "|"

# soru bankanizda sorular
# SORU\CEVAP seklinde ise 1
# CEVAP\soru seklinde ise 0
set tgqdbquestionfirst 0

# Web sayfasi olarak düzenlenen dosya nerede saklansin.
set tghtmlfile "scripts/mychan.html"
# web sayafsi ne zaman sürede update edilsin 
# 0 yaparsaniz HTML ozelligi kapatılır.
set tghtmlrefresh 0
#  Web sayfasi kaydedilirken kullanilacak fontlar.
set tghtmlfont "verdana,helvetica,arial"

# En fazla verilecek ipucu sayısı
set tgmaxhint 3
#  ipucu gosterilsin mi (1) evet (0) hayir?
set tgalwaysshowq 1
#  Sorular Buyuk harfle yazilsin mi(1)evet (0) hayir?
set tgcapsquestion 0
#  Cevaplar büyük harfle yazilsin mi(1) evet (0) hayir?
set tgcapsanswer 1
#  ipuclari buyuk harfle yazilsinmi (1)evet (0) hayir?
set tgcapshint 0
# en az kaç soru üst üste bilindiğinde cevap serisi yakaladı olarak kayıt edilecek
set tgstreakmin 5
#belirli sayıda soru bilinmezse oyun kapatılacak. !skip komutu hadil değil. 0 disable yapar.
set tgmaxmissed 0
# ipucu karakteri
set tghintchar "*"
#verilen ipucları arasındaki süre. saniye cinsinden.
set tgtimehint 9
#bir sonraki soruyu sorma süresi. saniye cinsinden.
set tgtimenext 10
#tebrik mesajları
set tgcongrats[list "Harikasin" "Bravo bildin" "Iyi hareket" "Tebrikler" "Iste oyun bu" "Guzel gidiyorsun" "Oyun nasil oynanir goster" "Bravo" "Heytt Be Helal" "Vay Beee Muhtesemsin Devam Devam" "Oyun Nasıl Oynanır Goster Bu VatandasLara" "Iyi Hareket Ama Fazla Hareket Yapma Atarim Kafayı" "Hımmm Sen Bu Kafa Ile Fazla Yasamassin En Iyiisi Git Uyu" "Bravvvvooo Cok Guzelsin BenimLe CikarMisin" "Guzel gidiyorsun Allah Bilir Besiktaslisin :)" "Iste oyuN Bu Bastir"]
#doğru cevap verilemediğinde gösterilecek mesajlar.
set tgnobodygotit[list "Dogru cevabi bilen cikmadi." "Evde kimse varmi?" "Cevap yok!" "Bu sorular cokmu zor geldi?" "Acaba burda yalniz miyim?" "Boyle giderse kimse puan alamayacak!" "Canlanin biraz" "Sizde Is Yok Calısın Biraz" "Bu Soruyu Bilseydiniz BenLe Cıkardınız" "Daha Cok Calısmalısınız"]
#bir sonraki soru bildirim mesajı
set tgtrythenextone[list "Bakalim sonrakini bilecekmisiniz..." "Bir sonraki icin hazirlanin..." "Belki bir sonrakini bilirsiniz..." "Bakalim bunu bulabilecekmisiniz..." "Sonraki soru geliyor..."]
#  Will the bot calculate the time it took to get the correct
#  answer (1) or not (0)? (requires TCL 8.3 or higher).
set tgtimeanswer 1
#  Sorunun Cevabi gosterilsin mi? (1) evet (0) hayir?
set tgshowanswer 1
# Sorulan sorular her bilindiginde skor tablosu gosterilsin mi ?
set tgshowallscores 1
#bold mesaj kullanımı açık/kapalı ayarı. 0 kapalı için
set tgusebold 0
# Mesaj sistemi ne olarak kullanilsin /msg ise 1 /notice ise 0
set tgpriv2msg 1
#yardım komutu
set tgcmdhelp "help"
#oyun başlatma komutu
set tgcmdstart "basla"
#oyunu kimlerin başlatabileceğini belirleyen bayrak(flag) ayarları. sadece bota kayıtlı oplar için o|o yazın.
#bütün kullanıcılar için -|- yazın. 
set tgflagsstart "-|-"
#oyunu durdurma komutu
set tgcmdstop "x1"
#oyunu kimlerin durdurabileceğini belirleyen bayrak(flag) ayarları. sadece bota kayıtlı oplar için o|o yazın. 
#bütün kullanıcılar için -|- yazın. 
set tgflagsstop "o|o"
# ipucu komutu
set tgcmdhint "ipucu"
#oyunuda kimlerin ipucu komutunu kullanabileceğini belirleyen bayrak(flag) ayarları.
# sadece bota kayıtlı oplar için o|o yazın.  bütün kullanıcılar için -|- yazın. 
set tgflagshint "-|-"
#  Disable the !hint command x seconds after someone uses it. This
#  prevents accidental double hints if two people use the command in
#  quick succession.
set tgtempnohint 10
#soru atlatma komutu
set tgcmdskip "!atla"
#oyunuda kimlerin !skip komutunu kullanabileceğini belirleyen bayrak(flag) ayarları.
# sadece bota kayıtlı oplar için o|o yazın.  bütün kullanıcılar için -|- yazın.
set tgflagsskip "n|n"
#  top10 komudu.
set tgcmdtop10 "top10"
#oyunuda kimlerin !top10 komutunu kullanabileceğini belirleyen bayrak(flag) ayarları.
# sadece bota kayıtlı oplar için o|o yazın.  bütün kullanıcılar için -|- yazın.
set tgflagstop10 "-|-"
# skor temizleme komutu
set tgcmdreset "sıfırla"
#oyunuda kimlerin temizle komutunu kullanabileceğini belirleyen bayrak(flag) ayarları.
# sadece bota kayıtlı oplar için o|o yazın.  bot yöneticileri için n|n yazın. 
set tgflagsreset "n|n"
#skor tablosunu sifirlamak icin bota login oldugunu sifreyi kullanin
set tgresetreqpw 1
#skor öğrenme komutu
set tgcmdlookup "skor"
#başkasının skorunu öğrenme komutu
set tgcmdtarget "hedef"
#kata bildirme komutu
set tgcmderror "hata"
#  kurallar komudu.
set tgcmdrules "kural"
#  Kanal kuralları.
set tgrules "Reklam, Tekrar, Flood, Küfür ve bezeri tutumsuz hareketlerde bulunmak yasaktir. Iyi Sanslar. :-)"
#  Number of minutes between reminders of how to report errors.
set tgerrremindtime 15
#  COLOURS
#  The colour codes used are the same as those used by mIRC:
#  00:white        01:black        02:dark blue    03:dark green
#  04:red          05:brown        06:purple       07:orange
#  08:yellow       09:light green  10:turquoise    11:cyan
#  12:light blue   13:magenta      14:dark grey    15:light grey
#
#  Always specify colour codes as two digits, i.e. use "01" for
#  black, not "1".
#  You can specify a background colour using "00,04" (white text
#  on red background).
#  To disable a colour, use "".
#  Note that disabling some colours but not others may yield
#  unexpected results.
set tgcolourstart "04"  ;#Oyun baslatildi.
set tgcolourstop "04"  ;#Oyun durduruldu.
set tgcolourskip "10"  ;#Soru gecildi.
set tgcolourerr "12"  ;#Nasil hata bildirilir.
set tgcolourmiss "12"  ;#Kimse soruyu bilemedi.
set tgcolourqhead "04"  ;#Soru basligi.
set tgcolourqbody "02"  ;#Sorunun kendisi.
set tgcolourhint "03"  ;#Ipucu.
set tgcolourstrk "12"  ;#Arka arkaya bilme rekorunda olan kisi.
set tgcolourscr1 "10"  ;#1.Siradaki kisi.
set tgcolourscr2 "06"  ;#2.Siradaki kisi.
set tgcolourscr3 "04"  ;#3.Siradaki kisi.
set tgcolourrset "04"  ;#Skorlar Resetlendi.
set tgcolourstend "12"  ;#Arka arkaya bilme rekoru bitti.
set tgcolourmisc1 "12"  ;#Ara reng 1.
set tgcolourmisc2 "02"  ;#Ara reng 2.
 

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#                                                                   #
#    Any editing done beyond this point is done at your own risk!   #
#                                                                   #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#Misc checks & var initialisations
set tgver "1.3.4"
set tgrel "release"
if {[info tclversion]<8.2} {
 
putlog "\002[file tail [info script]]\002 failed to load: in order to use this script, eggdrop needs to be compiled to use tcl 8.2 or higher (recommended: latest stable version)."
 
return
}
if {
$tgtimeanswer==1&&[info tclversion]<8.3} {
 
putlog "\002[file tail [info script]]\002 warning: timing of answers has been automatically disabled. this feature requires tcl 8.3 or higher."
 
set tgtimeanswer 0
}
if {![
info exists alltools_loaded]||$allt_version<205} {
 
putlog "\002[file tail [info script]]\002 failed to load: please load alltools.tcl v1.14 or higher (available with eggdrop 1.6.13 or higher) before attempting to load this script."
 
return
}
if {[
utimerexists tghtml]!=""} {killutimer $tghtmlrefreshtimer}
if {
$tghtmlrefresh>0} {
 
set tghtmlrefreshtimer [utimer $tghtmlrefresh tghtml]
}
if {![
file exists $tgqdb]} {
 
putlog "\002[file tail [info script]]\002 failed to load: $tgqdb does not exist."
 
return
}
if {[
llength [split $tgchan]]!=1} {
 
putlog "\002[file tail [info script]]\002 failed to load: too many channels specified."
 
return
}
if {![
info exists tgplaying]} {
 
set ctcp-version "${ctcp-version} (Trivia Soru Cevap botu) Düzenleyen: 
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB">set tgplaying 0
}
if {![
info exists tghintnum]} {set tghintnum 0}
if {![
info exists tgmissed]} {set tgmissed 0}
#Binds
bind pubm $tgflagsstart "$tgchan %$tgcmdstarttgstart
bind pubm $tgflagsstop 
"$tgchan %$tgcmdstoptgstop
proc tgbindhintcmd 
{} {
 global 
tgflagshint tgcmdhint
 bind pubm $tgflagshint 
"$::tgchan %$tgcmdhinttgforcehint
}
proc tgunbindhintcmd {} {
 global 
tgflagshint tgcmdhint
 unbind pubm $tgflagshint 
"$::tgchan %$tgcmdhinttgforcehint
}
tgbindhintcmd
bind pubm $tgflagsskip 
"$tgchan %$tgcmdskiptgskip
bind pubm $tgflagstop10 
"$tgchan %$tgcmdtop10tgshowtop10
bind join 
-|- "$tgchan *" tgjoinmsg
bind msg 
$tgcmdhelp tggivehelp
bind msg 
$tgcmdlookup tgscorelookup
bind msg 
$tgcmdtarget tgtargetlookup
bind msg 
$tgcmderror tgerror
bind msg 
$tgcmdrules tgrulesmsg
bind msg $tgflagsreset 
"$tgcmdresettgresetscores
bind kick 
"$tgchan $botnicktgbotgotkicked
bind evnt 
disconnect-server tgbotgotdisconnected
#starts the game if it isn't running.
proc tgstart {nick host hand chan text} {
 global 
tgplaying tgstreak tgchan tgerrremindtime tgerrremindtimer tgmissed
 
if {[strlwr $tgchan]==[strlwr $chan]} {
  if {
$tgplaying==0} {
   
tggamemsg "[tgcolstart]Soru botu \002$nick\002 tarafından başlatıldı!"
   
tgnextq
   set tgplaying 1
   set tgstreak 0
   set tgmissed 0
   set tgerrremindtimer 
[timer $tgerrremindtime tgerrremind]
  }
 }
}
#stops the game if it's running.
proc tgstop {nick host hand chan text} {
 global 
tghinttimer tgnextqtimer tgplaying tgchan tgcurrentanswer tgstreak tgstreakmin
 
global tgerrremindtimer tgrebindhinttimer
 
if {[strlwr $tgchan]==[strlwr $chan]} {
  if {
$tgplaying==1} {
   
tggamemsg "[tgcolstop]Soru botu \002$nick\002 tarafından durduruldu!"
   
if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} { tgstreakend }
   
set tgstreak 0
   set tgplaying 0
   
catch {unbind pubm -|- "$tgchan *" tgcheckanswer}
   if {[
utimerexists tghint]!=""} {killutimer $tghinttimer}
   if {[
utimerexists tgnextq]!=""} {killutimer $tgnextqtimer}
   if {[
timerexists tgerrremind]!=""} {killtimer $tgerrremindtimer}
   if {[
utimerexists tgrebindhinttimer]!=""} {killtimer $tgrebindhinttimer}
  }
 }
}
#gives a hint if there is currently a question to answer.
proc tgforcehint {nick host hand chan text} {
 global 
tghinttimer tgnextqtimer tgplaying tgchan tgcurrentanswer tgstreak tgstreakmin
 
global tgtempnohint tgmaxhintcurrent tghintnum tgrebindhinttimer tgtempnohint
 
if {[strlwr $tgchan]==[strlwr $chan]} {
  if {
$tgplaying==1&&[utimerexists tghint]!=""} {
   
killutimer $tghinttimer
   tghint
   tgunbindhintcmd
   
if {$tghintnum<$tgmaxhintcurrent} {
    
set tgrebindhinttimer [utimer $tgtempnohint tgbindhintcmd]
   }
  }
 }
}
#skips the current question if one has been asked.
proc tgskip {nick host hand chan text} {
 global 
tghinttimer tgnextqtimer tgplaying tgchan tgcurrentanswer tgstreak
 
global tgstreakmin tgtimenext tgrebindhinttimer
 
if {[strlwr $tgchan]==[strlwr $chan]} {
  if {
$tgplaying==1&&[utimerexists tghint]!=""} {
   
tggamemsg "[tgcolskip]Soru [tgcolmisc2]$nick'in[tgcolskip] isteği üzerine geçildi..."
   
if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin&&[strlwr [lindex [split $tgstreak ,] 0]]==[strlwr $nick]} {
    
tgstreakend
    set tgstreak 0
   
}
   catch {
unbind pubm -|- "$tgchan *" tgcheckanswer}
   
killutimer $tghinttimer
   
if {[utimerexists tgrebindhinttimer]!=""} {killtimer $tgrebindhinttimer}
   
set tgnextqtimer [utimer $tgtimenext tgnextq]
  }
 }
}
#reminds channel how to report errors in questions/answers
proc tgerrremind {} {
 global 
tgerrremindtimer tgerrremindtime botnick tgcmderror
 tggamemsg 
"[tgcolerr]Hatırlatma: Soru/Cevap hatalarını lütfen bize bildirin. Hataları bize bildirmek için \002/msg $botnick $tgcmderror <sorunumarası> \[Açıklama\]\002 şeklinde kullanınız."
 
set tgerrremindtimer [timer $tgerrremindtime tgerrremind]
}
#bot got kicked. stop the game.
proc tgbotgotkicked {nick host hand chan targ text} {
 
tgquietstop
}
#bot got disconnected. stop the game.
proc tgbotgotdisconnected {disconnect-server} {
 
tgquietstop
}
#stops the game without telling the channel.
proc tgquietstop {} {
 global 
tgplaying tgstreak tgchan tgcurrentanswer tghinttimer tgnextqtimer tgerrremindtimer
 
global tgrebindhinttimer
 
if {$tgplaying==1} {
  
set tgstreak 0
  set tgplaying 0
  
catch {unbind pubm -|- "$tgchan *" tgcheckanswer}
  if {[
utimerexists tghint]!=""} {killutimer $tghinttimer}
  if {[
utimerexists tgnextq]!=""} {killutimer $tgnextqtimer}
  if {[
timerexists tgerrremind]!=""} {killtimer $tgerrremindtimer}
  if {[
utimerexists tgrebindhinttimer]!=""} {killtimer $tgrebindhinttimer}
 }
}
#reads the question database.
proc tgreadqdb {} {
 global 
tgqdb tgquestionstotal tgquestionslist
 set tgquestionstotal 0
 set tgquestionslist 
""
 
set qfile [open $tgqdb r]
 
set tgquestionslist [split [read -nonewline $qfile"\n"]
 
set tgquestionstotal [llength $tgquestionslist]
 
close $qfile
}
#selects the next question.
proc tgnextq {} {
 global 
tgqdb tgcurrentquestion tgcurrentanswer tgquestionnumber
 
global tgquestionstotal tghintnum tgchan tgquestionslist tgqdbsep tgqdbquestionfirst
 
global tgcapsquestion tgcapsanswer
 tgreadqdb
 set tgcurrentquestion 
""
 
set tgcurrentanswer ""
 
while {$tgcurrentquestion == ""} {
set tgquestionnumber [rand [llength $tgquestionslist]]
  
set tgquestionselected [lindex $tgquestionslist $tgquestionnumber]
  
set tgcurrentquestion [lindex [split $tgquestionselected $tgqdbsep] [expr $tgqdbquestionfirst^1]]
  if {
$tgcapsquestion==1} {
   
set tgcurrentquestion [strupr $tgcurrentquestion]
  }
  
set tgcurrentanswer [string trim [lindex [split $tgquestionselected $tgqdbsep$tgqdbquestionfirst]]
  if {
$tgcapsanswer==1} {
   
set tgcurrentanswer [strupr $tgcurrentanswer]
  }
 }
 unset 
tghintnum
 tghint
 bind pubm 
-|- "$tgchan *" tgcheckanswer
 
return
}
#shows timed hints.
proc tghint {} {
 global 
tgmaxhint tghintnum tgcurrentanswer tghinttimer tgchan
 
global tgtimehint tghintchar tgquestionnumber tgquestionstotal
 
global tgcurrentquestion tghintcharsused tgnextqtimer tgtimenext tgstreak tgstreakmin
 
global tgnobodygotit tgtrythenextone tgmissed tgmaxmissed tgcmdstart tgshowanswer
 
global tgtimestart tgtimeanswer tgalwaysshowq tgmaxhintcurrent tgtempnohint tgcapshint
 
if {[catch {incr tghintnum}]!=0} {
  
set tghintnum 0
  regsub 
-all -- "\[^A-Za-z0-9\]" $tgcurrentanswer "" _hintchars
  set tgmaxhintcurrent 
[expr [strlen $_hintchars]<=$tgmaxhint?[expr [strlen $_hintchars]-1]:$tgmaxhint]
  catch {
tgunbindhintcmd}
  if {
$tgmaxhintcurrent>0} {
   
set tgrebindhinttimer [utimer $tgtempnohint tgbindhintcmd]
  }
 }
 if {
$tghintnum >= [expr $tgmaxhintcurrent+1]} {
  
incr tgmissed
  set _msg 
""
  
append _msg "[tgcolmiss][lindex $tgnobodygotit [rand [llength $tgnobodygotit]]]"
  
if {$tgshowanswer==1} {
   
append _msg "Cevap [tgcolmisc2]$tgcurrentanswer[tgcolmiss]."
  
}
  if {
$tgmaxmissed>0&&$tgmissed>=$tgmaxmissed} {
   
append _msg $tgmissed soru sordum ve cevap alamadim ve oyunu durduruyorum. Yeniden baslatmak için $tgcmdstart yazmalısınız."
   
tgquietstop
  
} else {
   
append _msg " [lindex $tgtrythenextone [rand [llength $tgtrythenextone]]]"
  
}
  
tggamemsg "[tgcolmiss]$_msg"
  
if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} { tgstreakend }
  
set tgstreak 0
  
catch {unbind pubm -|- "$tgchan *" tgcheckanswer}
  if {
$tgmaxmissed==0||$tgmissed<$tgmaxmissed} {
   
set tgnextqtimer [utimer $tgtimenext tgnextq]
  }
  return
 } elseif {
$tghintnum == 0} {
  
set i 0
  set _hint 
{}
  
set tghintcharsused {}
  foreach 
word [split $tgcurrentanswer] {
   
regsub -all -- "\[A-Za-z0-9\]" $word $tghintchar _current
   lappend _hint $_current
  
}
  if {
$tgtimeanswer==1} {
   
set tgtimestart [clock clicks -milliseconds]
  }
 } elseif {
$tghintnum == 1} {
  
set i 0
  set _hint 
{}
  while {
$i<[llength [split $tgcurrentanswer]]} {
   
set _word [lindex [split $tgcurrentanswer$i]
   
set j 0
   set _newword 
{}
   while {
$j<[strlen $_word]} {
    if {
$j==0} {
     
append _newword [stridx $_word $j]
     
lappend tghintcharsused $i,$j
    
} else {
     if {[
string is alnum [stridx $_word $j]]} {
      
append _newword $tghintchar
     
} else {
      
append _newword [stridx $_word $j]
      
lappend tghintcharsused $i,$j
     
}
    }
    
incr j
   
}
   
lappend _hint $_newword
   incr i
  
}
  } else {
   
set i 0
   set _hint 
{}
   while {
$i<[llength [split $tgcurrentanswer]]} {
    
set _word [lindex [split $tgcurrentanswer$i]
    
set j 0
    set _newword 
{}
    
set _selected [rand [strlen $_word]]
    
regsub -all -- "\[^A-Za-z0-9\]" $_word "" _wordalnum
    
if {[strlen $_wordalnum]>=$tghintnum} {
     while {[
lsearch $tghintcharsused $i,$_selected]!=-1||[string is alnum [stridx $_word $_selected]]==0} {
      
set _selected [rand [strlen $_word]]
     }
    }
    
lappend tghintcharsused $i,$_selected
    
while {$j<[strlen $_word]} {
     if {[
lsearch $tghintcharsused $i,$j]!=-1||[string is alnum [stridx $_word $j]]==0} {
      
append _newword [stridx $_word $j]
     } else {
      if {[
string is alnum [stridx $_word $j]]} {
       
append _newword $tghintchar
      
}
    }
    
incr j
   
}
   
lappend _hint $_newword
   incr i
  
}
 }
 if {
$tgcapshint==1} {
  
set _hint [strupr $_hint]
 }
# tggamemsg "[tgcolqhead]===== SoruNo [expr $tgquestionnumber+1]/$tgquestionstotal [expr $tghintnum?"(Ipucu $tghintnum/$tgmaxhintcurrent)":""] ====="
 
if {$tgalwaysshowq==1||$tghintnum==0} {
  
tggamemsg "Sorunuz : [tgcolqbody]$tgcurrentquestion"
 
}
 
tggamemsg "[tgcolhint]İpucu  : [join $_hint]"
 
set tghinttimer [utimer $tgtimehint tghint]
}
#triggered when someone uses !top10 command
proc tgshowtop10 {nick host hand chan text} {
 global 
tgscores tgchan tgscorestotal
 
if {[strlwr $chan]==[strlwr $tgchan]} {
  
tggetscores
  
if {$tgscorestotal>0} {
   if {
$tgscorestotal>9} {
    
set _max 9
   
} else {
    
set _max [expr $tgscorestotal-1]
   }
   
set i 0
   
while {$i<=$_max} {
    
set _item [lindex $tgscores $i]
    
set _nick [join [lindex [split $_item ,] 2]]
    
set _score [join [lindex [split $_item ,] 0]]
    if {
$i==0} {
     
append _scores "[tgcolscr1]$_nick $_score"
    
} elseif {$i==1} {
     
append _scores ", [tgcolscr2]$_nick $_score"
    
} elseif {$i==2} {
     
append _scores ", [tgcolscr3]$_nick $_score"
    
} else {
     
append _scores ", [tgcolmisc1]$_nick $_score"
    
}
    
incr i
   
}
   
tggamemsg "[tgcolmisc1]Top 10: $_scores"
  
} else {
   
tggamemsg "[tgcolmisc1]Skor tablosu boş."
  
}
 }
}
#checks if anyone has said the correct answer on channel.
proc tgcheckanswer {nick host hand chan text} {
 global 
tgcurrentanswer
 
if {[strlwr $tgcurrentanswer] == [tgstripcodes [strlwr [string trim $text]]]} {
  
tgcorrectanswer $nick
 
}
}
#triggered when someone says the correct answer.
proc tgcorrectanswer {nick} {
 global 
tgcurrentanswer tghinttimer tgtimenext tgchan tgnextqtimer tgstreak tgstreakmin
 
global tgscoresbyname tgranksbyname tgranksbynum tgcongrats tgscorestotal tgmissed
 
global tgtimestart tgshowallscores tgrealnames tgscoresbyrank tgtimeanswer
 tggetscores
 
if {![info exists tgranksbyname([strlwr $nick])]} {
  
set _oldrank 0
 
} else {
  
set _oldrank $tgranksbyname([strlwr $nick])
 }
 
tgincrscore $nick
 tggetscores
 set _newrank $tgranksbyname
([strlwr $nick])
 
set _timetoanswer ""
 
if {$tgtimeanswer==1} {
  
set _timetoanswer [expr [expr [clock clicks -milliseconds]-$tgtimestart]/1000.00]
 }
 
set _msg "[tgcolmisc1][lindex $tgcongrats [rand [llength $tgcongrats]]] [tgcolmisc2]$nick[tgcolmisc1]! Doğru Cevap [tgcolmisc2]$tgcurrentanswer[tgcolmisc1].[expr $tgtimeanswer==1?" Soruyu [tgcolmisc2]$_timetoanswer[tgcolmisc1Saniyede Bildiniz.":""]"
 
if {$_newrank<$_oldrank} {
  if {
$_newrank==1} {
   
append _msg " Şu an birincisiniz!"
  
} else {
   if {
$tgshowallscores==0} {
    
append _msg " Seviyeniz yükseldi.!"
   
} else {
    
append _msg " [tgcolmisc2]$tgscorestotal[tgcolmisc1] kişi içinde [tgcolmisc2][ordnumber $tgranksbyname([strlwr $nick])][tgcolmisc1] sıradasınız. [tgcolmisc2]$tgrealnames($tgranksbynum([expr $_newrank-1]))[tgcolmisc1]  [tgcolmisc2]$tgscoresbyrank([expr $_newrank-1])[tgcolmisc1] puanla hemen önünüzde."
   
}
  }
 }
 
tggamemsg "$_msg"
 
if {$tgstreak!=0} {
  if {[
lindex [split $tgstreak ,] 0]==[strlwr $nick]} {
   
set tgstreak [strlwr $nick],[expr [lindex [split $tgstreak ,] 1]+1]
   if {
$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} {
    
tggamemsg "[tgcolstrk][tgcolmisc2]$nick[tgcolstrk] Cevap serisi yakaladı!! [tgcolmisc2][lindex [split $tgstreak ,] 1] [tgcolstrk]tane soruyu ust uste bildi!"
   
}
  } else {
   if {
$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} { tgstreakend }
   
set tgstreak [strlwr $nick],1
  
}
 } else {
  
set tgstreak [strlwr $nick],1
 
}
 
set tgmissed 0
 tgshowscores $nick
 
catch {unbind pubm -|- "$tgchan *" tgcheckanswer}
 
killutimer $tghinttimer
 set tgnextqtimer 
[utimer $tgtimenext tgnextq]
}
#read current scores from file, sort and store in variable.
proc tggetscores {} {
 global 
tgscf tgscorestotal tgscores tgscoresbyname tgranksbyname tgranksbynum
 
global tgrealnames tgscoresbyrank
 
if {[file exists $tgscf]&&[file size $tgscf]>2} {
  
set _sfile [open $tgscf r]
  
set tgscores [lsort -dict -decreasing [split [gets $_sfile]]]
  
close $_sfile
  set tgscorestotal 
[llength $tgscores]
 } else {
  
set tgscores ""
  
set tgscorestotal 0
 
}
 if {[
info exists tgscoresbyname]} {unset tgscoresbyname}
 if {[
info exists tgranksbyname]} {unset tgranksbyname}
 if {[
info exists tgrealnames]} {unset tgrealnames}
 if {[
info exists tgranksbynum]} {unset tgranksbynum}
 
set i 0
 
while {$i<[llength $tgscores]} {
  
set _item [lindex $tgscores $i]
  
set _nick [lindex [split $_item ,] 2]
  
set _lwrnick [lindex [split $_item ,] 3]
  
set _score [lindex [split $_item ,] 0]
  
set tgscoresbyname($_lwrnick$_score
  set tgrealnames
($_lwrnick$_nick
  set tgranksbyname
($_lwrnick) [expr $i+1]
  
set tgranksbynum([expr $i+1]) $_lwrnick
  set tgscoresbyrank
([expr $i+1]) $_score
  incr i
 
}
 return
}
#increment someone's score.
proc tgincrscore {who} {
 global 
tgscores tgscf tgpointsperanswer tgscorestotal tgscoresbyname
 tggetscores
 
if {$tgscorestotal>0} {
  
set i 0
  
if {![info exists tgscoresbyname([strlwr $who])]} {
   
append _newscores "1,[expr 1000000000000.0/[unixtime]],$who,[strlwr $who] "
  
}
  while {
$i<[llength $tgscores]} {
   
set _item [lindex $tgscores $i]
   
set _nick [lindex [split $_item ,] 2]
   
set _time [lindex [split $_item ,] 1]
   
set _score [lindex [split $_item ,] 0]
   if {[
strlwr $who]==[strlwr $_nick]} {
    
append _newscores "[expr $_score+$tgpointsperanswer],[expr 1000000000000.0/[unixtime]],$who,[strlwr $who][expr [expr [llength $tgscores]-$i]==1?"":""]"
   
} else {
    
append _newscores "$_score,$_time,$_nick,[strlwr $_nick][expr [expr [llength $tgscores]-$i]==1?"":""]"
   
}
   
incr i
  
}
 } else {
  
append _newscores "1,[expr 1000000000000.0/[unixtime]],$who,[strlwr $who]"
 
}
 
set _sfile [open $tgscf w]
 
puts $_sfile "$_newscores"
 
close $_sfile
 
return
}
#shows the current scores on channel.
proc tgshowscores {nick} {
 global 
tgscores tgchan tgscorestotal tgshowallscores tgranksbyname tgranksbynum
 
global tgscoresbyname tgrealnames tgscoresbyrank
 tggetscores
 set i 0
 
if {$tgshowallscores} {
  while {
$i<[llength $tgscores]} {
   
set _item [lindex $tgscores $i]
   
set _nick [lindex [split $_item ,] 2]
   
set _score [lindex [split $_item ,] 0]
   if {
$i==0} {
    
append _scores "[tgcolscr1]$_nick $_score"
   
} elseif {$i==1} {
    
append _scores ", [tgcolscr2]$_nick $_score"
   
} elseif {$i==2} {
    
append _scores ", [tgcolscr3]$_nick $_score"
   
} elseif {[onchan $_nick $tgchan]} {
    
append _scores ", [tgcolmisc1]$_nick $_score"
   
}
   
incr i
  
}
  
tggamemsg "[tgcolmisc1]Skorlar: $_scores"
 
} else {
  if {
$tgranksbyname([strlwr $nick])==1} {
   
set _tgt "."
  
} else {
   
set _tgt ", behind [tgcolmisc2]$tgrealnames($tgranksbynum([expr $tgranksbyname([strlwr $nick])-1]))[tgcolmisc1] with [tgcolmisc2]$tgscoresbyrank([expr $tgranksbyname([strlwr $nick])-1])[tgcolmisc1]."
  
}
  
tggamemsg "[tgcolmisc2]$nick [tgcolmisc1]now has [tgcolmisc2]$tgscoresbyname([strlwr $nick]) [tgcolmisc1][expr $tgscoresbyname([strlwr $nick])==1?"point":"points"] and is ranked [tgcolmisc2][ordnumber $tgranksbyname([strlwr $nick])] [tgcolmisc1]of [tgcolmisc2]$tgscorestotal[tgcolmisc1]$_tgt"
 
}
}
#reset current scores.
proc tgresetscores {nick host hand text} {
 global 
tgscf tgscorestotal tgscores tgplaying tgresetreqpw
 
if {($tgresetreqpw==&& [passwdok $hand $text]) || $tgresetreqpw==0} {
  if {[
file exists $tgscf]&&[file size $tgscf]>2} {
   
set _sfile [open $tgscf w]
   
puts $_sfile ""
   
close $_sfile
   set tgscores 
""
   
set tgscorestotal 0
  
}
  
tggamemsg "[tgcolrset]===== Skor tablosu \002$nick\002 tarafından silindi! ====="
 
}
}
#triggered when a winning streak ends.
proc tgstreakend {} {
  global 
tgstreak tgrealnames
  tggamemsg 
"[tgcolstend]İyi gidiyordun [tgcolmisc2]$tgrealnames([lindex [split $tgstreak ,] 0])[tgcolstend] iyi bir cevap serisi yakalamisti"
  
return
}
#triggered when someone joins trivia chan.
#triggered when someone joins trivia chan. 
proc tgjoinmsg {nick host hand chan} { 
global 
botnick tgplaying tgcmdhelp tgcmdstart tgflagsstart tgcmdstop tgflagsstop tgchan 
global tgscorelookupjoin tgscoresbyname tgranksbyname tgscorestotal tgranksbynum tgrealnames 
global tgscoresbyrank tgscores 
tggetscores 
if {$nick != $botnick} { 
set _msg "" 
append _notice "Soru Cevap Oyun kanalına hoş geldiniz. Oyun şu anda" 
if {$tgplaying==1} { 
append _notice " \002Açık\002." 
} else { 
append _notice " \002Kapalı\002." 

if {[
matchattr $hand $tgflagsstart $tgchan]&&$tgplaying==0} { 
append _notice " Oyunu başlatmak için, \002$tgcmdstart\002 yazmalısınız $tgchan kanalına" 

append _notice " Oyun hakkında yardıma ihtiyacınız olursa \002/msg $botnick [strupr $tgcmdhelp]\002 yazmanız yeterli olacaktır! " 
[tgpriv$nick "$_msg
if {![info exists tgscoresbyname([strlwr $nick])]} { 
tggamemsg "[tgcolmisc1]Hoş geldin [tgcolmisc2]$nick [tgcolmisc1]! Oyuncular arasında adınız yok. Aramıza katılmak için soruları cevaplamanın tam zamanı.!!! " 
} else { 
tggamemsg "[tgcolmisc1]Selam [tgcolmisc2]$nick ![tgcolmisc1] Toplam -> [tgcolmisc2]$tgscoresbyname([strlwr $nick]) [tgcolmisc1]<- [expr $tgscoresbyname([strlwr $nick])==1?"puan":"puan"]ınız var ! Durumunuz [tgcolmisc2][ordnumber $tgranksbyname([strlwr $nick])] [tgcolmisc1]Sıradasınız. [tgcolmisc2]$tgscorestotal[tgcolmisc1] kişi arasında, [tgcolmisc2]$tgrealnames($tgranksbynum([expr $tgranksbyname([strlwr $nick])-1]))[tgcolmisc1] ise [tgcolmisc2]$tgscoresbyrank([expr $tgranksbyname([strlwr $nick])-1])[tgcolmisc1]. puanla önünüzde" 

set i 0 
while {$i<[llength $tgscores]} { 
set _item [lindex $tgscores $i
set _nick [lindex [split $_item ,] 2
set _score [lindex [split $_item ,] 0
if {
$i<=9&&$nick==$_nick&&[botisop $tgchan]} { 
putserv "MODE $tgchan +v $nick
putserv "PRIVMSG $tgchan :[tgcolmisc1] Wo
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB">$nick
 [tgcolmisc1]! Yarışmacılar arasında ilk 10 kişi arasında." 

incr i 


}
#triggered when someone /msgs the bot with the score lookup command.
proc tgscorelookup {nick host hand text} {
 global 
tgscoresbyname tgranksbyname tgscorestotal tgrealnames
 
if {$text==""} { set text $nick } else { set text [lindex [split $text0] }
 
tggetscores
 
if {![info exists tgscoresbyname([strlwr $text])]} {
  if {[
strlwr $text]==[strlwr $nick]} {
   
set _who "[tgcolmisc1]Nickinizin"
  
} else {
   
set _who "[tgcolmisc2]$text [tgcolmisc1]"
  
}
  [
tgpriv$nick "[tgbold]$_who [tgcolmisc1]skor tablosunda yok."
 
} else {
  if {[
strlwr $text]==[strlwr $nick]} {
   
set _who "[tgcolmisc1]Nickinizin"
  
} else {
   
set _who "[tgcolmisc2]$tgrealnames([strlwr $text]) [tgcolmisc1]"
  
}
  [
tgpriv$nick "[tgbold]$_who [tgcolmisc2]$tgscoresbyname([strlwr $text])[tgcolmisc1] puanı var, [tgcolmisc2]$tgscorestotal[tgcolmisc1] [tgcolmisc1]kişi içinde [tgcolmisc2][ordnumber $tgranksbyname([strlwr $text])] sırada"
 
}
}
#triggered when someone /msgs the bot with the target lookup command.
proc tgtargetlookup {nick host hand text} {
 global 
tgscoresbyname tgranksbyname tgscorestotal tgranksbynum tgrealnames
 tggetscores
 
if {![info exists tgscoresbyname([strlwr $nick])]} {
  [
tgpriv$nick "[tgbold][tgcolmisc1]Skor tablosunda yer almıyorsunuz."
 
} elseif {$tgranksbyname([strlwr $nick])==1} {
  [
tgpriv$nick "[tgbold][tgcolmisc1]Birinci sıradasınız!"
 
} else {
  [
tgpriv$nick "[tgbold][tgcolmisc1]Toplam puanınız [tgcolmisc2]$tgscoresbyname([strlwr $nick])[tgcolmisc1]. Hemen önünüzde [tgcolmisc2]$tgrealnames($tgranksbynum([expr $tgranksbyname([strlwr $nick])-1])) [tgcolmisc1] puanla [tgcolmisc2]$tgscoresbyname($tgranksbynum([expr $tgranksbyname([strlwr $nick])-1]))[tgcolmisc1], sırada [tgcolmisc2][ordnumber [expr $tgranksbyname([strlwr $nick])-1]] [tgcolmisc2]$tgscorestotal[tgcolmisc1] [tgcolmisc1] kişi arasında."
 
}
}
#triggered when someone /msgs the bot with the error reporting command.
proc tgerror {nick host hand text} {
 global 
tgquestionstotal tgquestionslist tgerrmethod tgerrfil tgerremail tgerrmailtmp
 
if {$text==""||![string is int [lindex [split $text0]]} {
  [
tgpriv$nick "[tgbold][tgcolmisc1]Soru numarası girmediniz."
  
return
 }
 
tgreadqdb
 set _qnum 
[lindex [split $text0]
 if {
$_qnum>$tgquestionstotal} {
  [
tgpriv$nick "[tgbold][tgcolmisc1]Bu numaraya ait soru bulunamadı."
  
return
 }
 
set _qques [lindex [split [lindex $tgquestionslist [expr $_qnum-1]] |] 1]
 
set _qans [lindex [split [lindex $tgquestionslist [expr $_qnum-1]] |] 0]
 
set _desc [join [lrange [split $text1 end]]
 if {
$_desc==""} { set _desc "Bu hata ile ilgili daha fazla bilgi yok." }
 if {
$tgerrmethod==1} {
  
set _fname $tgerrmailtmp\trivia[rand 100000].tmp
  set _file 
[open $_fname w]
 } else {
  
set _file [open $tgerrfil a]
 }
 
puts $_file ""
 
puts $_file "Error report generated [strftime %A,\ %d\ %B\ %Y\ @\ %H:%M:%S]"
 
puts $_file "raporu bildiren:\t$nick!$host"
 
puts $_file "SoruNo #:\t$_qnum"
 
puts $_file "Soru:\t$_qques"
 
puts $_file "Cevap:\t\t$_qans"
 
puts $_file "Mesaj:\t$_desc"
 
puts $_file "------------------------------"
 
close $_file
 
if {$tgerrmethod==1} {
  
exec mail -"trivia.tcl error report from $nick$tgerremail $_fname
  file delete $_fname
  
[tgpriv$nick "[tgbold][tgcolmisc1]Teşekkürler! hatalı soru e-mail yolu ile yetkililere ulastirilacaktir."
 
} else {
  [
tgpriv$nick "[tgbold][tgcolmisc1]Teşekkürler! hatalı soru kaydedildi ve en kısa zamanda yetkililere bildirilecektir."
 
}
}
#triggered when someone /msgs the bot with the rules command.
proc tgrulesmsg {nick host hand text} {
 global 
tgrules
 
[tgpriv$nick "Oyun kuraları: $tgrules"
}
#triggered when someone /msgs the bot with the help command.
proc tggivehelp {nick host hand {text ""}} {
 global 
botnick tgcmdlookup tgcmdhelp tgcmdstart tgcmdstop tgchan tgflagsstop
 
global tgcmdstop tgflagshint tgcmdhint tgflagsskip tgcmdskip tgflagsreset tgcmdreset
 
global tgcmdtarget tgcmderror tgcmdrules tgflagsstart
 
if {$text==""} {
  [
tgpriv$nick "komutlar hakkında yardım almak için:"
  
[tgpriv$nick "/MSG $botnick <komut> yazmalısınız"
  
[tgpriv$nick "  \002[strupr $tgcmdrules]\002"
  
[tgpriv$nick "   -- Kanal kurallarını listelemek için."
  
[tgpriv$nick "  \002[strupr $tgcmdlookup]\002 \[nick\]"
  
[tgpriv$nick "   -- Belirtilen \[nick\] sirasini ve skorunu verir"
  
[tgpriv$nick "    Eger bir nick belirtilmezse sizin bilgileriniz gosterilecektir."
  
[tgpriv$nick "  \002[strupr $tgcmdtarget]\002"
  
[tgpriv$nick "   -- Belirtilen kullanici ile sizin aranizdaki"
  
[tgpriv$nick "    sira sayisini ve skor farkini gosterir."
  
[tgpriv$nick "  \002[strupr $tgcmderror]\002 <number> \[description\]"
  
[tgpriv$nick "   -- numarasi belirtilen sorunun varsa hatalarini bildirmenizi saglar"
  
[tgpriv$nick "    hata aciklamasi kismini yazmayabilirsiniz..."
  
if {[matchattr $hand $tgflagsreset $tgchan]} {
   [
tgpriv$nick "  \002[strupr $tgcmdreset]\002"
   
[tgpriv$nick "   -- Skor tablosunu siler."
  
}
  [
tgpriv$nick "Kanalda kullanabileceginiz komutlarin listesini gormek icin"
            
[tgpriv$nick "/MSG $botnick [strupr $tgcmdhelp] PUBCMDS yazin"
 
}
 if {[
strlwr $text]=="pubcmds"} {
  [
tgpriv$nick "Kullanabileceğiniz kanal komutları:"
  
if {[matchattr $hand $tgflagsstart $tgchan]} {
   [
tgpriv$nick "  \002$tgcmdstart\002 -- Oyunu başlatır."
  
}
  if {[
matchattr $hand $tgflagsstop $tgchan]} {
   [
tgpriv$nick "  \002$tgcmdstop\002 -- Oyunu durdurur."
  
}
  if {[
matchattr $hand $tgflagshint $tgchan]} {
   [
tgpriv$nick "  \002$tgcmdhint\002 -- Soru hakkında ipucu verir."
  
}
  if {[
matchattr $hand $tgflagsskip $tgchan]} {
   [
tgpriv$nick "  \002$tgcmdskip\002 -- Soruyu atlar."
  
}
  [
tgpriv$nick "komutlari listesi icin, /MSG $botnick [strupr $tgcmdhelp] yazin."
 
}
}
# Returns text without colour, bold, etc. control codes.
# This is a stripped down version of the proc in MC_8's mc.moretools.tcl.
proc tgstripcodes {text} {
 
regsub -all -- "\003(\[0-9\]\[0-9\]?(,\[0-9\]\[0-9\]?)?)?" $text "" text
 set text 
"[string map -nocase[list \002 "" \017 "" \026 "" \037 ""] $text]"
 
return $text
}
proc tggamemsg {what} {
 global 
tgchan
 putquick 
"PRIVMSG $tgchan LMSG :[tgbold]$what"
}
proc tgbold {} {
 global 
tgusebold
 
if {$tgusebold==1} { return "\002" }
}
proc tgcolstart {} {
 global 
tgcolourstart
 
if {$tgcolourstart!=""} { return "\003$tgcolourstart}
}
proc tgcolstop {} {
 global 
tgcolourstop
 
if {$tgcolourstop!=""} { return "\003$tgcolourstop}
}
proc tgcolskip {} {
 global 
tgcolourskip
 
if {$tgcolourskip!=""} { return "\003$tgcolourskip}
}
proc tgcolerr {} {
 global 
tgcolourerr
 
if {$tgcolourerr!=""} { return "\003$tgcolourerr}
}
proc tgcolmiss {} {
 global 
tgcolourmiss
 
if {$tgcolourmiss!=""} { return "\003$tgcolourmiss}
}
proc tgcolqhead {} {
 global 
tgcolourqhead
 
if {$tgcolourqhead!=""} { return "\003$tgcolourqhead}
}
proc tgcolqbody {} {
 global 
tgcolourqbody
 
if {$tgcolourqbody!=""} { return "\003$tgcolourqbody}
}
proc tgcolhint {} {
 global 
tgcolourhint
 
if {$tgcolourhint!=""} { return "\003$tgcolourhint}
}
proc tgcolstrk {} {
 global 
tgcolourstrk
 
if {$tgcolourstrk!=""} { return "\003$tgcolourstrk}
}
proc tgcolscr1 {} {
 global 
tgcolourscr1
 
if {$tgcolourscr1!=""} { return "\003$tgcolourscr1}
}
proc tgcolscr2 {} {
 global 
tgcolourscr2
 
if {$tgcolourscr2!=""} { return "\003$tgcolourscr2}
}
proc tgcolscr3 {} {
 global 
tgcolourscr3
 
if {$tgcolourscr3!=""} { return "\003$tgcolourscr3}
}
proc tgcolrset {} {
 global 
tgcolourrset
 
if {$tgcolourrset!=""} { return "\003$tgcolourrset}
}
proc tgcolstend {} {
 global 
tgcolourstend
 
if {$tgcolourstend!=""} { return "\003$tgcolourstend}
}
proc tgcolmisc1 {} {
 global 
tgcolourmisc1
 
if {$tgcolourmisc1!=""} { return "\003$tgcolourmisc1}
}
proc tgcolmisc2 {} {
 global 
tgcolourmisc2
 
if {$tgcolourmisc2!=""} { return "\003$tgcolourmisc2}
}
proc tgpriv {} {
 global 
tgpriv2msg
 
if {$tgpriv2msg==1} { return "putmsg" } else { return "putnotc" }
}
#this generates an html file with all the people on the chan with
#their score, as well as a list of all scores, sorted by rank
proc tghtml {} {
 global 
tgchan botnick tghtmlfile tghtmlrefresh server tgscoresbyname tgranksbyname
 
global tgscorestotal tgranksbyname tgrealnames tgscoresbyrank tgranksbynum tgplaying
 
global tgquestionstotal tghtmlrefreshtimer tghtmlfont
 tggetscores
 tgreadqdb
 set _file 
[open $tghtmlfile~new w]
 
puts $_file "<!DOCTYPE HTML PUBLIC \"-/W3C/DTD HTML 4.01 Transitional/EN\">"
 
puts $_file "<html>"
 
puts $_file " <head>"
 
puts $_file "  <title>$botnick's trivia channel: $tgchan on [lindex [split $server :] 0]</title>"
 
puts $_file "  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"
 
puts $_file "  <meta http-equiv=\"refresh\" content=\"$tghtmlrefresh\">"
 
puts $_file "  <meta name=\"generator\" content=\"trivia.tcl script for eggdrop. 
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB">puts $_file 
"  <style type=\"text/css\">"
 
puts $_file "  <!--"
 
puts $_file "  body,td{font-family:$tghtmlfont;font-size:13px;}"
 
puts $_file "  a{text-decoration:none;color:#09f;}"
 
puts $_file "  -->"
 
puts $_file "  </style>"
 
puts $_file " </head>"
 
puts $_file " <body>"
 
puts $_file "  <h1>$tgchan on [lindex [split $server :] 0]</h1>"
 
puts $_file "  <hr size=\"1\" noshade>"
 
if {![onchan $botnick $tgchan]} {
  
puts $_file "  <p>Hmmm... for some reason I'm not on $tgchan at the moment. Please try again later.</p>"
 
} else {
  
puts $_file "  <p>Trivia game is currently <b>[expr $tgplaying==1?"on":"off"]</b>. There are <b>$tgquestionstotal</b> questions in the database."
  
puts $_file "  <p>People on $tgchan right now:<br>"
  
puts $_file "  <table width=\"50%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><table width=\"100%\" cellspacing=\"3\" border=\"0\">"
  
puts $_file "   <tr>"
  
puts $_file "    <td><b>Nick</b></td>"
  
puts $_file "    <td><b>Score</b></td>"
  
puts $_file "    <td><b>Rank</b></td>"
  
puts $_file "    <td><b>Idle</b></td>"
  
puts $_file "   </tr>"
  
foreach nick [lsort [chanlist $tgchan]] {
   
puts $_file "   <tr>"
   
puts $_file "    <td>[expr [isop $nick $tgchan]?"@":""][expr [isvoice $nick $tgchan]?"+":""]$nick[expr [string match $nick $botnick]?" (that's me!)":""]</td>"
   if {[info exists tgscoresbyname([strlwr $nick])]} {
    puts $_file "    <td>$tgscoresbyname([strlwr $nick])</td>"
   } else {
    puts $_file "    <td>-</td>"
   }
   if {[info exists tgranksbyname([strlwr $nick])]} {
    puts $_file "    <td>$tgranksbyname([strlwr $nick])</td>"
   } else {
    puts $_file "    <td>-</td>"
   }
   puts $_file "   <td>[expr [getchanidle $nick $tgchan]>10?"[getchanidle $nick $tgchan]m":"-"]</td>"
   puts $_file "   </tr>"
  }
  puts $_file "  </table></td></tr></table>"
 }
 if {$tgscorestotal>0} {
  puts $_file "  <p><small>There [expr $tgscorestotal==1?"is":"are"] currently <b>$tgscorestotal</b> [expr $tgscorestotal==1?"nick":"nicks"] in the score table:<br>"
  set _rank 1
  while {$_rank<=$tgscorestotal} {
   puts $_file "  <b>$_rank</b>. $tgrealnames($tgranksbynum($_rank)) $tgscoresbyrank($_rank)<br>"
   incr _rank
  }
 } else {
  puts $_file "  <p><small>There are currently no nicks in the score table.<br>"
 }
 puts $_file "  </small></p>"
 puts $_file "  <hr size=\"1\" noshade>"
 puts $_file "  <small>Generated on [strftime %A,\ %d\ %B\ %Y\ @\ %H:%M:%S] by <a href=\"
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
type="text/javascript" src="https://code.jquery.com/jquery-1.12.0.min.js">
bu tcl kanalda soru sorup puan veren oyun bot benım ıstedıgım su mesala kanalda adam cevaba mesala AHMET yazdı bot dogru cevap dıyor ya ben bunu adam kanala LMSG AHMET yazınca algılamasını ıstıyorum yanı cevapların basinda LMSG cevap seklinde algilasin istiyorum ...

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 22 Ocak 2011, 19:07   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Oyun Botu Tcl Si




ustalar yardımcı olabılır mısınız ...

 
Alıntı ile Cevapla

Alt 24 Ocak 2011, 10:01   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Oyun Botu Tcl Si




Neyse ben onu cozdumde yanliz baska bir istegim olcak sorular elli harfende sonra bi al satıra gecmesi gerek salona sıgmıyor sorunun kalani bunu bir
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set _hint [strupr $_hint

bu kodda ipucu cıkıyor ekrana bunun cıkan ilk 5 harfini gostermesini istemiyorum yani sole

**** ******* bu ipucu mesala ılk 4 hanaesi LMSG dıye cıkıyor ben bunu ıstemıyorum ilk 5 hanı yı gecsın...


Konu vblades tarafından (24 Ocak 2011 Saat 10:17 ) değiştirilmiştir.
 
Alıntı ile Cevapla

Alt 02 Şubat 2011, 08:10   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Oyun Botu Tcl Si




vblades Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Neyse ben onu cozdumde yanliz baska bir istegim olcak sorular elli harfende sonra bi al satıra gecmesi gerek salona sıgmıyor sorunun kalani bunu bir
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set _hint [strupr $_hint

bu kodda ipucu cıkıyor ekrana bunun cıkan ilk 5 harfini gostermesini istemiyorum yani sole

**** ******* bu ipucu mesala ılk 4 hanaesi LMSG dıye cıkıyor ben bunu ıstemıyorum ilk 5 hanı yı gecsın...


bunu cozedek kimse yok mu ?

 
Alıntı ile Cevapla

Cevapla

Etiketler
botu, oyun, si, tcl


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Kelime botu veya Oyun botu xxmertx Servisler 7 24 Aralık 2012 13:34
Help oyun botu BY_BuRN Eggdrop, NeoStats, BNC 45 25 Eylül 2009 20:13
Oyun Botu CoderMaster Servisler 2 29 Haziran 2007 11:46
Oyun Botumu Sildim.. Ama Başka Oyun Botu Kurucağım Yapamıyorum :s BlueFan Eggdrop, NeoStats, BNC 1 29 Eylül 2006 23:03