vsro
vsro vsro
vsro vsro

Paylaşım Media’dan databaseye item eklemek!

iMonarch

coded poetry
.
Katılım
14 Tem 2018
Mesajlar
579
Tepkime puanı
401
Puanları
184
Konum
İstanbul
vsro
Merhaba Arkadaşlar bu konumda sizlere Mediadan çekilen itemi nasıl common'a ve objitem'e ekleriz onu anlatacağım.
Elimde 15-16 Dg Media olmadığı kendi kurduğum Model Switcher için hazırlanan silahlardan anlatacağım.
Şimdi bize öncelikle lazım 1 adet itemdata45000 isimli text dosyası gerekiyor. Bu dosyayı çıkardık nasıl alacağız;


Kod:
1    44773    ITEM_CH_SWORD_10_B_RARE_LOOK1    10? ? (?)    xxx    SN_ITEM_CH_SWORD_10_B_RARE    SN_ITEM_CH_SWORD_10_B_RARE_TT_DESC    0    0    3    1    6    2    180000    0    6    1    1    1    255    3    1    1    1    0    0    8426000    6980    10471    0    9000    2949100    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    item\china\weapon\sword_01.bsr    item\etc\drop_ch_equip_rare.bsr    item\china\weapon\sword_01.ddj    xxx    xxx    1    2    0    0    29    79    123    151    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    2    0    6    1483    1573    1650    1740    45    2528    2683    2863    3018    77.4    2189    2278    2468    2567    3725    3876    4282    4456    116    244    0    5    17    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    ?? ??? ?? ?? ?    9    0


Bu şekilde uzunlamasına bir yazı görürüz. Şimdi bu alanın başında RefObjCommon aldığı için çoğu insan yanılır, sanki burası sadece RefObjCommon'muş gibi.
Aslında burda hem RefObjCommon hemde RefObjItem tabloları mevcut fakat 2 adet dikkat edilmesi gereken nokta var ;


  • DB kısmında RefObjCommon'un son kolonuna bakarsanız "Link" adında bir kolon görürsünüz. O link'e atanmış ID aynı zamanda bu iteme ait RefObjItem'in bilgilerini saklayan ID kolonuna aittir.
  • Bu link ID'sini media kısmında asla göremezsiniz.
Yani mesela ben yukarıda verdiğim kodu DB'ye girecek olsam nasıl gireceğim? Gelin beraber tek tek yapalım.

Öncelikle önerim NotePad++ kullanmanız. Vermiş olduğum kodu (veya alacak olduğunuz itemin kodunu) notepad++'da bir yeni belge oluşturarak içine atalım. Noldu? Uzuuuunca satırımız tek başına kaldı.

Siz siz olun her zaman ilk olarak RefObjItem'den veri girişi yapmaya başlayın. Çünkü buna vereceğimiz ID'yi RefObjCommon'da Link için kullanacağız.

Neyse şimdi RefObjItem için giriş yapacağımız kod neresidir onu göstereyim.

Media kısmında orta kısımlarda 3 adet arka arkaya verilmiş ".bsr , .bsr ve .ddj" uzantılarının olduğu yolları görürsünüz. En son verilmiş olan .ddj' uzantısından sonra "xxx xxx" şeklinde 2 adet "xxx" yer alır. İşte bu alandan sonraki kısım RefObjItem kısmıdır. Ekleyeceğim kodu sağa çekerek daha iyi anlayabilirsiniz, renklendirdim.

Kod:
1    44773    ITEM_CH_SWORD_10_B_RARE_LOOK1    10? ? (?)    xxx    SN_ITEM_CH_SWORD_10_B_RARE    SN_ITEM_CH_SWORD_10_B_RARE_TT_DESC    0    0    3    1    6    2    180000    0    6    1    1    1    255    3    1    1    1    0    0    8426000    6980    10471    0    9000    2949100    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    item\china\weapon\sword_01.bsr    item\etc\drop_ch_equip_rare.bsr    item\china\weapon\sword_01.ddj    xxx    xxx    1    2    0    0    29    79    123    151    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    2    0    6    1483    1573    1650    1740    45    2528    2683    2863    3018    77.4    2189    2278    2468    2567    3725    3876    4282    4456    116    244    0    5    17    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    ?? ??? ?? ?? ?    9    0

Burayı ekleyeceğiz ama yukarda dediğim gibi başında ID'si eksiktir her zaman, birde sonunda "0" eksiktir. Bu kısmı az önce Notepad++' ya yapıştırdığımız metinden ayrıştralım. Birkaç altsatıra atabilirsiniz. Ama ilk kısmınıda silmeyin, onlarda lazım olacak. Şimdi ne elde ettik?

Kod:
1    2    0    0    29    79    123    151    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    2    0    6    1483    1573    1650    1740    45    2528    2683    2863    3018    77.4    2189    2278    2468    2567    3725    3876    4282    4456    116    244    0    5    17    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    ?? ??? ?? ?? ?    9    0
Elimizde böyle birşey var. Şimdi bunun ilk başlangıcında boşluk bırakmamaya dikkat edin. Yani satır başında boşluk bırakmayın.

Şimdi DB'nize gidin, RefObjItem'ı açın ve en son ID'nizi kontrol edin. Örneğin En son ID "45982" olsun. Şimdi metin belgesinde ayırdığımız RefObjItem girişi için satır başına tıklayın. En son ID'nizin 1 fazlasını yazın. Yani ben "45983" yazacağım. Yazdıktan sonra "TAB" butonuna basınki satırbaşında bulunan "1" ile farklı kolonlarda olacağını anlasın.

Ve ayriyetten sonuna "TAB" butonuna basarak "0" ekleyin.

Herşeyinizi doğru yaptıysanız giriş yapmaması imkansız. Yani RefObjItem kısmı tamam.



Gelelim RefObjCommon kısmına. Yukarıda zaten 2'ye ayırmıştık, ayrılan kısmın 1. tarafıda RefObjCommon için yani şu şekilde ;


Kod:
1    44773    ITEM_CH_SWORD_10_B_RARE_LOOK1    10? ? (?)    xxx    SN_ITEM_CH_SWORD_10_B_RARE    SN_ITEM_CH_SWORD_10_B_RARE_TT_DESC    0    0    3    1    6    2    180000    0    6    1    1    1    255    3    1    1    1    0    0    8426000    6980    10471    0    9000    2949100    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    item\china\weapon\sword_01.bsr    item\etc\drop_ch_equip_rare.bsr    item\china\weapon\sword_01.ddj    xxx    xxx

Peki burada neyimiz eksik? Burada sadece son kısmına gelip "TAB" butonuna basıp biraz önce "RefObjItem" için sizin koyduğunuz veya SQL sistem Auto Increase ile vermiş olduğu ID'yi yazacağız yani bende şu şekil olacak örneğime göre ;


Kod:
1    44773    ITEM_CH_SWORD_10_B_RARE_LOOK1    10? ? (?)    xxx     SN_ITEM_CH_SWORD_10_B_RARE    SN_ITEM_CH_SWORD_10_B_RARE_TT_DESC    0     0    3    1    6    2    180000    0    6    1    1    1    255    3     1    1    1    0    0    8426000    6980    10471    0    9000     2949100    1    90    -1    0    -1    0    -1    0    -1    0    0     0    0    0    0    0    100    0    0    0     item\china\weapon\sword_01.bsr    item\etc\drop_ch_equip_rare.bsr     item\china\weapon\sword_01.ddj    xxx    xxx    45983
olacak. Dikkat edin sadece sonuna "TAB" butonuna basıp RefObjItem ID'sini yazdım. Bu şekilde kopyalayıp sorunsuzca yaptıysanız RefObjCommon tablosunuda hallettiniz!

Peki geriye kalan ne var?

Şimdi yukarıda söylediğim "bsr ve ddj" kısmı bizim için önemli. Peki ben bu .bsr yolunu ve .ddj yolunu nereden bulacağım derseniz?


  • BSR yolu ; Data.PK2\Res\Item\China\Weapon yolu içerisindedir. Mesela sword_01.bsr diyorsa sword_01 bsryi buradan çıkarıp aynı yoldan kendi Data.PK2'mize import etmeliyiz.
  • 2. BSR Yolu ; Aslında burada olan zaten sizdede olur. Bu drop olduğunda olan şeklidir. Farklı birşey eklendiğinizi düşünüyorsanız yukarıdaki yoldan 2 geriye giderek etc kısmına girip varolan yazıyı görebilirsiniz.
  • DDJ yolu ; Media.PK2\icon\item\china\weapon kısmındadır. Ve ayriyetten Media.PK2\icon64\item\china\weapon yolundadır. Mesela sword_01.ddj diyorsa sword_01 ddj'i buralardan çıkarıp aynı yoldan kendi Media.PK2'mize import etmeliyiz.
  • Ve ayrıca item ismini vesairede Media\server_dep\silkroad\textdata kısmında "textdata_equip&skill.txt" içerisinde bulabilirsiniz.
Atladığım birşey olduğunu düşünmüyorum ama varsada affola. Hatırlatın düzeltirim problem değil.
Dediklerimi doğru şekilde uygularsanız sorunsuzca ekleyebilirsiniz.
Her işlemde olduğu gibi DB ve MEDIA yedeğinizi almayı unutmayın.

Güle güle kullanmanız dileklerim ile..
 
Son düzenleme:

Spare

Machine Man
.
.
Katılım
28 May 2018
Mesajlar
2,445
Tepkime puanı
1,759
Puanları
605
Yaş
25
Konum
İstanbul
Harika anlatım, eline emeğine sağlık takılanlara önerilebilecek bir rehber olmuş. :love:
 
Üst Alt