Yardım Veya operatörü çalışmaması

  • Konuyu açan Konuyu açan asilords
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 5
  • Gösterim Gösterim 67
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

asilords

MT Üye
MT Üye
Mesaj
357
Çözümler
13
Beğeni
93
Puan
729
Ticaret Puanı
0
Selamlar, 2 adet anti exp yüzüğü ekledim biri normal diğeri başlangıç için ancak (veya) komutu yazmama rağmen ikisini aynı anda takılca çalışıyor çözemedim.

Kod:
Genişlet Daralt Kopyala
#ifdef ENABLE_RING_OF_SECRETS
    if ((!to->IsEquipUniqueItem(UNIQUE_ITEM_ANTIEXP_RING)) || (!to->IsEquipUniqueItem(UNIQUE_ITEM_ANTIEXP_RING_BASIC)))
    {
        to->PointChange(POINT_EXP, iExp, true);
        from->CreateFly(FLY_EXP, to);
    }
#else
    to->PointChange(POINT_EXP, iExp, true);
    from->CreateFly(FLY_EXP, to);
#endif

Kod:
Genişlet Daralt Kopyala
#ifdef ENABLE_RING_OF_SECRETS
    UNIQUE_ITEM_ANTIEXP_RING = 72321,
#ifdef ENABLE_BASIC_ITEM_SYSTEM
    UNIQUE_ITEM_ANTIEXP_RING_BASIC = 172321,
#endif
#endif

İkisi aynı anda takılca çalışıyor tek tek ayrı ayrı takınca çalışmıyor.
 
Çözüm
AntiExpYuzugu1 takılı değilse veya AntiExpYuzugu2 takılı değilse -> Exp alabilir şeklinde bir kontrol yazmışsınız.

Olası senaryolar:
AntiExpYuzugu1 takılı, AntiExpYuzugu2 değil.
Sonuç: Exp alır.
AntiExpYuzugu2 takılı, AntiExpYuzugu1 değil.
Sonuç: Exp alır.
AntiExpYuzugu1 takılı değil, AntiExpYuzugu2 takılı değil.
Sonuç: Exp alır.
AntiExpYuzugu1 takılı, AntiExpYuzugu2 takılı.
Sonuç: Exp alamaz.

Çözüm: Bu mantığı değiştirmek için veya operatörü yerine ve operatörü kullanmanız gerekir.

Senaryoları tekrar yazarsak:
AntiExpYuzugu1 takılı, AntiExpYuzugu2 değil.
Sonuç: Exp alamaz.
AntiExpYuzugu2 takılı, AntiExpYuzugu1 değil.
Sonuç: Exp alamaz.
AntiExpYuzugu1 takılı değil, AntiExpYuzugu2 takılı değil.
Sonuç: Exp alır.
AntiExpYuzugu1 takılı...
AntiExpYuzugu1 takılı değilse veya AntiExpYuzugu2 takılı değilse -> Exp alabilir şeklinde bir kontrol yazmışsınız.

Olası senaryolar:
AntiExpYuzugu1 takılı, AntiExpYuzugu2 değil.
Sonuç: Exp alır.
AntiExpYuzugu2 takılı, AntiExpYuzugu1 değil.
Sonuç: Exp alır.
AntiExpYuzugu1 takılı değil, AntiExpYuzugu2 takılı değil.
Sonuç: Exp alır.
AntiExpYuzugu1 takılı, AntiExpYuzugu2 takılı.
Sonuç: Exp alamaz.

Çözüm: Bu mantığı değiştirmek için veya operatörü yerine ve operatörü kullanmanız gerekir.

Senaryoları tekrar yazarsak:
AntiExpYuzugu1 takılı, AntiExpYuzugu2 değil.
Sonuç: Exp alamaz.
AntiExpYuzugu2 takılı, AntiExpYuzugu1 değil.
Sonuç: Exp alamaz.
AntiExpYuzugu1 takılı değil, AntiExpYuzugu2 takılı değil.
Sonuç: Exp alır.
AntiExpYuzugu1 takılı, AntiExpYuzugu2 takılı.
Sonuç: Exp alamaz.
 
Çözüm
AntiExpYuzugu1 takılı değilse veya AntiExpYuzugu2 takılı değilse -> Exp alabilir şeklinde bir kontrol yazmışsınız.

Olası senaryolar:
AntiExpYuzugu1 takılı, AntiExpYuzugu2 değil.
Sonuç: Exp alır.
AntiExpYuzugu2 takılı, AntiExpYuzugu1 değil.
Sonuç: Exp alır.
AntiExpYuzugu1 takılı değil, AntiExpYuzugu2 takılı değil.
Sonuç: Exp alır.
AntiExpYuzugu1 takılı, AntiExpYuzugu2 takılı.
Sonuç: Exp alamaz.

Çözüm: Bu mantığı değiştirmek için veya operatörü yerine ve operatörü kullanmanız gerekir.

Senaryoları tekrar yazarsak:
AntiExpYuzugu1 takılı, AntiExpYuzugu2 değil.
Sonuç: Exp alamaz.
AntiExpYuzugu2 takılı, AntiExpYuzugu1 değil.
Sonuç: Exp alamaz.
AntiExpYuzugu1 takılı değil, AntiExpYuzugu2 takılı değil.
Sonuç: Exp alır.
AntiExpYuzugu1 takılı, AntiExpYuzugu2 takılı.
Sonuç: Exp alamaz.
Ve oparatörünü kullanırsam 2 yüzükte aynı anda takılı değilse exp alır olmaz mı ?

Tam tersi olması gerekmez mi
 
ikisinden biri takılıysa exp vermez kodu;

C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_RING_OF_SECRETS
    if (!to->IsEquipUniqueItem(UNIQUE_ITEM_ANTIEXP_RING) && !to->IsEquipUniqueItem(UNIQUE_ITEM_ANTIEXP_RING_BASIC))
    {
        to->PointChange(POINT_EXP, iExp, true);
        from->CreateFly(FLY_EXP, to);
    }
#else
    to->PointChange(POINT_EXP, iExp, true);
    from->CreateFly(FLY_EXP, to);
#endif
 
Son düzenleme:
anladım ama çok kafa karıştırıcı geldi ve yi kullanınca ikiside aynı anda takılı değilse mantığı çalışması gerekiyor gibi geliyor nedense :)
 
Geri
Üst