Merhabalar her fileste bulunan ama kullanılmayan pembe iksir ve Gök mavisi iksirlerini aktif edicez ancak ben şuan sadece pembe iksiri aktif ettim yarında büyük ihtimal gök mavisi iksirini aktif ederim başlıyalım
item_proto ve src client:
//Filezilla Girelim item_proto.txt açalım ve 27118 aratalım
ITEM_NONE 0
böyledir biz böyle yapalım yani 0 yerine USE_SPECİAL koyucaz
eğer pack tarafında problem oluyorsa USE_ABILITY_UP kullanılabilir
ITEM_USE USE_SPECIAL
//Source geçelim game/src/affect.h açalım ve aratalım AFFECT_NOG_ABILITY,
//Hemen altına
AFFECT_OZEL_IKSIR,//Yeni Harici Kritik Havuzu
AFFECT_OZEL_IKSIR_HP,// Yeni Harici HP Havuzu
AFFECT_OZEL_IKSIR_DELICI,// Yeni Harici Delici Havuzu
//Yazalım kaydedip kapatalım.
//char_item.cpp açalım game/src klasörü içinde
//aratalım case ITEM_GIVE_STAT_RESET_COUNT_VNUM: bir boşluk bırakıp üzerine alttaki kodu yapıştıralım
case 27118: // Özel İksir (HP, Kritik, Delici)
{
// Sınırsız üst üste basılmayı engelleyen orijinal kontrol
if (FindAffect(AFFECT_OZEL_IKSIR))
{
ChatPacket(CHAT_TYPE_INFO, "Bu iksirin etkisi zaten uzerinizde aktif.");
return false;
}
// Süre Tanımı: 10 Dakika (600 Saniye)
long lDuration = 600;
AddAffect(AFFECT_OZEL_IKSIR, POINT_CRITICAL_PCT, 10, AFF_NONE, lDuration, 0, true);
AddAffect(AFFECT_OZEL_IKSIR_HP, POINT_MAX_HP, 1000, AFF_NONE, lDuration, 0, true);
AddAffect(AFFECT_OZEL_IKSIR_DELICI, POINT_PENETRATE_PCT, 10, AFF_NONE, lDuration, 0, true);
// Zindan ve Savaş haritalarındaki iksir kullanım log tetikleyicileri
if (GetDungeon())
GetDungeon()->UsePotion(this);
if (GetWarMap())
GetWarMap()->UsePotion(this, item);
// Can barının (HP Bar) anlık güncellenmesi için zorunlu yenileme
PointChange(POINT_MAX_HP, 0);
ChatPacket(CHAT_TYPE_INFO, "[Sistem] Ozel iksir kullanildi! 1000 HP, %%10 Kritik ve %%10 Delici 10 dakika aktif.");
// İksiri envanterden 1 adet eksiltir
item->SetCount(item->GetCount() - 1);
}
break;
//SRC tarafı bitti build alalım şimdi iksire basınca sol üstte gözükmesi için client pack ayarlarını yapalım
//InstanceBase.h açalım ve aratalım NEW_AFFECT_QUEST_START_IDX bir boşluk üzerine bu alttaki kodu yapıştıralım.
NEW_AFFECT_OZEL_IKSIR,
//kaydedip kapatalım PythonCharacterModule.cpp açalım ve aratalım
// PyModule_AddIntConstant(poModule, "AFFECT_FISH_MIND", CInstanceBase::AFFECT_FISH_MIND);
//hemen üzerine ekliyelim
PyModule_AddIntConstant(poModule, "NEW_AFFECT_OZEL_IKSIR", CInstanceBase::NEW_AFFECT_OZEL_IKSIR);
//kaydetip client build alalım
//Pack ayarı kaldı son olarak root dosyasındaki uiaffectshower.py açalım
//class AffectShower içerisinde AFFECT_DATA_DICT bul ve müsait yere bu kodu ekle
chr.NEW_AFFECT_OZEL_IKSIR : (localeInfo.NEW_AFFECT_OZEL_IKSIR, "icon/item/27118.tga"),
//kaydet ve rootu paketle locale_tr'yi aç locale_game.txt bul aç en altına
NEW_AFFECT_OZEL_IKSIR Pembeİksir SNA
//ekle ve kaydet locale_tr kapat oyuna gir
//NOT : İKSİRİN ÖZELLİKLERİNİ İSTEDİĞİNİZ GİBİ DEĞİŞTİREBİLİRSİNİZ VEYA ORANLARINI
//İKSİR KULLANILDIĞINDA [SİSTEM] MESAJI GEÇER AKTİF İKEN KULLANIRSANIZ ETKİ DEVAM EDİYOR DİYECEKTİR