Merhaba,
1- Src kullanımı bir şeyi yapan kişi olarak düşünebilirsin.
2- Act ise src nin karşıtı olarak düşünebilirsin. tabiki kullanılan duruma göre düşünebilirsin.
Örn : bir eşyanın hit kısmına mesaj yazdıralım. Gördüldüğü gibi vuruşu yapan ve yapılan kişinin üstünde bu mesaj belirdi.
Kod:
on=@hit
src.sayu Hasar verdi.
act.sayu Hasar aldı.
Tersi durumlarda olabilir. mantık olarak aslında aynı örneğin on=@death için ölen kişi bu sefer src öldüren kişi de act oluyor.
Kod:
on=@death
src.sysmessage Öldüm
act.sysmessage Öldürdüm.
3- Targ anlaşıldığı gibi hedef alma. bunu şu şekilde kullanabilirsin. genel olarak src.targ.xxxx şeklinde kullanılıyor.
Binekler için dex deed den örnek vereyim.
Kod:
on=@Targon_char
if (<src.targ.dex> >= 200) // hedeflediğin objenin dexi 200 den büyükse
src.sysmessage @07a1,,1 <src.targ.name> en fazla 200 dex yapabilirsiniz // hedefin ismi ve mesaj
return 1
endif
if <src.targ.istevent.e_horses> || <src.targ.istevent.e_ostards> // hedefin eventini sorgulama
src.targ.dex +=10 // hedefe dex verme
remove
else
src.sysmessage @07a1,,1 Bu bir binek degil.
endif
return 1
4- Cont kullanımı, bunu eşyanın src si gibi düşünebilirsin. fakat eşyada kullanırken bunu kullanan için tetikleniyor.
bir eşya düşünelim robe mesela
Kod:
ON=@EQUIP
TRIGGER @TIMER
ON=@TIMER
TIMERd=30
CONT.HITS +=1 // eşyayı kullanan kişiye +1 hp verir.
IF (<CONT.HITS> > <CONT.maxhits>)
CONT.HITS = <CONT.maxhits>
ENDIF
RETURN 1
peki cont.hits yerine src.hits olsaydı eşya üzerinde.
Kod:
ON=@EQUIP
TRIGGER @TIMER
ON=@TIMER
TIMERd=30
src.HITS +=1 // eşyanın durabilitysi ( hitpointi ) +1 artardı.
Topobj de eşyayı kullanan kişi üzerinde etki gösteriyor.
robeyi giydin diyelimki
Kod:
ON=@EQUIP
TRIGGER @TIMER
ON=@TIMER
TIMERd=30
topobj.message test // oyuncu üzerinde test yazısı yazar.
5- uid.x şöyle açıklayalım
Kod:
serv.list.test.add = <src> // src nin adı nioble olsun uidside 0ead3 olsun mesela
message <uid.<serv.list.test.0>.name> // bu komuttan 6. sorduğun soruyuda cevaplayalım.
Kod:
message <uid.<serv.list.test.0>.name> // matematikdeki gibi önce parantez içi yapılır.
<serv.list.test.0> // burada listenin en başında kim vardı. <src> yani nioble ismi
<uid.<serv.list.test.0>> // uid tek başına mesajda neyin uid si olduğunu bilmiyor. bu şekilde olursa uid.nioble olacak. ıda 0ead3 yanıtını vercek.
<uid.<serv.list.test.0>.name> peki burada 0ead3 ü biliyoruz peki mesajda bunu verirsek oyuncu anlamaz. bunun adı ne diye ekliyoruz. 0ead3 ün adı Niobleye eşit. ve mesaj olarak Nioble yazısı geliyor.
6- <> bu parantezler bulundukları parantezleri etkiliyor yukarıda anlattığım gibi.
mesela bir adamımız olsun adı test olsun. buna tıkladık.
Kod:
on=@click
message test
return 1
Kod:
on=@click
message <name> // name zaten test di
return 1
7- Eval kullanımı örnek vereyim. bir şeyin sayısal değerini tanımlamak için kullanılır.
Kod:
tag.deneme = 80 // tagımızın değeri 80 olsun burada sayı yerine harf de olabilir. tag.deneme = test gibi
if ( <tag0.deneme> >= 50 ) // burada tag 50 den büyükse diye bi sorgu ekledik fakat sphere hata verdi. tag.deneme sayı değil harf de olabilirdi çünkü.
if ( <eval <tag0.deneme>> >= 50 ) // 80 > 50 doğru. Sayısal değere dönüştürdüğü için şimdi hata mesajı gelmeyecek.
8- src.restest çantadaki bir eşyanın oyuncuda olup olmadığını sorgular.
Kod:
IF ( <src.restest 5000 i_gold> ) // çantanda 5 k para varmı yokmu onu sorguluyoruz.