|
src.tag.tagadı yazarsan sadece siler tagı.if !(<isEmpty <src.tag.tagadı>>) //Tag var ise?
src.tag.tagadı
endifŞeklinde sıfırlanır, sonuna "= 0" yada "0" eklemek sadece veriyi "0" olan sayısal değer ile değişir silmez. if (<src.dtag.tagadı>) //Tag var mı?
src.tag.tagadı
endifAncak sayısal değerler için tag yerine tag0 kullanıyoruz genellikle, çünkü tag0 sayısal değerler için yapılmış bir tag türüdür. TAG0 da belirtilen tag "default" yani varsayılan olarak "0" değerini alır, ve sadece "0" dan büyük ise tagın varlığı sorgulanır.if (<src.dtag0.tagadı>) //Tag var mı?
src.tag0.tagadi
endifŞeklinde sıfırlanır. Ancak "TAG" ile tanımlanan veri cTAG yada TAG0 ile sıfırlanamaz.
tag0.deneme "metin icerigi"gibi bir tanım da yapılabilir. Oradaki 0 esasen kontrol bölümünde önem taşıyor. if <tag.deneme>
...
endifyapıldığında tanımlı olmadığı için uyarı alınacaktır. Fakat;if <tag0.deneme>
...
endifyaptığınızda tag tanımlı değilse oradaki 0 vasıtasıyla 0 değerini içeriyormuş farz edilir ve o hata önlenir.[function tagtest]
tag.test <args>
if <tag.test> == 1
say ok.
endifbu şekilde kullanırsanız tagtest yazıp boş parametre girerseniz hata alırsınız. Çünkü değer girişi yapmadığınız için tag.test'e null değer atanmaya çalışılır, değişken tanımlanmaz ve sorgu esnasında tag.test değişkeni tanımlı olmadığı için hata alınır. Fakat;[function tagtest]
tag.test <args>
if <tag0.test> == 1
say ok.
endifyaparsanız boş değer dahi girseniz kontrol esnasında tag0.test'e oradaki 0 vasıtasıyla 0 değeri atanır ve hata önlenir.tag.denemeyaptığınızda tag.deneme diye bir değişken tanımlı olmasa dahi null değer girilerek tanımlanmaya çalışılacağı için esasen bu değişken tanımlanamayacak. Eğer tanımlı ise de değişkene null değeri atanacağı için otomatik silinecek. Mantıken aynı şeyler aslında.tag.deneme "slothere"
if <tag.deneme> == "slothere"
...
endifdiye sorgulayamazsınız. Ya da;[function tagtest]
tag.test <args>
if <tag0.test>
say ok.
endifşeklinde sorgulayamazsınız. "tagtest slothere" girdiğinizi varsayarsak bu sefer arkaplanda sayı temelli bir sorgulama yapılmak istenecek fakat değişken içeriği string'den oluşan bir değere sahip olduğu için bu hesaplanamayacak ve hata alacaksınız. Bu noktada xwerswoodx'in de dediği gibi isempty gibi aracıları kullanmak gerekiyor.[function tagtest]
tag.test <args>
if !<isempty <tag.test>>
say ok.
endif[function tagtest]
tag.test <args>
if !<isempty <tag0.test>>
say ok.
endifgibi.[function tagtest]
tag.test <args>
if strcmp('slothere','<tag.test>') == 0
say ok.
endif
[function tagtest]
tag.test <args>
if strcmp('slothere','<tag0.test>') == 0
say ok.
endifşeklinde sorgulanmalı. Sıfıra denkliğin sorgulanma sebebi ise fonksiyonun çalışma prensibi yüzünden. Metin büyükse, küçükse 1 ve -1 gibi değerler, denkse 0 değeri dönüyor bu sebeple eşitlik sorgulanıyor.[function tagtest]
tag.test <args>
sysmessage <eval <tag.test>>
[function tagtest]
tag.test <args>
sysmessage <dtag.test>"tagtest slothere" yapıldığında da 0 değeri alınacak "tagtest " yazıp değer girilmezse de. Çünkü decimal karşılıkları 0'a tekabul ediyor.
)
Çok büyük bir şey değil esasen. Dediğin gibi kazara döküman oldu.[function tagtest]
tag0.test "deneme"
serv.log <tag.test>
tag.test "deneme2"
serv.log <tag0.test> | <tag.test>
tag0.test
serv.log <tag0.test> | <tag.test>
14:30:(sphere_test.scp,4)deneme
14:30:(sphere_test.scp,6)deneme2 | deneme2
14:30:(sphere_test.scp,8)0 |çıktısı böyle olur. Tag ile tag0 ataması da yapılabilir, aynı şeyler sonuçta. tag0 da tag de aynı tag'e etki eder. Bir şey fark etmez.
)
|
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
Random Spawn sistemi yardım
Son cevap: 02-09 16:44 · Son yazan: Stark35 · Mesaj: 12 · Görüntü: 6121
|
Derleme Scriptler | 02-09 16:44 | 12 | 6121 | |
|
|
Server Açma Konusunda Yardım
Son cevap: 20-02 18:37 · Son yazan: Daedhelon · Mesaj: 14 · Görüntü: 7476
|
UO Yardım Alanı | 20-02 18:37 | 14 | 7476 | |
|
|
Debug hata yardım.
Son cevap: 28-09 18:30 · Son yazan: Gokku · Mesaj: 3 · Görüntü: 2404
|
Konsol Hataları | 28-09 18:30 | 3 | 2404 | |
|
|
Duello Hata Girmiyor Yardım
Son cevap: 01-05 21:18 · Son yazan: Eren19944 · Mesaj: 5 · Görüntü: 2433
|
Script Yardımı | 01-05 21:18 | 5 | 2433 | |
|
|
Büyünün Random Damage Silme Sorunu
Son cevap: 26-05 17:24 · Son yazan: stylez · Mesaj: 4 · Görüntü: 3544
|
Script Yardımı | 26-05 17:24 | 4 | 3544 |