UO-Dev Arama


Events Yapımı ve İf Sorgulama Açıklaması

Yazar: Qnd
Tarih: 09-09-2010 05:36


Paylaş : Paylaş

Ö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.



Yorumlar

1.   Gönderen DiabloII   09-09-2010 14:56    

Bunu alan bunları da aldı:
http://www.uo-developer.com.....ve-if-sorgusu.html#32951

2.   Gönderen berk1925   19-12-2011 04:21    

Harika Anlatmışın Ağzına Sağlık..

Oylamalar

Oylama :
Üyelerin oylama ortalaması (10 dışında) : Henüz Oylanmamış   
Oylar: 0

Benzer Sayfalar

SayfalarYorumlarGönderenTarih
Multool ile static yapımı [Video]0Mesh06-05-2011
Multool ile Static Yapımı ( Resimli Anlatım )0Pyschiqopath21-08-2010
Paperdol Yapımı [Video Anlatımlı]0Leo07-06-2010
Client Yapımı / Client Editleme0Necro30-04-2010
UO Animasyon Yapımı0TheRaskol09-08-2009

Keywords:

ultima online, RunUO, ultima online download, sphere scripting, role play, uo grafik, second age ultima, uo loop, macroman, pvp server, server kurulumu, sphere, multool, ml mulls, 56b 55r 55i, htmlgumps, client 4x, client edit, sphere release, osi, rp server, sunucular, ghost mouse, inside uo, kingdom reborn, stygian abyss, uo nasıl oynanır, mondain's legacy, age of shadows, world build, grandmaster, ultima online pvp, player dosyaları, ultima online indir, frp game, RunUO 1.0.0, razor, uo rice, hue editör, skill tools, ultima online patch, axis, world build, verdata, verdata patcher, map editör, gump editör, mul patcher, aos mulls, scriptler, anim edit, anim publish, hues mul, hosting vps, event dialog, account sistemi, skill gain, static yapımı,