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 botunda timer ların karışmaması ? (https://www.ircforumlari.net/mirc-scripting-sorunlari/21426-soru-botunda-timer-larin-karismamasi.html)

F0X 20 Temmuz 2006 14:30

Soru botunda timer ların karışmaması ?
 
on *:text:*:#kanal {
if A1 isin $1- {
timer 1 2 /msg #kanal Tebrikler $nick !
timer 1 6 /msg #kanal Soru 2 ! soru...
}
if A2 isin $1- {
timer 1 2 /msg #kanal Tebrikler $nick !
timer 1 6 /msg #kanal Soru ! soru....
}
if A3 isin $1- {
timer 1 2 /msg #kanal Tebrikler $nick !
timer 1 6 /msg #kanal Soru 3 ! soru...
}
}


Arkadaşlar buradan ögrendiklerim ile böyle bir soru botu yapmaya çalışıyorum.Sorulara dogru cvp verildiginde diger soruya geçecek.Fakat soruların cvplarını yanlış söyleme riski var.Cvp lar hep A1 ,A2 ,A3 şeklinde oldugu için 1. soruya adam A2 dediginde direkt olarak 3. soruya atlıyor.

Bunu nasıl engeleriz ? Şimdiden teşekkürler..

NaTSuKa 20 Temmuz 2006 15:11

Yanıt: Soru botunda timer ların karışmaması ?
 
Kod:

on *:text:*:#kanal {
if !basla == $1 || $nick == $me {
msg #kanal 1. soru
enable #soru1
} else {
halt
}
}
on *:text:*:#kanal {
if !dur == $1 || $nick == $me { msg #kanal 1. soru
disable #soru1
disable #soru2
disable #soru3
;kaçtane grouop oluşturduysan hepsini alt alta yaz
} else {
halt
}
}
#soru1 off
on *:text:*:#kanal {
if 1.cevap iswm $1- {
msg #kanal tebrikler $nick bildiniz.
msg #kanal 2.soru
enable #soru2
disable #soru1
} else { yanlış cevap $nick
}
#soru1 end
#soru2 off
on *:text:*:#kanal {
if 2.cevap iswm $2- {
msg #kanal Tebrikler $nick bildiniz.
msg #kanal 3.soru
enable #soru3
disable #soru2
} else { Yanlış cevap $nick
}
}
#soru2 end
#soru3 off
on *:text:*:#kanal {
if 3.cevap iswm $2- {
msg #kanal Tebrikler $nick bildiniz.
msg #kanal 4.soru
enable #soru4
disable #soru3
} else { Yanlış cevap $nick
}
}
#soru3 end

Kodların nasıl çalıştıgını anlamassınıdr umarım bunu kendin çogaltabilirsin... ancak...

Ama bu şekilde bir bot'dan ne kadar faydalanabilirsin orasının bilemem çünki senin istedgin gibi bir mantık ile yazmaya çalıstım böyle birşey çıktı....

neyse ben yorum yapmayım senin istedigin mantıka çalışan basit bir kod örnegi...birde en sonuncu sorunun cevabını veren kodun altına
disable #soru(en sonuncu soru nosu neyse o)
yap

umarım işine yarar...

Birde bu kod sen !basla yazınca başlıyor !dur deyince duruyor...
Not: kodu hiç denemedim.

F0X 20 Temmuz 2006 17:19

Yanıt: Soru botunda timer ların karışmaması ?
 
Kodu tam anlayamadım ya ;( kusura bakma . Okdr ugraşmışın yazmışın ama ben yanlış cvp verdiginde uyarı vermesini istemiyorum..İstedigim şu sadece ;

1. soruyu sordu diyelim , egerki kişi dogru cvp verirse tebrklr vs.. diyip 2. soruya atlıyor..Ama burada egerki adam 1. sorunun cvp ı yerine diyelimki 4. sorunun cvp ını yazdı..Ozaman 5. sorudan devam ediyor..Senin verdigin kod bunu engelliyordur ama ben editliyim dedim biraz benim soru da verdigimle karıştırmak istedim olmadı..

Burada mantıgı çözemedim , mantıgını açıklarsan benim soruda verdigim koda uygulamaya calışacagım ..

Yinede çok tşk ederim Allah razı olsun..

F0X 20 Temmuz 2006 21:58

Yanıt: Soru botunda timer ların karışmaması ?
 
+ bu kodlar çalışmadı :(

NaTSuKa 20 Temmuz 2006 23:17

Yanıt: Soru botunda timer ların karışmaması ?
 
Hatayı yazarsan.. çok sevinirim deneme fırsatım olmadı... halede yok ancak yarın denerim :)

Fakat şimdilik şunu dene "}" sembollerini eksik koymuşum...
Kod:

on *:text:*:#kanal {
if !basla == $1 || $nick == $me {
msg #kanal 1. soru
enable #soru1
}
}
on *:text:*:#kanal {
if !dur == $1 || $nick == $me { msg #kanal 1. soru
disable #soru1
disable #soru2
disable #soru3
;kaçtane grouop oluşturduysan hepsini alt alta yaz
}
}
#soru1 off
on *:text:*:#kanal {
if 1.cevap iswm $1- {
msg #kanal tebrikler $nick bildiniz.
msg #kanal 2.soru
enable #soru2
disable #soru1
}
}
#soru1 end
#soru2 off
on *:text:*:#kanal {
if 2.cevap iswm $2- {
msg #kanal Tebrikler $nick bildiniz.
msg #kanal 3.soru
enable #soru3
disable #soru2
}
}
#soru2 end
#soru3 off
on *:text:*:#kanal {
if 3.cevap iswm $2- {
msg #kanal Tebrikler $nick bildiniz.
msg #kanal 4.soru
enable #soru4
disable #soru3
}
}
#soru3 end



kod yukardaki mantıgıda....



şimdi !basla dedikten sonra 1. group'u yani 1. sorunun kodlarını aktif ediyor

enable #soru1
aktif ediyor... böylece diger if ler deaktif halde sadece 1. sorunun kodları aktif oluyor eger 1. sorunun cevabını dogru verir ise... 1. soruunun kodlarını deaktif ediyor
disable #soru1
şeklinde 2. sorunun kodlarını aktif ediyor...
enable #soru2
şeklinde....
böyle sıra ile gidiyor işte mantık bu 2. soruyu bilirse 2. sorunun kodlarını deaktif ediyor 3. sorunun kodlarını aktif hale getiriyor....













MaeLStrOm 20 Temmuz 2006 23:58

Yanıt: Soru botunda timer ların karışmaması ?
 
bir %soru değişkenine değer verirsin ve bu değeri if A1 isin $1- && $(%soru,2) == 2 tarzında bi eşlemeyle devam edebilirsin.
Bu arada natsuka kodlarını denemeden vermemeye özen göstermeli,else konusunda döküman okumalısın.Ayrıca eventlerde parantez veya iki nokta cok önemlidir bunuda unutma.

NaTSuKa 21 Temmuz 2006 10:15

Yanıt: Soru botunda timer ların karışmaması ?
 
bana kalırsa... Ben soruları ve cepları bir txt'den okutarak yapmak isterdim ama... Arkadaşın istedigi gibi bir mantık kurmaya çalıştım...

Alıntı:

Bu arada natsuka kodlarını denemeden vermemeye özen göstermeli,else konusunda döküman okumalısın.Ayrıca eventlerde parantez veya iki nokta cok önemlidir bunuda unutma.
evet halısın ama sadece eventle parantezle degil bir çok konuda kaynak bulup okumak lazım.. ama kynaklar çok az... hep aynı... mirc.help dosyasıda ing. anlamıyorum :)

F0X 21 Temmuz 2006 18:05

Yanıt: Soru botunda timer ların karışmaması ?
 
(18:18:51) <Ben> !s
(18:18:51) <Bot> 1. soru
(18:19:22) <Benr> 1.cevap
...
Bu kadarı çalılşyıro.Ayrıca bot un statüde aşagıda şeyler yazıyor..

*** Grup Aktif
-
ELSE Unknown command

Not : Bu 2. verdigin kod.

NaTSuKa 21 Temmuz 2006 18:17

Yanıt: Soru botunda timer ların karışmaması ?
 
son verdigim koudu tekrar buradan kopyala d&#252;zenleme yaptımm...

o soru1. olan yere 1. sorunu yazacxaksıncevap1. olan yerede 1. sorunun tek kelimenin cevabını yazacaksın.

F0X 21 Temmuz 2006 18:54

Yanıt: Soru botunda timer ların karışmaması ?
 
Soruların filan nereye yazılacagını bilyorum :) Yazmadım soruları çünkü denemek için yaptım.
+
Yine aynısı oldu 1. soruyu soruyor , cvp veryorum duruyor..

*** Değiştirelecek Grub Yok

Yazıyor statüde ;(


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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net