[NASIL YAPILIR] Yeni item ekleme (Zırh,silah +basma vs)

SType2

Üye
Editör
Üye
Mesaj
123
Çözümler
2
Beğeni
116
Puan
774
Ticaret Puanı
0
Öncelikle bu konuda bir çok kişi tarafından büyük bi sorun sıkıntı olarak görülmekte illaki bi yerde hata yapıp (pack navicat vs.) ekledikleri itemin hatalı olduğunu,bozuk olduğunu düşünmekte. alında evet hatalı olanlar var tabi %100 iş yapımı biraz zor kimilerine göre :) her neyse konumuzu başlatmadan önce gerekli dosyaları vereceğim ulaşamadığınız programlar olursa yardımcı olabilirim, saygılar :)

1- Navicat Premium (Link vermiyorum elbette herkeste vardır)
2- UnEPK veya Eternexus (Pack açma programlarıdır fakat ben Eternexus tercih ediyorum UnEPK bazen sıkıntı çıkarabiliyor)
3- Notepad++
4- Önemli : Locale_tr içindeki İtem_Protoyu açmak için gereklidir (Eğer UnEPK Kullanıcaksanız buna ihtiyacınız kalmaz.) İtem_Proto açıcıyı paylaşıyorum. (Konunun altında nasıl açıldığını belirttim )

Linkleri görebilmek için giriş yap veya kayıt ol.


Linkleri görebilmek için giriş yap veya kayıt ol.


Dosyalarımızı Temin ettiğimizi varsayarak anlatıma geçiyorum.

Öncelikle herşeyden önemlisi elinizde yeni itemlerin dds'si ve gr2 dosyaları bulunmalı. (+ basma gibi itemlerde gr2 bulunmaz)

ADIM 1 İKON YAPIMI İcon.epk.eix (AMACI : İTEMİMİZİN ENVANTERDE GÖRÜNMESİ İÇİN GEREKLİDİR.)

Örnek itemler :

gX3EVO.png
9GJ0qN.png
qEoV8d.png
(ANLATIMI BU İTEMLER ÜZERİNDEN YAPICAM)

270 11971 70251

Ekliyecek olduğumuz itemlerimiz bunlar diyelim kodlarınıda belirledik (Ekleyeceğiniz itemlerin kodlarınız serverınızda bulunmayan kodları bularak yapınız aksi takdirde sorunla karşılaşırsınız.)

İtemlerimizin ikonlarıda elimizde olduğunu düşünürsek ; pack açıcı programımıza
icon.epk ve icon.eix dosyalarımızı alıyoruz.
daha sonra bu dosyaları Source>icon>item yoluna atıyoruz.
ÖNEMLİ : Dosyaları atmadan önce attığımız ikonların isimlerini bilmeliyiz yoksa locale_trye geldiğimizde yapamayız mesela iteminizin kodunu 11971 olarak düşündünüz icon ismini 11971.tga şeklinde yapınız.

burdaki işimiz bitti icon klasörümüzü paketliyoruz.

ADIM 2 PC/PC2 veya İTEM.epk dosyaları (ÖNEMLİ : eski sistemde PC/PC2 olarak kullanılmaktaydı fakat yeni sürümlerde item.epk ve item.eix kullanılmaktadır.)

Benim serverımda item.epk ve item.eix olarak kullanılmaktadır o şekilde anlatıma devam edeceğim.

- itemin dds'sine bir isim veriyoruz.Örneğin: 11971zirh_8
- Bu 11971zirh_8 dds uzantılı dosyayı
item > ymir work > item > weapon yoluna giriyoruz. buraya dds ve gr2 dosyamızı atıyoruz.

ve item klasörümüzü paketliyoruz. (bu bölümde de vermiş olduğunuz ismi unutmayınız.)

ADIM 3 ROOT YAPIMI (SİLAH ZIRH İÇ İTEM GİBİ İTEMLER İÇİN ROOTTA EKLEME YAPICAZ FAKAT + BASMA İTEMİ YÜZÜK vs. GİBİ İTEMLERDE ROOT İLE İŞİMİZ YOK)

ŞİMDİ root.epk dosyamızı açtığımızı düşünerek ;
- Çıkan Source klasörü içerisinden "warrior_m.msm"i açıyoruz.
- warrior_m.msm'i Notepad++ ile editlemenizi tavsiye ederim.
- warrior_m.msm'i açtıktan sonra,

Bu yazının üstüne ;

PHP:
Genişlet Daralt Kopyala
}
Group AttachingData
{
    AttachingDataCount       2
 
    Group AttachingData00
    {
        AttachingDataType    1
 
        isAttaching          0
        AttachingModelIndex  0
        AttachingBoneName    "Bip01"
 
        CollisionType        1
 
        SphereDataCount      1
        Group SphereData00
        {
            Radius           40.000000
            Position         0.000000 0.000000 100.000000
        }
    }
 
    Group AttachingData01
    {
        AttachingDataType    1
 
        isAttaching          0
        AttachingModelIndex  0
        AttachingBoneName    "Bip01"
 
        CollisionType        3
 
        SphereDataCount      1
        Group SphereData00
        {
            Radius           70.000000
            Position         0.000000 0.000000 100.000000
        }
    }
}

Ekliyoruz.
PHP:
Genişlet Daralt Kopyala
Group ShapeData28

    {
        SpecialPath            "d:/ymir work/item/weapon/" -- Bu alan pc packini kullanıyorsanız
"d:/ymir Work/pc/warrior/" olacak.
 
        ShapeIndex            40
        Model                "11971zirh_8.gr2"
        SourceSkin            "11971zirh_8.dds"    -- hatırlarsanız yukarda gr2 ve ddsye verdiğimiz isim.
        TargetSkin            "11971zirh_8.dds"
    }


işimiz burda bitti kaydedip paketliyoruz.

ADIM 4 Locale_tr yapımı : Bu alana zırh silah iç item + basma yüzük vb. itemlerden eklicek olanlar devam edicek.

Locale_tr içerisinden item_list.txt'mizi notepadd+ ile açıyoruz. en alta :
(Ekleyeceğimiz item zırh ise aşağıdaki gibi ARMOR , Silah ise ; WEAPON diğer itemler ise ETC yazıyoruz. )

Zırh ise;

PHP:
Genişlet Daralt Kopyala
11971    ARMOR    icon/item/11971.tga
Silah ise ;
PHP:
Genişlet Daralt Kopyala
270    WEAPON    icon/item/00270.tga    d:/ymir work/item/weapon/00270.gr2
Diğer itemler ise ;
PHP:
Genişlet Daralt Kopyala
70251    ETC    icon/item/70251.tga

Burada önemli nokta : başta 11971,270,70251 itemlerimizin kodudur. yanlış yazmayınız.
icon/item11971.tga kısmı itemlerimizin ikon yoludur.
d:/ymir work/item/weapon/00270.gr2 kısmı silahımızın gr2 dosyasının yoludur.

Daha sonra loca_tr de ki item_protomuzu açıcaz :

nasıl açılır bilmeyenler için verdiğim dosyadaki anlatımı yapayım.
Yeni İtem Ekleme 1.webp

verdiğim klasörün içeriği ;
1 - Adım 1 (Açma+Ekleme) bu kısıma item_protomuzu atıyoruz. (resim 4.2)
2 - 1. adımda açtığımız dosyayı (Resim 4.3) düzenleyip txt formatına çeviriyoruz.
3 - işlemlerimiz bittikten sonra tekrar ilk hali olan item_proto haline çeviriyoruz. (resim 4.5)

Resim (4.2)
Yeni İtem Ekleme 2.webp


Resim (4.3)
Yeni İtem Ekleme 3.webp

Önemli Bilgilendirme * (resim 4.4)

Yeni İtem Ekleme 4.webp


Resim (4.5)
Yeni İtem Ekleme 5.webp


Örnek item ekleme yöntemi (direk olarak kopyalamayınız anlatım yapacağım.)
PHP:
Genişlet Daralt Kopyala
<!--AddonType="0"--><Item vnum="11971"  name="황상전갑" gb2312name="Hwang-Z?h" type="2" subtype="0" weight="0" size="2" antiflag="106936" flag="1" wearflag="1" immuneflag="0" gold="0" buy_price="0" limittype0="1" limitvalue0="50" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="10" applytype1="37" applyvalue1="20" applytype2="0" applyvalue2="0" value0="0" value1="350" value2="0" value3="24" value4="0" value5="100" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="0" refine_set="0" magic_pct="0" specular="100" socket_pct="3" />

Şimdi arkadaşlar size bi taktik vereyim :) mesela zırh eklicez serverımıza, özelliklerinin nasıl verileceğini başka bir konuda anlatacağım. şimdi öncelikle yapacağımız şey mesela siyah çeliğin kod halini item_protoda bulup en alta ekleyebilirsiniz. o kod üzerinden düzenleme yaparsanız işiniz çok daha kolay olacaktır sıfırdan yapmak yerine :)

Daha sonra item_protomuzu kapatıp locale_tr içine atıp Locale_tr yi paketliyoruz.

Adım 5 Navicat Yapımı

- Navicat'ı açın
- Navicat>player dizinine girin.
- bu alanda item_protomuzu açıp en son sayfaya (büyük ihtimalle 7)
7. sayfayı açıp yeni bir satır ekliyoruz packimizde bulunan item kodlamasını navicata yapıyoruz ama bunu yaparken dikkat etmemiz gereken konu anti flag değerleridir. bu değerler nedir ?
arkadaşlar bu değerlerde itemin yere atılabilir,ticarete koyulabilir,savaşçı giyebilir,erkek karakter kullanabilir,kırmızı bayrak kullanabilir vs gibi ayarların olduğu kodlardır bu kodlara nasıl erişeceğinizi sorar gibi olduğunuzu düşünüyorum (en son elimde antiflag kodlayıcısı vardı eğer bulursam konuya eklicem, elimde olmadığını düşünerek) forumda veya herhangi bir yerde basit bi arama ile o kodlara kolay ulaşabilirsiniz.

KONUMUZ BURADA SON BULMUŞTUR.
Okuduğunuz için teşekkür ederim.
ben yeni bi item paylaşıp nasıl ekleneceğini anlatmadım elimden geldiği kadarı ile elinizde bulunan itemi eklemeniz için yardımcı olacak basit bir anlatım yaptım eğer fazla detaya inmediysem kusuruma bakmayın anlayarak yaparsanız başarılı bir sonuca ulaşacağınızın garantisini verebilirim.

Yukarıda da söylediğim gibi HER NE DÜZENLEME YAPARSANIZ MUTLAKA YEDEKLERİNİZİ ALIN :)

İYİ FORUMLAR :)

* Sanıyorsam şuana kadar açmış olduğum en uzun ve emek harcadığım konu umarım yorumlarınız ile değerlendirirsiniz :)


 

Dosya Eklentileri

En son bir moderatör tarafından düzenlenmiş:
Kırılan link güncellenmiştir. Dosya boyutu küçük olduğu için konuya ek olarak eklenmiştir.
Küçük boyutlu dosyaları 10mb vs. foruma yükleyebilirsiniz. ;)
 
Konuda kullanılan resimlerde foruma yüklenmiştir. Böylelikle resimlerin kırılma ihtimali olmayacaktır.
 
sysser paylaşırmısın
0514 23:31:18533 :: CPythonItem::LoadItemTable: invalid item_proto[locale/tr/item_proto] STRIDE[156] != sizeof(158)
0514 23:31:18533 :: LoadLocaleData - LoadItemProto(locale/tr/item_proto) Error
0514 23:31:22710 :: CPythonPlayer::SetItemData(window_type : 1, dwSlotIndex=8, itemIndex=20171) - Failed to item data

0514 23:31:22710 :: CPythonPlayer::SetItemData(window_type : 1, dwSlotIndex=42, itemIndex=50272) - Failed to item data

0514 23:31:22710 :: CPythonPlayer::SetItemData(window_type : 1, dwSlotIndex=48, itemIndex=50273) - Failed to item data

0514 23:31:27283 ::
game.py(line:343) Open
game.py(line:907) StartGame
game.py(line:1104) RefreshCharacter
interfaceModule.py(line:882) RefreshCharacter
uiCharacter.py(line:1158) RefreshCharacter
uiCharacter.py(line:1220) __SelectSkillGroup
uiCharacter.py(line:1206) __SetSkillSlotData
uiCharacter.py(line:873) RefreshSkill
uiCharacter.py(line:839) __RefreshSkillPage

GameWindow.Open - <type 'exceptions.RuntimeError'>:skill.GetSkillType - Failed to find skill by 1

0514 23:31:27283 :: ============================================================================================================
0514 23:31:27283 :: Abort!!!!

sysser paylaşırmısın
metin2_locale.eix,epk locale_tr.eix,epk bide uzantısız locale_tr dosyası var metin2_locale le locale_tr eixlerin ikisinde de item proto var hangisine atayım item protomu
 
@tunarslnn item proto dosyası bozulduğu için bu hatayı alıyorsunuz büyük ihtimalle.
Notepad++ yerine Not Defteri ile düzenleyip tekrar kapatıp packe atmayı deneyin.

Ayrıca filesınıza ait dump proto varsa onunla kapatın.
 
Geri
Üst