- Katılım
- 23 Eki 2022
- Mesajlar
- 9,085
- Çözümler
- 14
- Tepkime puanı
- 6,991
- Puanları
- 113
- Yaş
- 28
Metin2'de yeni küpe, kolye veya bilezik eklediğinizde yuva açılmasına rağmen cevher takılamıyorsa eksik olan ayarlar yalnızca item_proto değildir. Yeni cevher sisteminin çalışabilmesi için hem source hem de client tarafında gerekli tanımlamaların yapılması gerekir. Bu rehberde Martysama başta olmak üzere klasik Metin2 source yapısında yeni cevher ekleme işlemini adım adım anlatıyoruz.
Öncelikle mevcut çalışan bir cevheri (örneğin Cennetin Gözü) örnek alarak yeni iteminizi oluşturmanız önerilir.
Kontrol edilmesi gerekenler:
Yeni cevherinizin VNUM'u ve item tipi mevcut cevherlerle aynı mantıkta hazırlanmalıdır.
dosyasını açın.
değerini yükseltin.
Ardından:
SInfo info[MAX_ORE]
tablosuna yeni cevherinizi ekleyin.
Örnek:
Anlamı:
game/src/item.cpp
içerisinde aşağıdaki yapıyı bulun:
veya
Buraya yeni cevherinizi ekleyin.
Örnek:
Açıklama:
Bu tablo hangi cevherin hangi ekipmana takılacağını belirler.
root/constinfo.py
dosyasını açın.
Burada şu listeleri bulun:
veya
Yeni cevherinizi her iki listeye de uygun şekilde ekleyin.
Örnek:
Bu işlem istemcinin yeni cevheri tanımasını sağlar.
Eğer yeni cevherinizin tüm küpe, kolye veya bileziklerde kullanılmasını istiyorsanız;
düzenlemeniz gerekir.
Bu işlem source kodunda küçük bir geliştirme gerektirir.
Son olarak source'u yeniden derleyip (Build) client pack dosyalarını güncellemeniz gerekir.
Öncelikle mevcut çalışan bir cevheri (örneğin Cennetin Gözü) örnek alarak yeni iteminizi oluşturmanız önerilir.
Kontrol edilmesi gerekenler:
- item_proto kaydı
- item_names
- icon
- item_list
- locale dosyaları
Yeni cevherinizin VNUM'u ve item tipi mevcut cevherlerle aynı mantıkta hazırlanmalıdır.
mining.cpp Düzenlemesi
Source içerisinde:game/src/mining.cpp
dosyasını açın.
MAX_ORE değerini artırın
Yeni ekleyeceğiniz cevher sayısı kadar:MAX_ORE
değerini yükseltin.
Ardından:
SInfo info[MAX_ORE]
tablosuna yeni cevherinizi ekleyin.
Örnek:
{ 20047, 50601, 50621 },
Anlamı:
- 20047 → Maden damarı
- 50601 → Cevher parçası
- 50621 → İşlenmiş cevher
item.cpp İçerisine Yeni Cevheri Tanımlayın
Source dosyası:game/src/item.cpp
içerisinde aşağıdaki yapıyı bulun:
JewelAccessoryInfo
veya
const static JewelAccessoryInfo infos[]
Buraya yeni cevherinizi ekleyin.
Örnek:
{ 50634, 14420, 16220, 17220 },
Açıklama:
- 50634 → Yeni cevher
- 14420 → Bilezik +0
- 16220 → Kolye +0
- 17220 → Küpe +0
Bu tablo hangi cevherin hangi ekipmana takılacağını belirler.
constinfo.py Düzenlemesi
Client tarafında:root/constinfo.py
dosyasını açın.
Burada şu listeleri bulun:
ACCESSORY_MATERIAL_LIST
veya
JewelAccessoryInfos
Yeni cevherinizi her iki listeye de uygun şekilde ekleyin.
Örnek:
[50634, 14420, 16220, 17220],
Bu işlem istemcinin yeni cevheri tanımasını sağlar.
Tüm Küpelerde Çalışması İçin
Varsayılan sistem yalnızca tanımladığınız VNUM'larda çalışır.Eğer yeni cevherinizin tüm küpe, kolye veya bileziklerde kullanılmasını istiyorsanız;
- item.cpp içerisindeki kontrol mekanizmasını
- Accessory kontrol fonksiyonlarını
düzenlemeniz gerekir.
Bu işlem source kodunda küçük bir geliştirme gerektirir.
Son Kontroller
Yeni cevher ekledikten sonra aşağıdaki dosyaları mutlaka kontrol edin.- item_proto
- item_names
- item_list
- icon
- mining.cpp
- item.cpp
- constinfo.py
Son olarak source'u yeniden derleyip (Build) client pack dosyalarını güncellemeniz gerekir.
