xranzei 1
xranzei
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

Cevaplanmadı Yeni Affect Ekleme Sorunu

  • Konuyu başlatan Konuyu başlatan kadobaba1
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 1
  • Görüntüleme Görüntüleme 53

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

AFFECT.H KOD BLOĞU
C++:
#ifdef CARBON_PREMIUM_OTO
    AFFECT_CARBON_PREMIUM = 545,
#endif
CHAR_İTEM KOD BLOĞU
C++:
#ifdef CARBON_PREMIUM_OTO
            // --- CARBON PREMIUM EŞYASI KULLANIMI BAŞLANGIÇ ---
            case 99917: // 1 Saatlik Premium Eşyası
            case 99918: // 12 Saatlik Premium Eşyası
            case 99919: // 24 Saatlik Premium Eşyası (GÜNCELLENDİ)
            case 99920: // 1 Aylık Premium Eşyası
            {
                // Zaten aktifse tekrar üst üste basılmasını engelliyoruz
                if (ch->FindAffect(AFFECT_CARBON_PREMIUM))
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "Carbon Premium zaten aktif!");
                    return false;
                }

                long lDuration = 0;

                // Oyuncunun tıkladığı eşyanın koduna göre (VNUM) saniye hesabı yapıyoruz
                switch (item->GetVnum())
                {
                    case 99917:
                        lDuration = 60 * 60 * 1;        // 1 Saat (3.600 saniye)
                        break;
                    case 99918:
                        lDuration = 60 * 60 * 12;       // 12 Saat (43.200 saniye)
                        break;
                    case 99919:
                        lDuration = 60 * 60 * 24;       // 24 Saat [1 Gün] (86.400 saniye) - (GÜNCELLENDİ)
                        break;
                    case 99920:
                        lDuration = 60 * 60 * 24 * 30;  // 1 Ay [30 Gün] (2.592.000 saniye)
                        break;
                    default:
                        lDuration = 60 * 60 * 24;       // Güvenlik önlemi
                        break;
                }

                // AFFECT TABLOSUNA (DB) VE KARAKTERE SÜREYİ İŞLİYORUZ
                ch->AddAffect(AFFECT_CARBON_PREMIUM, POINT_NONE, 0, AFF_NONE, lDuration, 0, false);
                
                // Eşyayı envanterden 1 adet siliyoruz
                item->SetCount(item->GetCount() - 1);

                // Client'e (Python tarafına) aktif etme komutunu gönderiyoruz
                ch->ChatPacket(CHAT_TYPE_COMMAND, "CarbonPremiumStatus 1");
                ch->ChatPacket(CHAT_TYPE_INFO, "Carbon Premium basariyla aktif edildi! Iyi avlar.");
                break;
            }
            // --- CARBON PREMIUM EŞYASI KULLANIMI BİTİŞ ---
#endif

PYTHONCHARACTERMODULE.CPP
C++:
#ifdef CARBON_PREMIUM_OTO
    PyModule_AddIntConstant(poModule, "AFFECT_CARBON_PREMIUM", CInstanceBase::AFFECT_CARBON_PREMIUM);
#endif

INSTANCEBASE.H
Kod:
#ifdef CARBON_PREMIUM_OTO
            AFFECT_CARBON_PREMIUM = 545,
#endif

PYTHONAPPLİCATİONMODULE.CPP

Kod:
#ifdef CARBON_PREMIUM_OTO
    PyModule_AddIntConstant(poModule, "CARBON_PREMIUM_OTO", 1);
#else
    PyModule_AddIntConstant(poModule, "CARBON_PREMIUM_OTO", 0);
#endif

UİAFFECTSHOWER.PY
Python:
    if app.CARBON_PREMIUM_OTO:
        AFFECT_DATA_DICT[chr.AFFECT_CARBON_PREMIUM] = (localeInfo.TOOLTIP_CARBON_PREMIUM, "d:/ymir work/ui/skill/common/affect/att_bonus.sub"),

Kodları bu şekilde düzenledim ancak, Eşyaya sağ tıkladığım zaman karekterime bonuslar işleniyor, Affect ID'si player.affect tablosuna düşmüyor. Sol üstte beliren ikonlar arasında yer almıyor yardım edermisiniz?
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst