Çözüldü yeşil ve mor pot düzenlemesi

  • Konuyu açan Konuyu açan Shooter
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 4
  • Gösterim Gösterim 117
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ı.

Shooter

Üye
Üye
Mesaj
74
Çözümler
3
Beğeni
22
Puan
479
Ticaret Puanı
0
Yeşil ve mor pot için bastığında Bu etki zaten çalışıyor. yazmasını istiyorum ama charitem içerisinde ki tüm mov_speed att_speed leri değiştirmeme rağmen olmadı. Sınırsız basılıyor ardı arkası gelmiyor :D
 
Çözüm
oto pot ne alaka ben mor ve yeşil pot için düzenleme istedim
Yanlış okumuşum kusurabakma.

Kısa bir işlem aslında altta verdiklerimi uygulayabilirsin.

Char_item.cpp:
Genişlet Daralt Kopyala
arat:
case APPLY_MOV_SPEED:

hemen altına ekle:
                                    if (FindAffect(AFFECT_MOV_SPEED))
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("BU_ETKI_DEVAM_EDIYOR"));
                                        return false;
                                    }
arat:
case APPLY_ATT_SPEED:

hemen altına ekle:

                                    if (FindAffect(AFFECT_ATT_SPEED))
                                    {
                                        ChatPacket(CHAT_TYPE_INFO...
oto pot ne alaka ben mor ve yeşil pot için düzenleme istedim
Yanlış okumuşum kusurabakma.

Kısa bir işlem aslında altta verdiklerimi uygulayabilirsin.

Char_item.cpp:
Genişlet Daralt Kopyala
arat:
case APPLY_MOV_SPEED:

hemen altına ekle:
                                    if (FindAffect(AFFECT_MOV_SPEED))
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("BU_ETKI_DEVAM_EDIYOR"));
                                        return false;
                                    }
arat:
case APPLY_ATT_SPEED:

hemen altına ekle:

                                    if (FindAffect(AFFECT_ATT_SPEED))
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("BU_ETKI_DEVAM_EDIYOR"));
                                        return false;
                                    }
                                   
locale_string.txt ekle

"BU_ETKI_DEVAM_EDIYOR";
"Bu etki devam ediyor.";

Bu yolu izleyerek başka bir nesneye de bu eklentiyi ekleyebilirsin.
 
Çözüm
Aratınca bulamazsan diye daha fazla kodu seninle paylaştım bakarak yapabilirsin 29. ve 41. satır
C++:
Genişlet Daralt Kopyala
                    case USE_POTION_CONTINUE:
                        {
                            if (item->GetValue(0) != 0)
                            {
                                AddAffect(AFFECT_HP_RECOVER_CONTINUE, POINT_HP_RECOVER_CONTINUE, item->GetValue(0), 0, item->GetValue(2), 0, true);
                            }
                            else if (item->GetValue(1) != 0)
                            {
                                AddAffect(AFFECT_SP_RECOVER_CONTINUE, POINT_SP_RECOVER_CONTINUE, item->GetValue(1), 0, item->GetValue(2), 0, true);
                            }
                            else
                                return false;
                        }

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

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

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

                    case USE_ABILITY_UP:
                        {
                            switch (item->GetValue(0))
                            {
                                case APPLY_MOV_SPEED:
                                    if (FindAffect(AFFECT_MOV_SPEED)) // @fix
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이미 효과가 걸려 있습니다."));
                                        return false;
                                    }
                                    AddAffect(AFFECT_MOV_SPEED, POINT_MOV_SPEED, item->GetValue(2), AFF_MOV_SPEED_POTION, item->GetValue(1), 0, true);
#ifdef ENABLE_EFFECT_EXTRAPOT
                                    EffectPacket(SE_DXUP_PURPLE);
#endif
                                    break;

                                case APPLY_ATT_SPEED:
                                    if (FindAffect(AFFECT_MOV_SPEED)) // @fix
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이미 효과가 걸려 있습니다."));
                                        return false;
                                    }
                                    AddAffect(AFFECT_ATT_SPEED, POINT_ATT_SPEED, item->GetValue(2), AFF_ATT_SPEED_POTION, item->GetValue(1), 0, true);
#ifdef ENABLE_EFFECT_EXTRAPOT
                                    EffectPacket(SE_SPEEDUP_GREEN);
#endif
                                    break;
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst