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 23 Ekim 2013, 12:34   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Eggdrop sorunu.




Selam, saywhat mesaj atmıssınız tesekkür ederım ama, Normel kelime tcl calısıyor fakat Oyun TCL yada HelpOyun TCL bunlar renk içerdiği için
[12:33;19] <Inviere> !basla
[12:33;19] <@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]Oyun> Soru cevap oyunu Achilleus tarafından başlatıldı!

Soru ve cevap kesinlikle gelmıor. Ozel atmak istiyorum size IP versem gerekirse telnete baksanız. ama ozel mesaj atamıoruz size iyi günler.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 23 Ekim 2013, 16:37   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop sorunu.




@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] değerli dostum forumu Araştırırsan böyle sorun yaşayanların cok olduğunu göreceksin.


Çözmek için. TCL değiştir.


Örnek tcL Oyun.

Farklı TcL lerdede sorun yaşıyorsan tcLLerini Paylaş gerekli yardımda bulunalım

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set realname "Ticarichat Oyun botu" #soru bankanizdaki kacinci sorudan soru sormaya baslasin? set tgquestionnumber "0" # soru dosyalarının tutlacağı dizin. (Turkish) set tgqdb "scripts/oyun/banka.txt"   # skorların yazılacağı dizin (Turkish) set tgscf "scripts/oyun/trivia.scores"   # soru veya cevap hatalarının saklanacağı dizin (Turkish) set tgerrfil "scripts/oyun/trivia.errors" # [0/1] Hata raporu mail araciligi ile gonderilsin mi (Turkish) set tgerrmethod 0   # hata raporu gonderilmeden once gecici dosyalar nerede saklansin (Turkish) set tgerrmailtmp "/tmp" # hata raporlarinin gonderilecegi mail adresi (Turkish) set tgerremail ayhan@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].com.tr   # Oyunun oynanacagi kanal (Turkish) set tgchan "#Oyun" # doğru cevaba verilecek puan (Turkish) set tgpointsperanswer[list "1" "2" "3" "4" "5" "6" "7" "10"] # Soru cevap ayraci girin (Turkish) set tgqdbsep "*"   # soru bankanizda sorular (Turkish) # SORU\CEVAP seklinde ise 1 (Turkish) # CEVAP\soru seklinde ise 0 (Turkish) set tgqdbquestionfirst 1   # Web sayfasi olarak düzenlenen dosya nerede saklansin. (Turkish) set tghtmlfile "scripts/oyun/mychan.html" # web sayafsi ne zaman sürede update edilsin (Turkish) set tghtmlrefresh 0 # Web sayfasi kaydedilirken kullanilacak fontlar. (Turkish) set tghtmlfont "verdana,helvetica,arial"   # En fazla verilecek ipucu sayısı (Turkish) set tgmaxhint 3 # ipucu gosterilsin mi (1) evet (0) hayir? (Turkish) 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? # Show answers in all CAPS (1) or not (0)? set tgcapsanswer 0 # ipuclari buyuk harfle yazilsinmi (1)evet (0) hayir? # Show hints in all CAPS (1) or not (0)? set tgcapshint 0 # en az kaç soru üst üste bilindiğinde cevap serisi yakaladı olarak kayıt edilecek # The minimum number of correct answers in a row by one person which # puts them on a winning streak. Setting this to 0 will disable the # winning streak feature. set tgstreakmin 3 #belirli sayıda soru bilinmezse oyun kapatılacak. !skip komutu hadil değil. 0 disable yapar. # The number of missed (i.e. unanswered, not skipped) questions to allow # before automatically stopping the game. Setting this to 0 will cause the # game to run until somebody uses the stop command, or the bot dies, gets # killed, pings out, or whatever. set tgmaxmissed 0 # ipucu karakteri # The character to use as a placeholder in hints. set tghintchar "*" #verilen ipucları arasındaki süre. saniye cinsinden. # The time in seconds between hints. set tgtimehint 9 #bir sonraki soruyu sorma süresi. saniye cinsinden. # The time in seconds between a correct answer, 'expired' or skipped question # and the next question being asked. set tgtimenext 10 #tebrik mesajları # Phrases to use at random when someone answers a question correctly. This must # be a TCL list. If you don't know what that means, stick to the defaults. set tgcongrats[list "Harikasin" "Bravo bildin" "Iyi hareket" "Tebrikler" "Iste oyun bu" "Guzel gidiyorsun" "Oyun nasil oynanir goster" "Bravo"] #doğru cevap verilemediğinde gösterilecek mesajlar. # Phrases to use when the question has 'expired'. Must also be a TCL list. 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"] #bir sonraki soru bildirim mesajı # Phrases to use when the question expired and there's another one coming up. # Yep, you guessed it... another TCL list. 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? # Will the bot show the correct answer if nobody gets it (1) or not (0)? set tgshowanswer 1 # Sorulan sorular her bilindiginde skor tablosu gosterilsin mi ? # When someone answers a question, will the bot show just that person's score (0) # or will it show all players' scores (1) (default). This is useful in channels with # a large number (>20) players. set tgshowallscores 0 #bold mesaj kullanımı açık/kapalı ayarı. 0 kapalı için # Use bold codes in messages (1) or not (0)? set tgusebold 0 # Mesaj sistemi ne olarak kullanilsin /msg ise 1 /notice ise 0 # Send private messages using /msg (1) or not (0)? # If set to 0, private messages will be sent using /notice set tgpriv2msg 1 #yardım komutu # Word to use as /msg command to give help. # e.g. set tgcmdhelp "helpme" will make the bot give help when someone # does "/msg <botnick> helpme" set tgcmdhelp "help" #oyun başlatma komutu # Channel command used to start the game. 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. # Flags required to be able to use the start command. set tgflagsstart "-|-" #oyunu durdurma komutu # Channel command used to stop the game. set tgcmdstop "!dur" #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. # Flags required to be able to use the stop command. set tgflagsstop "o|o" # ipucu komutu # Channel command used to give a hint. 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. # Flags required to be able to use the hint command. set tgflagshint "o|o" # 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 3 #soru atlatma komutu # Channel command used to skip the question. 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. # Flags required to be able to use the skip command. set tgflagsskip "n|n" # top10 komudu. # Channel command for showing the top 10 scores. # Flags required to use the top 10 command. 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 # /msg command used to reset scores. set tgcmdreset "temizle" #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. # Flags required to be able to use the reset command. set tgflagsreset "n|n" #skor tablosunu sifirlamak icin bota login oldugunu sifreyi kullanin # Require password for resetting scores? # If enabled, you must use /msg bot reset <password> to reset scores. # The password is the one set by a user using '/msg bot pass'. set tgresetreqpw 1 # /msg command for looking up somebody's score. #skor öğrenme komutu set tgcmdlookup "skor" #başkasının skorunu öğrenme komutu # /msg command for looking up your target. # (i.e. the person ranked one higher than you). set tgcmdtarget "hedef" #hata bildirme komutu # /msg command for reporting errors in questions and/or answers. set tgcmderror "hata" # kurallar komudu. # /msg command to show channel's rules. set tgcmdrules "kural" # Kanal kuralları. # Channel's rules. set tgrules "Reklam, Tekrar, Flood, Küfür ve bezeri tutumsuz hareketlerde bulunmak yasaktir. Iyi Sanslar. :-)" # 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 "07,01" ;#Game has started. set tgcolourstop "00,01" ;#Game has stopped. set tgcolourskip "02" ;#Question has been skipped. set tgcolourerr "00,15" ;#How to report errors. set tgcolourmiss "02" ;#Nobody answered the question. set tgcolourqhead "07,01" ;#Question heading. set tgcolourqbody "07,01" ;#Question text set tgcolourhint "07,01" ;#Hint. set tgcolourstrk "04" ;#Person is on a winning streak. set tgcolourscr1 "02" ;#Score of person in first place. set tgcolourscr2 "06" ;#Score of person in second place. set tgcolourscr3 "01" ;#Score of person in third place. set tgcolourrset "07" ;#Scores have been reset. set tgcolourstend "10" ;#Winning streak ended. set tgcolourmisc1 "07" ;#Miscellaneous colour #1. set tgcolourmisc2 "04" ;#Miscellaneous colour #2. set tgcolantihack "01" ;#Bosluk yerine gelecek olan harfler hangi renklerle gizlensin         # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Any editing done beyond this point is done at your own risk! # # Number of minutes between reminders of how to report errors. set tgerrremindtime 15 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #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} (merlin.tcl 2.0 (release) by Ticarichat MesqeN@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].gen.tr)" set tgplaying 0 } if {![info exists tghintnum]} {set tghintnum 0} if {![info exists tgmissed]} {set tgmissed 0} #Binds bind pubm $tgflagsstart "$tgchan %$tgcmdstart" tgstart bind pubm $tgflagsstop "$tgchan %$tgcmdstop" tgstop proc tgbindhintcmd {} { global tgflagshint tgcmdhint bind pubm $tgflagshint "$::tgchan %$tgcmdhint" tgforcehint } proc tgunbindhintcmd {} { global tgflagshint tgcmdhint unbind pubm $tgflagshint "$::tgchan %$tgcmdhint" tgforcehint } tgbindhintcmd bind pubm $tgflagsskip "$tgchan %$tgcmdskip" tgskip bind pubm $tgflagstop10 "$tgchan %$tgcmdtop10" tgshowtop10 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 "$tgcmdreset" tgresetscores bind kick - "$tgchan $botnick" tgbotgotkicked 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 cevap oyunu \002$nick\002 tarafından başlatıldı!" tgnextq set tgplaying 1 set tgstreak 0 set tgmissed 0 set tgerrremindtimer [timer 15 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 Cevap oyunu \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." tgerrremndersiscos set tgerrremindtimer [timer 15 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 {![info exists tghintnum]} { set tghintnum 0 regsub -all {ğ} $tgcurrentanswer "g" tgcurrentanswer regsub -all {Ğ} $tgcurrentanswer "G" tgcurrentanswer regsub -all {ü} $tgcurrentanswer "u" tgcurrentanswer regsub -all {Ü} $tgcurrentanswer "U" tgcurrentanswer regsub -all {ş} $tgcurrentanswer "s" tgcurrentanswer regsub -all {Ş} $tgcurrentanswer "S" tgcurrentanswer regsub -all {ı} $tgcurrentanswer "i" tgcurrentanswer regsub -all {İ} $tgcurrentanswer "I" tgcurrentanswer regsub -all {ö} $tgcurrentanswer "o" tgcurrentanswer regsub -all {Ö} $tgcurrentanswer "O" tgcurrentanswer regsub -all {ç} $tgcurrentanswer "c" tgcurrentanswer regsub -all {Ç} $tgcurrentanswer "C" tgcurrentanswer 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] } } else { incr tghintnum } 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] } if {$tghintnum==0} { if {[regexp {\d} $tgcurrentquestion]} { tggamemsg "[merlin][tgcolqbody]$tgcurrentquestion" } else { regsub -all {\s} $tgcurrentquestion [tgantihack][randstring 1 abcdefghijklmnopqrstuvwxyz][tgcolqbody] tgcurrentquestion tggamemsg "[merlin][tgcolqbody]$tgcurrentquestion" } } if {$tghintnum>0} { tggamemsg "[tgcolhint]Ipucu: [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ş." } } } proc tgerrremndersiscos {} { set string "Eğlenceye Devammmm..." regsub -all {%20} $string {} output tggamemsg "\2$output" } #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 tgscores tgpointsperanswer tggetscores if {![info exists tgranksbyname([strlwr $nick])]} { set _oldrank 0 } else { set _oldrank $tgranksbyname([strlwr $nick]) } set puan [lindex $tgpointsperanswer [rand [llength $tgpointsperanswer]]] tgincrscore $nick $puan 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[tgcolmisc1] Saniyede Bildiniz.":""]" set _msg2 "[tgcolmisc2]$nick [tgcolstrk]'$tgcurrentanswer'[tgcolmisc1] Size [tgcolmisc2]$puan[tgcolmisc1] puan kazandırdı!"   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]$_newrank. sıradasınız. [tgcolmisc2]$tgrealnames($tgranksbynum([expr $_newrank-1]))[tgcolmisc1] [tgcolmisc2]$tgscoresbyrank([expr $_newrank-1])[tgcolmisc1] puanla hemen önünüzde." } } } tggamemsg "$_msg" tggamemsg "$_msg2" if {[isop $nick $tgchan]==0 && [ishalfop $nick $tgchan]==0 && [isvoice $nick $tgchan]==0 && $_newrank!=1} { 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]} { tggamemsg "[tgcolmisc1]En çok puan toplayanlar arasına girdin, ödülün [tgcolmisc2]+v(voice)[tgcolmisc1] :)" putserv "MODE $tgchan +v $nick" } incr i } } if {[botisop $tgchan] && [isop $nick $tgchan]==0 && [ishalfop $nick $tgchan]==0 && [isvoice $nick $tgchan]==0 && $_newrank==1} { tggamemsg "[tgcolmisc2]$nick[tgcolmisc1] Oyun 1.si konumundasınız ödülün +v(voice)" putserv "MODE $tgchan +v $nick" } 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 "[tgcolmisc2]$nick[tgcolstrk] Cevap serisi yakaladı!! [tgcolmisc2][lindex [split $tgstreak ,] 1] [tgcolstrk]tane soruyu ust uste bildi! Bu size [tgcolmisc2]+100[tgcolmisc1] puan kazandırdı" tgincrscore $nick 100 if {[botisop $tgchan] && [isop $nick $tgchan]==0 && [ishalfop $nick $tgchan]==0 && [isvoice $nick $tgchan]==0} { putserv "MODE $tgchan +v $nick" }   } } 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 bonuspuan} { global tgscores tgscf tgpointsperanswer tgscorestotal tgscoresbyname tggetscores if {$tgscorestotal>0} { set i 0 if {![info exists tgscoresbyname([strlwr $who])]} { append _newscores "$bonuspuan,[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+$bonuspuan],[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 "$bonuspuan,[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 ", hemen onunuzdeki yarismaci [tgcolmisc2]$tgrealnames($tgranksbynum([expr $tgranksbyname([strlwr $nick])-1])) [tgcolmisc2]$tgscoresbyrank([expr $tgranksbyname([strlwr $nick])-1])[tgcolmisc1] [tgcolmisc1]puana Sahip" } tggamemsg "[tgcolmisc2]$nick [tgcolmisc1]şu anda [tgcolmisc2]$tgscoresbyname([strlwr $nick])[tgcolmisc1] Puana sahipsiniz ve [tgcolmisc2]$tgscorestotal[tgcolmisc1] kişi arasında [tgcolmisc2]$tgranksbyname([strlwr $nick]).[tgcolmisc1] siniz $_tgt" } } #reset current scores. proc tgresetscores {nick host hand text} { global tgscf tgscorestotal tgscores tgplaying tgresetreqpw if {($tgresetreqpw==1 && [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 _msg "Soru Cevap Oyun kanalına hoş geldiniz. Oyun şu anda" if {$tgplaying==1} { append _msg " \002Açık\002." } else { append _msg " \002Kapalı\002." } if {[matchattr $hand $tgflagsstart $tgchan]&&$tgplaying==0} { append _msg " Oyunu başlatmak için, \002$tgcmdstart\002 yazmalısınız $tgchan kanalına" } [tgpriv] $nick "$_msg" if {![info exists tgscoresbyname([strlwr $nick])]} { [tgpriv] $nick "[tgcolmisc2]$nick [tgcolmisc1]! Oyuncular arasında adınız yok. Aramıza katılmak için soruları cevaplamanın tam zamanı.!!! " } else { set _durumu $tgranksbyname([strlwr $nick]) if {$_durumu==1} { [tgpriv] $nick "[tgcolmisc2]$nick![tgcolmisc1]! Hos geldiniz, Su anda oyun birincisi olarak yer aliyorsunuz. Iyi Oyunlar dilerim." } elseif {$_durumu>1} { [tgpriv] $nick "[tgcolmisc2]$nick![tgcolmisc1]! su anda oyun $_durumu. konumundasiniz, Iyi Eglenceler dilerim." } } } } #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 $text] 0] } 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 { set _siralama $tgranksbyname([strlwr $nick]) 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]$_siralama. 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 $text] 0]]} { [tgpriv] $nick "[tgbold][tgcolmisc1]Soru numarası girmediniz." return } tgreadqdb set _qnum [lindex [split $text] 0] 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 $text] 1 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 -s "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 :[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" } } proc tgantihack {} { global tgcolantihack if {$tgcolantihack!=""} { return "\003$tgcolantihack" } } proc merlin {} { return "14,14S14,1OR14,14U : " } #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.
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.
for <a href=\"
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
puts $_file " This page is automatically updated (and refreshed if supported by your browser) every [expr $tghtmlrefresh==1?"second":"$tghtmlrefresh seconds"].</small>" puts $_file " </body>" puts $_file "</html>" close $_file file rename -force $tghtmlfile~new $tghtmlfile set tghtmlrefreshtimer [utimer $tghtmlrefresh tghtml] } putlog "###########################################################################" putlog "## trivia.tcl Souperman tarafindan yapilmistir ##" tgreadqdb putlog "Soru bankanizda $tgquestionstotal soru bulunmakta"


 
Alıntı ile Cevapla

Alt 23 Ekim 2013, 18:09   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop sorunu.




trivia / oyun vs .. tarzı kodlar/scriptler, aynı bot üzerinde birden fazlası yüklendiğinde,bunun gibi diğerini bloke ettiği,çalışmamasına sebep olduğu durum/lar -sıkça yaşanabiliyor..

sorun yaşadığınız oyunu/scripti yanlız başına deneyin diğer oyun/triviaları devre dışı bırakın birde öyle deneyin.

renk içermesiyle çalışmamasının ilgisi yoktur. bot/eggdrop renk kodları script üzerinde hatalı dahi girilmiş olsa en azından o hatalı kodları olduğu gibi kanal düşürürdü.yada partyline üzerinde hata mesajı olarak bunları işaret ederdi..


kanal modlarında renkleri bloke etmemişseniz,ki herhalde etmemişinizdir.bot sırf renk kodları yüzünden scripti çalıştırmamazlık yapmaz...

çalışmama nedeni büyük ihtimalle diğer oyun scriptlerle çakışmasıdır.
diğer ihtimalse,çalıştırmaya çalıştığınız kodun sorunlu/hatalı olması olabilir ki bunu bota bağlanırsanız telnet/dcc ile o zaman görebilirsiniz,kodu çalıştırmaya çalıştığınızda bot hata mesajı atarak kodun çalışmamasıyla ilgili ipucu verir.

özel mesaj evet bloke..devredışı... gece sizden cevap gelmeyince yine eski ayarlarına getirip yattım...

sorun/ları konu açarak yada benzer sorunlar için açılmış daha önceki konular üzerinden anlatıp,yardım alabilirsiniz.. kimseyi cevapsız yada yardım alamadan gönderdiğimiz olmuyor ..genelde müşteriler hizmetten memnundur sanırım ....

 
Alıntı ile Cevapla

Alt 24 Ekim 2013, 13:36   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop sorunu.




Saywhat bişi sormak istiyorum, eggdrop1.6.17 , eggdrop1.6.18 , eggdrop1.6.19 sürümlerını kurdugumuz vakit, ./eggdrop -m bot.conf calısıor gözüküor ama fakat sunucuya girmior ./eggdrop -mn bot.conf yaptıgımız zaman sunucya girior fakat çok yavas calısıor bot lagli bir sekilde yani.

Eggdrop1.6.20 ve Eggdrop1.6.21 sürümlerınde gayet normal calısıyor Sorunsuz. ./eggdrop -m bot.conf dediğimiz an anında calısıor aynı CONF aynı tcl

root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/lib]# dir
./ libtcl8.4.so* mysql.sock@ php.ini tcl8.4/
../ libtclstub8.4.a php/ php.ini,v tclConfig.sh
root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/lib]#

 
Alıntı ile Cevapla

Alt 24 Ekim 2013, 16:54   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop sorunu.




bot dizinine girip ./eggdrop -h yada ./eggdrop --help komutuyla bu seçenekleri ve anlamlarını görebilirsiniz.
-m kanal/kullanıcı dosyalarını oluşturmak için ilk çalıştırmanızda kullanmanız gereken bir seçenektir. bir kez oluşturulduktan sonra hiç bir geçerliliği/hükmü kalmaz.
(zaten daha sonra bu seçenekle başlattığınızda size uyarı mesajıda atar artık bu -m'i kullanmayın ..gibisinden)
-n olan biteni terminal yada ssh üzerinde olan biteni görmenize yarar. -nt olarakda kullanılabilir.

aslında size geçen gün 2 özel mesaj attığımda (ikincisinde) yukardaki sorunuzun cevabını da yazmış olmuştum..

çalışıp sunucuya girmemesini -n seçeneğiyle yada çalıştırdıktan sonra bota dcc/telnet yoluyla bağlanarak neden bağlanamadığına dair bilgi alabilir/görebilirsiniz dns modulü yada dns yapılandırmasıyla alakalı bir sorundan da olabilir başka başka nedenleride olabilir. bunun nedenini ancak bot size gösterir/söyler .o nedenle bir sorunla karşılaştığınızda botunuza bağlanın ve sorun hakkında bilgi toplayın ki sorunun nerden kaynaklandığına dair teşhisi doğru yapılabilesiniz.

botlarınıza yüklediğiniz scriptlerin/kodların kendi başlarına botunuz için bir "sorun" teşkil edebileceğinide unutmamak lazım. kötü yazılmış yada artık antika sayılabilecek kodlar aynı döneme ait olmayan tcl sürümlerinde ve eggdrop sürümlerinde uyum sorunu yaşama olasılığı mümkündür.

çünkü hiçbir şey aynı kalmadı ki eggdrop tcl aynı kalsın... eggdrop geliştirici ekibinde çalışan katkı yapan düzinelerce adam var.amerikasından almanyasına fransadan isveç ve isviçresine kadar dünyanın farklı memleketlerinden yaş ortalaması 40'ın üstünde bir sürü okumuş ,mürekkep yalamış,belli bir kariyeri olan adamlar bunlar. içlerinde sosyologdan tutun doktoruna programcısından ,web tasarımcısına kadar vasıfları olan adamlardan söz ediyoruz.

ki direk olarak bu projeye katkı yapan/etki yapan geliştirenlerin dışında,en az bunlar kadar dışardan ama şöyle ama böyle katkıda bulunan onlarca kişi var.

ayıptır söylemesi bende üç-beş ay evvel eggwiki sayfalarından birini güncelleyerek kendi çapımda katkı yapmış oldum ... (simple'ın izniyle)

uzun sözün kısası : sistemde kullandığınız tcl kullanmak istediğiniz eggdrop sürümü ve scriptleriniz ne kadar yeni/yakın tarihli olursa , o kadar temiz ,sorunsuz bir kullanımınız olur. yıllar / günler geçer ,şimdi sizin gibi bu botu kullanan yüzlerce / belkide binlerce kişi içinde sorun yaşayanları girer freenode,quakenet,efnet,undernet yada ircnet gibi (ki resmi destek kanalı freenode'daki #eggdrop kanalı.. eskiden quakenet idi.ancak ordaki sorunlar/rahatsızlıklar nedeniyle freenode'a taşındılar) bu projenin geliştiriciliğini yapan,sponsor eden yada katkı sağlayanların bulunduğu ortama girer ve sorunu bildirir yada direk web üzerinden bunları iletir..

eğerki sorun botun kodlarından kaynaklanıyorsa bu ya bir düzeltmeyle (patch ) yada sonraki sürümlerde düzeltilmiş olarak yer alır.

bu illa bir sorun/problem değilde ,özellik isteğide olabilir. yani biri gelir çıkar derki keşke bu botta şöyle birşeyde olsaydı yada şöyle bir komutu da destekleseydi..

bu fikir/dilek makulse mantıklıysa bunuda eklerler ve böyle böyle yıllar sürümler değiştikçe kodlar daha hatasız,daha temiz,botun özellikleri,komutları daha değişmiş ve daha fazla nitelik kazanmış olur.

velasıl size geçen gün attığım özel mesajdada değindiğim gibi bu nedenle bu eski tcl sürümlerine ve eski yıllar öncesinden kalma eggdrop sürümlerine olan bağlılığın ve ilginin anlamını/nedenini çözebilmiş değilim....

 
Alıntı ile Cevapla

Alt 24 Ekim 2013, 17:00   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop sorunu.




cd eggdrop1.6.18
./configure --with-tcllib=$HOME/local/lib/libtcl8.4.so --with-tclinc=$HOME/local/include/tcl.h

yaptıgımız zaman hata alioruz...

The file '/home/ugur/local/lib/libtcl8.4.so' given to option --with-tcllib is not valid.
configure will now attempt to autodetect both the Tcl library and header.

configure: warning:

The file '' given to option --with-tclinc is not valid.

configure will now attempt to autodetect both the Tcl library and header.

root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/lib]# dir
./ libtcl8.4.so* mysql.sock@ php.ini tcl8.4/
../ libtclstub8.4.a php/ php.ini,v tclConfig.sh
root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/lib]#

root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/include]# dir
./ ../ php/ tclDecls.h tcl.h tclPlatDecls.h
root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/include]#

 
Alıntı ile Cevapla

Alt 24 Ekim 2013, 17:47   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop sorunu.




girdiğiniz / gösterdiğiniz dizinler doğru mu?

(eggdrop kurulum dizini içindeyken ./configure --help seçenekleri listeler)

bir konuyu açıklığa kavuşturalım. root iseniz ki sanırım öyle..
tcl kurulumunu root iken eggdrop kurulumunu root'tan çıktıktan sonra yapın
(ister botlar için ayrı bir kullanıcı* oluşturun ister /home/ üzerine kurun ama root'ta olmayın )

tcl veya tcllib paketini kendiniz indirip derleyin. kullandığınız sistemin reposundan apt-get yum install vs almayın.
(tcl ve eggdrop destek odalarına hemen hergün biri gelip sorun yaşadığını söyler ,kullandığı distro'nun reposundan bu paketleri kuranlar problem yaşar. ve bunları direk kendi distrolarının destek kanallarına yönlendiriler..gidin orda sorun niye böyle diye,çünkü o paketi biz derleyip o distro'nun reposuna eklemedik.üzerinde ne gibi değişiklikler yaptıklarını onlar bilir ..gidip onlara sorun " denir.)

tcl paketini root iken indirip kendiniz derleyin. bot/larıda root'tan çıkıp,az evvel kurduğunuz tcl ve tcllib dizinini bota gösterip yardımcı olarak kurulumunu yapın..

şurda -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] örnek anlatımı, yapmıştım ....

buda orjinal anlatımı -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

 
Alıntı ile Cevapla

Alt 24 Ekim 2013, 19:13   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop sorunu.




cd eggdrop1.6.18
./configure --with-tcllib=$HOME/local/lib/libtcl8.4.so --with-tclinc=$HOME/local/include/tcl.h

yaptıgımız zaman hata alioruz...

The file '/home/ugur/local/lib/libtcl8.4.so' given to option --with-tcllib is not valid.
configure will now attempt to autodetect both the Tcl library and header.

configure: warning:

The file '' given to option --with-tclinc is not valid.

configure will now attempt to autodetect both the Tcl library and header.

root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/lib]# dir
./ libtcl8.4.so* mysql.sock@ php.ini tcl8.4/
../ libtclstub8.4.a php/ php.ini,v tclConfig.sh
root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/lib]#

root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/include]# dir
./ ../ php/ tclDecls.h tcl.h tclPlatDecls.h
root@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/usr/local/include]#


Yukardaki hata root'dan bir hesap actım, o userde kurulumda hata verıyor root'a girip dizinleri göster amacım acaba yanlıs mı yol verioruz diye.

 
Alıntı ile Cevapla

Alt 24 Ekim 2013, 20:03   #9
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop sorunu.




siz yukarda verdiğim linkteki kurulumu yapmıyorsunuz ki...

"The file '/home/ugur/local/lib/libtcl8.4.so' given to option --with-tcllib is not valid.
configure will now attempt to autodetect both the Tcl library and header."
bu verdiğiniz seçenekte --with-tcllib geçerli/doğru değil
kurulum her iki Tcl-library ve header dosyalarını oto algılamayı şimdi deneyecek....

bknz -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] tcl paketleri tcl8.4 listede nerde olduğuna bir bakın.çıkış yılına*
buda eggdrop1.6.18 -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] çıkış yılı 2006*

gördüğüm kadarıyla siz mevcut düzeninizde ,nasıl kurarım,çalıştırım diye uğraşıyorsunuz hala..temiz kurulum yapmaya üşeniyorsunuz herhalde...

ya ./configure'da gösterdiğiniz dizinler yanlış ,yada bişeyler eksik-hatalı kurulmuş....

orda önerdiği gibi ./configure komutunu yalnız başına deneyin bide bakalım madem oto algılayabilecek/bulabilecek mi paketleri/dizinleri...

 
Alıntı ile Cevapla

Alt 25 Ekim 2013, 13:53   #10
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop sorunu.




Merhaba Kontrol ediniz uygun versiyonu cekerek gerekli işlemleri yaparsanız sorun kalkacağını düşünüyorum.


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

 
Alıntı ile Cevapla

Cevapla

Etiketler
eggdrop, sorunu


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
Eggdrop tcl sorunu :( quarizma1234561 Eggdrop, NeoStats, BNC 1 11 Haziran 2013 16:47
Eggdrop sorunu quarizma1234561 Eggdrop, NeoStats, BNC 3 10 Haziran 2013 22:09
eggdrop bot sorunu aSi_GeNçx Eggdrop, NeoStats, BNC 8 21 Temmuz 2009 20:42
Eggdrop Sorunu :S LiNuX038 Eggdrop, NeoStats, BNC 7 06 Eylül 2008 23:36
Eggdrop Sorunu... IRCSopHaR Eggdrop, NeoStats, BNC 9 10 Temmuz 2007 20:16