if $2- { ... } yani yazılan yazıda ikince kelime ve sonrası varsa parantez içindeki komutları uygula.Devamında else var zaten yani diğer drumlarda (ki buda text'in tek kelime olmasından başka seçenek bırakmıyor.
else { .. } elsede sonraki komtları uygula demek.
on *:part:#banat: {
if $nick == %ilk && %son isreg #banat {
mode #banat +v %son
}
}
Burada dedimki,banat kanalında çıkan %ilk değişkenine atatığım nick ise ve %son değişkenine atatığım nick #banat kanalında normal bir kullanıcı ise %son değişkenine atatığım nicke voice ver.Normal olarak ilk ve son değişkenlerini sorucaksın şimdi.O yüzden yazdıgım kodu sana açıklayarak aktarıyorum.
on !*:join:#banat: {
;Banat kanalına benden başka bir nick girdiğinde
if $vnick($chan,0) = 0 {
;
Kanaldaki Voice sayısını kontrol ediyorum,eğer bu sayı sıfıra eşitse
set %ilk $nick
;Giren nicki %ilk isimli bir değişkene atıyorm
mode # +v $nick
halt
}
if $vnick($chan,0) <= 1 {
;
Eğer voice sayısı sıfırdan farklı bir değerse yani bir veya birden fazla ise(Ki senin sordugun soruların cevabı burada gizli.Bunu sadece bire eşitleyip,voice sayısını 2de taratıp baska bir değişkene atayarak söylediğin sorunu ortadan kaldırabiliriz.)
set %son $nick
;Bir ve birden fazla ise nicki %son değişkenine atatım.
halt
}
}
on *:text:*:#banat: {
if $2- {
;Burayı yukarıda izah ettim
msg # $nick : Lütfen tek nick girin!
}
else {
msg #banonay $nick $1 nickinin shunlanmasını istiyor,onaylıyormusunuz ?
set %shunnick $1
;Yazdıgı birinci kelimeyi shunnick'e atatık,buda zaten shunlanacak nick.
halt
}
}
Sordgun voicesini alma işleminde shn komtunu uyguladıktan sonra | kullanarak voicesini aldırabilirsin.
|
Alıntı: |
Birde #BanAt kanalına 3 kişi giriyor... örnegin sırası ile... nick1 , nick2, nick3 ... olmak üzere sıra ile girdi diyelim bot burada ilk önce nick1 kanala girdigi için nick1 e voice veriyor... ve nick1 çıkınca en son nick3 girdiginde nick3'e voice verior oysa nick3 ten önce nick2 girmişti kanala... Ve nick3 çıkınca bot nick2'ye voice felan vermiyor onun degeri olmadıgından galiba sdece ilk ve son giren nick üzerinde işlem yapıyor...
|
Yukarıdada anlattıgım gibi kanaldaki voice sayısının 0 ile 1 ve 1den fazla oldgunda işleme koyuyor.Oradaki : if $vnick($chan,0) <= 1 { komudunda '<' işaretini kaldırırsan voice sayısı 1 oldgunda işlem yapıcaktır,voice sayısı iki ise yapmaz.Öyleyse mecburen 2 oldugu durumlarda da işlem yapıcaz, if $vnick($chan,0) = 2 ise { .. } gibi birdeki işlemleri uygulayabiliriz parantez içinde.Bunu yaptıktan sonrada PART eventinde düzenleme yapmamız gerekicek,sonra işler biraz karışacak (; Daha pratik bir yolu olucagını tahmin ediyorm ama aklıma şuan birşey gelmiyor (; Geldiği zaman yazarım,yada diğer arkadaşlar yazabilir.
Karısık oldu bu galiba ((;