Çözüldü ChatPacket Fonksiyonu Çalışmıyor

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

cacaa

Üye
Üye
Mesaj
76
Çözümler
7
Beğeni
38
Puan
684
Ticaret Puanı
0
Merhabalar şu şekilde bir kod yazdım her şey yolunda fakat ChatPacket komutu istediğim yazıyı oyuna göndermiyor. Sebebi ne olabilir?

C++:
            if (attrItem.sValue <= 0)
            {
                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The weapon needs repair."));
                UnequipItem(item);
                break;
            }
 
Çözüm
Kodunuzun tamamını görmeden yorum yapmak zor fakat burada aklıma gelen üç senaryo var;

1- If bloğunun devreye girmeme olasılığı. (Eğer olması gerektiği gibi itemi unequip ediyorsa çalışıyordur.)
2- Spesifik bir atıfta bulunulmaması. (Kodun tamamını bilmediğim için varsayım olarak ch->ChatPacket gibi, muhtemelen değildir ama olasılık)
3- LC_TEXT sorunu.

Olası bir LC_TEXT sorunu olup olmadığını test etmek için bu şekilde deneyin;

C++:
            if (attrItem.sValue <= 0)
            {
                ChatPacket(CHAT_TYPE_INFO, "No"); // TEST
                UnequipItem(item);
                break;
            }
locale_string.txt ye ekleme yaptınmı?

locale_string.txt ye ekleme yapmadan kullanmak istersen şu şekil değiştirebilirsin;
C++:
ChatPacket(CHAT_TYPE_INFO, "The weapon needs repair.");
 
bir de şu ne işe yarıyor "attrItem.sValue <= 0" itemdeki efsunun type ve value sini öğrenmek için bunları kullanmak gerekiyor diye biliyorum :unsure:

C++:
        int type   = item.aAttr[i].bType;//hangi efsun olduğu
        int value  = item.aAttr[i].sValue;//efsunun değeri
 
bir de şu ne işe yarıyor "attrItem.sValue <= 0" itemdeki efsunun type ve value sini öğrenmek için bunları kullanmak gerekiyor diye biliyorum :unsure:

C++:
        int type   = item.aAttr[i].bType;//hangi efsun olduğu
        int value  = item.aAttr[i].sValue;//efsunun değeri

Evet value 0'a düştüğünde Damage paketini yollamayı engelliyorum. Tamir sistemi için kodladığım basit bir kod bloğu sadece.
Bu arada Locale_string'e ekli olduğu halde göndermiyor. Tuhaf...
 
if sorgusu çalışıyormu kontrol ettinmi ? sys_log la falan bi kontrol et.
 
Kodunuzun tamamını görmeden yorum yapmak zor fakat burada aklıma gelen üç senaryo var;

1- If bloğunun devreye girmeme olasılığı. (Eğer olması gerektiği gibi itemi unequip ediyorsa çalışıyordur.)
2- Spesifik bir atıfta bulunulmaması. (Kodun tamamını bilmediğim için varsayım olarak ch->ChatPacket gibi, muhtemelen değildir ama olasılık)
3- LC_TEXT sorunu.

Olası bir LC_TEXT sorunu olup olmadığını test etmek için bu şekilde deneyin;

C++:
            if (attrItem.sValue <= 0)
            {
                ChatPacket(CHAT_TYPE_INFO, "No"); // TEST
                UnequipItem(item);
                break;
            }
 
Çözüm
Kodunuzun tamamını görmeden yorum yapmak zor fakat burada aklıma gelen üç senaryo var;

1- If bloğunun devreye girmeme olasılığı. (Eğer olması gerektiği gibi itemi unequip ediyorsa çalışıyordur.)
2- Spesifik bir atıfta bulunulmaması. (Kodun tamamını bilmediğim için varsayım olarak ch->ChatPacket gibi, muhtemelen değildir ama olasılık)
3- LC_TEXT sorunu.

Olası bir LC_TEXT sorunu olup olmadığını test etmek için bu şekilde deneyin;

C++:
            if (attrItem.sValue <= 0)
            {
                ChatPacket(CHAT_TYPE_INFO, "No"); // TEST
                UnequipItem(item);
                break;
            }

2. madde kaynaklı bir problemmiş. pAttacker-> olarak belirtmediğim için yaşıyormuşum bu sorunu. Çok teşekkür ederim.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst