|
[typedef t_mark_yasak]
[itemdef i_mark_yasak]
defname=i_mark_yasak
id=i_crystal_green
type t_mark_yasak
name Mark Engelleyici
layer layer_special
on=@create
timer -1
color=0935
attr=080|010
tag0.silinmez=1
on=@timer
return 1
on=[url=u-destroy-527.html]@destroy[/url]
if (<tag0.silinmez>==1)
return 1
endif
on=@pickup_ground
src.sysmessage @07a1 Elleme At Kafası
return 1
//////////////////////////////////////
On=@SpellCast
if <argn> == 45
foritems 100
if <baseid>==i_mark_yasak
//if <distance>==< 50
src.sysmessage @07a1 bu alanda mark yasak <distance>
src.f_fizzle
return 1
endif
endfor
Axuare :Type def Olusturmasini sebibi Belki Sorgusunu Yeni Type uzerinden yapcak arkadaş Mesela Sphere spell Mark'ın içine
Script olduğuna faul, mesela;
Niye ayrı bir typedef açma ihtiyacı duydun ?
Niye bir layer tanımlası ihtiyacı duydun ?
Niye bir On=@destroy kullanımına ihtiyaç duydun ?
Benim script bilgim malesef zaten çok ileri seviye değildi ama şuanda o bile yok.
Ama şöyle bir yol izlenebilir, tavsiyem.
Bir item oluştur, sade olsun mümkünse // attr tanımlamaları olsa yeter bence.
Sorgusunuda öyle fix scripti içinde değil , direk spellin kendi içerisinde (sphere.spells olması lazım tam hatırlamıyorum)
sorgulat. Örnek olarakta mesela duvar silici scriptler vardı, onları baz alarak yapabilirsin. // sonuçta aynı mantık.
Bir de xwerswoodx var, o görürse daha detaylı, yeni sorgulara uygun birşeyler yapabilir.
ON=@EFFECT
IF (<SRC.ISNEARTYPE T_MARK_YASAK <DDEF.MARKYASAK>>)
src.sys_kirmizi Bu alan işaretlenemez. <dDef.markyasak> kare sınırı vardır.
src.f_fizzle
RETURN 1
endifOn=@destroy da olusturmus fakat Tag0.silinmez die bir sorgu gecmis dikkat edersen Altina bir sysmessage olusturup Stafflar koydugu yerdeki itemi silmeye calisirsa itemin tag0.silinmez 1 E eşitse eğer itemin silinmesi yerine Sysmessage gecmesini istedigi icin olabilir... örenkon=[url=u-destroy-527.html]@destroy[/url]
if (<tag0.silinmez>==1)
src.sysmessage @07a1 bu itemi silmek yasaktir.... GİBi
return 1
endifSonuc olarak Sphere def'in icine Markyasak 10 Yazarsin 10 kare içerisinde mark yapilmamasini istiyorsanon=@select
IF (<SRC.ISNEARTYPE T_MARK_YASAK <DDEF.MARKYASAK>>)
src.sys_kirmizi Bu alan işaretlenemez. <dDef.markyasak> kare sınırı vardır.
src.f_fizzle
RETURN 1
endifBu senin işini görüür
on=[url=u-destroy-527.html]@destroy[/url]
SRC.SYSMESSAGE @,,1 Bu itemi silemezsiniz.
RETURN 1Bu şekilde yapılsa ne fark ediyor ?[TYPEDEF T_MARK_YASAK]
on=@pickup_ground
if (<src.account.plevel> < 7)
src.sysmessage @38,,1 Bunu yapmaya yetkiniz bulunmuyor.
return 1
endif
[ITEMDEF i_mark_yasak]
DEFNAME=i_mark_yasak
NAME=Mark Engelleyici
ID=i_crystal_green
TYPE=t_mark_yasak
weight 60000
on=@create
color 0bb7
attr attr_static|attr_invis
timer=-1
on=@click
message @33,,1 [Bu eşyaya dokunmayın]
message @0790,,1 50 karelik çember'in marklanmasını engeller.
message @64,,1 [<name>]
return 1Sphere_spells.scp kısmında Mark büyüsünün start kısmının altına eklenecek bölümon=@START
foritems 50
if (<baseid> == i_mark_yasak)
src.sysmessage @38,,1 Bu alan marklanmaz. 50 kare sınırı vardır.
src.f_fizzle
src.skill fail
RETURN 1
endif
endfor
|
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
Çanta içindeki çantaya item aktarma
Son cevap: 02-05 22:33 · Son yazan: Karaoglan · Mesaj: 5 · Görüntü: 2961
|
Script Yardımı | 02-05 22:33 | 5 | 2961 | |
|
|
Bowla ataklı koşarken kare atlama
Son cevap: 23-04 20:38 · Son yazan: Eren19944 · Mesaj: 1 · Görüntü: 1302
|
ITEM Script Yardımı | 23-04 20:38 | 1 | 1302 | |
|
|
Üzerinde item varken ingot seçme
Son cevap: 24-01 23:01 · Son yazan: astor · Mesaj: 7 · Görüntü: 3405
|
ITEM Script Yardımı | 24-01 23:01 | 7 | 3405 | |
|
|
Verdoarlarda item arama
Son cevap: 04-08 22:33 · Son yazan: 4s3d3 · Mesaj: 4 · Görüntü: 2256
|
DIALOG Script Yardımı | 04-08 22:33 | 4 | 2256 | |
|
|
Duvar atan item - Çözüldü
Son cevap: 11-05 11:16 · Son yazan: zeezvu · Mesaj: 12 · Görüntü: 5562
|
ITEM Script Yardımı | 11-05 11:16 | 12 | 5562 |