Otomatik Sınav Sistemi [ OTS ]

Bunu yaklaşık 10 ay önce falan kodlamıştım. Sistem #Help departmanı üzerine kurulu. Yani “ne sorsam acaba?” diye düşünmenizi engelliyor.

Bu sistemi kullanmak için yapılması gereken işlemler ;

#Sınavdesk kanalını kayıt edin.

//run $mircdir yaparak soru1.txt soru2.txt soru3.txt soru4.txt soru5.txt cevap1.txt cevap2.txt cevap3.txt cevap4.txt cevap5.txt dosyaları oluşturun veya ;

/mkdir soru1.txt Sorunuz…
/mkdir cevap1.txt Cevabınız…

şeklinde dosyaları oluşturun.

Soru1.txt dosyasında ki soruların cevabını Cevap1.txt dosyasına yazınız. Soruları şu şekilde ekleyiniz.

Soru ) Selam, naber?
Soru ) Nerden?

Cevap1.txt dosyasını ise şu şekilde ;

Cevap ) Sağol, iyiyim.
Cevap ) Samsun’dan.

vs.. şeklinde sorularınızı ekleyiniz.
yani

soru1.txt dosyasında ki 1. satırda ki soru, cevap1.txt dosyasında ki 1. satır cevaptır.

Örneğin şöyle birşey yapılabilir.
Soru1.txt : Nickserv
Soru2.txt : Chanserv
Soru3.txt : Memoserv
Soru4.txt : Karma
Soru5.txt : Karma

şeklinde 1. soruyu ns, 2. soruyu cs, 3. soruyu ms, 4. ve 5. soruyu karma olarak yapabilirsiniz. Dosyaları oluşturduktan sonra kodu ekleyin ;

on *:join:#sınav:{ if ($nick != $me) { !who $nick | ns info $nick } }
raw 352:*:{
  msg #sınavdesk 4UYARI ! #Sınav kanalına giriş yapan nick => $6
  msg #sınavdesk  $+ $6  $+ nickinin kullandığı ident => $3
  msg #sınavdesk  $+ $6  $+ nickinin host adresi => $4
  msg #sınavdesk  $+ $6  $+ nickinin kullandığı fullname => $9-
}
on 1:notice:*kayit zamani*:*:{
if ($nick == nickserv) {
  msg #sınavdesk Nickin kayıt tarihi => $instok($5,SAAT:,1,32) $+  $chr(32) , $instok($4,GÜN:,1,32)$+  $chr(32) , $instok($remove($3,pst),AY:,1,32) $+  $chr(32) , $instok($6,YIL:,1,32)
}
}
on *:text:*:#: {
  if ($chan == #sınavdesk) {
    if ($1 == !listele) {
      msg #sınavdesk Sorular listeleniyor.
      .play $chan liste.txt 3000
      msg #helpers [#Sınavdesk] => Helper Seçme Sınavı(HSS) Soru Listesine Giriş Yapıldı.
    }
    if ($1 == !soru1) {
      msg $chan 1 Numaralı Soru Listesi.
      msg #helpers [#Sınavdesk] => 1 Numaralı Soru Listesine Bakıldı.
      .play $chan soru1.txt 3000
    }
    if ($1 == !soru2) {
      msg $chan 2 Numaralı Soru Listesi.
      msg #helpers [#Sınavdesk] => 2 Numaralı Soru Listesine Bakıldı.
      .play $chan soru2.txt 3000
    }
    if ($1 == !soru3) {
      msg $chan 3 Numaralı Soru Listesi.
      msg #helpers [#Sınavdesk] => 3 Numaralı Soru Listesine Bakıldı.
      .play $chan soru3.txt 3000
    }
    if ($1 == !soru4) {
      msg $chan 4 Numaralı Soru Listesi.
      msg #helpers [#Sınavdesk] => 4 Numaralı Soru Listesine Bakıldı.
      .play $chan soru4.txt 3000
    }
    if ($1 == !soru5) {
      msg $chan 5 Numaralı Soru Listesi.
      msg #helpers [#Sınavdesk] => 5 Numaralı Soru Listesine Bakıldı.
      .play $chan soru5.txt 3000
    }
    if $1 == !mesaj {
      .msg #helpsop [#Sınavdesk] => $2-
      .msg #helpers [#Sınavdesk] => #HelpSop Kanalına Özel Mesaj Gönderildi.
      .msg #sınavdesk Mesajınız #HelpSop kanalına iletildi.
    }
    if $1 == !başla {
      if ($nick(#sınav,1,v) == $null) { msg #sınavdesk Şekerim #sınav kanalında voice(+v) olan biri mi var? Ben göremiyorum da? Kimi sınav yapcam ? :) }
      else {
        var %a $rand(1,$lines(soru1.txt)), %b $rand(1,$lines(soru2.txt)), %c $rand(1,$lines(soru3.txt)), %d $rand(1,$lines(soru4.txt)), %e $rand(1,$lines(soru5.txt))
        if ( %a != %b != %c != %d != %e ) {
          msg #sınavdesk $nick(#sınav,1,v) sınava alındı.[ $date - $time ]
          msg #sınav  $+ $nick(#sınav,1,v) sınav başlıyor, 5 saniye sonra ilk sorunuz gelicektir. Her soru için 1 dakika süreniz vardır. Başarılar dileriz.
          mode #sınav +iK
          msg #helpers  $+ [4#Sınavdesk/OTS] :7 $nick(#sınav,1,v) sınava alındı.
          timer 1 5 msg $comchan($nick(#sınav,1,v),1) $instok($gettok($read(soru1.txt,%a),1-100,32),1,2,32)
          timer 1 65 msg $chan(#sınavdesk) $instok($gettok($read(cevap1.txt,%a),1-100,32),1,2,32)
          timer 1 65 msg $comchan($nick(#sınav,1,v),1) $nick(#sınav,1,v) => Süreniz doldu. 2. soruya geçiyoruz.
          timer 1 70 msg $comchan($nick(#sınav,1,v),1) $instok($gettok($read(soru2.txt,%b),1-100,32),2,2,32)
          timer 1 130 msg $chan(#sınavdesk) $instok($gettok($read(cevap2.txt,%b),1-100,32),2,2,32)
          timer 1 130 msg $comchan($nick(#sınav,1,v),1) $nick(#sınav,1,v) => Süreniz doldu. 3. soruya geçiyoruz.
          timer 1 135 msg $comchan($nick(#sınav,1,v),1) $instok($gettok($read(soru3.txt,%c),1-100,32),3,2,32)
          timer 1 195 msg $chan(#sınavdesk) $instok($gettok($read(cevap3.txt,%c),1-100,32),3,2,32)
          timer 1 195 msg $comchan($nick(#sınav,1,v),1) $nick(#sınav,1,v) => Süreniz doldu. 4. soruya geçiyoruz.
          timer 1 200 msg $comchan($nick(#sınav,1,v),1) $instok($gettok($read(soru4.txt,%d),1-100,32),4,2,32)
          timer 1 260 msg $chan(#sınavdesk) $instok($gettok($read(cevap4.txt,%d),1-100,32),4,2,32)
          timer 1 260 msg $comchan($nick(#sınav,1,v),1) $nick(#sınav,1,v) => Süreniz doldu. 5. soruya geçiyoruz.
          timer 1 265 msg $comchan($nick(#sınav,1,v),1) $instok($gettok($read(soru5.txt,%e),1-100,32),5,2,32)
          timer 1 325 msg $chan(#sınavdesk) $instok($gettok($read(cevap5.txt,%e),1-100,32),5,2,32)
          timer 1 325 msg $comchan($nick(#sınav,1,v),1) $nick(#sınav,1,v) => Sınav sona ermiştir. Değerlendirme için lütfen bekleyiniz.
          timer 1 325 msg $chan(#sınavdesk) $remove($nick(#sınavdesk,1,o) $nick(#sınavdesk,2,o) $nick(#sınavdesk,3,o) $nick(#sınavdesk,4,o) $nick(#sınavdesk,5,o) $nick(#sınavdesk,1,h) $nick(#sınavdesk,2,h),Helpteam) => $nick(#sınav,1,v) nickinin sınavı sonlanmıştır. Değerlendirme yaptıktan sonra sonucu "!mesaj XXX 5 sorudan X'ini bilerek kazandı/kazanamadı." şeklinde gönderiniz.
          timer 1 326 mode #sınav -iK
        }
      }
    }
  }
  if ($chan == #sınav) {
    if ($nick == $nick(#sınav,1,v)) {
      if (*/* iswm $1-) { msg #sınavdesk  $+ $nick nickinin verdiği cevap =>4 $1- }
    }
  }
}

daha sonra kullanılabilicek komutlar ; (#Sınavdesk kanalında kullanılcak)

!listele : HSS soru listesi hakkında bilgi verir. (liste.txt şeklinde dosya oluşturup bilgileri girebilirsiniz.)
!soru1 : HSS Soru1.txt dosyasını listeler. (1 yerine 2-3-4-5 yazabilirsiniz.)
!mesaj mesajınız : Yazdığınız mesaj #helpsop kanalına iletilir. (Bu durumda bot nicki #helpsop kanalında bulunmak zorundadır veya #helpsop kanalı -n modesinde olmalıdır.)
!başla : #Sınav kanalında ki 1. voice(+v) kipi alan kişiyi sınava alır.
Unutulmamalıdır ki sınava alıncak nicki sadece #sınav kanalında bulundurun. Çünkü koda göre nick, ilk ortak kanalda sınava alınır. Kısacası sınava giricek kişi sadece #sınav kanalında bulunsun.

Helper adayının vericeği cevap #sınavdesk kanalına yansicaktır ve sınav bitiminde #sınavdesk yetkilileri uyarılıcaktır.

#sınav kanalına girişlerde #sınavdesk kanalına kullanıcı hakkında bilgi verilicektir.

#Help departmanı ile uğraşan arkadaşların işine yarayabilir.

Kısaca anlatılıcak olursa ;

#sınav kanalına giren helper adayını sınava alıyosunuz. #sınavdesk kanalına !başla diyosunuz ve sınavı sadece izliyosunuz.

Kolay gelsin.

ALintidir. Kod sahibi : ALien

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir