mIRC Scripting

mIRC Scripting (https://www.mircscripting.net/)
-   Help - Yardım (https://www.mircscripting.net/help-yardym/)
-   -   Kalıp öss soru mantalitesi (https://www.mircscripting.net/help-yardym/592-kalyp-oess-soru-mantalitesi.html)

Senior 27 Mayıs 2012 16:40

Kalıp öss soru mantalitesi
 
Selamun aleyküm mIRCScripting.
Ben sunucu üzerinde Coğrafya, Tarih ve Edebiyat'ta belirli terimlere çalışmak istiyorum.
Örnek; !sor tarih 10
şeklinde bir komut uyguladığımda botum bana mevcut tarih klasör'ü içindeki kolay, zor, orta tarih textlerindeki tarih sorularından "karışık bir şekilde" 10 tane soru soracak.
Kolay txt cevaplama süresi 30 saniye, orta txt içindekini 50 saniye, zor txt 60 saniye.
Çalışma opsiyonu; Nick(Senior) yaklaşık 10 adet tarih sorun sıralanıyor;
Örnek
Soru(1): İstanbul'u kim, kaç tarihinde fethetti. (30 saniyelik bir soru)
Cevap: ***** ****** ****** **** (Cevaplama süreniz: 30 saniye) / (Puan: 20)
İpucu1: F**ih **lt** Me**** **53 (Kalan süreniz: 22 saniye) / (Kalan puan: 13)
İpucu2: Fa*ih S*lt*n Me*me* 1*53 (Kalan süreniz: 9 saniye) / (Kalan puan: 7)
30 saniyelik süreniz doldu, cevap: Fatih Sultan Mehmet 1453
-
Doğru cevaplanırsa: Tebrikler nick(Senior), doğru cevapladınız.
2 saniye içerisinde cevapladığınız için "20 puan" aldınız.
...
Toplam 10 adet Tarih sorusu başarıyla sorulmuştur nick(Senior).
(Bu kısım puanlı olursa belki daha faydalı olabilir diye düşünüyorum. Diğer arkadaşlar içinde kullanabilirim.)
- Oyun botu tarzında olabilir yani cevaplamak için belirli süre ve belirli puanlar verebilir.
- !top10 tarzı birşeylerde olabilir. Tabi bunu sizin insiyatifinize bırakıyorum.
Coğrafya ve Edebiyatta örnekteki gibi olmalı.
Son olarak bir nick bu mantığı çalıştırırken başka bir kullanıcı müdahele etmezse çok daha sağlıklı olur.
Şimdiden uğraşlarınız için teşekkür ederim. Benimkisi değerli üstadlardan istek değil, sadece bir ricadır.
Saygı ve sevgiler. İyi forumlar...
Not: Konu mantığınıda az çok anlatırsanız sevinirim.
3 senedir IRC'e giremiyordum. Tekrar bilgilerimi tazeleyebilmek açısından bana yardımcı olmasını istiyorum.

CoCoRiCo 28 Mayıs 2012 22:23

sen kısaca bot yazdırmak istiyorsun(!?).. Sen; biryerlerden baslarsan eksiklerini tamamlar, yonlendirmeni yaparız. başarılar.

Senior 29 Mayıs 2012 12:24

Estafurullah üstad. :) Ben bırakalı uzun bir süre oldu o yüzden pek hatırlamıyorum. Yoksa sizi uğraştırmak değil amacım. Zaten ben yazın, yazılmalı vs tarzı bir kelime kullanmadım, rica ettim sadece. Boş vaktimi dolu geçirmek adına eğlenceli birşey yapmak için. Yoksa tabiki kimse yazmak zorunda değil. :) Kimse kimsenin babasının uşağı değil. :) Sonradan pişman oldum açtığıma ama nafile. :) Sen uğraş diyorsan, sana söz bu post burda kala dursun. "/help" dosyasından tüm hepsini tekrar inceleyip yazmak için uğraş vereceğim. :) Kusura bakmayın tekrardan.

L4roXyL 29 Mayıs 2012 16:08

Sen bakma cocorico-ya senior, yaşlandı artık. E haliyle sinir stres yapıyor. Çekilmez bir adam oldu. 40 yaş sendromu idare edeceksiniz artık. Ben bile birşey diyemiyorum artık, bastonu kafamıza yer olduk.

Neyse konuya gelince, cocorico haklı. .)

Paint 31 Mayıs 2012 11:13

Bakalım nasıl bir kod yazacaksın merakla beklemediyim.

CoCoRiCo 01 Haziran 2012 22:54

Hasancım Kurt kocayınca diye bi hata sözü vardı ama tam hatırlayamadım ihtiyarlık işte :P

L4roXyL 01 Haziran 2012 23:35

Bakın ne dedim selam vermeye bile gelmiyor .) (tamam sustum)

Difuzyon 07 Haziran 2012 23:58

Merhaba,

Soru-Cevap mantığınıza yardımcı olabilecek kısımları parçalar halinde paylaşayım:

on TEXT eventını !start ile tetikleyin ve tetikleyen %nicki değer olarak atayın ki yanıt kısımlarında cevap veren nicki eşleştirme yapabilsin.Böylelikle 2. bir kişinin oyuna müdahelesini engellemiş olursunuz.

!start verildikten sonra timer'e bağlı bir ALIAS ile döngü oluşturmalısınız.Örneğin;
Kod:

on *:text:*:#kanal:{
if $1 == !start { alias1 | .timer 0 30 alias1 }
...devamı aşağıda
}

Artık herşey bu alias1 mecrasında ilerleyecektir.alias1 yapınızı öyle bir dizayn etmelisiniz ki soruları istediğiniz txt belgesinden sırayla çekmeli,doğru veya yanlış cevaplar verilmesi halinde bile bu stratejiyi bozmayacak bir düzende ilerlemelidir.Örneğin;
Kod:

alias alias1 {
  set %soruseçenek $r(1,2)
  if %soruseçenek == 1 {
    set %sorusatır $read(Soru1.txt)
    set %sorucevap $token(%sorusatır,2,42)
    msg %soruchan $token(%sorusatır,1,42)
    msg %soruchan $chr(160) $chr(160)
    .timerdifyipucu 1 10 msg %soruchan 2,7IPUCU:5 $ipucu(%sorucevap,20) $(|) msg %soruchan $chr(160) $chr(160)  *
  }
  if %soruseçenek == 2 {
    msg %soruchan $read(Soru2.txt)
    msg %soruchan $chr(160) $chr(160)
    .timerdifyipucu 1 10 msg %soruchan 2,7IPUCU:5 $ipucu(%sorucevap,10) $(|) msg %soruchan $chr(160) $chr(160)
  }
}

Sorumu buraya yazıyorum*cevabımı yıldızdan sonra yazıyorum
txt belgemde ekli olan soru*cevap şablonuma göre alias1 şu şekilde çalışır:
1 ile 2 rakamı arasında random olarak bir tercih yapar.Şayet tercihi 1 ise Soru1.txt metin belgesinden rastgele bir soru seçer.Soruyu kanala yazar ve 10 sn. sonra ipucu vermeye başlar.$ipucu(%sorucevap,20) ise cevabın %20'sini ipucu olarak sunar.
Şayet tercihi 2 ise Soru2.txt metin belgesinden rastgele bir soru seçer ve 10 sn sonra $ipucu(%sorucevap,10) cevabın %10'unu ipucu olarak sunar.


Gelelim ipucu (*) değerlendirmesi için gerekli olan aliasımıza:
Kod:

alias ipucu {
  var %cnk = $round($calc((1-$2 /100)*$regex($1,/[^\*\s]/g)),0),%dify = $1,%n,%i = 1
  while (%cnk) {
    dec %cnk
    $null($regex(dify,%dify,/([^\*\s])/g))
    var %n = $regml(dify,$r(1,$regml(dify,0))).pos,%dify = $+($left(%dify,$calc(%n -1)),*,$right(%dify,- $+ %n))
  }
  return %dify
}

