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/)
-   -   bot edit (https://www.ircforumlari.net/mirc-scripting-sorunlari/179229-bot-edit.html)

QkLa 11 Şubat 2009 19:05

bot edit
 
bu code'de soyle bir bolum var

msg # $nick Simdiki ayarlara göre bir seferde en fazla %mva ayet isteyebilirsniz...

bunu kaldirip komut uygulamada sinirlama olmamasi ve komutu sadece gorevliler ve izin verilen nickler kullanacak sekilde duzenlemek icin yardim edebilirmisiniz.

if ($nick isop $chan) || ($nick == QkLa) { bunun gibi bir sey.ben bir yere kadar duzenledim ama her komut icin gerceklestiremedim.

Kod:

alias bekle {
  mode # +m
}
alias sureler {
  set %t 1
  while (%t < 115) { echo 4 @kuran %t - $read(sureindex.txt,%t)
    inc %t
  }
}
menu channel,menubar {  -
  Bot
  .Açik  :set %botdurum acik | echo -a bot açik | notice # Meal BOTu Kullanima Hazir | defs
  .Kapali:set %botdurum kapali | echo -a Bot Kapali | notice # Meal BOTu Kapatildi
  .Ayarlar:dialog -m BA BA
}
alias bulr {
  set %sureno $null
  set %curserver $server
  set %curchannel $chan
  if (($1 == $null) || ($2 == $null)) {
    msg #  Bul komutu formati:
    msg # !bul sureadi yada numarasi ayet [bitis ayeti]
    msg # Ör1:!bul taha 114 --> Taha 114. ayeti gösterir.
    msg # Ör2:!bul taha 1 9 --> Taha [1-9]. ayetleri gösterir.
    msg # Ör3:!bul 20 1 9  --> Taha [1-9].ayetleri gösterir.
    halt
  }
  else {
    set %sure $1
    set %ayet1 $2
  }
  if ($3 == $null) { set %ayet2 %ayet1 }
  else { set %ayet2 $3 }
  if ($calc(%sure + 1) != 0) {
    set %sureno $1
    set %sure $read(sureindex.txt,%sureno)   
    goto dosyabul
  }
  set %sayac 1
  set %topsat $lines(sureindex.txt)
  while (%sayac <= %topsat) {
    if (%sure == $read(sureindex.txt, %sayac)) {
      write temp.txt 0,4 Sure No: 4,1 %sayac
      set %sureno  %sayac 
    }
    inc %sayac
  }
  :dosyabul 
  if (%sureno == $null) {
    msg # %sure bulunamadi.Sure ismini farkli bir isimle ya da sure numarasi kullanarak belirtiniz.Tüm surelerin listesi için /sureler yaziniz...
    halt
  }
  set %sayiayet  $read(ayetsayisi.txt,%sureno) 
  if (%ayet2 > %sayiayet) {
    msg # Hatali Giris Yaptiniz
    msg # %sure Suresi %sayiayet ayettir...   
    halt
  }
  if ((%ayet1 < 1) || (%sureno > 114) || (%ayet1 > %ayet2)) {
    msg # Hatali Giris Yaptiniz...
    halt
  }
  if ($calc(%ayet4 - %ayet1 +1) > %mva) {
    msg # $nick Simdiki ayarlara göre bir seferde en fazla %mva ayet isteyebilirsniz...
    halt
  }
  set %d1 3 - $len(%sureno)
  set %dosya  sureler $+  \ $+ $str(0,%d1) $+ %sureno $+ .txt
  set %k 1 
  while (%ayet1 <= %ayet2) {
    if ((%sureno == 2) && (%ayet1 == 282)) {
      set %bkr 1
      while (%bkr <= $lines(sureler\bakara282.txt)) {
        set %sonuc $read(sureler\bakara282.txt,%bkr)     
        wordcheck   
        inc %bkr
      }
      goto art
    }
    set %sonuc $read(%dosya,w,%ayet1 $+ . $+ *)
    if (%k != 1 ) goto gec
    write temp.txt $upper(%sure) -- Toplam Ayet Sayisi: %sayiayet
    write temp.txt Ayet: %ayet1 - %ayet2  $nick için yaziliyor...
    :gec
    wordcheck   
    :art 
    inc %k
    inc %ayet1
  }
  write temp.txt -------------------------------0000------------------------  12  [ %cp sn. durakladi ]
}
alias sureler {
  set %t 1
  while (%t < 115) { msg # %t - $read(sureindex.txt,%t)
    inc %t
  }
}
on *:playend:if (%moderate == 1) { /mode %curchannel -m }
on *:exit:unsetall
on *:disconnect:server %curserver
on *:CONNECT:/join # $+ %curchannel
on *:text:!bul*:#: {
  while (%botdurum == acik) {
    if ( %kul == ontanimli ) {
      set %usersay 1
      while (%usersay <= $lines(botusers.txt)) {
        if ( $nick == $read(botusers.txt,%usersay)) { set %kim 1 }
        inc %usersay       
      }
    }
    if ((%kim == $null) && (%kul == ontanimli)) { halt }
    else { set %kim $null }
    write -c temp.txt
    bulr $2 $3 $4
    if (%moderate == 1) { bekle }
    play $chan temp.txt $calc(%ds * 1000)
    set %zaman $calc(%ds * 1000 * $lines(temp.txt) + %cp * 1000)
    set %zamandur $calc(%zaman / 1000) 
    ignore -u $+ %zamandur *!*@*
    halt   
  }
}
alias wordcheck {
  set %twords $calc($numtok(%sonuc,32) + 1)
  if (%twords > %mvg) {
    set %blok $calc(%twords / %mvg)
    set %tamblok $calc($int(%blok) + 1)
    set %dng 1
    set %baslangic 1
    set %bitis %mvg
    while (%dng <= %tamblok) {
      set %aralik  %baslangic $+ - $+ %bitis
      set %dizgi $gettok(%sonuc,%aralik,32)
      write temp.txt %dizgi
      set %baslangic $calc(%bitis + 1)
      set %bitis $calc(%bitis + %mvg )
      inc %dng
    }
  }
  else { write temp.txt %sonuc }
  return
}
alias defs {
  if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
    set %ds 3
    set %mvg 10
    set %mva 3
    set %cp 6
  }
}


QkLa 11 Şubat 2009 22:53

Cevap: bot edit
 
on *:text:!bul*:#: {
while (%botdurum == acik) {
if ( %kul == ontanimli ) {
set %usersay 1
while (%usersay <= $lines(botusers.txt)) {
if ( $nick == $read(botusers.txt,%usersay)) { set %kim 1 }
inc %usersay
}
}
bu kismi sadece gorevlilerin kullanabilmesi icin editledim,ama !bul komutu neticesinde cikan komutlar islem gormuyor.

uFuK 12 Şubat 2009 02:13

Cevap: bot edit
 
Sorunu tam olarak anlayamadım ama eğer bir kodda, erişimi sadece sizin belirlediğiniz nicklere vermek istiyorsan birçok yolu var bunun. İki seçenek sunayım sana.

if $read(zımbırtı.txt,w,$nick) {
kodlar ..
}
Event'n altına bunu eklersen zımbırtı.txt belgesinin içinde olan kişiler kullanabilir sadece komutları.
Örnek;
Alıntı:

on *:text:*:#: {
if $read(zımbırtı.txt,w,$nick) {
if ($1 == !oku) { echo -a oku, oku, oku, sonra kahveye git.. }
}
}
Bu kodu al mesela scriptine kopyala !oku yaz özelde hiçbir tepki vermeyecektir.
zımbırtı.txt dosyasının içine nickleri alt alta dizersen ve !oku kelimesini yazan nick buradaki bir rumuzsa tepki vericektir..

2.) if (ufuk isin $nick) || (QKLa isin $nick) || (bilmemne isin $nick) {
kodlar
}
buda kırmızı yerdeki nicklere göre işler yapar, diğerlerinde çalışmaz.

Örnek kod;
Alıntı:

on *:join:#: {
if (ufuk isin $nick) || (QkLa isin $nick) { msg $chan hoşgeldin abi, niye geldin? }
}

QkLa 12 Şubat 2009 03:54

Cevap: bot edit
 
ben codeyi vereyim daha iyi anlasilir belki.bu code iki sekilde uygulanabiliyor.birincisi mircinda yuklu sahis !bul sureismi yazarak @kuran penceresinde goruyor yazilari.bunun kaldirmak istiyorum.dialog var diloguda kaldirmak istiyorum.ikinci bir uygulamada bot seklinde,kanalda !bul yazdiklarinda kullanabilecekleri komutlar siralaniyor,ona gore kanalda islem yapiliyor.bu komutu sadece gorevliler kullanabilecek sekilde duzenlemek istiyorum.birde code de belirli bir kullanimdan sonra sahsa baska kullanma imkani vermiyor.mesela bir kisi kanalda uc kez komut uygulayabiliyor.bu kaldirip gorevlilerin surekli kullanabilecegi bir hale getirebilirsek hos olur.biraz kapsamli bir code ama kusura bakmayin.

simdiden tesekkur ederim

Kod:

alias bekle {
  mode # +m
}
alias bul {
  set %sureno $null
  window  -e @KURAN 500 275 350 200
  if (($1 == $null) || ($2 == $null)) {
    ;echo 4 @kuran Hatali Giris Yaptiniz.
    echo 4 @kuran Bul komutu formati:
    echo 12 @kuran /bul sureadi yada numarasi ayet [bitis ayeti]
    echo 12 @kuran Ör1:/bul taha 114 --> Taha 114. ayeti gösterir.
    echo 12 @kuran Ör2:/bul taha 1 9 --> Taha [1-9]. ayetleri gösterir.
    echo 13 @kuran Ör3:/bul 20 1 9  --> Taha [1-9].ayetleri gösterir.
    halt
  }
  else {
    set %sure $1
    set %ayet1 $2
  }
  if ($3 == $null) { set %ayet2 %ayet1 }
  else { set %ayet2 $3 }
  if ($calc(%sure + 0) != 0) {
    set %sureno $1
    set %sure $read(sureindex.txt,%sureno)   
    goto dosyabul
  }
  set %sayac 1
  set %topsat $lines(sureindex.txt)
  while (%sayac <= %topsat) {
    if (%sure == $read(sureindex.txt, %sayac)) {
      echo 4 @kuran Sure No: %sayac
      set %sureno  %sayac 
    }
    inc %sayac
  }
  :dosyabul 
  if (%sureno == $null) {
    echo 4 @kuran %sure bulunamadi.Sure ismini farkli bir isimle ya da sure numarasi kullanarak belirtiniz.Tüm surelerin listesi için /sureler yaziniz...
    halt
  }
  set %sayiayet  $read(ayetsayisi.txt,%sureno) 
  if (%ayet2 > %sayiayet) {
    echo 4 @kuran Hatali Giris Yaptiniz
    echo 12 @kuran %sure Suresi %sayiayet ayettir...   
    halt
  }
  if ((%ayet1 < 1) || (%sureno > 114) || (%ayet1 > %ayet2)) {
    echo 4 @kuran Hatali Giris Yaptiniz...
    halt
  }
  set %d1 3 - $len(%sureno)
  set %dosya sureler $+ \ $+ $str(0,%d1) $+ %sureno $+ .txt

  echo @kuran %dosya
  set %k 1 
  set %renk 12
  while (%ayet1 <= %ayet2) {
    if ((%sureno == 2) && (%ayet1 == 282)) {
      set %bkr 1
      while (%bkr <= $lines(sureler\bakara282.txt)) {
        echo @kuran $read(sureler\bakara282.txt,%bkr)
        inc %bkr
      }
      goto art
    }
    set %sonuc $read(%dosya,w,%ayet1 $+ . $+ *)
    if (%k != 1 ) goto gec
    echo 4 @kuran Sure: $upper(%sure) -- Toplam Ayet Sayisi: %sayiayet
    echo 4 @kuran Ayet: %ayet1 - %ayet2
    ECHO 3 @kuran -------------------
    :gec   
    echo %renk @kuran %sonuc
    ;echo @kuran -
    if (%renk == 12) { set %renk 4 } 
    else  { set %renk 12 }   
    :art 
    inc %k
    inc %ayet1
  }
  echo 12 @kuran ------------------------------------------0000-----------------------------------
}
alias sureler {
  set %t 1
  while (%t < 115) { echo 4 @kuran %t - $read(sureindex.txt,%t)
    inc %t
  }
}
menu channel,menubar {
  -
  Bot
  .Açik  :set %botdurum acik | echo -a bot açik | notice # Meal BOTu Kullanima Hazir | defs
  .Kapali:set %botdurum kapali | echo -a Bot Kapali | notice # Meal BOTu Kapatildi
  .Ayarlar:dialog -m BA BA
}
 
 
alias bulr {
  set %sureno $null
  set %curserver $server
  set %curchannel $chan
  if (($1 == $null) || ($2 == $null)) {

    msg #  Bul komutu formati:
    msg # !bul sureadi yada numarasi ayet [bitis ayeti]
    msg # Ör1:!bul taha 114 --> Taha 114. ayeti gösterir.
    msg # Ör2:!bul taha 1 9 --> Taha [1-9]. ayetleri gösterir.
    msg # Ör3:!bul 20 1 9  --> Taha [1-9].ayetleri gösterir.
    halt
  }
  else {
    set %sure $1
    set %ayet1 $2
  }
  if ($3 == $null) { set %ayet2 %ayet1 }
  else { set %ayet2 $3 }
  if ($calc(%sure + 1) != 0) {
    set %sureno $1
    set %sure $read(sureindex.txt,%sureno)   
    goto dosyabul
  }
  set %sayac 1
  set %topsat $lines(sureindex.txt)
  while (%sayac <= %topsat) {
    if (%sure == $read(sureindex.txt, %sayac)) {
      write temp.txt Sure No: %sayac

      set %sureno  %sayac 
    }
    inc %sayac
  }
  :dosyabul 
  if (%sureno == $null) {
    msg # %sure bulunamadi.Sure ismini farkli bir isimle ya da sure numarasi kullanarak belirtiniz.Tüm surelerin listesi için /sureler yaziniz...
    halt
  }
  set %sayiayet  $read(ayetsayisi.txt,%sureno) 
  if (%ayet2 > %sayiayet) {
    msg # Hatali Giris Yaptiniz
    msg # %sure Suresi %sayiayet ayettir...   
    halt
  }
  if ((%ayet1 < 1) || (%sureno > 114) || (%ayet1 > %ayet2)) {
    msg # Hatali Giris Yaptiniz...
    halt
  }
  if ($calc(%ayet2 - %ayet1 +1) > %mva) {
    msg # $nick Simdiki ayarlara göre bir seferde en fazla %mva ayet isteyebilirsniz...
    halt
  }

  set %d1 3 - $len(%sureno)
  set %dosya sureler $+ \ $+ $str(0,%d1) $+ %sureno $+ .txt
 

  set %k 1 
  while (%ayet1 <= %ayet2) {
    if ((%sureno == 2) && (%ayet1 == 282)) {
      set %bkr 1
      while (%bkr <= $lines(sureler\bakara282.txt)) {
        set %sonuc $read(sureler\bakara282.txt,%bkr)     
        wordcheck       
        inc %bkr
      }
      goto art
    }

    set %sonuc $read(%dosya,w,%ayet1 $+ . $+ *)
    if (%k != 1 ) goto gec
    write temp.txt $upper(%sure) -- Toplam Ayet Sayisi: %sayiayet
    write temp.txt Ayet: %ayet1 - %ayet2  $nick için yaziliyor...
    :gec
    wordcheck   
    :art 
    inc %k
    inc %ayet1
  }
  write temp.txt -------------------------------0000------------------------  12  [ %cp sn. durakladi ]
  -------------------------------0000-----------------------------------
}
alias sureler {
  set %t 1
  while (%t < 115) { msg # %t - $read(sureindex.txt,%t)
    inc %t
  }
}

