Öneri Sistem geliştirme günlüğü (Metin&Boss kestikçe özellik veren item)

  • Konuyu açan Konuyu açan TheAdmin33
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 7
  • Gösterim Gösterim 609
Konu sahibi önerilerinizi bekliyor. Konuya yorum yazabilirsiniz.

TheAdmin33

Ah, bu şarkıların gözü kör olsun
Geliştirici
Yardımsever Üye
Usta Üye
Editör
Mesaj
1.100
Çözümler
61
Beğeni
3.014
Puan
1.859
Ticaret Puanı
0
merhaba,

Metin&Boss kestikçe özellik veren item yapmak istiyorum bunuda aşağıda yazdığım gibi yapmak istiyorum. Bu konuda bir eleştiriniz , tavsiyeniz veya karşı olduğunuz bir yer varmı merak ediyorum.

Adım1: 2 adet ayrı ayrı item sınıfı oluşturcam. (şimdilik Metin madencisi yüzüğü ve boss avcısı tılsımı isimlerini vericem)

Adım2: Bu oluşturulan itemlerin socket1 ve socket2 lerinde kaç adet metin ve boss kestiğini ve itemin kaç level olduğu bilgisini tutucam (örn:Metin madencisi yüzüğü socket1=257 , socket2=2 (257 adet metin kesmiş ve leveli 2))

Adım3: Metin ve boss kesildiğinde bu bilgiyi sockete aktarma işlemi yapmadan önce level atlaması için yeterli metin kesme sayısına ulaşıldımı kontrolu yapılacak (bununla alakalı bir fonksiyon oluşturulacak) eğer ulaşılmamışsa socket1 +1 arttırılacak eğer ulaşılmışsa metin kesme sayısı sıfırlanıcak ve socket2 +1 arttırılacak .

Adım4: her level atladığında itemin verdiği özellik değiştirilecek.


Şimdi bunları yapmak istiyorum ama bilmediğim şeyler var bu konuda yardımınızı bekliyorum
1)Metin veya boss kesildiğinde çalışan fonksiyon nerde ve adı ne?
2)bu verdiği özelliği güncelleme olayını nasıl yapabilirim? protodan verdiğimiz değerleri güncelleyebilirmiyiz?(yeni bir efsun ekleyip o efsunun förmülünü socket2 ye göre hesaplatsam ve protoya ekleme yapsam çalışırmı?)
 
şimdi şu kaç metin kestin olayı şey var leş sistemi var oyuncu kesince itemin tooltipinde leş sayısı yazıyordu ona bi bakabilirsin socketten çekiyordur belki
 
metin ve boss efsunları ekleyebilrsin 1 konuda vardı böyle pet için eklemişler oraya bakarak düzenleyebilrsin konuyu bulayım paylaşırım
 
Aşağıdaki kod ile efsunu güncelliyerek hallettim. Şimdi ise level sınırları belirleyip buna göre if sorguları eklicem ve level sınırını itemin üstünde göstericem.

char_battle.cpp:
Genişlet Daralt Kopyala
    if (pkKiller && pkKiller->IsPC() && IsStone())
    {
        LPITEM item = pkKiller->GetWear(WEAR_COSTUME_BODY);

        if (item && (item->GetType() == ITEM_COSTUME))
        {
            bool level_return = true;
            int metin_hunter_level_limit = 100;
            int number_killed_metin = item->GetAttributeValue(0);

            if (number_killed_metin == metin_hunter_level_limit)
            {
                level_return = false;
            }

            if (level_return)
            {
                int Metin_Hunter_Point = 1;
                if (number_killed_metin < metin_hunter_level_limit)
                    item->SetForceAttribute( 0, APPLY_ATTBONUS_METIN, number_killed_metin + Metin_Hunter_Point);
            }
        }
    }
 
Aşağıdaki kod ile efsunu güncelliyerek hallettim. Şimdi ise level sınırları belirleyip buna göre if sorguları eklicem ve level sınırını itemin üstünde göstericem.

char_battle.cpp:
Genişlet Daralt Kopyala
    if (pkKiller && pkKiller->IsPC() && IsStone())
    {
        LPITEM item = pkKiller->GetWear(WEAR_COSTUME_BODY);

        if (item && (item->GetType() == ITEM_COSTUME))
        {
            bool level_return = true;
            int metin_hunter_level_limit = 100;
            int number_killed_metin = item->GetAttributeValue(0);

            if (number_killed_metin == metin_hunter_level_limit)
            {
                level_return = false;
            }

            if (level_return)
            {
                int Metin_Hunter_Point = 1;
                if (number_killed_metin < metin_hunter_level_limit)
                    item->SetForceAttribute( 0, APPLY_ATTBONUS_METIN, number_killed_metin + Metin_Hunter_Point);
            }
        }
    }
bak bu işi gel beraber yapalım yoksa fikri tırtıklayacak gibiyim 🥲. işlemleri kafadan kurdum ben. tüm tetik noktalarını, leveller için gerekli kesme olaylarını, özellikleri filan
 
bak bu işi gel beraber yapalım yoksa fikri tırtıklayacak gibiyim 🥲. işlemleri kafadan kurdum ben. tüm tetik noktalarını, leveller için gerekli kesme olaylarını, özellikleri filan
hallettim bile :D

sadece item üstünde kaç metin kesildiğini yazdırma kaldı o kadar.
 
bana 2 adet socket yuvası olan bir pencere resmi lazım elinde olan varmı
 
Geri
Üst