ITEM tablosuyla ITEM_UPGRADE tablosunu birbirine bağlayan 2 bağlam vardır. Bunları izah edelim. Bu bağlamlar uzun emekler sonucu keşfedilmiştir, okuyunuz ve anlayınız.
1) ITEM_UPGRADE tablosundaki nIndex sütunu ile ITEM tablosundaki Num sütunu arasında bağımlılık vardır.
ITEM tablosunun
Num sütunundaki değerlerin baş sayısı ile (yani Num sütunundaki değerin
baştan 1. basamağındaki sayı ile) ITEM_UPGRADE tablosunun
nIndex sütunundaki değerlerin baş sayısı (yani nIndex sütunundaki değerin
baştan 1. basamağındaki sayı) arasında bağımlılık vardır.
Bu değerler aynı olmak zorundadırlar. Hem ITEM hem ITEM_UPGRADE tablosunu oluşturan satırlarımıza tablolarımızı açıp baktığımızda bu baş sayı değerlerinin 1 olduğu satırlar bir silahla/pusatla, 2 olduğu satırlar bir giysiyle/kıyafetle/kılıkla, 3 olduğu satırlar bir takıyla ilgilidir, hem ITEM hem ITEM_UPGRADE tablosu için bu kural geçerlidir.
* ITEM tablosundan örnekler verelim:
Hiçbir kağıtla basılmamış/çıplak Dagger (+6)'nın ITEM tablosundaki Num sütunu değeri
110110706'dır. Renklendirdiğim sayıya bakalım,
1'dir, yani ITEM tablosundan
silaha ilişkin bir satıra bakıyorum demek oluyor bu.
STR bonuslu Priest Full Plate Armor Pauldron (+2)'nin ITEM tablosundaki Num sütunu değeri
284001832'dir. Renklendirdiğim sayıya bakalım,
2'dir, yani ITEM tablosundan
kıyafete ilişkin bir satıra bakıyorum demek oluyor bu.
Secret-Silver Earring'in ITEM tablosundaki Num sütunu değeri
310410107'dir. Renklendirdiğim sayıya bakalım,
3'tür, yani ITEM tablosundan
takıya ilişkin bir satıra bakıyorum demek oluyor bu.
* ITEM_UPGRADE tablosundan örnekler verelim:
Hiçbir kağıtla basılmamış/çıplak Dagger (+6)'nın ITEM_UPGRADE tablosundaki basım satırlarının nIndex sütunu değerlerine bakalım. Çıplak Dagger (+6)'nın; Low Class Reduce Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100006, Low Class Elemental scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100016, Low Class Upgrade Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100026, Middle Class Reduce Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100056, Middle Class Elemental Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100066, Middle Class Upgrade Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100076, Blessed Reduce Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100156, Blessed Elemental Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100166, Blessed Upgrade Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100176, Blessed Upgrade Scroll ve Trina's Piece ile basımına ilişkin satırın nIndex sütunundaki değer
100206, High Class Reduce Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100396, High Class Elemental Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
100406'dır, High Class Upgrade Scroll ile basımına ilişkin bir basım satırı yoktur, çünkü +6 bir item'den bahsediyoruz. Renklendirdiğim sayılara bakalım, hep
1'dir, yani ITEM_UPGRADE tablosundan bir
silaha ilişkin basım satırlarına bakıyorum demek oluyor bu.
STR bonuslu Priest Full Plate Armor Pauldron (+2)'nin ITEM_UPGRADE tablosundaki basım satırlarının nIndex sütunu değerlerine bakalım. STR bonuslu Priest Full Plate Armor Pauldron (+2)'nin; Middle Class Upgrade Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
200422, Blessed Upgrade Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
200822, Blessed Upgrade Scroll ve Trina's Piece ile basımına ilişkin satırın nIndex sütunundaki değer
200902, High Class Upgrade Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
201452'dir. Renklendirdiğim sayılara bakalım, hep
2'dir, yani ITEM_UPGRADE tablosundan bir
kıyafete ilişkin basım satırlarına bakıyorum demek oluyor bu.
Secret-Silver Earring'in ITEM_UPGRADE tablosundaki basım satırının nIndex sütunu değerlerine bakalım. Secret-Silver Earring'in, Accessory Compound Scroll ile basımına ilişkin satırın nIndex sütunundaki değer
310011'dir. Renklendirdiğim sayı
3'tür, yani ITEM_UPGRADE tablosundan bir
takıya ilişkin basım satırına bakıyorum demek oluyor bu.
* Anlatımı yoğunlaştıralım:
110110706 > ITEM tablosundaki bir
silaha ilişkin satırın Num sütunundaki değer
284001832 > ITEM tablosundaki bir
kıyafete ilişkin satırın Num sütunundaki değer
310410107 > ITEM tablosundaki bir
takıya ilişkin satırın Num sütunundaki değer
100206 > ITEM_UPGRADE tablosundaki bir
silaha ilişkin satırın nIndex sütunundaki değer
201452 > ITEM_UPGRADE tablosundaki bir
kıyafete ilişkin satırın nIndex sütunundaki değer
310011 > ITEM_UPGRADE tablosundaki bir
takıya ilişkin satırın nIndex sütunundaki değer
ITEM_UPGRADE tablosundaki nIndex sütunu ile ITEM tablosundaki Num sütunu birbirlerine bağımlıdır. Yani ITEM_UPGRADE tablosu için bir
basım satırı oluştururken basım satırının
nIndex sütunu değerini belirlemekte
tam bir serbesti içinde değiliz. Bütün bu anlatım bu durumu kavratmak içindir. Bir silaha ilişkin basım satırı oluşturuyorsak bu nIndex sütununa ait değerin
baştan 1. basamağındaki sayı, yani bu değerin baş sayısı
1 olmak zorundadır. Basım satırı kıyafete ilişkinse bu değer
2 olmak zorundadır. Basım satırı takıya ilişkinse bu değer
3 olmak zorundadır. Çünkü bu itemlerin ITEM tablosundaki satırlarının
Num sütunu değerlerinin baş sayısı da silahsa 1'dir, kıyafetse 2'dir, takıysa 3'tür. Yani birbirlerine bağımlıdırlar.
Bir basım satırı oluştururken nIndex sütunu değerleri açısından tam bir serbesti içinde olmasak da baş sayıdan sonra gelen kısım için serbesti içindeyiz, örneğin
201451 değerinde 2'yi farklı bir değer yapamayız ama altını çizdiğim kısmı(
01451) değiştirmekte serbestiz. Yani ITEM_UPGRADE tablosundaki nIndex sütunu değerlerini belirlemekte
yarı serbesti içindeyiz diyebiliriz.
Hem unike hem sıradan silahların, hem ITEM tablosundaki Num sütunu değerlerinin baş sayısı hem de ITEM_UPGRADE tablosundaki bu itemlere ilişkin basım satırlarının nIndex değerlerinin baş sayısı 1'dir. Yani itemlerin unike ve sıradan oluşları baş sayı konusunda farklılık yaratmıyor. Aynı durum takılarda da vardır. Hem unike hem sıradan takıların her iki tabloda da ilgili sütun(Num ve nIndex) değerlerinin baş sayıları 3'tür.
70 Quest itemleri açısından farklı bir durum var, bu itemler silah olmasına karşın ITEM tablosundaki Num sütunu değerlerinin baş sayıları
9'dur. Böyle olunca bu 70 Quest itemlerine ilişkin ITEM_UPGRADE tablosundaki basım satırlarının nIndex sütun değerlerinin baş sayısı da
9 olmak zorunda oluyor.
2) ITEM_UPGRADE tablosundaki nOriginItem sütunu ile ITEM tablosundaki Num sütunu arasında bağımlılık vardır.
Bu bağımlılık az çok herkes tarafından bilinir. Low-middle-high class ayrımı bu bağımlılıktan gerçekleştirilir. Ellenmemiş bir ITEM tablosundaki sıradan item'lere ilişkin satırların Num sütunu değerlerinin
son 3 basamağı 001-099 arasındaki sayılardan oluşur. Yani ellenmemiş bir ITEM tablosunda hem low hem middle hem high class item'lere ilişkin item satırları item basımını
ayrımlı kılacak biçimde oluşturulmamıştır. Yani konunun başında ITEM tablosunda yaptığımız değişiklikler ayrımlı item basımını yapmak içindi. Biz low class itemlerin ITEM tablosundaki Num sütunu değerlerinin
son 3 basamağını 700-799 arasındaki sayılarla, middle class itemlerin ITEM tablosundaki num sütunu değerlerinin
son 3 basamağını 800-899 arasındaki sayılarla, high class itemlerin ITEM tablosundaki num sütunu değerlerinin
son 3 basamağı 900-999 arasındaki sayılarla değiştirdik. Yukarıdaki bağlantıdan ITEM tablosunda değişiklik yapan code'ları indirip database'inize uyguladıysanız ayrımlı ITEM tablosuna sahipsiniz demektir.
Ayrımlı ITEM tablosu olmadan
ayrımlı item basımı olamayacaktır.
Örnekle de açıklayalım :
Hiçbir kağıtla basılmamış/çıplak Sword breaker (+1)'i ele alalım, bunun ITEM tablosundaki Num sütunu değerinin son 3 basamağına bakalım, 701'dir. Reduce scroll ile basılmış Sword breaker (+1)'in ITEM tablosundaki Num sütunu değerinin son 3 basamağı ise 711'dir, elemental scroll ile basılsaydı 721 olacaktı, upgrade scroll ile basılsaydı (+2) olacağından 702 olacaktı. Sword breaker low class bir item olduğu için 700'lü sayılar arasında dolaştık. Cleaver için düşünseydik 800'lü sayılar arasında dolaşacaktık. Shard için düşünseydik 900'lü sayılar arasında dolaşacaktık. Gördüğünüz gibi sıradan itemlerin ITEM tablosundaki Num sütunu değerlerini ayrıştırdık, low class itemleri 700'lü, middle class itemleri 800'lü, high class itemleri 900'lü sayılara topladık, böylece
ayrımlı item basımını elde edebileceğiz. Item basımı bu son 3 basamak değerine göre çalışır.
Ayrımlı item basımını yapmak için piyasadaki bazı database'lerde ITEM tablosunda değişikler yapıldığını gördüm, bu database'lerde high class itemlerin 900'lü sayılara toplandığı görülür. Bu database'lerde middle class itemlerin low class kağıtlarla basılabildiği görülür. Bu database'lerin ITEM_UPGRADE tabloları çok çok çok kötüdür, eğer böyle bir database kullanıyor ama
gerçek anlamda ayrımlı item basımına sahip olmak istiyorsanız tüm ITEM tablosunu düzenleyen bu konunun başında verdiğim code'ları database'inize uygulayınız. Böylece sağlıklı ve ayrımlı bir ITEM tablosu elde etmiş olursunuz ve
gerçek anlamda ayrımlı item basımına sahip olabilirsiniz.
Konu anlaşıldıysa ITEM tablomuza(item satırlarımıza) uyumlu ITEM_UPGRADE tablomuzun(basım satırlarımızın) yapımına geçelim.
ITEM_UPGRADE tablomuzu temizleyelim.
Kod:
Değerli ziyaretçimiz, içeriği görebilmeniz için lütfen
Giriş yap
veya ücretsiz
Kayıt ol
anlayışınız için teşekkürler.
Sıradan Silahların Basım Satırları :
[hide]
Kod:
Değerli ziyaretçimiz, içeriği görebilmeniz için lütfen
Giriş yap
veya ücretsiz
Kayıt ol
anlayışınız için teşekkürler.
[/hide]
Sıradan item'lere ilişkin basım satırlarına aşağıdan devam ediyoruz.