on *:playend:if (%moderate == 1) { /mode %curchannel -m }
on *:exit:unsetall
on *:disconnect:server %curserver
on *:CONNECT:/join # $+ %curchannel
on *:text:!bul*:#: {
  while (%botdurum == acik) {
    if ( %kul == ontanimli ) {
      set %usersay 1
      while (%usersay <= $lines(botusers.txt)) {
        if ( $nick == $read(botusers.txt,%usersay)) { set %kim 1 }
        inc %usersay       
      }
    }
    if ((%kim == $null) && (%kul == ontanimli)) { halt }
    else { set %kim $null }
    write -c temp.txt
    bulr $2 $3 $4
    if (%moderate == 1) { bekle }
    play $chan temp.txt $calc(%ds * 1000)
    set %zaman $calc(%ds * 1000 * $lines(temp.txt) + %cp * 1000)
    set %zamandur $calc(%zaman / 1000)   
    ignore -u $+ %zamandur *!*@*
    halt   
  }
}

dialog BA {
  title "BOT AYARLARI"
  size -1 -1 380 280
  ;combo 1,128 176 89 100,size edit drop
  button "Duzenle",102,124 176 48 30
  radio " ÖnTanimli",2,24 176 97 25
  radio "Herkes",3,24 143 65 25
  edit "",4,304 80 25 19,autohs
  edit "",5,304 48 25 19,autohs
  edit "",6,112 80 25 19,autohs
  edit "",7,112 48 25 19,autohs
  box "Kullanici Tanimlari",8,16 128 160 81
  text "sn.",10,336 80 17 17
  text "Duraklama Süresi",11,192 80 89 17
  text " kelime",12,328 48 33 25
  text "Max. Veri Gönderme",13,192 48 97 25
  box " Veri ",14,178 32 193 73
  text "ayet",15,144 80 25 17
  text "Max. Ayet Araligi",16,24 80 86 17
  text "sn",17,144 48 25 17
  text "Cevap Periyodu ",18,24 48 81 25
  box " Bot ",19,16 32 161 73
  button "Tamam",100,126 225 50 30,ok
  button "Vazgeç",101,180 225 50 30,cancel
  box " Diger Ayarlar",20,179 128 193 82
  check "Moderate",30,190 150 65 11,
}
on *:dialog:ba:edit:*:{
  if ($did == 4) { set %ds $did(4).text }
  if ($did == 5) { set %mvg $did(5).text }
  if ($did == 6) { set %mva $did(6).text }
  if ($did == 7) { set %cp $did(7).text }
}
on *:DIALOG:ba:init:0:{
  if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
    did -ra ba 4 1
    set %ds 3
    did -ra ba 5 1
    set %mvg 10
    did -ra ba 6 1
    set %mva 3
    did -ra ba 7 1
    set %cp 6
  }
  if (%kul == $null) {
    did -c ba 3
    set %kul herkes
  }
  if (%kul == herkes) {
    did -c ba 3
  }
  else {
    did -c ba 2
    set %kul ontanimli
  }
  did -o ba 4 1 %ds
  did -o ba 5 1 %mvg
  did -o ba 6 1 %mva
  did -o ba 7 1 %cp
  ;did -ra ba 4 test
  if ( %moderate == 1 ) {
    did -c ba 30
  }
}
on *:dialog:ba:sclick:100: {
  set %cp $did(ba,7).text
  set %mva $did(ba,6).text
  set %mvg $did(ba,5).text
  set %ds $did(ba,4).text
  if ($did(ba,3).state == 1) { set %kul herkes }
  if ($did(ba,2).state == 1) { set %kul ontanimli }
  if ($did(ba,30).state == 1) { did -c ba 30 | set %moderate 1 }
  if ($did(ba,30).state == 0) { set %moderate 0 }

on *:dialog:ba:sclick:102: { run botusers.txt }
alias wordcheck {
  set %twords $calc($numtok(%sonuc,32) + 1)
  if (%twords > %mvg) {
    set %blok $calc(%twords / %mvg)
    set %tamblok $calc($int(%blok) + 1)
    set %dng 1
    set %baslangic 1
    set %bitis %mvg
    while (%dng <= %tamblok) {
      set %aralik  %baslangic $+ - $+ %bitis
      set %dizgi $gettok(%sonuc,%aralik,32)
      write temp.txt %dizgi
      set %baslangic $calc(%bitis + 1)
      set %bitis $calc(%bitis + %mvg )

      inc %dng
    }
  }
  else { write temp.txt %sonuc }
  return
}
alias defs {
  if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
    set %ds 3
    set %mvg 10
    set %mva 3
    set %cp 6
  }
}

