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

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Soru cevap botu (https://www.ircforumlari.net/mirc-scripting-sorunlari/15233-soru-cevap-botu.html)

erdem55 03 Nisan 2006 13:27

Soru cevap botu
 
Arkadaşlar biliyorum tamamen kod istemek yanlış ama bir türlü başaramadım. Bir soru cevap botu yapmak istiyorum. Fakat bir türlü başlangıç yapamadım yani nerden başlıcamı bilemedim. İstediğim şu mümkünse tabi. soru ekleyebileyim cevabınıda tabi. soruları sorsun eğer cevaplayamayan olursa 45 sn sonra kendi cevaplasın. Ayrıca 15 sn de birde ipucu versin. En azından bi başlangıç verebilirseniz çok sevinirm kolay gelsin

el33t 03 Nisan 2006 13:48

Re: Soru cevap botu
 
Böyle bir başlangıç sanırım sana yeter.mIRC klasöründe sorucevap.txt ve Soru|cevap şeklinde oluşturduğun alt alta soruları hazırlayıp aşağıdaki kodu mIRC'de Remote'a (ALT+R) koyup /sorucevap #kanal yazdığında soru cevap oyunu başlamış olur

;/sorucevap aliası
alias sorucevap {
;%: değişkenine 1 ile sorucevap.txt dosyasının satır sayıları arasında bir sayı yükleniyor, %s değişkenine soru atanıyor. (Burdaki değişkenler local)
var %: = $r(1,$lines(sorucevap.txt)), %s = $gettok($read(sorucevap.txt,%:),1,124)
;Kanala soru ve süre mesaj olarak atılıyor.
msg $1 Soru: %s - Süre: 45sn
;%c değişkenine (global bir değişken) sorunun cevabı yükleniyor.
set %c $gettok($read(sorucevap.txt,%:),2,124)
;SENYANITLA adında 45 saniye sonra devreye girecek olan bir timer kuruluyor ve bu timer Kanala sorunun cevaplanmadığını bildiriyor, %c değişkenine kaldırıyor ve 45 saniyenin sonunda cevap gelmediğinde 3 saniye sonra yeni bir soru kanala gönderiyor.
.timerSENYANITLA 1 45 msg $1 Soruyu kimse bilemedi, cevap: %c olacaktı. Sıradaki soru için hazırlanın. $(|,2) unset %c $(|,2) .timer 1 3 sorucevap $1
}
;Önceden cevabı ayarladığımız %c değişkeni kanala yazıldığında bu event çalışıyor
on *:text:%c:#:{
;%c değeri siliniyor, başkası cevabı verdiğinde çalışmaması için
unset %c
;Kanala nickin soruyu bildiğini gösteriyor.
msg # $nick soruyu bildi, cevap $1-
;soru sorulduktan 45 saniye sonra çalışacak olan SENYANITLA timerı kapatılıyor.
.timerSENYANITLA off
;3 saniye sonra yeni bir soru soruluyor.
.timer 1 3 sorucevap #
}

Umarım mantığı anlamışsındır, o kadar da zor bir şey değil.

erdem55 03 Nisan 2006 13:58

Re: Soru cevap botu
 
tşk el33t peki birşey daha eklemek istiyorum buna buraya kadar harika oldu zaten herşeyi yazmışsın çok fazla değiştirilecek bi ksıım kalmamış ama peki sorulara nasıl puan verbilirim yani mesela 5 inci soru 50 puna 20 ci soru 100 puan filan die birde bu puanları hafızasında tutacak. ve her soru bildiğinde bu haftaki toplam puanın şu kadar ayki toplam puanın şu kadar dicek. Çok oldum biliyorum ama baya zamandır kodlardan uzak kaldım şimdi bir anda başına oturunca zorlandım açıkçası. zaten çokta iyi bilmiyordum. bu konuda da yardımını esirgemezsen sevinirim el33t

örnek

[13:57] <bot> SOR : Turkler'e Anadolu kapilarini acan savas ?
[13:57] <bot> ipucu : ********* ****** ********** Soru degeri : 64 Puan
[13:57] <bot> 2.ipucu: Mal****** ****** ********** 30.0 Sn. & 64 Puan
[13:57] <user> malazgirt meydan muharebesi
[13:57] <bot> kim tutar seni user!!! -> malazgirt meydan muharebesi <- SuRe 15.402 sn, ve 64 Puan !
[13:57] <bot> user: Toplam PuaN' in Bu HaFTa: 18474 Bu AY: 27758

el33t 03 Nisan 2006 14:18

Re: Soru cevap botu
 
sorucevap.txt'de Soru|cevap|puan şeklinde yazarsın,

;/sorucevap aliası
alias sorucevap {
;%: değişkenine 1 ile sorucevap.txt dosyasının satır sayıları arasında bir sayı yükleniyor, %s değişkenine soru atanıyor. (Burdaki değişkenler local)
var %: = $r(1,$lines(sorucevap.txt)), %s = $gettok($read(sorucevap.txt,%:),1,124)
;%p değişkenine soru puanı yükle
set %p $gettok($read(sorucevap.txt,%:),3,124)
;Kanala soru, süre ve puan mesaj olarak atılıyor.
msg $1 Soru: %s - Süre: 45sn - Puan: %p
;%c değişkenine (global bir değişken) sorunun cevabı yükleniyor.
set %c $gettok($read(sorucevap.txt,%:),2,124)
;SENYANITLA adında 45 saniye sonra devreye girecek olan bir timer kuruluyor ve bu timer Kanala sorunun cevaplanmadığını bildiriyor, %c değişkenine kaldırıyor ve 45 saniyenin sonunda cevap gelmediğinde 3 saniye sonra yeni bir soru kanala gönderiyor.
.timerSENYANITLA 1 45 msg $1 Soruyu kimse bilemedi, cevap: %c olacaktı. Sıradaki soru için hazırlanın. $(|,2) unset %c $(|,2) .timer 1 3 sorucevap $1
}
;Önceden cevabı ayarladığımız %c değişkeni kanala yazıldığında bu event çalışıyor
on *:text:%c:#:{
;%sc.<kanal>.<nick> değişkeni %p değerince artar.
inc $($+(%,sc.,#,.,$nick),1) %p
;Kanala nickin soruyu bildiğini gösteriyor. (kaç saniye içinde ve kaç puan kazandığıyla ve toplam puanıyla birlikte)
msg # $nick soruyu $calc(45 - $timer(SENYANITLA).secs) saniye içinde bildi ve %p puan kazandı, cevap $1- - Toplam puan: $($+(%,sc.,#,.,$nick),2)
;%c değeri siliniyor, başkası cevabı verdiğinde çalışmaması için
unset %c
;soru sorulduktan 45 saniye sonra çalışacak olan SENYANITLA timerı kapatılıyor.
.timerSENYANITLA off
;3 saniye sonra yeni bir soru soruluyor.
.timer 1 3 sorucevap #
}


Ayrıca gelişmiş bir Trivia Soru Botu istiyorsan (incelemek, kullanmak) McKruger'in Trivia Soru botunu [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinden indirebilirsin.

erdem55 09 Nisan 2006 11:33

Yanıt: Re: Soru cevap botu
 
if ( $todaydate != %nextdate ) { msg $getread(-s,miscop,trivia.channel) 4Haftalık Skorlar Resetleniyor  | set %nextdate $nextdate | /rsetscore }

arkadaşlar bu kısmı nasıl değişmeliyim. haftalık skorları resetletmek istiyorum ama hergün haftalık skorlar resetleniyor. Yarıdm ederseniz sevinirim. Bot trivia bot

Not biyerini çalmadım etmedim aynen kullanıyorum ama haftalık puanların silinmeisnde problem var. Hergün puanları sıfırlıyor. Kodda yukarta nasıl bir düzeltme yapabilirim acaba?

djender 04 Mayıs 2015 15:26

Cevap: Re: Soru cevap botu
 
Alıntı:

el33t Nickli Üyeden Alıntı (Mesaj 119920)
sorucevap.txt'de Soru|cevap|puan şeklinde yazarsın,

;/sorucevap aliası
alias sorucevap {
;%: değişkenine 1 ile sorucevap.txt dosyasının satır sayıları arasında bir sayı yükleniyor, %s değişkenine soru atanıyor. (Burdaki değişkenler local)
var %: = $r(1,$lines(sorucevap.txt)), %s = $gettok($read(sorucevap.txt,%:),1,124)
;%p değişkenine soru puanı yükle
set %p $gettok($read(sorucevap.txt,%:),3,124)
;Kanala soru, süre ve puan mesaj olarak atılıyor.
msg $1 Soru: %s - Süre: 45sn - Puan: %p
;%c değişkenine (global bir değişken) sorunun cevabı yükleniyor.
set %c $gettok($read(sorucevap.txt,%:),2,124)
;SENYANITLA adında 45 saniye sonra devreye girecek olan bir timer kuruluyor ve bu timer Kanala sorunun cevaplanmadığını bildiriyor, %c değişkenine kaldırıyor ve 45 saniyenin sonunda cevap gelmediğinde 3 saniye sonra yeni bir soru kanala gönderiyor.
.timerSENYANITLA 1 45 msg $1 Soruyu kimse bilemedi, cevap: %c olacaktı. Sıradaki soru için hazırlanın. $(|,2) unset %c $(|,2) .timer 1 3 sorucevap $1
}
;Önceden cevabı ayarladığımız %c değişkeni kanala yazıldığında bu event çalışıyor
on *:text:%c:#:{
;%sc.<kanal>.<nick> değişkeni %p değerince artar.
inc $($+(%,sc.,#,.,$nick),1) %p
;Kanala nickin soruyu bildiğini gösteriyor. (kaç saniye içinde ve kaç puan kazandığıyla ve toplam puanıyla birlikte)
msg # $nick soruyu $calc(45 - $timer(SENYANITLA).secs) saniye içinde bildi ve %p puan kazandı, cevap $1- - Toplam puan: $($+(%,sc.,#,.,$nick),2)
;%c değeri siliniyor, başkası cevabı verdiğinde çalışmaması için
unset %c
;soru sorulduktan 45 saniye sonra çalışacak olan SENYANITLA timerı kapatılıyor.
.timerSENYANITLA off
;3 saniye sonra yeni bir soru soruluyor.
.timer 1 3 sorucevap #
}


Ayrıca gelişmiş bir Trivia Soru Botu istiyorsan (incelemek, kullanmak) McKruger'in Trivia Soru botunu [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinden indirebilirsin.

öncelikle teşekkür ederim güzel bir remote. fakat ipucu ekleyebilirmiyiz bu komuta yardımcı olurmusunuz?


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 23:47.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk