Oyunda kullanılmayan iksiri özellik verip aktif etme SRC

  • Konuyu açan Konuyu açan Battle2
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 55

Battle2

Üye
Üye
Mesaj
31
Çözümler
3
Beğeni
26
Puan
329
Ticaret Puanı
0
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:
Genişlet Daralt Kopyala
//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
 

Dosya Eklentileri

  • yeniiksir.webp
    yeniiksir.webp
    120,9 KB · Gösterim: 35
Geri
Üst