Öncelikle ayraç kullanım fazlalığı var, kodunuzu şu şekilde düzeltelim:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/[!.]hediye\s+\S/SAi:#: {
if $2 { msg $chan 4 $nick 1Tarafından 4 $2 1Nickine 1Hediye Yollandı. Hediyesi:4 $read(hed.txt) }
}
2. string varsa çalışacaktır.
-
Süre ekleyeceksiniz, bunu mIRC Scripting'de bir çok şekilde yapabiliriz.. Bazılarını anlatalım;
1.'si Değişken kullanımı: Değişkenlerde "u" anahtarıyla değişkene süre aktarımı yapılabilir. Örneğin,
"/set -u60 %değişken değer" kullanımı yapacak olursak, değişkenimiz 60 saniye boyunca işlem görecektir. Daha sonra silinmeye yüz tutacaktır.
-
2. si: Hash tablolarında yine "u" anahtarıyla Tablomuza belirli bir süreye dahili olacak şekilde item ekleyebiliriz. Örneğin,
"/hadd -mu60 SuLh evet evet" gibi bir kullanımda SuLh tablosuna 60 saniyelik bir evet itemi ekledik. 60 saniye sonra bu itemi bir daha göremeyeceğiz.
-
Evet bunları geçtikten sonra, mantık olarak 60 saniyelik bir değişken/item kullanımı yapıp, bunu bir if sorgusuyla süre limiti olarak kullanabiliriz.
Kodumuza önce bir değişken ataması yapalım.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/[!.]hediye\s+\S/SAi:#: {
if $2 { msg $chan 4 $nick 1Tarafından 4 $2 1Nickine 1Hediye Yollandı. Hediyesi:4 $read(hed.txt) | set -u60 %hediye kullanıldı }
}
Evet kod kullanıldığı anda %hediye değişkenini 60 saniyelik bir sürece soktuk. Şimdi yapmamız gereken "olayımız başlamadan önce" bir koşul ataması yapıp 60 saniye geçip geçmediğini sorgulatmak.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/[!.]hediye\s+\S/SAi:#: {
if %hediye { msg $chan Bu komutu 1 dakikalık zaman dilimleri içinde kullanabilirsiniz. }
elseif !$2 { msg $chan Herhangi bir nick belirtmediniz.. }
else { msg $chan 4 $nick 1Tarafından 4 $2 1Nickine 1Hediye Yollandı. Hediyesi:4 $read(hed.txt) | set -u60 %hediye kullanıldı }
}
if %hediye yaptığımız koşul bize %hediye değişkeninin o an olup olmadığını sorgulatacaktır. Varsa zaten süre bitmemiştir..
Bunu hash tabloyla da aynı şekilde yapabiliriz.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/[!.]hediye\s+\S/SAi:#: {
if $hget(hediye,evet) { msg $chan Bu komutu 1 dakikalık zaman dilimleri içinde kullanabilirsiniz. }
elseif !$2 { msg $chan Herhangi bir nick belirtmediniz.. }
else { msg $chan 4 $nick 1Tarafından 4 $2 1Nickine 1Hediye Yollandı. Hediyesi:4 $read(hed.txt) | hadd -m hediye evet evet }
}
Burada da itemimizin olup olmadığını sorgulatacak, ve aynı şekilde varsa zaten süre geçmemiş olacak, kodun kullanılmasına izin vermeyecektir..
---------------------------------
Eğer isteğiniz nickten nicke saniye limiti kullanmaksa, onun yolu da var elbet. değişken ismini %hediyeNick şeklinde yapabiliriz ve bunu sorgulatabiliriz ve/veya hash tablomuza nicki ekleyebiliriz..
Eğer %değişken içerisinde kullanacaksak, şu şekilde bir yol izleyebiliriz..
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/[!.]hediye\s+\S/SAi:#: {
if $($+(%,hediye,$nick),2) { msg $chan Bu komutu 1 dakikalık zaman dilimleri içinde kullanabilirsiniz. }
elseif !$2 { msg $chan Herhangi bir nick belirtmediniz.. }
else { msg $chan 4 $nick 1Tarafından 4 $2 1Nickine 1Hediye Yollandı. Hediyesi:4 $read(hed.txt) | set -u60 %hediye $+ $nick kullanıldı }
}
-
Hash tabloya da şu şekilde item ekleyebiliriz.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/[!.]hediye\s+\S/SAi:#: {
if $hget(hediye,$nick) { msg $chan Bu komutu 1 dakikalık zaman dilimleri içinde kullanabilirsiniz. }
elseif !$2 { msg $chan Herhangi bir nick belirtmediniz.. }
else { msg $chan 4 $nick 1Tarafından 4 $2 1Nickine 1Hediye Yollandı. Hediyesi:4 $read(hed.txt) | hadd -m hediye $nick evet }
}
------
Test etme imkanım olmadı, umarım yardımcı olabilmişimdir.