BURAYA KADAR SORU-CEVAP ATAMA VE İPUCU SEÇENEKLERİMİZ alias1 AKIŞINDA SEYİR ETMEKTE.
Artık kanala gelen cevapların doğruluğunu test etmede ve puanlama sistemine geçebiliriz:
...devamı aşağıda
Kod:

  if ($1- == %sorucevap) {
    if !$read(puanlar.txt,r,/^\Q $+ $nick $+ \E\s/) { write puanlar.txt $nick 10 }
    else {
      var %difi $readn
      var %yeah = $calc($token($read(puanlar.txt,%difi),2,32) +10)
      write $+(-l,%difi) puanlar.txt $nick %yeah
      if %yeah == 100 {  mode $chan +v $nick | msg $chan Tebrikler $nick 100 puanın oldu }
    }
    timerdify* off
    msg $chan Tebrikler $nick  Doğru yanıt: %sorucevap
    unset %sorucevap
    .timerdifyz 1 3 alias1 | .timerdify 0 33 alias1
  }

alias1 soruyu kanala yazarken aynı anda %sorucevap değerini atıyor,şayet sizin kanala yazdığınız %sorucevap ile örtüşüyorsa size Doğru cevap diyerek puan verecektir.3 sn sonra alias1 döngümüz başa gelecektir.
Ve hemen sonrasına 33 sn. sonunda kendini tazeleyen 2. bir alias1'i devreye alacaktır.Bu sistemde soruların yanıtları süre sonunda belirtilmemiştir ayrıca kanala sadece kendi yazdığınızın dikkate alınması ilavesi getirilmemiştir.
Bu değerleri kendinize göre ayarlayabilirsiniz.

Umarım düzeneğin faydası olmuştur.


++ mIRCScripting.net hakkında kısaca:

mS; "Gayri resmi mIRC" kullanıcı ve tasarımcı topluluğudur.
2009 yılında kurulan mS; tasarımcı ve geliştiricileri bir araya getiren etkileşim ve iletişim sağlayan bir platformdur.
mS; tasarım, programlama, geliştirme, düzenleme vb. pek çok konu etrafında bir araya gelmiş "mIRC" meraklısı bir çok insan tarafından yaratılan içeriğiyle; kullanıcı dostu, özgün elit, nitelikli kişi ve konularla hizmet sunan mIRC Scripting platformudur.

Özgün içerikten onay almaksızın içeriği yaratan kullanıcılarımız tamamen yada kısmen sorumludur, aynı zamanda söz konusu içerik mS yetkilileri izni olmaksızın, kaynak gösterilse dahi(!) kopyalanamaz ve/ya paylaşılamaz.   Site/içerik hakkında görüş, öneri ve şikayetleriniz için sikayet[at]mircscripting[dot]net e-posta ve ya İletişim adresinden bizlere ulaştırabilirsiniz.



mIRC mIRC Orjinal mIRC İndir mIRC Download mIRC Tutorials mIRC Socket mIRC Commands mIRC Komutlar mIRC Yükle mIRC Dersler mIRC Hazır Kodlar mIRC Classentifier mIRC DLL mIRC Dialog mIRC IRC mIRC FTP mIRC Telnet mIRC Help
mIRC Yardım mIRC Iconlar mIRC Com Object mIRC Binary Files mIRC Picture Windows mIRC Unicode mIRC Forum mIRC Hazır Kodlar mIRC Kod mIRC Script mIRC File Handling mIRC Scripting Language mIRC Scripting Dili mIRC Scripting Info
mIRC Scripting Tutorials



User Alert System provided by Advanced User Tagging v3.1.3 (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd. Runs best on HiVelocity Hosting.

1 2 13 14 16 17 18 19 21 22 23 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 49 50 51 52 54 55 56 57 58 59 60 61 62 63 67 68 69 70 71 72 73 74 75 76

SEO by vBSEO 3.6.1