Ra'
Forum Master
- Katılım
- 25 Şubat 2025
- Mesajlar
- 550
- Tepkime puanı
- 50
- Puan
- 28
Mirc scripting icerisinde neredeyse en önemli durumların icerisinde gelir.
while döngüsü oluşturmak için ilk başta bilmemiz gereken değişkenlerdir.Doğru şekilde değişken atamak gerekir.
Değişken atamak ( Değer atamak ) ;
Niçin değişken atanır denildiğinde bir çok kod yazımı sırasında istenilen veriyi sabit bir tanım üzerinde kullanıcağımız zamana kadar o tanım icerisinde barındırması için atanır diyebiliriz. Örnek verelim...
#Mylife kanalına giren bütün kullanıcılar diye bir tabir kullanırsak mirc scripting dilinde bunun karşılığı join eventinde $nick dir.Bu kanala giren nick leri tek tek bir değişken icerisinde toplamak başka bir kod ile bağlantı yapılması icin işe yarar aslında kullanım sebebi büyük ölcüde budur.
Kod:
var %:Mylife = $nick
var ile atadığımız değişken adı => %:Mylife
Değişkenin icinde barındıracağı bilgi => #Mylife kanalına giren bütün nickler ( $nick )
Var ile atanan değişkenler bilinmesi gerekir ki kullanımdan sonra otomatik olarak silinir. Yani script icerisinde veri kaydedilen kısım otomatik olarak silinir basit kod lar için kullanılması gereken en ideal durumdur tavsiye edebilirim yalnız bazı durumlarda yetersiz kalır yetersiz kaldığı durumlarda set ile değişken atamanın işe yarıyacağını söylemeliyim.
Kod:
set %Mylife = $nick
Script üzerinde atanan değişkenlerin icerisindeki bilgiler variables e eklenir ve orada tutulur var ile atanan veri kod bitiminde otomatik olarak silinir. yukarıda görüldüğü gibi set ile atanan bir değişkenin variables kısmından silinmesi için unset kullanılması gerekir yani set ile atadığımız bir değişken unset kullanılmadığı sürece o veri kalıcı olarak variables de kalır.
Kod:
unset %Mylife
Şimdi değişken atamayı öğrendiğimize göre while döngüsü oluşturmayı öğrenelim...
Kod:
alias while1 { ; while1 adında alias oluşturduk.
var %:Mylife = 1 ; var ile değişkeni atayıp 1 değeri verdik.
var %:Kod = 10 ; var ile değişkeni atayıp 10 değeri verdik.
while %:Mylife <= %:Kod { ; Döngüyü başlattık. yani atadığımız %:Mylife ın değeri %:Kod dan kücükse durumu eşitleyene kadar onu yükselt.
echo -a %:Mylife ; şartlar yerine getirildiğinde yapılacak işlem
inc %:Mylife ; inc while döngüsünde yükseltme anlamına gelir ( dec düşürmek için kullanılır. )
}
}
; ve kodu bitirdik.
Örneğin sade hali;
Kod:
alias while1 {
var %:Mylife = 1
var %:Kod = 10
while %:Mylife <= %:Kod {
echo -a %:Mylife
inc %:Mylife
}
}
Kullanım; /While1
Atanan %:Mylife ın değeri 1 ve %:Kod un değeri 10 olduğu için kod sonunda inc kullanarak Mylife ı karşısındaki değer ne ise onunla eşit olana kadar yükselt dedik. Örnek kullanıdığında 1 den 10 a kadar sayacağını görüceksiniz.
Set kullanılarak;
Kod:
alias while1 {
set %:Mylife = 1
set %:Kod = 10
while %:Mylife <= %:Kod {
echo -a %:Mylife
inc %:Mylife
unset %:Mylife
unset %:Kod
}
}
Set ile bir atama yaparsanız o değerin silinmesi için unset kullanılması gerekir aksi takdir de o değer sürekli variables kısmında kalıcaktır.
Atamalar ve while döngüsü başlatmayı öğrendik sanıyorum elimden geldiğince basit şekilde anlatmaya calıştım son bir örnek vererek konuyu bitirmek istiyorum.
while döngüsü çok kullanışlı olduğu gibi bir çok yerde alternatifi olmadığını bilinmesi gerekir yani bu işlerin icinde olmaya karar verdiyseniz bilmeniz gereken bir tanımdır. $read ile satır okutmak veya dosya icerisindeki bütün text leri yansıtmak gibi bir çok konuda tek yoldur diyebiliriz neredeyse mesela örnek vermemiz gerekirse kanalda bulunan herkese tek sefer de mesaj yazmak istiyorum sorusunun cevabı aşağıdaki gibi olmalıdır bana göre..
Kod:
alias mesajj {
var %:Mylife = 1
while %:Mylife <= $nick(#,0) {
msg $nick(#,%:Mylife) deneme.
inc %:Mylife
}
}
Kullanım;
/mesajj
İyi forumlar.
while döngüsü oluşturmak için ilk başta bilmemiz gereken değişkenlerdir.Doğru şekilde değişken atamak gerekir.
Değişken atamak ( Değer atamak ) ;
Niçin değişken atanır denildiğinde bir çok kod yazımı sırasında istenilen veriyi sabit bir tanım üzerinde kullanıcağımız zamana kadar o tanım icerisinde barındırması için atanır diyebiliriz. Örnek verelim...
#Mylife kanalına giren bütün kullanıcılar diye bir tabir kullanırsak mirc scripting dilinde bunun karşılığı join eventinde $nick dir.Bu kanala giren nick leri tek tek bir değişken icerisinde toplamak başka bir kod ile bağlantı yapılması icin işe yarar aslında kullanım sebebi büyük ölcüde budur.
Kod:
var %:Mylife = $nick
var ile atadığımız değişken adı => %:Mylife
Değişkenin icinde barındıracağı bilgi => #Mylife kanalına giren bütün nickler ( $nick )
Var ile atanan değişkenler bilinmesi gerekir ki kullanımdan sonra otomatik olarak silinir. Yani script icerisinde veri kaydedilen kısım otomatik olarak silinir basit kod lar için kullanılması gereken en ideal durumdur tavsiye edebilirim yalnız bazı durumlarda yetersiz kalır yetersiz kaldığı durumlarda set ile değişken atamanın işe yarıyacağını söylemeliyim.
Kod:
set %Mylife = $nick
Script üzerinde atanan değişkenlerin icerisindeki bilgiler variables e eklenir ve orada tutulur var ile atanan veri kod bitiminde otomatik olarak silinir. yukarıda görüldüğü gibi set ile atanan bir değişkenin variables kısmından silinmesi için unset kullanılması gerekir yani set ile atadığımız bir değişken unset kullanılmadığı sürece o veri kalıcı olarak variables de kalır.
Kod:
unset %Mylife
Şimdi değişken atamayı öğrendiğimize göre while döngüsü oluşturmayı öğrenelim...
Kod:
alias while1 { ; while1 adında alias oluşturduk.
var %:Mylife = 1 ; var ile değişkeni atayıp 1 değeri verdik.
var %:Kod = 10 ; var ile değişkeni atayıp 10 değeri verdik.
while %:Mylife <= %:Kod { ; Döngüyü başlattık. yani atadığımız %:Mylife ın değeri %:Kod dan kücükse durumu eşitleyene kadar onu yükselt.
echo -a %:Mylife ; şartlar yerine getirildiğinde yapılacak işlem
inc %:Mylife ; inc while döngüsünde yükseltme anlamına gelir ( dec düşürmek için kullanılır. )
}
}
; ve kodu bitirdik.
Örneğin sade hali;
Kod:
alias while1 {
var %:Mylife = 1
var %:Kod = 10
while %:Mylife <= %:Kod {
echo -a %:Mylife
inc %:Mylife
}
}
Kullanım; /While1
Atanan %:Mylife ın değeri 1 ve %:Kod un değeri 10 olduğu için kod sonunda inc kullanarak Mylife ı karşısındaki değer ne ise onunla eşit olana kadar yükselt dedik. Örnek kullanıdığında 1 den 10 a kadar sayacağını görüceksiniz.
Set kullanılarak;
Kod:
alias while1 {
set %:Mylife = 1
set %:Kod = 10
while %:Mylife <= %:Kod {
echo -a %:Mylife
inc %:Mylife
unset %:Mylife
unset %:Kod
}
}
Set ile bir atama yaparsanız o değerin silinmesi için unset kullanılması gerekir aksi takdir de o değer sürekli variables kısmında kalıcaktır.
Atamalar ve while döngüsü başlatmayı öğrendik sanıyorum elimden geldiğince basit şekilde anlatmaya calıştım son bir örnek vererek konuyu bitirmek istiyorum.
while döngüsü çok kullanışlı olduğu gibi bir çok yerde alternatifi olmadığını bilinmesi gerekir yani bu işlerin icinde olmaya karar verdiyseniz bilmeniz gereken bir tanımdır. $read ile satır okutmak veya dosya icerisindeki bütün text leri yansıtmak gibi bir çok konuda tek yoldur diyebiliriz neredeyse mesela örnek vermemiz gerekirse kanalda bulunan herkese tek sefer de mesaj yazmak istiyorum sorusunun cevabı aşağıdaki gibi olmalıdır bana göre..
Kod:
alias mesajj {
var %:Mylife = 1
while %:Mylife <= $nick(#,0) {
msg $nick(#,%:Mylife) deneme.
inc %:Mylife
}
}
Kullanım;
/mesajj
İyi forumlar.