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 Portal

      Ultima Online Portal

      Ultima Online oyununun topluluk portalı

    • 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

  • FORUM
  • DOKÜMAN
  • İNDİR
  • DISCORD 58
   Üye ol    Giriş
308
  1. Anasayfa
  2. Ultima Online
  3. Doküman
  4. Sphere
  5. Script Dersi - Stringsel
Fahrenait

Script Dersi - Stringsel

  • Fahrenait
  • Numberone
  • 2006-04-19 21:30
  • 1 Yorumlar
  • 5201 Görüntüleme
Sphere in kelimeler uzerinde işlem yapmak icin bize sundugu fonksiyonlar : 
STRCMP
STRCMPI
STRMATCH
STRTOUPPER
STRTOLOWER
STRLEN 

dir..

Buna ek olarak sphere icinde ;

StrIndexOf
StrMid
StrLeft
StrRight komutlari bulunuyor.. Fakat doğru çalıştığı soylenemez..


ilk bu fonksiyonlara genel olarak bakalım.. STRLEN, STRMATCH, STRCMP, ve STRCMPI fonksiyonların etraflarinda < > işaretleri kullanılmıyor. Digerlerinde kullanırken kullanmak zorundasınız. 

Ornegin : 
Yanlış - IF <STRMATCH( "yazi1", "yazi2" )>

Doğru - IF STRMATCH( "yazi2", "yazi2" )

STRCMP/STRCMPI 

Sözdizilimi :
STRCMP( yazi1,yazi2)
STRCMPI( yazi1,yazi2)

Bu fonksiyon 2 sözcüğün karşılaştırılmasında kullanılır.. STRCMP tam acilim olarak "String Compare" dir. Çoğu kişi test amacli 2 sozcugun esitligi olarak kullanir.. Ama aslında geri donen deger daha karmaşık.. su sekilde ;

yazi1 eşitse yazi2 ye = 0 
yazi1 düşükse yazi2 den < 0 
yazi1 büyükse yazi2 den > 0 


Garipseme sorusu ? : Ho ?? nasi yani küçük büyük ? 

Cevap : bi dk şimdi diyorsunuzki bir string nasıl birşeyden az olabilir ? string metni değilmi ? elbette öyle ama bilgisayardaki herşey sayılarla saklanır bu yüzden sayılar çok fazla önemli programlamada. stringdeki herbir karakter 0 ila 255 arasında sunulur.Strcmp nin fonksiyonu ise iki stringdeki her karaktere doğruca gitmektir ve eşit olmayanları bulabileceği kadar çabuk bulmaktır, rakamları karşılaştırır ve farkları ile döner. karakterler tabi tam istedigimiz gibi belli bir duzen icindedirler.. , A C den küçüktür ama K H dan büyüktür ve tüm büyük harfler tüm küçük harflerden büyüktür..

Genellikle bu fonksiyonu büyüktür yada küçüktür şeklinde kullanmıyoruz . nedeni ise özelliklerini pek bilmediğimizden .. Çoğunlukla 2 string in eşitliğini kontrol etmek için kullaniyorsunuzdur bu fonksiyonu.. örnek olarak bir playerin isminin "Osman" olup olmadiginin kontrolunde kullanirsiniz.

IF !STRCMP( "<src.name>", "Osman" )

tırnaklar gereksiz fakat hem acikca gostermek icin hemde icinde boşluklar bulunabilecegi icin koymamizda yarar var.

şimdi dusunuyorsunuz ki STRCMPI fonksiyonuna ne oldu.. Soyle aciklayalim sondaki I yi "case - insensitive" yani buyuk kucuk harfe duyarsiz olarak dusunun .. Boylece "A" ile "a" aynı şey olur.. Oncekinde ise nasildı ? Buyuk harfler buyuktu kucuk harflerden değilmi ? kullanimi ayni sekilde 

IF !STRCMPI( "<src.name>", "Osman" )


STRMATCH 

Sözdizimi:
STRMATCH( pattern, string )

Bu deyim STRCMPI den daha güçlüdür fakat daha yavaş çalışır.. Aynı STRCMPI gibi buyuk kucuk harfe karşı duyarsızdır.. Fakat buna ragmen geri donen deger biraz daha fazla duyarlidir. eger stringteki kelime pattern'dekine uyuyor ise true degeri doner. Uymuyor ise false doner. 

Bu fonksiyonda joker karakterler (* - ? ) ve [] kullanarak kontrol ettirebilirsiniz.. Bunları açıklayalım.. Daha sonra ornelerle gosterecegiz.

* := hersey yerine gecer.. Herhangi sayida herhangi bir karakter demektir.

? := sadece bir karakter eşleştirir. Daha fazla yada daha az eşleştirme yapmaz.

[abc] := bir karakter setini kontrol ettirir. sadece icinde a b ve c gecenlere true degeri verir.

[a-z] := oncekinden farkli olarak a ile z arasindaki harfleri kontrol ettirir. 

^ := Eger bir karakter setinin basina bunu koyarsaniz iceriginde bu karakter setinin gecmemesini istiyorsunuzdur.. [^abc] derseniz a - b ve c ye izin verilmez...

ufak da bi tablo yapmaya calisalim...

Pattern : Gecerli uyusan kelimeler:

test "Test" ,"test"

t* "test" ,"top" ,"tanjant" ,"teknik"

t??? "test", "tool", "tell"

??t? "with","both", "pati"

t[a-e]st "tast" , "tbst" , "tcst" , "tdst","test" 

t[aeiouy]] "tast","test","tist","tost","tust","tyst"

t[^a]s* "toss","tussle","test","tuscon","tis"

[^ab]* "a" yada "b" ile baslamayan hersey
[ab]* "a" yada "b" ile baslayan hersey


Asagidakiler de diger ornekler.. sınırsız cogaltilabilir..

test
t*
te*
tes*
test*
*est
[abt]???
[a-t]???
[^a-e]???
[^a-e]*

if strmatch( "Osman", "<src.name>" ) seklinde kullanildigi gibi

if strmatch( "Osman", "[os]*n") da bize true degerini vermesi gerekir..


STRTOUPPER

Sözdizimi :
STRTOUPPER(string)

String degerine girilen ifadenin tum harflerini buyuk harfe cevirir. < > işaretleriyle kullanilir.
örnek : 
<STRTOUPPER(string)> // geri donen "STRING"
<STRTOUPPER(StRiNg)> // geri donen "STRING"

STRTOLOWER

Sözdizimi :
STRTOLOWER(string)

Kullanimi ustteki gibidir. Fakat tam tersidir.. < > işaretleriyle kullanilir.

<STRTOLOWER(dehset SCRIPT YAZARim)> //donen deger "dehset script yazarim" olacaktir..

STRLEN

Sözdizimi :
STRLEN(string)

Bu fonksiyonun Eval fonksiyonu ile beraber kullanılması daha uygun olacaktir.. < > isaretleriyle kullanilir.

<EVAL strlen(dehsetim dehset)> // geri donen deger 15 olacaktir . Bosluklar da sayilmaktadir.

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 (1)
hain_kostok
hain_kostok 2009-09-11 14:53

anladim ama hayal gücü sorunsalı heralde ; kullanım alanı hakkında aklımda pek bişi oluşmadı doğrusu :D

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


Ultima-Strike Discord
Benzer Sayfalar
  • Script Dersi - Events

    2007-07-09 01:47

  • Script Dersi - Tag Fonksiyonu

    2007-07-10 15:39

  • Script Dersi - Algoritma

    2007-07-09 12:34

  • Script Dersi - Tag Kullanımı

    2007-11-21 23:56

  • Script Dersi - If sorgusu

    2007-07-09 01:40



  • Son Forumlar
  • Sayfalar
  • meahoz
    Server kurulumu Hata

    Ultima Online 4 dakika önce

  • Albatros
    NightUO

    Sunucular 21 saat önce

  • Deathwave
    UO'nun 4K remaster projesi var, grafiklere bir...

    Ultima Online 1 gün önce

  • Mortal
    UO:Nimloth Yeniden Doğuyor !

    Sunucular 2 gün önce

  • System_Error
    UO Connector Kullanım Koşulları

    Ultima Online 2 gün önce

  • Sarhos
    Royal UO

    Sunucular 4 gün önce

  • Mortal
    Son yıllarda UO tercihiniz: RP, PP (Power Play)...

    Ultima Online 5 gün önce

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

    Ultima Online 5 gün önce

  • morfin59
    Arkadaslar Potionlarin Üst üste Düsürme Nasil??

    Sphere Scripting 1 hafta önce

  • Tymaron
    Sistem Güncellemeleri: Portal, Sunucu Listesi ve...

    Duyurular 1 hafta önce

  • Lucretius
    AutoMod - AI Destekli Forum Moderasyon

    Duyurular 1 hafta önce

  • Gececi
    Üyeliği 18 yıl ve üstünde olanlar.

    Ultima Online 3 hafta önce

  • Çağdaş İLHAN
    Viox/phobos Sphere Script Pack Alınacaktır

    Sphere Scripting 1 ay önce

  • Venus
    World of UO'da Geçmişe Yolculuk Başladı

    Sunucular 1 ay önce

  • HaldiUo
    HaldiUO (Pc-Mobile)

    Sunucular 1 ay önce

  • Yeni Başlayanlar İçin Ultima Online

    2025-11-27 19:07

  • 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

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.