alias ara {
  window  -e @ARAMA 500 275 350 200
  clear @arama
  set %l 1 
  SET %phrase * $chr(32) $+ $1- $+ *
  ;set %md $mid(%phrase,2,1)
  ;$replace (%phrase ,%md , $upper( %md ))
  ;SET %phrase  * $+ $1-
  echo @ARAMA 4,8 ARANAN KELIME: 1,8 %PHRASE
  echo @arama 8,7 Dikkat:Bulunan Sonuçlar Kelime Düzeyinde Kesin Sonuçlar Olmayabilir.Bu çalisma sadece fikir vermesi bakimindan hazirlanmistir...
  while (%l < 115) {
    set %d1 3 - $len(%l)
    set %dosya sureler $+ \ $+ $str(0,%d1) $+ %l $+ .txt
    ;echo -a %dosya   
    ;filter -pfw %dosya @ARAMA %phrase
    filter -fwbp %dosya @arama %phrase
    if ($filtered != 0) {
      echo  @arama 4 $read(sureindex.txt,%l) ( %l )
      echo 4 @arama ---------------------------------------------------------------------------------------
      set %adet $calc(%adet + $filtered)
    }
    ;if ($filtered =! 0) echo @arama %dosya
    inc %l
  }
  echo @arama 1,8 %phrase ibaresi  %adet adet sayildi.(Bu sonuç kelime düzeyinde kesin sonuç olmayabilir)
  set %adet 0
}


uFuK 12 Şubat 2009 12:24

Cevap: bot edit
 
Alıntı:

1.)!bul sureismi yazarak @kuran penceresinde goruyor yazilari.bunun kaldirmak istiyorum.dialog var diloguda kaldirmak istiyorum
Kaldırıldı..

Alıntı:

ikinci bir uygulamada bot seklinde,kanalda !bul yazdiklarinda kullanabilecekleri komutlar siralaniyor,ona gore kanalda islem yapiliyor.bu komutu sadece gorevliler kullanabilecek sekilde duzenlemek istiyorum
Sadece kanalda @'ta olan kişiler kullanabilecek şekilde ayarlandı. İsteğine göre bir txt belgesinden nick okutacak şekilde ayarlarım, yada %,voice'lerde kullanıcak şekilde ayarlarım yazman yeterli dost.

Alıntı:

.birde code de belirli bir kullanimdan sonra sahsa baska kullanma imkani vermiyor.mesela bir kisi kanalda uc kez komut uygulayabiliyor.bu kaldirip gorevlilerin surekli kullanabilecegi bir hale getirebilirsek
O özellik durduruldu. Artık 3'den fazla yazanları ignore etmeyecek.

Kod Aşağıda;

Alıntı:

alias bekle {
mode # +m
}
alias sureler {
set %t 1
while (%t < 115) { echo 4 @kuran %t - $read(sureindex.txt,%t)
inc %t
}
}
menu channel,menubar {
-
Bot
.Açik :set %botdurum acik | echo -a bot açik | notice # Meal BOTu Kullanima Hazir | defs
.Kapali:set %botdurum kapali | echo -a Bot Kapali | notice # Meal BOTu Kapatildi
.Ayarlar:dialog -m BA BA
}

alias bulr {
set %sureno $null
set %curserver $server
set %curchannel $chan
if (($1 == $null) || ($2 == $null)) {
msg # Bul komutu formati:
msg # !bul sureadi yada numarasi ayet [bitis ayeti]
msg # Ör1:!bul taha 114 --> Taha 114. ayeti gösterir.
msg # Ör2:!bul taha 1 9 --> Taha [1-9]. ayetleri gösterir.
msg # Ör3:!bul 20 1 9 --> Taha [1-9].ayetleri gösterir.
halt
}
else {
set %sure $1
set %ayet1 $2
}
if ($3 == $null) { set %ayet2 %ayet1 }
else { set %ayet2 $3 }
if ($calc(%sure + 1) != 0) {
set %sureno $1
set %sure $read(sureindex.txt,%sureno)
goto dosyabul
}
set %sayac 1
set %topsat $lines(sureindex.txt)
while (%sayac <= %topsat) {
if (%sure == $read(sureindex.txt, %sayac)) {
write temp.txt Sure No: %sayac
set %sureno %sayac
}
inc %sayac
}
:dosyabul
if (%sureno == $null) {
msg # %sure bulunamadi.Sure ismini farkli bir isimle ya da sure numarasi kullanarak belirtiniz.Tüm surelerin listesi için /sureler yaziniz...
halt
}
set %sayiayet $read(ayetsayisi.txt,%sureno)
if (%ayet2 > %sayiayet) {
msg # Hatali Giris Yaptiniz
msg # %sure Suresi %sayiayet ayettir...
halt
}
if ((%ayet1 < 1) || (%sureno > 114) || (%ayet1 > %ayet2)) {
msg # Hatali Giris Yaptiniz...
halt
}
if ($calc(%ayet2 - %ayet1 +1) > %mva) {
msg # $nick Simdiki ayarlara göre bir seferde en fazla %mva ayet isteyebilirsniz...
halt
}
set %d1 3 - $len(%sureno)
set %dosya sureler $+ \ $+ $str(0,%d1) $+ %sureno $+ .txt

set %k 1
while (%ayet1 <= %ayet2) {
if ((%sureno == 2) && (%ayet1 == 282)) {
set %bkr 1
while (%bkr <= $lines(sureler\bakara282.txt)) {
set %sonuc $read(sureler\bakara282.txt,%bkr)
wordcheck
inc %bkr
}
goto art
}
set %sonuc $read(%dosya,w,%ayet1 $+ . $+ *)
if (%k != 1 ) goto gec
write temp.txt $upper(%sure) -- Toplam Ayet Sayisi: %sayiayet
write temp.txt Ayet: %ayet1 - %ayet2 $nick için yaziliyor...
:gec
wordcheck
:art
inc %k
inc %ayet1
}
write temp.txt -------------------------------0000------------------------ 12 [ %cp sn. durakladi ]
-------------------------------0000-----------------------------------
}
alias sureler {
set %t 1
while (%t < 115) { msg # %t - $read(sureindex.txt,%t)
inc %t
}
}
on *:playend:if (%moderate == 1) { /mode %curchannel -m }
on *:exit:unsetall
on *:disconnect:server %curserver
on *:CONNECT:/join # $+ %curchannel
on *:text:!bul*:#: {
if ($nick isop #) {
while (%botdurum == acik) {
if ( %kul == ontanimli ) {
set %usersay 1
while (%usersay <= $lines(botusers.txt)) {
if ( $nick == $read(botusers.txt,%usersay)) { set %kim 1 }
inc %usersay
}
}
if ((%kim == $null) && (%kul == ontanimli)) { halt }
else { set %kim $null }
write -c temp.txt
bulr $2 $3 $4
if (%moderate == 1) { bekle }
play $chan temp.txt $calc(%ds * 1000)
set %zaman $calc(%ds * 1000 * $lines(temp.txt) + %cp * 1000)
set %zamandur $calc(%zaman / 1000)
halt
}
}
}
dialog BA {
title "BOT AYARLARI"
size -1 -1 380 280
;combo 1,128 176 89 100,size edit drop
button "Duzenle",102,124 176 48 30
radio " ÖnTanimli",2,24 176 97 25
radio "Herkes",3,24 143 65 25
edit "",4,304 80 25 19,autohs
edit "",5,304 48 25 19,autohs
edit "",6,112 80 25 19,autohs
edit "",7,112 48 25 19,autohs
box "Kullanici Tanimlari",8,16 128 160 81
text "sn.",10,336 80 17 17
text "Duraklama Süresi",11,192 80 89 17
text " kelime",12,328 48 33 25
text "Max. Veri Gönderme",13,192 48 97 25
box " Veri ",14,178 32 193 73
text "ayet",15,144 80 25 17
text "Max. Ayet Araligi",16,24 80 86 17
text "sn",17,144 48 25 17
text "Cevap Periyodu ",18,24 48 81 25
box " Bot ",19,16 32 161 73
button "Tamam",100,126 225 50 30,ok
button "Vazgeç",101,180 225 50 30,cancel
box " Diger Ayarlar",20,179 128 193 82
check "Moderate",30,190 150 65 11,
}
on *:dialog:ba:edit:*:{
if ($did == 4) { set %ds $did(4).text }
if ($did == 5) { set %mvg $did(5).text }
if ($did == 6) { set %mva $did(6).text }
if ($did == 7) { set %cp $did(7).text }
}
on *:DIALOG:ba:init:0:{
if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
did -ra ba 4 1
set %ds 3
did -ra ba 5 1
set %mvg 10
did -ra ba 6 1
set %mva 3
did -ra ba 7 1
set %cp 6
}
if (%kul == $null) {
did -c ba 3
set %kul herkes
}
if (%kul == herkes) {
did -c ba 3
}
else {
did -c ba 2
set %kul ontanimli
}
did -o ba 4 1 %ds
did -o ba 5 1 %mvg
did -o ba 6 1 %mva
did -o ba 7 1 %cp
;did -ra ba 4 test
if ( %moderate == 1 ) {
did -c ba 30
}
}
on *:dialog:ba:sclick:100: {
set %cp $did(ba,7).text
set %mva $did(ba,6).text
set %mvg $did(ba,5).text
set %ds $did(ba,4).text
if ($did(ba,3).state == 1) { set %kul herkes }
if ($did(ba,2).state == 1) { set %kul ontanimli }
if ($did(ba,30).state == 1) { did -c ba 30 | set %moderate 1 }
if ($did(ba,30).state == 0) { set %moderate 0 }
}
on *:dialog:ba:sclick:102: { run botusers.txt }
alias wordcheck {
set %twords $calc($numtok(%sonuc,32) + 1)
if (%twords > %mvg) {
set %blok $calc(%twords / %mvg)
set %tamblok $calc($int(%blok) + 1)
set %dng 1
set %baslangic 1
set %bitis %mvg
while (%dng <= %tamblok) {
set %aralik %baslangic $+ - $+ %bitis
set %dizgi $gettok(%sonuc,%aralik,32)
write temp.txt %dizgi
set %baslangic $calc(%bitis + 1)
set %bitis $calc(%bitis + %mvg )
inc %dng
}
}
else { write temp.txt %sonuc }
return
}
alias defs {
if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
set %ds 3
set %mvg 10
set %mva 3
set %cp 6
}
}
alias ara {
window -e @ARAMA 500 275 350 200
clear @arama
set %l 1
SET %phrase * $chr(32) $+ $1- $+ *
;set %md $mid(%phrase,2,1)
;$replace (%phrase ,%md , $upper( %md ))
;SET %phrase * $+ $1-
echo @ARAMA 4,8 ARANAN KELIME: 1,8 %PHRASE
echo @arama 8,7 Dikkat:Bulunan Sonuçlar Kelime Düzeyinde Kesin Sonuçlar Olmayabilir.Bu çalisma sadece fikir vermesi bakimindan hazirlanmistir...
while (%l < 115) {
set %d1 3 - $len(%l)
set %dosya sureler $+ \ $+ $str(0,%d1) $+ %l $+ .txt
;echo -a %dosya
;filter -pfw %dosya @ARAMA %phrase
filter -fwbp %dosya @arama %phrase
if ($filtered != 0) {
echo @arama 4 $read(sureindex.txt,%l) ( %l )
echo 4 @arama ---------------------------------------------------------------------------------------
set %adet $calc(%adet + $filtered)
}
;if ($filtered =! 0) echo @arama %dosya
inc %l
}
echo @arama 1,8 %phrase ibaresi %adet adet sayildi.(Bu sonuç kelime düzeyinde kesin sonuç olmayabilir)
set %adet 0
}


uFuK 12 Şubat 2009 12:25

Cevap: bot edit
 
Yalnız kodu ben denemedim, sen dene bahsettiğin fonksiyonlardan gerçekleşmeyeni varsa buraya yaz. Yada ekstra birşey istiyorsan onuda yaz.
Herzaman yardımcı olurum sana..

QkLa 12 Şubat 2009 16:56

Cevap: bot edit
 
ben soyle duzenledim. @arama window'unu acilan bot ayar dialoglarini kaldirdim,komutu uygulamaya yetkilileride su sekilde yaptim.

if ($nick isop $chan) || ($nick == r) {

buradaki yetkili daha sonradan !ekle yetkili !sil yetkili seklinde uygulatabilirmiyiz.mesela $nick == QkLa yerine bir txt konucak bunada,

var %yetkilier.nr $r(0,10000),%yetkililer.item $2
hadd -m yetkililer %yetkililer.nr %yetkililer.tem
hsave yetkililer yetkililer.txt
msg $chan nick eklenmistir
gibi birsey

ikincisi ise code'de bulunan

if ($calc(%ayet2 - %ayet1 +1) > %mva) {
msg # $nick Simdiki ayarlara göre bir seferde en fazla %mva ayet isteyebilirsniz...
halt
}
bu kismi kaldirabilirmiyiz.suan icin zarari yok ama codeyi elimden geldigi kadar gereksiz fazlaliklardan kurtarmaya calisiyorum.

ilginiz icin tesekkur ederim

Kod:

alias bekle {
  mode # +m
}
alias sureler {
  set %t 1
  while (%t < 115) { echo 4 @kuran %t - $read(sureindex.txt,%t)
    inc %t
  }
}
menu channel,menubar {
  -
  Bot
  .Açik :set %botdurum acik | echo -a bot açik | notice # Meal BOTu Kullanima Hazir | defs
  .Kapali:set %botdurum kapali | echo -a Bot Kapali | notice # Meal BOTu Kapatildi
  .Ayarlar:dialog -m BA BA
}
alias bulr {
  set %sureno $null
  set %curserver $server
  set %curchannel $chan
  if (($1 == $null) || ($2 == $null)) {
    msg # Bul komutu formati:
    msg # !bul sureadi yada numarasi ayet [bitis ayeti]
    msg # Ör1:!bul taha 114 --> Taha 114. ayeti gösterir.
    msg # Ör2:!bul taha 1 9 --> Taha [1-9]. ayetleri gösterir.
    msg # Ör3:!bul 20 1 9 --> Taha [1-9].ayetleri gösterir.
    halt
  }
  else {
    set %sure $1
    set %ayet1 $2
  }
  if ($3 == $null) { set %ayet2 %ayet1 }
  else { set %ayet2 $3 }
  if ($calc(%sure + 1) != 0) {
    set %sureno $1
    set %sure $read(sureindex.txt,%sureno)
    goto dosyabul
  }
  set %sayac 1
  set %topsat $lines(sureindex.txt)
  while (%sayac <= %topsat) {
    if (%sure == $read(sureindex.txt, %sayac)) {
      write temp.txt Sure No: %sayac
      set %sureno %sayac
    }
    inc %sayac
  }
  :dosyabul
  if (%sureno == $null) {
    msg # %sure bulunamadi.Sure ismini farkli bir isimle ya da sure numarasi kullanarak belirtiniz.Tüm surelerin listesi için /sureler yaziniz...
    halt
  }
  set %sayiayet $read(ayetsayisi.txt,%sureno)
  if (%ayet2 > %sayiayet) {
    msg # Hatali Giris Yaptiniz
    msg # %sure Suresi %sayiayet ayettir...
    halt
  }
  if ((%ayet1 < 1) || (%sureno > 114) || (%ayet1 > %ayet2)) {
    msg # Hatali Giris Yaptiniz...
    halt
  }
  if ($calc(%ayet2 - %ayet1 +1) > %mva) {
    msg # $nick Simdiki ayarlara göre bir seferde en fazla %mva ayet isteyebilirsniz...
    halt
  }
  set %d1 3 - $len(%sureno)
  set %dosya sureler $+ \ $+ $str(0,%d1) $+ %sureno $+ .txt
  set %k 1
  while (%ayet1 <= %ayet2) {
    if ((%sureno == 2) && (%ayet1 == 282)) {
      set %bkr 1
      while (%bkr <= $lines(sureler\bakara282.txt)) {
        set %sonuc $read(sureler\bakara282.txt,%bkr)
        wordcheck
        inc %bkr
      }
      goto art
    }
    set %sonuc $read(%dosya,w,%ayet1 $+ . $+ *)
    if (%k != 1 ) goto gec
    write temp.txt $upper(%sure) -- Toplam Ayet Sayisi: %sayiayet
    write temp.txt Ayet: %ayet1 - %ayet2 $nick için yaziliyor...
    :gec
    wordcheck
    :art
    inc %k
    inc %ayet1
  }
  write temp.txt -------------------------------0000------------------------ 12 [ %cp sn. durakladi ]
}
alias sureler {
  set %t 1
  while (%t < 115) { msg # %t - $read(sureindex.txt,%t)
    inc %t
  }
}
on *:playend:if (%moderate == 1) { /mode %curchannel -m }
on *:exit:unsetall
on *:disconnect:server %curserver
on *:CONNECT:/join # $+ %curchannel
on *:text:!bul*:#: {
  if ($nick isop #) {
    while (%botdurum == acik) {
      if ( %kul == ontanimli ) {
        set %usersay 1
        while (%usersay <= $lines(botusers.txt)) {
          if ( $nick == $read(botusers.txt,%usersay)) { set %kim 1 }
          inc %usersay
        }
      }
      if ((%kim == $null) && (%kul == ontanimli)) { halt }
      else { set %kim $null }
      write -c temp.txt
      bulr $2 $3 $4
      if (%moderate == 1) { bekle }
      play $chan temp.txt $calc(%ds * 1000)
      set %zaman $calc(%ds * 1000 * $lines(temp.txt) + %cp * 1000)
      set %zamandur $calc(%zaman / 1000)
      halt
    }
  }
}
alias wordcheck {
  set %twords $calc($numtok(%sonuc,32) + 1)
  if (%twords > %mvg) {
    set %blok $calc(%twords / %mvg)
    set %tamblok $calc($int(%blok) + 1)
    set %dng 1
    set %baslangic 1
    set %bitis %mvg
    while (%dng <= %tamblok) {
      set %aralik %baslangic $+ - $+ %bitis
      set %dizgi $gettok(%sonuc,%aralik,32)
      write temp.txt %dizgi
      set %baslangic $calc(%bitis + 1)
      set %bitis $calc(%bitis + %mvg )
      inc %dng
    }
  }
  else { write temp.txt %sonuc }
  return
}
alias defs {
  if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
    set %ds 3
    set %mvg 10
    set %mva 3
    set %cp 6
  }
}


