Çözüldü Kadim Efsun Küresi Hk.

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ı.

ITECHINN

Üye
Üye
Mesaj
2
Beğeni
1
Puan
655
Ticaret Puanı
0
Merhabalar,

Kısa süre önce dertsiz başıma dert alarak mt2 üzerinde ufak tefek şeyler yapmaya çalışmaya başladım. Neyse işin tanıtım faslını bırakıyorum kenara.

Elimdeki sistemde 5. Efsunu değiştirmek için kadim efsun küresi yoktu ben de internette bulduğum şekliyle ekledim. Ancak kadim efsun küresini eşyanın üzerine bırakınca, efsun sayısı yeterli olmasına rağmen "Nesnede dördüncü bonus mevcut değil" hatası alıyorum. (Kodlarda NEW_ATTRIBUTE_MARBLE_ENOUGH_ATTR_COUNT kısmı)

Bu konuda bir yardımı dokunabilecek olan var mı?

Kadim efsun kodlarım:

C++:
case 71052:
                                {
                                    LPITEM item2;
                                    if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
                                        return false;

                                    if (item2->IsExchanging() == true)
                                        return false;
                            
                                    if (item2->IsEquipped())
                                        return false;

                                    if (item2->GetType() == ITEM_COSTUME)
                                        return false;

                                    if (item2->GetAttributeSetIndex() == -1)
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Nesnede bonus ekli değil"));
                                        return false;
                                    }

                                    if (item2->GetAttributeCount() == 4)
                                    {
                                        item2->RemoveAttributeAt(4);
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));
                                    }
                                    else if (item2->GetAttributeCount() == 3)
                                    {
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));                                    
                                    }
                                    else
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_MARBLE_ENOUGH_ATTR_COUNT"));
                                    }
                                }
                                break;

Selam ve Saygılarımla
 
Çözüm
Daha önce Kadim efsun küresi ve nesnesi sistemini metin2.tc'de gördükten sonra çok hoşuma gitmişti. O zamanlar bu sistemler daha forumlara düşmemişti. Bende kendi serverim için baştan kendim kodlamıştım. O zamanlar daha yeni yeni başlıyordum sistem işlerine. Casro2'nin beta zamanında da çok güzel çalışmıştı.

Kodlara göre işleyiş mantığı düzgün gözüküyor ama efsun sayısıyla ilgili sıkıntılar var gibi.
Şu değişiklikleri yapıp tekrardan dener misiniz?

Bu kodu;
C++:
                                    if (item2->GetAttributeCount() == 4)
                                    {
                                        item2->RemoveAttributeAt(4);
                                        item2->AddAttribute()...
Daha önce Kadim efsun küresi ve nesnesi sistemini metin2.tc'de gördükten sonra çok hoşuma gitmişti. O zamanlar bu sistemler daha forumlara düşmemişti. Bende kendi serverim için baştan kendim kodlamıştım. O zamanlar daha yeni yeni başlıyordum sistem işlerine. Casro2'nin beta zamanında da çok güzel çalışmıştı.

Kodlara göre işleyiş mantığı düzgün gözüküyor ama efsun sayısıyla ilgili sıkıntılar var gibi.
Şu değişiklikleri yapıp tekrardan dener misiniz?

Bu kodu;
C++:
                                    if (item2->GetAttributeCount() == 4)
                                    {
                                        item2->RemoveAttributeAt(4);
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));
                                    }
                                    else if (item2->GetAttributeCount() == 3)
                                    {
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));                                
                                    }


Şu şekilde değiştiriniz;
C++:
                                    if (item2->GetAttributeCount() == 5)
                                    {
                                        item2->RemoveAttributeAt(4);
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));
                                    }
                                    else if (item2->GetAttributeCount() == 4)
                                    {
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));                                
                                    }

Eğer sorun çözülmezse akşam evde kendi yazdığım sisteme bakıp ona göre de yanıt veririm. :)
 
Çözüm
Daha önce Kadim efsun küresi ve nesnesi sistemini metin2.tc'de gördükten sonra çok hoşuma gitmişti. O zamanlar bu sistemler daha forumlara düşmemişti. Bende kendi serverim için baştan kendim kodlamıştım. O zamanlar daha yeni yeni başlıyordum sistem işlerine. Casro2'nin beta zamanında da çok güzel çalışmıştı.

Kodlara göre işleyiş mantığı düzgün gözüküyor ama efsun sayısıyla ilgili sıkıntılar var gibi.
Şu değişiklikleri yapıp tekrardan dener misiniz?

Bu kodu;
C++:
                                    if (item2->GetAttributeCount() == 4)
                                    {
                                        item2->RemoveAttributeAt(4);
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));
                                    }
                                    else if (item2->GetAttributeCount() == 3)
                                    {
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));                              
                                    }


Şu şekilde değiştiriniz;
C++:
                                    if (item2->GetAttributeCount() == 5)
                                    {
                                        item2->RemoveAttributeAt(4);
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));
                                    }
                                    else if (item2->GetAttributeCount() == 4)
                                    {
                                        item2->AddAttribute();
                                        item->SetCount(item->GetCount()-1);
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("NEW_ATTRIBUTE_SUCCESS_MARBLE"));                              
                                    }

Eğer sorun çözülmezse akşam evde kendi yazdığım sisteme bakıp ona göre de yanıt veririm. :)

Selamlar,

Teşekkür ederim, bu şekilde sorun çözüldü.
 
Çözüldüğüne sevindim. :)
Çözüldüğüne göre konuyu çözüldü işaretleyip kilitliyorum.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst