Çözüldü yöng hızlı basamama sorunu

  • Konuyu açan Konuyu açan bosymax
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 599
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

bosymax

Geliştirici
Geliştirici
MT Üye
Mesaj
222
Çözümler
14
Beğeni
110
Puan
749
Ticaret Puanı
0
merhabalar dostlar şeftali çiçeği basarken seri basabiliyorum fakat yöng basarken 1 sn neredeyse beklemesi gerekiyor bunun ayarını nereden yapabilirim şeftali ile aynı hızda basılması için
image.png
 
Çözüm
edit: çözümü buldum;
arena.cpp
aratıyoruz
Kod:
Genişlet Daralt Kopyala
CArenaManager::IsLimitedItem
kod bloğunun içine
Kod:
Genişlet Daralt Kopyala
case 50816:
ekliyoruz artık seri şekilde basabiliriz
1619000962667.png
Şimdi 2 ihtimal var ya ITEM_USE komutuna süre engeli koyuldu onu kaldırıcaksın.
Yada USE_POTION_NODELAY kısmına case eklicez.


Eğer use komutunda engel görmüyorsan 2. seçeneği yaparsan sorunun kalkar diye düşünüyorum.
C++:
Genişlet Daralt Kopyala
        case ITEM_USE:
            {
                if (item->GetVnum() > 50800 && item->GetVnum() <= 50820)
                {
                    if (test_server)
                        sys_log (0, "ADD addtional effect : vnum(%d) subtype(%d)", item->GetOriginalVnum(), item->GetSubType());

                    int affect_type = AFFECT_EXP_BONUS_EURO_FREE;
                    int apply_type = aApplyInfo[item->GetValue(0)].bPointType;
                    int apply_value = item->GetValue(2);
                    int apply_duration = item->GetValue(1);

                    switch (item->GetSubType())
                    {
                        case USE_ABILITY_UP:
                            if (FindAffect(affect_type, apply_type))
                            {
                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÀÌ¹Ì È¿°ú°¡ °É·Á ÀÖ½À´Ï´Ù."));
                                return false;
                            }

                            {
                                switch (item->GetValue(0))
                                {
                                    case APPLY_MOV_SPEED:
                                        AddAffect(affect_type, apply_type, apply_value, AFF_MOV_SPEED_POTION, apply_duration, 0, true, true);
                                        break;

                                    case APPLY_ATT_SPEED:
                                        AddAffect(affect_type, apply_type, apply_value, AFF_ATT_SPEED_POTION, apply_duration, 0, true, true);
                                        break;

                                    case APPLY_STR:
                                    case APPLY_DEX:
                                    case APPLY_CON:
                                    case APPLY_INT:
                                    case APPLY_CAST_SPEED:
                                    case APPLY_RESIST_MAGIC:
                                    case APPLY_ATT_GRADE_BONUS:
                                    case APPLY_DEF_GRADE_BONUS:
                                        AddAffect(affect_type, apply_type, apply_value, 0, apply_duration, 0, true, true);
                                        break;
                                }
                            }

                            if (GetDungeon())
                                GetDungeon()->UsePotion(this);

                            if (GetWarMap())
                                GetWarMap()->UsePotion(this, item);

                            item->SetCount(item->GetCount() - 1);
                            break;


2.Seçenek; Bu kısmı bul ve bu şekilde ekleme yap.

C++:
Genişlet Daralt Kopyala
                                switch (item->GetVnum())
                                {
                                    case 70020 :
                                    case 71018 :
                                    case 71019 :
                                    case 71020 :
                                    case 50816 : // Yong Suyu

Ardından aşağıda bunu bulucaksın.

C++:
Genişlet Daralt Kopyala
                            if (item->GetValue(4) != 0) // SP % ȸº¹
                            {
                                if (GetSP() < GetMaxSP())
                                {
                                    PointChange(POINT_SP, item->GetValue(4) * GetMaxSP() / 100);
                                    EffectPacket(SE_SPUP_BLUE);
                                    used = TRUE;
                                }
                            }

Altına bunu ekle

C++:
Genişlet Daralt Kopyala
                            if (item->GetValue(5) != 0) // HP % ȸº¹
                            {
                                if (GetHP() < GetMaxHP())
                                {
                                    PointChange(POINT_HP, item->GetValue(5) * GetMaxHP() / 100);
                                    EffectPacket(SE_HPUP_RED);
                                    used = TRUE;
                                }
                            }

Aklıma böyle bi çözüm geliyor.
 
Son düzenleme:
edit: çözümü buldum;
arena.cpp
aratıyoruz
Kod:
Genişlet Daralt Kopyala
CArenaManager::IsLimitedItem
kod bloğunun içine
Kod:
Genişlet Daralt Kopyala
case 50816:
ekliyoruz artık seri şekilde basabiliriz
1619000962667.png
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst