Anasayfa
UO Sunucular
Forumlar
Profilim
Gelişmiş Item Scripting Oluşturma

Ateş ve Kükürtün Süper Aldatan Asası!
[ITEMDEF i_wand_sdwfb]
NAME=Super Duper Wand of Fire and Brimstone
ID=i_wand_1
TYPE=t_wand
RESOURCES=i_wand,10 i_scroll_flamestrike

ON=@Create
ATTR=attr_magic
MOREX=s_flamestrike
MOREY=50.0
MORE2=10
O zaman seni kandırdım! Senaryo ile başladık! Komik tanıtımlar yok. Makaleyi canlandırmak yok. Sadece bir senaryo. Ve aynı zamanda çok ilginç bir senaryo. Bunu dosyalarınızın hiçbirinde bulamazsınız. (Merak ediyorsanız, SDBFB "Ateş ve Kükürtün Süper Aldatıcı Asası" anlamına gelir).

Şimdi, bu şey ne yapıyor? Yapması gerekeni yapmasını sağlayan kullanışlı, önceden tanımlanmış türlerden biridir. Aslında, burada yapması gerekeni yapmasını sağlayan tek şey bu değil, ama bunu birazdan göreceğiz!

[ITEMDEF i_wand_sdwfb]
Şimdiye kadar bana bunun ne yaptığını söyleyebilmelisin. DEFNAME i_wand_sdwfb ile yeni bir ürün yapıyoruz.
DEFNAME'i açıkça bildirmediğimize, ancak ITEMDEF'e koyduğumuza dikkat edin. Aynı şey.

NAME=
Tüh.

ID=i_wand_1
Bir kez daha, burada animasyon, beceri türü (garip bir şekilde topuz dövüşü) vb. dahil olmak üzere bazı özellikleri i_wand_1 tanımından devralıyoruz.

TYPE=t_wand
NPC senaryomuzda, farklı beyin tiplerinin NPC'lerin belirli durumlarda farklı şekillerde davranmasına neden olduğunu söylediğimi hatırlayın. Öğelerde, TYPE da aynı şeyi yapar. Sadece onlardan daha fazlası var. Çok daha fazlası. İşte "t_wand" türünün özellikleri. Gördüğünüz gibi @Create bölümünde hepsini kullanıyoruz.

Not: itemdef i_wand_1 öğesinden de type=t_wand aldığımız için bu satıra gerek yoktur.

MOREX = bu asanın yapacağı büyü.
MOREY = büyünün yapılacağı beceri.
MORE2 = bu asanın bıraktığı yük sayısı

Her öğe MOREs ile farklı bir şey yapar. Aslında bu, bir öğede kullanabileceğiniz değişkenleri gözden geçirmek için iyi bir zamandır.

Basit bir listede:

• MORE1 (or MORE)
• MORE2
• MOREP
• COLOR
• TYPE
• CREATE
• LAYER
• ATTR
• LINK
• CONT
• TOPOBJ
• LINK

Göreceğimiz gibi, bunlardan birkaçının çok daha fazlasını yapmamızı sağlayacak özel işlevleri var. Ancak bu, gelişmiş script dosyası oluşturma işlemine kadar gelmez.

Bu özelliklerden biri (MOREP), formun (x, y, z, m) bir koordinatını tutabilmesi gibi tuhaflıklara sahiptir. Bu, MOREX, MOREY, MOREZ ve MOREM'e ayrılabileceği anlamına gelir.

Örneğin, şu satırı yazarsanız:
MOREP=1,2,3,4
Aşağıdaki ile yazmakla tamamen aynıdır:
MOREX=1
MOREY=2
MOREZ=3
MOREM=4
Bu, C++ programlamada "birleşim" dediğiniz şeydir, temel olarak bu değişkenlerin her birinde depolayabileceğiniz veri miktarında kısıtlamalar olacağı anlamına gelir. MOREX ve MOREY'nin her ikisi de 0FFFF'ye kadar sayıları tutabilir. MOREZ, -128 ile 127 arasındaki sayıları tutabilir ve her zaman ondalık olarak görüntülenir. MOREM 0 ile 255 arasında sayıları tutabilir ve ayrıca her zaman ondalık olarak görüntülenir.

Bir komut dosyası veya öğe yazarken, hem MOREP'i hem de diğer MOREP parçalarından birini (MOREX, vb.) kullanmadığınızdan emin olun. Biri diğerinin üzerine yazacağı için birlikte çalışmayacaktır.
MOREP=10,42,51,53
MOREX=78
MOREY=89
MOREM=56
MOREP şimdi 78,89,51,56'ya eşittir.

Gördüğünüz gibi, bunları birlikte kullanmak işe yaramıyor.

SPHERE'in bir başka tuhaflığı da bize MORE1L, MORE1H, MORE2L ve MORE2H özelliklerini vermiş olmalarıdır. Bunlar sizin için tamamen görünür değildir, ancak bunların MORE1 ve MORE2 özelliklerinin parçaları olduğunu bilin. Bu nedenle, tek bir öğede hem MORE1 hem de MORE1 özelliklerinden herhangi birini veya MORE2 özellikleri için aynı olanı kullanmamalısınız.
MORE1=0FFFFFFFF
MORE1L=01234
MORE1H=0F0
Şimdi MORE1, 000F01234'tür. Bu, MORE1 özelliğini içeren yazdığınız herhangi bir script dosyasını tamamen mahveder. Bu yüzden her ikisini de aynı komut dosyasında kullanmayın. (Bu numaranın nereden geldiğini anlamıyorsanız, endişelenmeyin. Bir komut dosyasında hiç MORE1L ve MORE1H kullanmadım ve muhtemelen siz de kullanmayacaksınız.)

Ayrıca, öğenize özel özellikler (taşınmaz, büyülü veya kutsanmış olmak gibi) vermek için ATTR özelliğini nasıl kullanacağınızı daha sonra göreceğiz. Bunu, tüm TYPE'ları ve tüm ATTR değerlerini listeleyen bir sonraki bölümde yer alacak olan devasa grafiğime koyacağım.

Size az önce anlattıklarıma göre, @Create olayından sonra öğe komut dosyasının geri kalanı açık olmalıdır. MOREP'in parçalarını, asamızın düzgün çalışması için ihtiyaç duyduğumuz şekilde ayarlıyoruz. Ve bu öğeyi oyunda oluşturur ve çift tıklarsanız, Flamestrike yapmak için bir hedef elde edersiniz. Yapmanız gereken tek şey bu.

Bu arada, kolayca yazabilirdiniz:
MOREP=s_flamestrike,50.0
MORE2L=10
Bunu düşün.

(Geliştiricilerin neden MORE adlı 10 değişkene sahip olmaya karar verdiklerini bilen var mı? Belki de "bir öğe hakkında daha fazla bilgi" anlamına geliyor?)

@Create tetikleyiciyi anlama

Muhtemelen öğe özelliklerini (adetler gibi) neden doğrudan itemdef üzerinde ayarlamadığımı merak ediyorsunuzdur, çünkü orada her şey ayarlanamaz, yalnızca o kimliğe sahip öğeler için genel özellikler ayarlanabilir.

"Ama hey, aynı kimliğe sahip bir öğe için farklı adlar ayarlayabilirim"
Evet yapabilirsiniz, ancak çoğunlukla yapmayacaksınız, orada ayarlanabilecek ancak değiştirebileceğiniz başka bir şey de TAG'lerdir (diğer bölümlerde daha fazlasını göreceksiniz).

Örneğin değiştiremeyeceğiniz şeyler WEIGHT, VALUE, RESOURCES ve tabii ki DEFNAME'dir. Daha fazlası var, ama sadece fikri anlamanız için.

UO-Dev SPONSOR

UO-Dev SPONSOR

Henüz yorum yapılmamış. Yorum yazabilmek için giriş yapmanız gerekir.

Üyelerin oylama ortalaması (10 dışında) :

Henüz Oylanmamış

Oylar: 0