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
CHAR_İTEM KOD BLOĞU
PYTHONCHARACTERMODULE.CPP
INSTANCEBASE.H
PYTHONAPPLİCATİONMODULE.CPP
UİAFFECTSHOWER.PY
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?
C++:
#ifdef CARBON_PREMIUM_OTO
AFFECT_CARBON_PREMIUM = 545,
#endif
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?
