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

  • Konuyu açan Konuyu açan cacaa
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 7
  • Gösterim Gösterim 253
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
88
Çözümler
7
Beğeni
50
Puan
709
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++:
Genişlet Daralt Kopyala
            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++:
Genişlet Daralt Kopyala
            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++:
Genişlet Daralt Kopyala
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++:
Genişlet Daralt Kopyala
        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++:
Genişlet Daralt Kopyala
        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++:
Genişlet Daralt Kopyala
            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++:
Genişlet Daralt Kopyala
            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ı.
Üst