|
]https://www.uo-developer.com/q-10332-tag--kullanimi.html#100751TAG = Bilgiyi tutar ve silmediğin sürece sonsuza kadar ne üzerinde uygulanmışsa kalır. Hangi bilgiyi hangi bilgileri ?[plevel 1]
makelast
[function makelast]
if !( <src.tag0._Makelast> )
src.Sysmessage @38,,1 Daha önce hiç eşya üretmemişsiniz.
elif !( <canmakeskill <src.tag0._Makelast>> )
src.Sysmessage @38,,1 Son yapılan eşya için yeteneğiniz bulunmuyor.
elif !( <canmake <src.tag0._Makelast>> )
src.Sysmessage @38,,1 Son yapılan eşya için yeterli malzemeye sahip değilsiniz.
else
src.MakeItem = <src.tag._Makelast>
src.Sysmessage @,,1 Eşyayı yapmaya başladınız.
endifBiz burada src.tag0._makelast yaptığımızda hangi bilgileri .tag._makelast ( makelast tagına kaydediyoruz) [ITEMDEF i_nioble]
DEFNAME=i_orc_mask
NAME=Maske nioble
ID=i_mask_orc
TYPE=t_armor
armor=2000
ON=@CREATE
COLOR=005a4
HITPOINTS=8000
attr=14
on=@equip
if (<src.tag.kuzu>)
src.hits 0 // burada src durumdaki kişiye tag.kuzu vermediğim için belirtiğim özellikleri alamadı
src.sysmessage Bu Maskeyi Sadece nioble takımı kullanabilir.
unequip
return 1
ENDIF[ITEMDEF i_kuzu]
NAME=kuzu KUTU
ID=i_box_wood
TYPE=t_script
ON=@Create
color=0455
ON=@Click
Src.<tag0.kuzu> /// yukarıda verdiğim dag yani aslında eventi
message @0bb2,,1 Nioble maskesi kullanmaya başlayabilirsiniz.
return 1
endifBiz burada src.tag0.kuzu tanımlamamız gerekiyor ki üstteki bütün özellikleri alalım ve daha sonra işlem bittiğinde tagı sileriz 
src.act.tag.p burada ki p ne anlama geliyor. genelde böyle kısaltmalar görüyorum nasıl düşünmek gerekir. ._ Ne anlama geliyor ?tag.sayi 1
if <tag.sayi> == 1
sysmessage ok
endifbu kod hatasız çalışır. tag.sayi tanımlıif <tag.sayi> == 1
sysmessage ok
endifbu kod da çalışır ama konsolda uyarı alırsın. tag.sayi tanımsız benzeri bir uyarı alacaksın. Bunun önüne geçmek için tag0.sayi, tag0.xxx gibi giriş yapılıyor. Çünkü o tag tanımsız dahi olsa 0 değeri geliyor oraya ve sanki 0 == 1 gibi sorgulama yapıyor. Diğer türlü <boşluk> == 1 gibi bir ifade ortaya çıkıyor ve mantıken yanlış.var.mesaj "asdasd"diye bir script altında tanımlama yaptığını varsayarsan alttaki kodu herhangi bir script altından çağırdığında o değere ulaşma şansın var.serv.b <var.mesaj>local geçici bir değişken. İş yaptığın yerde kodun çalışması bittiği an kendini imha eder.[function soyle]
local.isim "qwe"
sysmessage <local.isim>yaptığında soyle fonksiyonunu çalıştırdığında atadığın değerle birlikte tanımlanır ve fonksiyon görevini bitirdiği an o local ile başlayan tanım silinir. Başka bir scriptten kullanamazsın.[function soyle]
tag.isim "qwe"
sysmessage <tag.isim>
[function bunudasoyle]
sysmessage <tag.isim>burada bunu karakter üzerinde çalıştırırsan tag.isim kullandığın karakterde kayıtlı kalacağı için herhangi bir scriptten doğru bir src|ref ile çağırdığında erişme şansın var.[function soyle]
local.isim "qwe"
sysmessage <tag.isim>
[function bunudasoyle]
sysmessage <local.isim>ama bu çalışmaz. local.isim soyle fonksiyonu çalışıp işini bitirdiği an silindi ve bunudasoyle altında local.isim tanımlaması yapılmamış vaziyette.[plevel 1]
makelast
[function makelast]
if !( <src.tag0._Makelast> )
src.Sysmessage @38,,1 Daha önce hiç eşya üretmemişsiniz.
elif !( <canmakeskill <src.tag0._Makelast>> )
src.Sysmessage @38,,1 Son yapılan eşya için yeteneğiniz bulunmuyor.
elif !( <canmake <src.tag0._Makelast>> )
src.Sysmessage @38,,1 Son yapılan eşya için yeterli malzemeye sahip değilsiniz.
else
src.MakeItem = <src.tag._Makelast>
src.Sysmessage @,,1 Eşyayı yapmaya başladınız.
endifşimdi örnek olarak tailor menusunde bir robe yaptin bu robeyi ürettiğin zaman sana şu tagı veriyor[ITEMDEF i_nioble]
DEFNAME=i_orc_mask
NAME=Maske nioble
ID=i_mask_orc
TYPE=t_armor
///armor=2000 Modar Kullanamalısın
ON=@CREATE
COLOR=005a4
HITPOINTS=8000
attr=14
on=@equip
if (<src.tag.kuzu>)
src.hits 0 // burada src durumdaki kişiye tag.nio vermediğim için belirtiğim özellikleri alamadı
src.sysmessage Bu Maskeyi Sadece nioble takımı kullanabilir.
unequip
return 1
ENDIFBurda Kullandıgın kodlama yanliş altta belirtecem[ITEMDEF i_nioble]
DEFNAME=i_orc_mask
NAME=Maske nioble
ID=i_mask_orc
TYPE=t_armor
//armor=2000 //////////// Bu Armoru verme şansı yok eğer net olarak bu armoru vermek istiyorsan modar kullanamalısın
ON=@CREATE
COLOR=005a4
HITPOINTS=8000
attr=14
on=@equip
if !(<src.tag.kuzu>) // Eğer giyen kişide tag.kuzu Yoksa yani tag.kuzu Değeri 0 ise
src.hits 0 // Giyen kişinin hits'ini 0 yapiyorsn
src.sysmessage Bu Maskeyi Sadece nioble takımı kullanabilir.
//unequip /// Adam zaten ölmüş item üstünde durmaz çıkartmanın manası yok :)
return 1
ENDIF
src.modar +=2000 // Şeklinde 2000 armor verir
src.sysmessage Bu maskeyi başarılı bir şekilde taktınız.
on=@unequip
src.modar -=2000 /// Şekliyle 2000 armor alır[ITEMDEF i_kuzu]
NAME=kuzu KUTU
ID=i_box_wood
TYPE=t_script
ON=@Create
color=0455
ON=@Click
if (<src.dtag0.kuzu>==1) // bu iteme tıklayan kişi üzrindeki tag0.kuzu 1 e eşitsen message kısımında yazı kutunu ustunde
messaj olarak yazar
//Src.<tag0.kuzu> /// bu şekilde tag veremez yada alamazsın
message @0bb2,,1 Nioble maskesi kullanmaya başlayabilirsiniz.
return 1
endifburda kullandıgın kodda yanlisif (<src.dtag0.katana>==1)
src.sysmessage @07a1 siz daha önce katana almişsınız
Return 1
endifBu şekilde 1 tane katana alan adam 2 ciyi alamaz 

src.act.tag.p // Bu şekilde deildir yanlişin var
src.act.targp /// bu tag deil target Aldıgın Kordinat yani Position
On=@ItemCreate
Act.Tag.Staffcikardi 1 // burada Staffcikardi isimli bir tag ekledim oluşturulan eşyayaşimdi gelelim staffın çıkardığı eşyayı bulmaya ve diğerlerinden ayırt etmeye[Function esyayibul]
Local.nioble <Args> // bunu kullanmasamda olur ama Local kısmınıda aradan çıkartayım diye
Forinstances <Local.Nioble> // burada senin istediğin herhangi bir eşyayı sunucuda aratıyoruz örnek esyayibul i_katana gibi
IF (<Tag0.Staffcikardi>) // burada tüm eşyalar arasında sadece o tagı alan yani staffların çıkartığı eşyaları filtreliyoruz
Remove // ve o eşyaları burada siliyoruz
Endif
EndFormesela yukarda Local.nioble diye bir Local oluşturduk onun görevi .esyayibul functionundan sonra boşluk bırakıp yazdığın şeyleri yedeklemek mesela[Dialog test]
0,0
Resizepic 0 0 9300 200 200
DText 20 20 39 <Serv.Var.Duyuru1> // burada Duyuru1 de ne yedeklediysen o görünür.CTAG |
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
UO Landscaper kullanımı hakkında
Son cevap: 05-03 12:17 · Son yazan: Athynas · Mesaj: 1 · Görüntü: 1421
|
Muls ve Mul Editing | 05-03 12:17 | 1 | 1421 | |
|
|
TARGETF ve LIST Kullanımı Hakkında
Son cevap: 28-07 09:24 · Son yazan: 4s3d3 · Mesaj: 10 · Görüntü: 4239
|
FUNCTION & EVENTS Script Yardımı | 28-07 09:24 | 10 | 4239 | |
|
|
Tag. kullanımı
Son cevap: 14-02 12:49 · Son yazan: Nioble · Mesaj: 4 · Görüntü: 2987
|
Script Yardımı | 14-02 12:49 | 4 | 2987 | |
|
|
&&,||,! Kullanımı
Son cevap: 14-02 16:03 · Son yazan: Nioble · Mesaj: 6 · Görüntü: 3805
|
Script Yardımı | 14-02 16:03 | 6 | 3805 | |
|
|
Yönetici yazı /Sistemsel yorucu kod kullanımı
Son cevap: 06-12 02:08 · Son yazan: xrambo · Mesaj: 10 · Görüntü: 4175
|
FUNCTION & EVENTS Script Yardımı | 06-12 02:08 | 10 | 4175 |