Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor. Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor.
  • ANASAYFA
  • ULTIMA ONLINE
    • Ultima Online Oyuncu Rehberi

      Ultima Online Oyuncu Rehberi

      Oyunu hakkında tanıcı bilgiler ve ipuçları

    • Ultima Online Server List

      Ultima Online Server List

      Önemli özellikleri ve online oyuncu sayıları

    • Ultima Online Script

      Ultima Online Script

      Sphere, RunUO, Razor scriptleri

    • Ultima Online Forum

      Ultima Online Forum

      UO hakkında görüş alışverişi

  • FORUM
  • DOKÜMAN
  • İNDİR
  • DISCORD 29
   Üye ol    Giriş
191
  1. Doküman
  2. Ultima Online
  3. Sphere
  4. Dizi (Array) Mantığı
Slothere

Dizi (Array) Mantığı

  • Slothere
  • Slothere
  • 2011-08-23 13:13
  • 2 Yorumlar
  • 5021 Görüntüleme
programlama dillerinde olduğu gibi sphere emülatörü altında da dizi kullanımı son zamanlarda oldukça arttı. fakat genellikle düz mantık veya ayriyetten yazılmış fonksiyonlar ile kullanılıyor. sphere emülatörü altından dizi (array) kullanımında ekstra fonksiyonlara ihtiyacınız yoktur. anlatacağım yöntem ile tüm scriptlerinizde etkin olarak dizi yöntemini basit ve kullanışlı şekilde kullanabileceksiniz. önceden hazırlıklı olmak için aşağıdaki bağlantıda bulunan dökümandaki temel kullanım kısmını iyice anlamış olmanız gerekmektedir.

https://www.ultima-strike.com/dokuman/temel-string-tanimlamalari

öncelikle dizi tanımı ile konuya girelim. dizileri en basit haliyle verileri içlerinde barındıran kümeler gibi tanımlayabiliriz. örnek olarak isimler dizisi tanımlamak istiyorsunuz. yapmanız gereken isimler adlı bir küme oluşturup o kümenin elemanları olarak belirttiğiniz isimleri atamaktır.

örnek:

isimler = {ali,mehmet,ahmet}

burada basitçe 3 elemanlı bir küme oluşturmuş olduk. programlama dillerindeki dizi de hemen hemen aynı şekilde, aynı mantıkla işlemektedir. fakat bilinmesi gereken birkaç ufak ayrıntı ile mantık vardır. programlama dillerinde dizi tanımlaması dilin özelliğine göre değişmektedir. biz sphere emülatörü altından kullanacağımız için bundan sonraki örnekleri sphere altından göstereceğim.

sphere altında dizileri tanımlamak kısmına gelelim. belirttiğim gibi diziler benzer elemanları içerisinde barındıran kümelerdir. ilk olarak dizinin barındıracağı elemanları ve bu elemanların kullanım alanlarını iyi planlamamız gereklidir. her sistemde dizi kullanmak bazen gereksiz olabilir. basitçe normal değişkenler aracılığı ile yapabileceğiniz işlemleri dizi ile yapmamanızı öneririm.

sphere altından basitçe dizi tanımlamak için elemanların arasına virgül koymamız yeterlidir. örnek olarak üstteki örneği sphere altında tanımlamak için aşağıdaki kodları kullanabiliriz.

local.isimler = ali,mehmet,ahmet

bu şekilde yaptığımız bir tanımı bir dizi olarak ele alabileceğimiz gibi bütün halinde bir metin olarakta ele almamız mümkündür. her virgül ile ayrılan metin dizi olacak diye bir kural yoktur. dizi sizin kullanım yeriniz ve hayal gücünüze göre şekilenecektir. farklı tanımlamalar yapabilirsiniz fakat bunun sphere'da en temel kullanımı ve bence en sağlıklısı virgül kullanımıyladır.

