Öncelikle selamlar;
Size event vermeyi ve nasıl yapıldığını anlatacağım,
Örneklerle anlatayım.
Kod: [events e_uodeveloper]
şuanda e_uodeveloper diye bi event yarattık bunu npc'e verebilmek için;
Kod: TEVENTS=e_uodeveloper
Npc'den silebilmek için;
Kod: TEVENTS= -e_uodeveloper
Playera vermek için ise;
Kod: Events +e_uodeveloper
Playerdan Event silmek için;
Kod: Events -e_uodeveloper
İf sorgusu ile eventi şu şekilde kontrol ettiririz;
Kod: if (<isevent.e_uodeveloper>)
İf Sorgusu nedir? ;
If sorgusunu ilk görünüşte karışık gibi dursa da.Mantığını anladıktan sonra çok basit bir hal alır.
İf oyunda sorgulama yapmaya yarar.
İlk önce sorgudaki terimleri öğrenerek başlayalım...
Kod: if = eğer anlamına gelir.sorguyu bu terim ile başlatırız.
Else = Başka anlamına gelir.if de belirtilen sorgulamanın tam tersi demektir.(Örneklerde daha çabuk anlayacaksınız)
Elseif = if içerisinde başka bir sorgulama yapmanızı sağlar.
Endif = if sorgulamasını kapatır.
< küçüktür
> büyüktür
= eşittir
>= hem büyüktür, hem eşittir
<= hem küçüktür, hem eşittir
!= eşit değildir
! , || , && gibi terimleri örnek verdikten sonra açıklayacağım...
basit bir örnek verelim.
Kod: [function deneme]
if (<src.kills> < 7)
src.sysmessage Kill sayiniz 7den kuçuk.
else
src.sysmessage Kill sayiniz 7den buyuk
endif
Bu if sorgulamasını açıklamadan önce Türkçe sini size yazmak istiyorum.Böylece daha kolay anlayacaksınız.
Eger killsim kucukse 7 den
bana kill sayiniz 7den kucuk diye mesaj ver
değilse
bana kill sayiniz 7den buyuk diye mesaj ver
ve sorgulama biter.
verdiğimiz örnekteki satırları tek tek açıklayalım.
Kod: function deneme] // Deneme diye bir komut yaptık
if (<src.kills> < 7) // burada killimizin 7den küçük olup olmadığını kontrol ediyoruz.
src.sysmessage kill sayiniz 7den kucuk // Burada Killimizin 7 den küçük olduğunu bildiriyoruz.
else // burada ifin tam tersi için işlem yapıyoruz.yani killsi 7 den küçük olmayan kişiler için işlem yaptıracağız.
src.sysmessage Kill sayiniz 7den buyuk // Burada Killimizin 7 den büyük olduğunu bildiriyoruz.
endif // Ve bardada ifi kapatıyoruz.
Elseifden bahsetmek istiyorum.
Kod: [function deneme]
if (<src.kills> == 7)
src.say 7 kilim var
elseif (<src.kills> == 6)
src.say 6 kilim var
elseif (<src.kills> == 5)
src.say 5 kilim var
else
src.say kilim 7,6,5 değil
endif
Burada sphere bize bir kıyak geçmiş elseifi yapmış elseif olmasaydı o sorgulamalar için ayrı ifler açmak zorundaydık ve hepsine endif vermek zorundaydık..
yani elseifi if sorgusu içerisinde kullanabilirsiniz.Onun için ayrı bir endif yazmanıza gerek yoktur.
Yukarıda ne yaptık?
Killsi 7 ise bildiriyor. 6 ise bildiriyor. 5 ise bildiriyor.7, 6 yada 5 değilse bildiriyor.
Şimdi yukarıda verdiğim ! , && , || karakterlerine geçeyim.
! den başlayalım.
Yukarıda öğrendiklerimizle benim killsim 7 değilse yi nasıl yaparız.Şöyle yaparız dimi?
Kod: if (<src.kills> == 7)
else
src.say killim 7 degil
endif
Sphere bordada bize kıyak geçmiş ! bunu yapmış.yukarıda verdiğimiz örneği ! terimini kullanarak şu şekilde yaparız.
Kod: if !(<src.kills> == 7)
src.say killim 7 degil
endif
Evet gördüğünüz gibi if den sonra ! kullanarak ifi tam tersine çevirdik.Yani ! karakteri else ile aynı görevi yapıyor.
&& dan bahsedelim birazda.
Yukarıda öğrendiklerimize göre kişinin hem famesi hem karması hem killsi 10 ise işlemini nasıl yaparız.
Kod: if (<src.fame> == 10)
if (<src.karma> == 10)
if (<src.kills> == 10)
src.say Famem karmam killim 10
endif
endif
endif
Evet bu şekilde yaparız dimi.&& sayesinde bunları tek bir if de toplayabiliyoruz...
Kod: if ((<src.fame> == 10) && (<src.karma> == 10) && (<src.kills> == 10))
src.say famem karmam killim 10
endif
NE kadar pratik dimi Yani && birleştirmeye yarar.Yukarıda famesi,killsi,karması 10 ise olarak kullandık.
Yani Kill,fame,karma 10 ise oyle işlem yapacaktir.
Ve son terimimiz olan || ya geldik.
Buda && gibi birleştirmeye yarar fakat biraz daha farklı.
&& da fame karma kills 10 olması gerekiyordu || ile birleştirirsek 3 unden biri 10 olursa işlem yapacaktır.
Örnek verelim.
Kod: if ((<src.fame> == 10) || (<src.karma> == 10))
src.say famem yada karmam 10 yada ikisi de 10 :)
endif
&& de illa fame ve karmanın 10 olması gerekirken.|| da ikisinden birinin olması yeterli olacaktır.
Yani && verdiğiniz tüm seçeneklerin olmasını isterken. || verdiğiniz seçeneklerden en az birinin olmasını kabul eder.
|| ve && den birer örnek daha vereyim.kendiniz açıklamaya çalışın.Ve kendiniz sık sık if sorgusu kullanarak scpler yazın.
Kod: if (<src.account.plevel> > 2) && (<src.account.plevel> < 6)
src.sysmessage Plevelim 3,4 yada 5.
endif
Kod: if (<src.findid.i_katana> || (src.findid.i_kryss>)
src.sysmessage cantamda ya katana var ya kryss var yada ikiside var.
endif
Kişide olan eventleri görebilmeniz için oyun içerisinden .show events komutunu kullanırız.
Şimdide eventle ne yapabiliriz, trigger kullanmayı göstereceğim;
Kod: [events e_uodeveloper]
src.say event var
return 1
bu şekilde çalışmaz, buna vurduğunda tıkladığında gibi yapmak zorundasınız.
Kod: [events e_uodeveloper]
on=@Click
message Bana bir defa tıkladın
Trigger dediğimiz şey on=@ ile başlayan şeylerdir. bi event yazalım, oyun'a girdiğinde stara gitsin
Kod: [events e_uodeveloper]
on=@login
src.go star
src.sysmessage stara hoşgeldiniz.
Event hakkında bi bilgi daha vereyim, örneğin ; ( Sunucu Adı yetkili ) yazan şey bi eventtir.
Kod: [events e_gm]
On=@Click
Message [<serv.name> yetkili]
Message <name>
Return 1
On=@Dclick
if (<src.account.plevel< < 2)
Src.sysmessage stafflarin görüntüsünü acamazsiniz.
Return 1
Not; İf Sorgusu Alıntıdır, Event Anlatımı Uo-Developer İçin Hazırlanmıştır.
|