Yardım Tılsım efsunla sistemi

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

hancı21

Üye
Üye
Mesaj
227
Çözümler
2
Beğeni
22
Puan
79
Ticaret Puanı
0
4 efsunlu tılsımı degiştiriyor ama 5 efsunlu tılsımı degiştirmiyor

Kod:
Genişlet Daralt Kopyala
#ifdef ENABLE_ATTR_RARE_RENEWAL

                case USE_CHANGE_RARE_ATTRIBUTE:

                case USE_ADD_RARE_ATTRIBUTE:

                {

                    LPITEM item2;



                    if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))

                        return false;



                    if (item2->IsEquipped() || item2->IsExchanging())

                        return false;



                    int attrIndex = item2->GetAttributeSetIndex(true);

                    if (attrIndex == -1)

                    {

                        NewChatPacket(CANT_CHANGE_THE_ATTRIBUTE_OF_THIS_ITEM);

                        return false;

                    }



                    if (!item->IsRareAttrItem(attrIndex))

                    {

                        NewChatPacket(CANT_CHANGE_THE_ATTRIBUTE_OF_THIS_ITEM);

                        return false;

                    }



                    if (item2->GetRareAttrCount() >= 5)

                    {

                        NewChatPacket(NO_ATTRIBUTES_TO_CHANE_ON_THE_ITEM);

                        return false;

                    }



                    switch (item->GetSubType())

                    {

                        case USE_CHANGE_RARE_ATTRIBUTE:

                        {

                            if (!item2->ChangeRareAttribute() == 0)

                            {

                                NewChatPacket(NO_ATTRIBUTES_TO_CHANE_ON_THE_ITEM);

                                return false;

                            }

                            NewChatPacket(CHANGE_ATTRIBUTE_WAS_SUCCESFULL);

                            break;

                        }

                        case USE_ADD_RARE_ATTRIBUTE:

                        {

                            if (number(1, 100) <= 55)

                            {

                                if (!item2->AddRareAttribute() < 5)

                                {

                                    NewChatPacket(NO_ATTRIBUTES_TO_CHANE_ON_THE_ITEM);

                                    return false;

                                }

                                NewChatPacket(IT_WAS_SUCCESFULL);

                            }

                            else

                            {

                                NewChatPacket(IT_WAS_FAILED);

                            }

                            break;

                        }

                        default:

                            return false;

                    }

                    item->SetCount(item->GetCount() - 1);
 
Son düzenleme:
Çözüm
C++:
Genişlet Daralt Kopyala
if (item2->GetRareAttrCount() > 5)
{
NewChatPacket(NO_ATTRIBUTES_TO_CHANE_ON_THE_ITEM);
return false;
}

senin kodda 5 veya daha fazlaysa efsun değiştirme engelleniyordu şuan bunu 5den fazla efsun varsa engelliyor
bu şekilde deneyebilir misin
C++:
Genişlet Daralt Kopyala
if (item2->GetRareAttrCount() > 5)
{
NewChatPacket(NO_ATTRIBUTES_TO_CHANE_ON_THE_ITEM);
return false;
}

senin kodda 5 veya daha fazlaysa efsun değiştirme engelleniyordu şuan bunu 5den fazla efsun varsa engelliyor
bu şekilde deneyebilir misin
 
Son düzenleme:
Çözüm
Geri
Üst