tanımlanan dizideki elemanlara ulaşmak ve bu verileri gösterme kısmına gelelim. en başta da bahsettiğim gibi genellikle bu iş için ekstra fonksiyonlar yazılır, çizilir, kullanılır. fakat sphere altından ufak bir hile ile bunca zahmete girmeden basitçe verilerinize dilediğiniz gibi erişmeniz mümkündür.

dizi mantığında verilere erişebilmeniz için index mantığına aşinâ olmanız gerekmektedir. index basitçe elemanların bulunduğu konumların sayısal karşılığıdır. bu karşılık sayesinde elemanlarınıza rahatça erişmeniz mümkündür. örnek olarak döngü kullanımlarında çok işinize yarayacaktır. index numaraları 0'dan başlar. eklenen her eleman bir öncekinin bir numara fazlası ile numaralandırılır. yukarıdaki tanımladığımız basit dizide 3 eleman olduğunu görüyoruz. buradaki numaralandırmayı örnek olarak gösterecek olursak;
-ali 0 numara,
-mehmet 1 numara,
ahmet'te 2 numaralı index'e sahiptir. elemanlara erişimde bu numaralara dikkat edeceğiz.

burada dikkat edilmesi gereken basit bir nokta vardır. dizilerdeki eleman sayısı dizinin eleman sayısını verir, son index numarasını değil. son elemana ulaşmanız için bu rakamın bir eksiğini almalısınız, çünkü index numaraları 0'dan başlayıp birer birer artar. böylece 3 elemanlı bir dizideki son index numarası 2 olacaktır (0,1,2).

index numaralandırmasını da öğrendiğimize göre dizi mantığının artık basit şekilde kafamızda şekillenmiş olması gerekiyor. eğer kafanızdaki şekillendirme aşağıdaki resimdeki gibiyse dizi mantığını anlamaya yakınsınız, eğer bu şekilde değilse dökümanı baştan okumanızı öneririm.



evet geldik en can alıcı noktaya, verileri kullanmak. bunun için sphere'ın temel sözdizimlerinden bir tanesi olan args'ı kullanacağız. args bildiğiniz gibi girilen metinleri argüman olarak ele alıp çeşitli şekillerde kullanmamızı sağlar (bknz. temel string tanımlamaları dökümanı, temel kullanım bölümü). bizim elimizde şu an local.isimler adı altında tanımladığımız bir dizimiz bulunmaktadır. bu dizimizdeki elemanlara ulaşmamız ve veriyi işleyebilmemiz için öncelikle args'a atıyoruz.

args = <local.isimler>

bu atmadan sonra dökümanda da bahsettiğim şekilde veriyi dilediğimiz gibi şekillendirip kullanma imkanına sahibiz artık. dizilerimizde ayraç olarak virgülü kullandığımız için elemanlara ulaşmamız çok daha basit bir hal almış durumda. artık elemanlarımıza <argv[elemanın index numarası]> şeklinde erişme imkanımız var. mesela 1. eleman olan mehmet'e erişmek için aşağıdaki kodları kullanacağız.


args = <local.isimler>
sysmessage merhaba <argv[1]>

burada çıktı merhaba mehmet olacaktır, çünkü belirttiğimiz sözdiziminin 1. elemanına karşılık gelen veri mehmet olarak tanımlanmış vaziyette. ekstra hiç bir fonksiyon ve yöntem kullanmamıza gerek kalmadan basitçe bir dizi tanımlayıp buradan dilediğimiz veriyi aldık. gayet basit değil mi?

burada ayriyetten en çok karşılaşılan yanlışlardan birisini de belirtmek istiyorum. args'ı fonksiyonlarınızda, itemlarınızda, dialoglarınızda heryerde kullanabilirsiniz. args temel bir sözdizimi olduğundan kaynak belirtmeksizin anlık olarak kullanabilirsiniz.

basitçe dilimin döndüğü kadar (uykulu şekilde) sizlere sphere'da dizi kullanımını anlatmaya çalıştım. faydası olabileceğini düşündüğüm için böyle bir paylaşım yapma ihtiyacı duydum, umarım bazı konulardaki tabulara yıkmaya vesile olur.

Değerlendirmeler

0 (0)

0 Kullanıcı

Üye Ol veya Giriş Yap

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

Discord ile Bağlan
Twitch ile Bağlan
Steam ile Bağlan
Google ile Bağlan
Yorumlar (2)
Morego Avatar
Morego 2011-09-15 12:47

Elinge Saglık

Aldarson Avatar
Aldarson 2011-08-23 15:28

eline sağlık

Sadece kayıtlı kullanıcılar yeni yorum yapabilir.


Ultima-Strike Discord
Benzer Sayfalar

Bulunamadı.



  • Son Forumlar
  • Sayfalar
  • Nefrelius
    Alcor UO Reborn

    Sunucular 3 gün önce

  • System_Error
    Client Patlaması

    Ultima Online 6 gün önce

  • georgm15
    CS2 turnuvaları tartışmalı başladı.

    Counter-Strike 2 1 hafta önce

  • georgm15
    Counter-Strike 1.6 İndir - Tek Link Hızlı-

    Counter-Strike 1 hafta önce

  • Robellious
    Üyeliği 15 yıl ve üzerinde olanlar.

    Ultima Online 1 hafta önce

  • Cihangir algın
    Razor Kullanımı

    RunUo Scripting 3 hafta önce

  • Lucretius
    Rampage Pvp

    Sunucular 3 hafta önce

  • Lucretius
    Nephilim Pvp

    Sunucular 3 hafta önce

  • redi4817
    NightUO

    Sunucular 3 hafta önce

  • Cengiz MERDİT
    Sphere 56T Nightly Sürümü

    Ultima Online 1 ay önce

  • aygun
    Esgaroth UO

    Sunucular 1 ay önce

  • deonist
    Alysa Pvp ( Aktif ! )

    Sunucular 1 ay önce

  • mthN
    Nebula Uo gerçekleri

    Ultima Online 2 ay önce

  • buffa
    Kullanılması Gereken Rate Ayarları

    Counter-Strike 2 ay önce

  • Lucretius
    Aktif Satılık Server !

    Sunucular 2 ay önce

  • Skill seçimlerinizi planlamak artık çok daha kolay

    Ultima Online Karakter Yapılandırma Aracı Bölümü Açıldı!

    2024-10-31 22:47

  • Ultima Online topluluğu, ClassicUO'nun sadece web client olarak kullanılabileceğinin açıklanmasının ardından tepkili.

    Resmi UO, Oyuncuları İkiye Böldü: Web Client Yeterli mi?

    2024-10-14 17:45

  • Ultima Online, ClassicUO ile resmi işbirliği yapıyor! Performans iyileştirmeleri, geniş oyun penceresi ve daha fazlası geliyor.

    Ultima Online, ClassicUO ile Resmi İşbirliğine Gidiyor

    2024-09-26 14:21

  • Centred#

    2024-07-08 22:50

  • CentrED+ 7.9

    2024-07-08 22:34

  • Distance(uzaklık) Sorgusu Hakkında

    2024-06-19 22:05

  • UoFiddler

    2024-06-01 02:19

  • UoFiddler ile Map Kopyalama

    2024-05-31 21:17

Menü
  • ANASAYFA
  • FORUM
  • DOKÜMAN
  • İNDİR
  • İLETİŞİM
  • Bağlantılar
  • CS 1.6 indir
  • CS 1.6 Türkçe
  • CS 1.6 Bot
  • CS 1.6 CFG
  • CS 1.6 Rate Ayarları
  • UO Server
  • Ghost Mouse indir
  • FPS Nedir?
  • Ultima Online PVP Server
  • Makroman
  • UO Karakter Yapılandırma
    © 2004 - 2025 Ultima-Strike. Her hakkı saklıdır.