Çözüldü case POINT_MOV_SPEED hk

  • Konuyu açan Konuyu açan enes turan
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 83
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ı.

enes turan

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
559
Çözümler
35
Beğeni
281
Puan
909
Ticaret Puanı
0
merhabalar char.cpp case POINT_MOV_SPEED bloğunda biraz yardıma ihtiyacım var

sorunum

case POINT_MOV_SPEED ekli olan kod bloğu

C++:
Genişlet Daralt Kopyala
        case POINT_MOV_SPEED:
            if (IsConquerorMap(GetMapIndex()) && IsPC())
            {
                int value = 0;
                int aValue = 0;
                value = GetPoint(POINT_SUNGMA_MOVE);
                aValue = SECTREE_MANAGER::instance().GetSungmaValueAffectByRegion(GetMapIndex(), AFFECT_SUNGMA_MOVE);
                if(value < aValue)
                    SetPoint(type, 140);
                else
                    SetPoint(type, 209);
            }
            else
                SetPoint(type, GetPoint(type) + amount);
                val = GetPoint(type);
                break;

ne işe yarıyor
sorgulanan mapa ışınlandığın (IsConquerorMap) o mapa ait belirlenen statü (POINT_SUNGMA_MOVE) eğer karakterde 0 ise hareket hızını 140 a düşüyor
ve mapta statü ye 1 puan verilene kadar 140 ta sabitlemeye yarıyor

sorunum şu ki mapa ışınlandığımda
Adsız.webp


işaretli olan hareket hızının 140 olması gerekiyor fakat şöyle bir problem oluşuyor
2.webp


tüm statüler sapıtıyor bu kod da yanlış bir yer var fakat kod bilgim olmadığı için tıkandım bilgisi olan yardımcı olabilirmi doğru hesaplama yapması için nasıl bir yol izlemeliyim
 
Çözüm
Kod:
Genişlet Daralt Kopyala
        case POINT_MOV_SPEED:
        {
#ifdef ENABLE_CONQUEROR_LEVEL
            if (IsConquerorMap(GetMapIndex()) && IsPC())
            {
                int value = 0;
                int aValue = 0;
                value = GetPoint(POINT_SUNGMA_MOVE);
                aValue = SECTREE_MANAGER::instance().GetSungmaValueAffectByRegion(GetMapIndex(), AFFECT_SUNGMA_MOVE);
                if(value < aValue)
                    SetPoint(type, 140);
                else
                    SetPoint(type, GetPoint(type) + amount);
                
                val = GetPoint(type);
            }
            else
            {
                
            SetPoint(type, GetPoint(type) + amount);
            val = GetPoint(type)...
sanırım SetPoint fonksiyonu bütün statları 140'a sabitliyor onun yerine şu şekilde dener misin?

C++:
Genişlet Daralt Kopyala
case POINT_MOV_SPEED:
    if (IsConquerorMap(GetMapIndex()) && IsPC())
    {
        int value = 0;
        int aValue = 0;
        value = GetPoint(POINT_SUNGMA_MOVE);
        aValue = SECTREE_MANAGER::instance().GetSungmaValueAffectByRegion(GetMapIndex(), AFFECT_SUNGMA_MOVE);
        if(value < aValue)
            SetPoint(POINT_MOV_SPEED, 140);
        else
            SetPoint(POINT_MOV_SPEED, 209);
    }
    else
        SetPoint(POINT_MOV_SPEED, GetPoint(POINT_MOV_SPEED) + amount);
    val = GetPoint(POINT_MOV_SPEED);
    break;
 
Kod:
Genişlet Daralt Kopyala
        case POINT_MOV_SPEED:
        {
#ifdef ENABLE_CONQUEROR_LEVEL
            if (IsConquerorMap(GetMapIndex()) && IsPC())
            {
                int value = 0;
                int aValue = 0;
                value = GetPoint(POINT_SUNGMA_MOVE);
                aValue = SECTREE_MANAGER::instance().GetSungmaValueAffectByRegion(GetMapIndex(), AFFECT_SUNGMA_MOVE);
                if(value < aValue)
                    SetPoint(type, 140);
                else
                    SetPoint(type, GetPoint(type) + amount);
                
                val = GetPoint(type);
            }
            else
            {
                
            SetPoint(type, GetPoint(type) + amount);
            val = GetPoint(type);
                
            }


#else       
            
            SetPoint(type, GetPoint(type) + amount);
            val = GetPoint(type);
#endif
        }
        break;

çözüldü.
 
Son düzenleme:
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst