Çözüldü Efsunları detaylı gelme oranı hk.

  • Konuyu açan Konuyu açan theay
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 941
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

theay

mester2.tc
Premium Üye
MT Üye
Mesaj
245
Çözümler
17
Beğeni
79
Puan
484
Ticaret Puanı
0
Dostlar merhaba ,
Başlıkta da belirtiğim gibi örnek vererek anlatayım.
Şimdi item_attr tablosunda lv1 lv2 lv3 lv4 lv5 tabloları var bunların 5 oranı var ben buraya 6 ve 7. sans oranı eklemek istiyorum
Kadim efsun sistemi var oyunumda efsun gelmesini olabildiğince zorlaştırmak istiyorum amacım bu yani 1 2 4 5 6 8 12 bu şekilde değerler vermek istiyorum nasıl yapabilirim şimdiden yardım edenlere teşekkürler .

Yada lv5 gelme oranının nereden ayarlayabilirim
skype : live:ensaray
 
Çözüm
item_attribute.cpp dosyasında ChangeAttribute fonksiyonu içerisinde yer alan şu kodlardan düzenleyebilirsiniz.
C++:
Genişlet Daralt Kopyala
    static const int tmpChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
    {
        0, 10, 40, 35, 15,
    };
Sıralama 1, 2, 3, 4 ve 5 şeklinde.
Buradaki sayısal değerler efsun levellerin gelme şansını belirtiyor. Bu sayıların toplamı 100'ü geçmemeli veya 100'den az olmamalı.. En az gelmesini istediğinizi düşürünüz. Ve değerlerin toplamını 100'e eşitleyiniz.

Birde bazı özel efsun nesneleri için farklı şanslar tanımlanmış onlara da char_item.cpp'den düzenleyebilirsiniz. Örnek;
C++:
Genişlet Daralt Kopyala
                                    if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
                                    {
                                        int...
item_attribute.cpp dosyasında ChangeAttribute fonksiyonu içerisinde yer alan şu kodlardan düzenleyebilirsiniz.
C++:
Genişlet Daralt Kopyala
    static const int tmpChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
    {
        0, 10, 40, 35, 15,
    };
Sıralama 1, 2, 3, 4 ve 5 şeklinde.
Buradaki sayısal değerler efsun levellerin gelme şansını belirtiyor. Bu sayıların toplamı 100'ü geçmemeli veya 100'den az olmamalı.. En az gelmesini istediğinizi düşürünüz. Ve değerlerin toplamını 100'e eşitleyiniz.

Birde bazı özel efsun nesneleri için farklı şanslar tanımlanmış onlara da char_item.cpp'den düzenleyebilirsiniz. Örnek;
C++:
Genişlet Daralt Kopyala
                                    if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
                                    {
                                        int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                                        {
                                            0, 0, 30, 40, 3
                                        };

                                        item2->ChangeAttribute(aiChangeProb);
                                    }
                                    else if (item->GetVnum() == 76014)
                                    {
                                        int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                                        {
                                            0, 10, 50, 39, 1
                                        };

                                        item2->ChangeAttribute(aiChangeProb);
                                    }

Gelelim yeni level ekleme mevzusuna. O konu burada anlatacak türden bir şey değil. Kodları anlamanız gerekiyor. Bunun içinde bolca pratik yapıp sistemin kodlarını öğreniniz. İyi çalışmalar dilerim.
 
Çözüm
item_attribute.cpp dosyasında ChangeAttribute fonksiyonu içerisinde yer alan şu kodlardan düzenleyebilirsiniz.
C++:
Genişlet Daralt Kopyala
    static const int tmpChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
    {
        0, 10, 40, 35, 15,
    };
Sıralama 1, 2, 3, 4 ve 5 şeklinde.
Buradaki sayısal değerler efsun levellerin gelme şansını belirtiyor. Bu sayıların toplamı 100'ü geçmemeli veya 100'den az olmamalı.. En az gelmesini istediğinizi düşürünüz. Ve değerlerin toplamını 100'e eşitleyiniz.

Birde bazı özel efsun nesneleri için farklı şanslar tanımlanmış onlara da char_item.cpp'den düzenleyebilirsiniz. Örnek;
C++:
Genişlet Daralt Kopyala
                                    if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
                                    {
                                        int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                                        {
                                            0, 0, 30, 40, 3
                                        };

                                        item2->ChangeAttribute(aiChangeProb);
                                    }
                                    else if (item->GetVnum() == 76014)
                                    {
                                        int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                                        {
                                            0, 10, 50, 39, 1
                                        };

                                        item2->ChangeAttribute(aiChangeProb);
                                    }

Gelelim yeni level ekleme mevzusuna. O konu burada anlatacak türden bir şey değil. Kodları anlamanız gerekiyor. Bunun içinde bolca pratik yapıp sistemin kodlarını öğreniniz. İyi çalışmalar dilerim.
Değerli yorumunuz için teşekkür ederim , 0 olan rakam neyin oranını temsil ediyor item attribute de
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst