dw4yne :
60 saniye sonra komutu bu şekikde kullandırtabilirsin.
Kod:
timerf 60,deneme
deneme komutu altında var ile komutun kullanılıp kullanılmadığını sorgulatabilirsin.
Kod:
[function deneme]
if (<var.deneme> = 1)
src.sysmessage @07a1,,1 zaten kullanılmakta.
else
xxx / işlemler
var.deneme 1
Şimdi aslında bunu yapmanın bir çok yolu var, birinci ve en basit yol, yukardaki gibi yapmaktır, ancak yukardaki kodda bir kaç hatayı düzeltmek gerek, çünkü 60 sn sonra komutun tekrar aktif olması için var tanımlamasının silinmesi gerekmekte. Ayrıca if değişkeninin kapatılması şart ek olarak eşitlik sorgularında çift eşittir işareti kullanmak daha sağlıklı olacaktır. Ancak eşitlik yerine 1 ve 0 değişkenleri varlık ve yokluğu gösterdiğinden direkt olarak <dvar.deneme> sorgusu yada !<isempty <var.deneme>> gibi sorgularda yapılabilir.
Kod:
[function deneme]
if (<var.deneme> == 1)
src.sysmessage @07a1,,1 zaten kullanılmakta.
else
xxx / işlemler
var.deneme 1
timerf 60, var.deneme 0
endif
Bu işin diğer bir yoluna gelirsek eğer ki bir komut bir eşyaya etki edecekse, misal olarak .deneme yazınca atıyorum katana hakkında bilgi alınacaksa, direkt olarak eşya üzerinden tag verilerek yani argo.tag.deneme=1 (Burada argo target edilen eşyaya aittir - TimerF kullandığını var sayarsak.)
Kod:
[Function deneme]
sysmessage Kullanacağınız eşyayı seçiniz.
targetf f_deneme
[Function f_deneme]
if <argo.dtag.deneme> == 1
sysmessage Bu kullaniliyor...
else
xxx
argo.tag.deneme 1
timerf 60, argo.tag.deneme 0
endif
3. yol ise en karmaşık yoldur, bir kişide event veya tag olduğunu kontrol etmek. Diyelim ki bir kişi bu komutu kullandı bu kişiye bir tag veya event verilebilir böylece başka biri bu komutu kullanınca tüm sunucudaki aktif oyuncular üzerinde tarama yapılır ve eğer başkasında bu event yada tag var ise aktif olduğu söylenir, forclients yada forplayers 2 sinden biri sadece online oyuncuları dikkate alıyordu, bu döngü üzerinden gidilebilir, uzun zamandır 2 komutuda kullanmadığım için komutu şimdi yazamam ama 1. yol en basit yoldur.
Dipnot: Eğer 1. komutu kullanırsan ve eğer başka biri komutu kullandığı zaman kimin kullandığınıda göstermek istersen, var değişkenini kişinin uidi olarak belirleyip sorguları isplayer üzerinden yapabilirsin.
Kod:
ref1=<var.deneme>
[Function deneme]
if (<ref1.isplayer>)
src.sysmessage @07a1,,1 Bu komut zaten <ref1.name> tarafından kullanılmakta.
else
xxx / işlemler
var.deneme <uid>
timerf 60,var.deneme 0
endif