uFuK 12 Şubat 2009 19:59

Cevap: bot edit
 
Alıntı:

buradaki yetkili daha sonradan !ekle yetkili !sil yetkili seklinde uygulatabilirmiyiz.mesela $nick == QkLa yerine bir txt konucak bunada,
Halledildi.. Artık yetkililer.txt üzerinden işlem yapıcak kod.. öncelikle //run $mircdir yazıp ana dizine yetkilier.txt oluştur sonra buraya /ekle nick /sil nick /listele nick şeklindeki parametrelerle işlem yaptırabilirsin.

Alıntı:

if ($calc(%ayet2 - %ayet1 +1) > %mva) {
msg # $nick Simdiki ayarlara göre bir seferde en fazla %mva ayet isteyebilirsniz...
halt
}
Bunu zaten halletmiştim ben kod'ta ignoreyi devre dışı bırakarak. Belirttiğin bölgedeki kodu sildim.

Kod'n tamamlanmış hali aşağıda..

Alıntı:

alias bekle {
mode # +m
}
alias sureler {
set %t 1
while (%t < 115) { echo 4 @kuran %t - $read(sureindex.txt,%t)
inc %t
}
}
alias ekle {
write yetkililer.txt $2
}
alias sil {
write -d yetkililer.txt $2
}
alias listele {
var %i 1
while (%i <= $lines(yetkililer.txt)) {
/msg $active $read(yetkililer.txt,%i)
inc %i
}
}

menu channel,menubar {
-
Bot
.Açik :set %botdurum acik | echo -a bot açik | notice # Meal BOTu Kullanima Hazir | defs
.Kapali:set %botdurum kapali | echo -a Bot Kapali | notice # Meal BOTu Kapatildi
.Ayarlar:dialog -m BA BA
}
alias bulr {
set %sureno $null
set %curserver $server
set %curchannel $chan
if (($1 == $null) || ($2 == $null)) {
msg # Bul komutu formati:
msg # !bul sureadi yada numarasi ayet [bitis ayeti]
msg # Ör1:!bul taha 114 --> Taha 114. ayeti gösterir.
msg # Ör2:!bul taha 1 9 --> Taha [1-9]. ayetleri gösterir.
msg # Ör3:!bul 20 1 9 --> Taha [1-9].ayetleri gösterir.
halt
}
else {
set %sure $1
set %ayet1 $2
}
if ($3 == $null) { set %ayet2 %ayet1 }
else { set %ayet2 $3 }
if ($calc(%sure + 1) != 0) {
set %sureno $1
set %sure $read(sureindex.txt,%sureno)
goto dosyabul
}
set %sayac 1
set %topsat $lines(sureindex.txt)
while (%sayac <= %topsat) {
if (%sure == $read(sureindex.txt, %sayac)) {
write temp.txt Sure No: %sayac
set %sureno %sayac
}
inc %sayac
}
:dosyabul
if (%sureno == $null) {
msg # %sure bulunamadi.Sure ismini farkli bir isimle ya da sure numarasi kullanarak belirtiniz.Tüm surelerin listesi için /sureler yaziniz...
halt
}
set %sayiayet $read(ayetsayisi.txt,%sureno)
if (%ayet2 > %sayiayet) {
msg # Hatali Giris Yaptiniz
msg # %sure Suresi %sayiayet ayettir...
halt
}
if ((%ayet1 < 1) || (%sureno > 114) || (%ayet1 > %ayet2)) {
msg # Hatali Giris Yaptiniz...
halt
}
set %d1 3 - $len(%sureno)
set %dosya sureler $+ \ $+ $str(0,%d1) $+ %sureno $+ .txt
set %k 1
while (%ayet1 <= %ayet2) {
if ((%sureno == 2) && (%ayet1 == 282)) {
set %bkr 1
while (%bkr <= $lines(sureler\bakara282.txt)) {
set %sonuc $read(sureler\bakara282.txt,%bkr)
wordcheck
inc %bkr
}
goto art
}
set %sonuc $read(%dosya,w,%ayet1 $+ . $+ *)
if (%k != 1 ) goto gec
write temp.txt $upper(%sure) -- Toplam Ayet Sayisi: %sayiayet
write temp.txt Ayet: %ayet1 - %ayet2 $nick için yaziliyor...
:gec
wordcheck
:art
inc %k
inc %ayet1
}
write temp.txt -------------------------------0000------------------------ 12 [ %cp sn. durakladi ]
}
alias sureler {
set %t 1
while (%t < 115) { msg # %t - $read(sureindex.txt,%t)
inc %t
}
}
on *:playend:if (%moderate == 1) { /mode %curchannel -m }
on *:exit:unsetall
on *:disconnect:server %curserver
on *:CONNECT:/join # $+ %curchannel
on *:text:!bul*:#: {
if $read(yetkilier.txt,w,$nick) {
while (%botdurum == acik) {
if ( %kul == ontanimli ) {
set %usersay 1
while (%usersay <= $lines(botusers.txt)) {
if ( $nick == $read(botusers.txt,%usersay)) { set %kim 1 }
inc %usersay
}
}
if ((%kim == $null) && (%kul == ontanimli)) { halt }
else { set %kim $null }
write -c temp.txt
bulr $2 $3 $4
if (%moderate == 1) { bekle }
play $chan temp.txt $calc(%ds * 1000)
set %zaman $calc(%ds * 1000 * $lines(temp.txt) + %cp * 1000)
set %zamandur $calc(%zaman / 1000)
halt
}
}
}
alias wordcheck {
set %twords $calc($numtok(%sonuc,32) + 1)
if (%twords > %mvg) {
set %blok $calc(%twords / %mvg)
set %tamblok $calc($int(%blok) + 1)
set %dng 1
set %baslangic 1
set %bitis %mvg
while (%dng <= %tamblok) {
set %aralik %baslangic $+ - $+ %bitis
set %dizgi $gettok(%sonuc,%aralik,32)
write temp.txt %dizgi
set %baslangic $calc(%bitis + 1)
set %bitis $calc(%bitis + %mvg )
inc %dng
}
}
else { write temp.txt %sonuc }
return
}
alias defs {
if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
set %ds 3
set %mvg 10
set %mva 100
set %cp 6
}
}

QkLa 13 Şubat 2009 08:49

Cevap: bot edit
 
oncelikle ilginiz icin cok tesekkur ederim.

if $read(yetkililer.txt,w,$nick) {

kismini kanalda hem yetkililer hemde txt icerisindekiler komutu kullanabilecek sekilde degistirdim.code bot'a eklenecegi icin /ekle nick ters oluyordu, bunu !ekle nick seklinde duzenledim.tek sorunum.kanalda !bul komutunu uygulayan sahis yetkili degilse yada txt icerisinden birisi degilse ona komutu uygulamaya yetkili degilsiniz uyarisini gonderemedim.bunuda su sekilde denedim

else {
if !bul* iswm $1 {
msg $chan ..
}

ama bunu nereye koydu isem calismadi

uFuK 13 Şubat 2009 11:31

Cevap: bot edit
 
Alıntı:

alias bekle {
mode # +m
}
alias sureler {
set %t 1
while (%t < 115) { echo 4 @kuran %t - $read(sureindex.txt,%t)
inc %t
}
}
alias ekle {
write yetkililer.txt $2
}
alias sil {
write -d yetkililer.txt $2
}
alias listele {
var %i 1
while (%i <= $lines(yetkililer.txt)) {
/msg $active $read(yetkililer.txt,%i)
inc %i
}
}

menu channel,menubar {
-
Bot
.Açik :set %botdurum acik | echo -a bot açik | notice # Meal BOTu Kullanima Hazir | defs
.Kapali:set %botdurum kapali | echo -a Bot Kapali | notice # Meal BOTu Kapatildi
.Ayarlar:dialog -m BA BA
}
alias bul {
if $read(yetkililer.txt,w,$nick) {

set %sureno $null
set %curserver $server
set %curchannel $chan
if (($1 == $null) || ($2 == $null)) {
msg # Bul komutu formati:
msg # !bul sureadi yada numarasi ayet [bitis ayeti]
msg # Ör1:!bul taha 114 --> Taha 114. ayeti gösterir.
msg # Ör2:!bul taha 1 9 --> Taha [1-9]. ayetleri gösterir.
msg # Ör3:!bul 20 1 9 --> Taha [1-9].ayetleri gösterir.
halt
}
else {
set %sure $1
set %ayet1 $2
}
if ($3 == $null) { set %ayet2 %ayet1 }
else { set %ayet2 $3 }
if ($calc(%sure + 1) != 0) {
set %sureno $1
set %sure $read(sureindex.txt,%sureno)
goto dosyabul
}
}
set %sayac 1
set %topsat $lines(sureindex.txt)
while (%sayac <= %topsat) {
if (%sure == $read(sureindex.txt, %sayac)) {
write temp.txt Sure No: %sayac
set %sureno %sayac
}
inc %sayac
}
:dosyabul
if (%sureno == $null) {
msg # %sure bulunamadi.Sure ismini farkli bir isimle ya da sure numarasi kullanarak belirtiniz.Tüm surelerin listesi için /sureler yaziniz...
halt
}
set %sayiayet $read(ayetsayisi.txt,%sureno)
if (%ayet2 > %sayiayet) {
msg # Hatali Giris Yaptiniz
msg # %sure Suresi %sayiayet ayettir...
halt
}
if ((%ayet1 < 1) || (%sureno > 114) || (%ayet1 > %ayet2)) {
msg # Hatali Giris Yaptiniz...
halt
}
set %d1 3 - $len(%sureno)
set %dosya sureler $+ \ $+ $str(0,%d1) $+ %sureno $+ .txt
set %k 1
while (%ayet1 <= %ayet2) {
if ((%sureno == 2) && (%ayet1 == 282)) {
set %bkr 1
while (%bkr <= $lines(sureler\bakara282.txt)) {
set %sonuc $read(sureler\bakara282.txt,%bkr)
wordcheck
inc %bkr
}
goto art
}
set %sonuc $read(%dosya,w,%ayet1 $+ . $+ *)
if (%k != 1 ) goto gec
write temp.txt $upper(%sure) -- Toplam Ayet Sayisi: %sayiayet
write temp.txt Ayet: %ayet1 - %ayet2 $nick için yaziliyor...
:gec
wordcheck
:art
inc %k
inc %ayet1
}
write temp.txt -------------------------------0000------------------------ 12 [ %cp sn. durakladi ]
}
alias sureler {
set %t 1
while (%t < 115) { msg # %t - $read(sureindex.txt,%t)
inc %t
}
}
on *:playend:if (%moderate == 1) { /mode %curchannel -m }
on *:exit:unsetall
on *:disconnect:server %curserver
on *:CONNECT:/join # $+ %curchannel
on *:text:!bul*:#: {
if $read(yetkilier.txt,w,$nick) {
while (%botdurum == acik) {
if ( %kul == ontanimli ) {
set %usersay 1
while (%usersay <= $lines(botusers.txt)) {
if ( $nick == $read(botusers.txt,%usersay)) { set %kim 1 }
inc %usersay
}
}
if ((%kim == $null) && (%kul == ontanimli)) { halt }
else { set %kim $null }
write -c temp.txt
bulr $2 $3 $4
if (%moderate == 1) { bekle }
play $chan temp.txt $calc(%ds * 1000)
set %zaman $calc(%ds * 1000 * $lines(temp.txt) + %cp * 1000)
set %zamandur $calc(%zaman / 1000)
halt
}
}
}
alias wordcheck {
set %twords $calc($numtok(%sonuc,32) + 1)
if (%twords > %mvg) {
set %blok $calc(%twords / %mvg)
set %tamblok $calc($int(%blok) + 1)
set %dng 1
set %baslangic 1
set %bitis %mvg
while (%dng <= %tamblok) {
set %aralik %baslangic $+ - $+ %bitis
set %dizgi $gettok(%sonuc,%aralik,32)
write temp.txt %dizgi
set %baslangic $calc(%bitis + 1)
set %bitis $calc(%bitis + %mvg )
inc %dng
}
}
else { write temp.txt %sonuc }
return
}
alias defs {
if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
set %ds 3
set %mvg 10
set %mva 100
set %cp 6
}
}
Üstad, şöyle düşün bir event kullanıcaksın, text,join vs. eğer bundan sadece if $read(yetkililer.txt,w,$nick) {'n faydalanmasını istiyorsan, eventi açtığın başlıgın hemen altına koyucaksınki eventin altına koydugun tüm komutlar bundan etkilensin. Ortasına yada sonuna koyarsan çalışmayacaktır.
Alias'lardada bu böyle alias'n hemen altına ekleyeceksin.


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

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