Türkiye'nin en yeni Ultima Online, Counter-Strike, LoL, Dota 2, E-spor oyunları ve daha birçok oyunla ilgili Türkçe oyun haber, bilgi, topluluk platformu. Türkiye'nin en yeni Ultima Online, Counter-Strike, LoL, Dota 2, E-spor oyunları ve daha birçok oyunla ilgili Türkçe oyun haber, bilgi, topluluk platformu.
  • ANASAYFA
  • FORUM
  • DOKÜMAN
  • DOWNLOAD
  • DISCORD
  • İLETİŞİM
   Üye ol    Giriş
    Doküman > Ultima Online > Sphere > Script Dersi - If sorgusu

Script Dersi - If sorgusu

  • Michaell
  • July 09, 2007
  • 5 Yorumlar
  • 5.9K Görüntüleme
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...

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.



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

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



[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?


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.



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.



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


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.


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.



if (<src.account.plevel> > 2) && (<src.account.plevel> < 6)
src.sysmessage Plevelim 3,4 yada 5.
endif



if (<src.findid.i_katana> || (src.findid.i_kryss>)
src.sysmessage cantamda ya katana var ya kryss var yada ikiside var.
endif

Üye Ol veya Giriş Yap

Bu içeriğe yorum atmak istiyorsanız hemen üye olun veya giriş yapın.

Yorumlar (5)

target 2010-02-22 10:08

Emeğine sağlık süper anlatmışsınız kardeşim

No Avatar
batuusta13 2009-11-30 19:14

[b]Bir Deneme Yapayım Dedım Fakat Bilgisayarda Ultima Online Yok Scpt YAzdım Dogruluguna Karar Siz Veriniz Lütfen :) [code][ITEMDEF i_gate] name= Safe Giris id=i_teleporter [email protected] src.message @0800 [] src.message @0800 [] return 1 [email protected] if ( >= 50) src.sysmessage Hitsiniz 50 veya 50'den Az Oldugu Icin Safeye Gidemezsiniz. else src.sysmessage Hitsiniz 50'den Yuksek Oldugu Icin Safeye Varmis Bulunmaktasiniz. src.go (Safe Kordinatı) endif[/code][/b]

No Avatar
batuusta13 2009-11-30 19:06

[b]Ellerine sağlık Muthiş anlatım [/b]

Lin 2009-07-08 20:17

anlatım güzel olmuş teşekkürler.

No Avatar
xenox 2008-08-12 13:34

way be çok ii anlatmısın ellerine sağlık :)

Sadece kayıtlı kullanıcılar yeni yorum yapabilir.
Beğeni Takipçi Üye Takipçi
Benzer Sayfalar
  • Script Dersi - Events

    July 09, 2007

  • Script Dersi - Tag Fonksiyonu

    July 10, 2007

  • Script Dersi - Algoritma

    July 09, 2007

  • Script Dersi - Tag Kullanımı

    November 21, 2007

  • Script Dersi - For Döngüsü 2

    May 01, 2007



  • Son Forumlar
  • Sayfalar
  • wilddeath
    Paladin UO 500 TL 1 VS 1 PVP TURNUVASI

    Ultima Online 5 hours önce

  • Venus
    World of UO 17 Şubat'ta Yeniden Başlıyor

    Sunucular 1 weeks önce

  • wilddeath
    Paladin UO

    Sunucular 3 weeks önce

  • Nefrelius
    Yeni karakter isim kontrolü

    Sphere Scripting 3 weeks önce

  • UO Victory
    Şuan oynanacak uzun soluklu server

    Sunucular 1 months önce

  • Erlik UO
    Erlik UO II ServUO - RunUO

    Sunucular 2 months önce

  • beth
    Tc Simülasyonu Uo Server

    Sunucular 2 months önce

  • dealer666
    UO AOS PvP Free Shard

    Sunucular 2 months önce

  • Bütün bir yıl çok çalıştılar, çok fazla mücadele ettiler ve artık sona geldiler.

    ESL One Cologne 2017

    June 30, 2017

  • Activision yetkililerinin yaptığı açıklamaya göre Cod:MW Remastered, Infinite Warfare’den ayrı bir oyun olarak satılmaya başlanacak.

    Call of Duty Modern Warfare Remastered açıklandı!

    June 24, 2017

  • Artık gelenekselleşen Steam mevsim indirimlerinin en sevileninin zamanı geldi kapımıza dayandı.

    Steam Yaz İndirimi 2017 Rehberi

    June 22, 2017

  • Ultima Online için unoffical DLC

    Ultima LandFall

    June 18, 2017

  • Simple Radar - Kullanışlı ve Basit Radar

    June 03, 2017

  • CS:GO FPS Arttırma ile ilgili detaylı bilgilendirici faydalı döküman

    CS:GO FPS Arttırma ile İlgili Herşey

    May 28, 2017

  • Easy Vibrance enhancer v1.3.0.1

    May 09, 2017

  • Vibrance GUI

    March 31, 2017

Menü

ANASAYFA
FORUM
DOKÜMAN
DOWNLOAD
İLETİŞİM
Ideamedia
© 2004 - 2023 Ultima-Strike. Her hakkı saklıdır.