Mob ve Sandıklardan Efsunlu Item Düşürme Sistemi
Merhaba arkadaşlar,
Eski tarz PvP sunucularında gördüğüm ve oldukça hoşuma giden bir sistemi kendi projemde uyguladım.
Bu sistem sayesinde moblardan veya sandıklardan belirlediğiniz oranlara göre 1 ile 4 efsun arasında rastgele efsunlu item düşmektedir.
Sistem tamamen oran tabanlı çalışmaktadır ve dilerseniz aşağıdaki kodlardan efsun oranlarını kendi sunucunuza göre düzenleyebilirsiniz.
Kurulum
1. Game Source Düzenleme
İlk olarak aşağıdaki dosyayı açıyoruz:
Kod:
Dosya içerisinde aşağıdaki kod bloğunu bulun:
Kod:
Bulduğunuz kısmı aşağıdaki şekilde değiştirin:
Kod:
2. Efsun Sisteminin Düzenlenmesi
Daha sonra aşağıdaki dosyayı açıyoruz:
Kod:
Dosya içerisinde aşağıdaki fonksiyonu aratın:
Kod:
Bulduğunuz fonksiyonun içeriğini tamamen aşağıdaki kod ile değiştirin:
Kod:
Sistem Nasıl Çalışır?
Sistem çalıştığında itemlere rastgele efsun eklenir.
Bu sayede oyun içerisinde efsünlü item düşme sistemi otomatik olarak aktif hale gelir.
Not
Efsun oranlarını kendi sunucu dengenize göre kolayca değiştirebilirsiniz.
Sistem şu anda stabil şekilde çalışmaktadır ve herhangi bir sorun oluşturmamaktadır.
İyi forumlar dilerim.
Merhaba arkadaşlar,
Eski tarz PvP sunucularında gördüğüm ve oldukça hoşuma giden bir sistemi kendi projemde uyguladım.
Bu sistem sayesinde moblardan veya sandıklardan belirlediğiniz oranlara göre 1 ile 4 efsun arasında rastgele efsunlu item düşmektedir.
Sistem tamamen oran tabanlı çalışmaktadır ve dilerseniz aşağıdaki kodlardan efsun oranlarını kendi sunucunuza göre düzenleyebilirsiniz.
Kurulum
1. Game Source Düzenleme
İlk olarak aşağıdaki dosyayı açıyoruz:
Kod:
Game/src/item_manager.cpp
Dosya içerisinde aşağıdaki kod bloğunu bulun:
Kod:
if (bTryMagic)
Bulduğunuz kısmı aşağıdaki şekilde değiştirin:
Kod:
if (bTryMagic)
{
item->AlterToMagicItem();
}
2. Efsun Sisteminin Düzenlenmesi
Daha sonra aşağıdaki dosyayı açıyoruz:
Kod:
Game/src/item.cpp
Dosya içerisinde aşağıdaki fonksiyonu aratın:
Kod:
void CItem::AlterToMagicItem()
Bulduğunuz fonksiyonun içeriğini tamamen aşağıdaki kod ile değiştirin:
Kod:
void CItem::AlterToMagicItem()
{
int roll = number(1, 100);
int attrCount = 1;
if (roll <= 65)
attrCount = 1; // %65
else if (roll <= 90)
attrCount = 2; // %25
else if (roll <= 98)
attrCount = 3; // %8
else
attrCount = 4; // %2
// En az 1 efsun ZORUNLU
PutAttribute(aiItemMagicAttributePercentHigh);
for (int i = 1; i < attrCount; ++i)
PutAttribute(aiItemMagicAttributePercentLow);
}
Sistem Nasıl Çalışır?
Sistem çalıştığında itemlere rastgele efsun eklenir.
- %65 ihtimalle → 1 efsun
- %25 ihtimalle → 2 efsun
- %8 ihtimalle → 3 efsun
- %2 ihtimalle → 4 efsun
Bu sayede oyun içerisinde efsünlü item düşme sistemi otomatik olarak aktif hale gelir.
Not
Efsun oranlarını kendi sunucu dengenize göre kolayca değiştirebilirsiniz.
Sistem şu anda stabil şekilde çalışmaktadır ve herhangi bir sorun oluşturmamaktadır.
İyi forumlar dilerim.


