serkserk - 31-03-2019 14:54 GMT -
Öncelikle merhaba evde kendi kendime uğraştığım yazmaya çalıştığım bir scp'de takıldığım daha doğrusu fikir sahibi olmadığım bir konuda yardımlarınızı istiyorum. Dökümanlarda başlık olarak yok içerik olarak gördüğümü de hatırlamıyorum. Item scp'ler de attr diye bir kısım var bazı yerlerde newbie olarak değer girilirken bazı yerlerde "04" "10" vb. şeklinde değerler mevcut attr yanına gelicek değerlerin anlamları yada seçenekleri nelerdir?
Öncelikle merhaba evde kendi kendime uğraştığım yazmaya çalıştığım bir scp'de takıldığım daha doğrusu fikir sahibi olmadığım bir konuda yardımlarınızı istiyorum. Dökümanlarda başlık olarak yok içerik olarak gördüğümü de hatırlamıyorum. Item scp'ler de attr diye bir kısım var bazı yerlerde newbie olarak değer girilirken bazı yerlerde "04" "10" vb. şeklinde değerler mevcut attr yanına gelicek değerlerin anlamları yada seçenekleri nelerdir?
Kod:
[itemdef i_pvp_boya]
id=i_dye_tub
weight=200
name=Boya
type=t_dye_vat
On=@Create
attr=attr_static|attr_decay
type t_dye_vat
morez 20
DORAND 17
color=01
COLOR=084b
COLOR=07a0
COLOR=066d
COLOR=0845
COLOR=096c
COLOR=051a
COLOR=04df
COLOR=08a1
COLOR=059e
COLOR=0455
COLOR=8090
COLOR=8092
COLOR=8097
COLOR=080a
COLOR=0800
COLOR=07ad
ENDDO
on=@Dclick
target
src.sysmessage @0481 Kiyafetlerinizi ve sacinizi boyayabilirsiniz.
on=@Click
message @0481 Boya
return 1
on=@pickup_ground
if (<src.account.plevel> < 2)
return 1
endif
On=@TargOn_Item
if !(<src.targ.topobj.uid> == <src.uid>)
src.sysmessage @021 Boyayacaginiz esya uzerinizde olmali.
elseif !(<src.targ.type> = t_clothing)
src.sysmessage @021 Bunu boyayamazsiniz.
else
src.targ.color <color>
src.targ.update
endif
return 1
xwerswoodx - 31-03-2019 19:15 GMT -
ATTR açılım olarak ATTRIBUTE kelimesinin kısaltmasıdır, yani Türkçe olarak Nitelik diyebiliriz.
ATTR burada bir eşyanın niteliğini ayarlamak için kullanılır, mesela ATTR_STATIC tanımlanmış bir veridir ve 010000 verisine denk gelir. Aslında sen attr_static yazdığında aslında 010000 yazmış oluyorsun. Sphere 010000 verisini gördüğü zaman bunun sabit bir eşya olduğunu anlar ve ona göre işlem yapar veya yapmaz.
ATTR verilerinin karşılıkları sphere_defs.scp içerisinde ATTR_FLAGS diye aratarak bulunabilir.
56x-Experimental sürümünün güncel attr flagları aşağıdaki gibidir.
04 ise burada da görebileceğin gibi attr_newbie verisine denk gelmektedir, ancak 04, 010, 010000 gibi verileri hatırlamak zor olduğu için genellikle attr_newbie, attr_move_never, attr_static diye kullanırız. Ancak sen dilersen 04|010|010000 şeklinde ya da windows da hesap makinesini programlayıcıya açıp HEX seçeneğine tıklayıp, 04+010+010000 yapıp üçünün toplamını yazabilirsin. Yani | işareti aslında bir önceki Hex verisine bunu da ekle demektir, yani 04|010|010000 ve ya attr_newbie|attr_move_never|attr_static sunucu tarafından 10014 olarak okunur ve bu veri aslında itemin, kaybolmaz, hareket ettirilemez ve sabit olduğuna denk gelir.
Yani aslında kullanılan attr_newbie gibi komutlar sphere_defs.scp de tanımlanmış ve 04 gibi hex verisine denk gelecek tanımlardan başka bir şey değildir. Atıyorum sen gidip kendi define
Son güncelleme: xwerswoodx tarafından 01-04-2019 01:53 GMT tarihinde, önce.
ATTR açılım olarak ATTRIBUTE kelimesinin kısaltmasıdır, yani Türkçe olarak Nitelik diyebiliriz.
ATTR burada bir eşyanın niteliğini ayarlamak için kullanılır, mesela ATTR_STATIC tanımlanmış bir veridir ve 010000 verisine denk gelir. Aslında sen attr_static yazdığında aslında 010000 yazmış oluyorsun. Sphere 010000 verisini gördüğü zaman bunun sabit bir eşya olduğunu anlar ve ona göre işlem yapar veya yapmaz.
ATTR verilerinin karşılıkları sphere_defs.scp içerisinde ATTR_FLAGS diye aratarak bulunabilir.
56x-Experimental sürümünün güncel attr flagları aşağıdaki gibidir.
Kod:
attr_identified 000000001 //Is item identified?
attr_decay 000000002 //Can item decay?
attr_newbie 000000004 //Is item newbiefied?
attr_move_always 000000008 //Set the item always moveable (else default as stored in client even if mul says not moveable) and never decay.
attr_move_never 000000010 //Never moveable (else default as stored in client) and never decay.
attr_magic 000000020 //DO NOT SET THIS WHILE WORN! This item is magic as apposed to marked or markable.
attr_owned 000000040 //This is owned by the town. You need to steal it. Never decay.
attr_invis 000000080 //Set item as invisible.
attr_cursed 000000100
attr_cursed2 000000200 //Cursed damned unholy.
attr_blessed 000000400
attr_blessed2 000000800 //Blessed savred holy.
attr_forsale 000001000 //For sale on a vendor.
attr_stolen 000002000 //This item is hot. Link = previous owner.
attr_can_decay 000004000 //This item can decay but it would seem that it would not (ATTR_MOVE_NEVER etc)
attr_static 000008000 //WorldForge merge marker. (used for statics saves)
attr_exceptional 000010000 //Is item exceptional?
attr_enchanted 000020000 //Is item enchanted?
attr_imbued 000040000 //Is item imbued?
attr_questitem 000080000 //Is it a quest item?
attr_insured 000100000 //Is item insured?
attr_nodrop 000200000 //No-drop
attr_notrade 000400000 //No-trade
attr_artifact 000800000 //Unused: Artifact (Note: Never used in source!)
attr_lockeddown 001000000 //Is locked down?
attr_secure 002000000 //Is item secure?
attr_reforged 004000000 //Is runic reforged?
attr_opened 008000000 //Is door opened?
attr_shardbound 010000000 //Unused: No info.
attr_accountbound 020000000 //Unused: No info.
attr_characterbound 040000000 //Unused: No info.
//attr_cannotrepair 0400000000000 //Unused.
//attr_factionitem 080000000000000 //Unused.
04 ise burada da görebileceğin gibi attr_newbie verisine denk gelmektedir, ancak 04, 010, 010000 gibi verileri hatırlamak zor olduğu için genellikle attr_newbie, attr_move_never, attr_static diye kullanırız. Ancak sen dilersen 04|010|010000 şeklinde ya da windows da hesap makinesini programlayıcıya açıp HEX seçeneğine tıklayıp, 04+010+010000 yapıp üçünün toplamını yazabilirsin. Yani | işareti aslında bir önceki Hex verisine bunu da ekle demektir, yani 04|010|010000 ve ya attr_newbie|attr_move_never|attr_static sunucu tarafından 10014 olarak okunur ve bu veri aslında itemin, kaybolmaz, hareket ettirilemez ve sabit olduğuna denk gelir.
Yani aslında kullanılan attr_newbie gibi komutlar sphere_defs.scp de tanımlanmış ve 04 gibi hex verisine denk gelecek tanımlardan başka bir şey değildir. Atıyorum sen gidip kendi define
Kod:
attr_kaybolmaz 04
gibi eklersen attr_newbie yerine attr_kaybolmaz yazman da tamamiyle attr_newbie ile aynı işi yapacaktır. Son güncelleme: xwerswoodx tarafından 01-04-2019 01:53 GMT tarihinde, önce.
serkserk - 31-03-2019 21:43 GMT -
Detaylı anlatımın için çok teşekkür ederim.
Detaylı anlatımın için çok teşekkür ederim.
Khalil Abraham - 01-04-2019 15:11 GMT -
Keşke böyle anlatılan bir rehberimiz olsa da şevklensek.Açıklayıcı,çok güzel anlatım teşekkür ederiz
Keşke böyle anlatılan bir rehberimiz olsa da şevklensek.Açıklayıcı,çok güzel anlatım teşekkür ederiz