- Katılım
- 23 Eki 2022
- Mesajlar
- 9,191
- Çözümler
- 14
- Tepkime puanı
- 7,147
- Puanları
- 113
- Yaş
- 28
[C++] Bir Eşyadaki Varsayılan Bonus Limitini 3'ten 7'ye Çıkarma
Açıklama
Bu rehber sayesinde bir eşyanın sahip olabileceği varsayılan bonus (Apply) sayısını artırabilirsiniz.Varsayılan olarak Metin2 kaynak kodunda bir eşya en fazla 3 adet Apply (bonus) destekler. Bu düzenleme ile bu sınırı 7 bonusa çıkarabilir ve silahlar üzerinde bulunan Attack, Magic Attack ve Attack Speed yerine farklı bonuslar kullanabilirsiniz.
1. ITEM_APPLY_MAX_NUM Değerini Güncelleyin
Öncelikle Dump_proto ve Client kaynaklarında aşağıdaki satırı bulun:ITEM_APPLY_MAX_NUM = 3,
Aşağıdaki şekilde değiştirin:
ITEM_APPLY_MAX_NUM = 7,
2. Server Kaynak Kodunu Güncelleyin
src/common/item_length.h dosyasını açın ve aşağıdaki satırı bulun:ITEM_APPLY_MAX_NUM = 3,
Şu şekilde değiştirin:
ITEM_APPLY_MAX_NUM = 7,
3. Item_proto'ya Yeni Sütunlar Ekleyin
ADDON_TYPE2 ve ADDON_VALUE2 sütunlarından sonra aşağıdaki sütunları ekleyin:ADDON_TYPE3 ADDON_VALUE3 ADDON_TYPE4 ADDON_VALUE4 ADDON_TYPE5 ADDON_VALUE5 ADDON_TYPE6 ADDON_VALUE6
Boş bırakılacak eşyalar için varsayılan değer:
APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0
7 Bonuslu Örnek Item
11 µµ+1 ITEM_WEAPON WEAPON_SWORD 2 ANTI_MUDANG ITEM_TUNABLE WEAR_WEAPON NONE 100 100 12 2 15 LEVEL 0 LIMIT_NONE 0 APPLY_ATT_SPEED 22 APPLY_STR 10 APPLY_DEX 10 APPLY_MAX_HP 1000 APPLY_CRITICAL_PCT 10 APPLY_PENETRATE_PCT 10 APPLY_ATT_GRADE_BONUS 50 0 15 19 13 15 7 0 1 0
4. ProtoReader.cpp Dosyasını Düzenleyin
src/db/src/ProtoReader.cpp dosyasını açın.Aşağıdaki satırı bulun:
int dataArray[33];
Şu şekilde değiştirin:
int dataArray[41]; // it was 33 before, we added 4 new bonus slots and 4 values so +8
5. Yeni Apply Slotlarını Okutun
Aşağıdaki kod bloğunu bulun:İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
Aşağıdaki kod ile değiştirin:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
6. Offset Değerlerini Güncelleyin
Aşağıdaki kodu bulun:itemTable->alValues = dataArray[24+i];
itemTable->bGainSocketPct = dataArray[31];
itemTable->sAddonType = dataArray[32];
Aşağıdaki şekilde değiştirin:
itemTable->alValues = dataArray[32+i];
itemTable->bGainSocketPct = dataArray[39];
itemTable->sAddonType = dataArray[40];
