Hikayeler

Reklam vermek için turkmmo@gmail.com

[C++ ] Karakter Silme Sorunu Fix [Recepin94]

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

hepsini ayarladım fakat yok arkadaş silmiyor ne iştir anlamadım
Tekrardan kontrol et configi ve kaynak dosyasını, olmazsa mesaj at yardımcı olurum.
 
bu paylşaılan sistemde şöyle bi hata var
karkater siliyor iyi güzel fakat karakter bazen player.sql kalıyor player deleted sql işlemiyor karkater select bölümünden siliniyor sadece
ama silmede hatalar yok tekrar tekrar siliniyor



Rasinin Paylaştığıda
player deledet tablosu bozuluyor habire yenilemek zorunda kalıyorum
 
Teşekkürler
 
kod işe yarıyor teşekkürler
 
Bildiğiniz üzere 40K gamelerde karakter silinmiyor sizlere fixini anlatacağım
Src / db
ClientManagerPlayer.cpp Açılır
Bu kısmı aratın
C++:
        char queryStr[QUERY_MAX_LEN];
        snprintf(queryStr, sizeof(queryStr), "INSERT INTO player%s_deleted SELECT * FROM player%s WHERE id=%d",
                GetTablePostfix(), GetTablePostfix(), pi->player_id);
        std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));
        if (pIns->Get()->uiAffectedRows == 0 || pIns->Get()->uiAffectedRows == (uint32_t)-1)
        {
            sys_log(0, "PLAYER_DELETE FAILED %u CANNOT INSERT TO player%s_deleted", dwPID, GetTablePostfix());
            peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
            peer->EncodeBYTE(pi->account_index);
            return;
        }
Bunun ile değiştirin

C++:
        char queryStr[QUERY_MAX_LEN];
        snprintf(queryStr, sizeof(queryStr), "SELECT * FROM player%s WHERE id=%d",
                GetTablePostfix(), pi->player_id);
        std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));
        if (pIns->Get()->uiNumRows == 0)
        {
            sys_log(0, "PLAYER_DELETE FAILED %u CANNOT INSERT TO player%s_deleted", dwPID, GetTablePostfix());
            peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
            peer->EncodeBYTE(pi->account_index);
            return;
        }
İşlemlerden Önce Hali
k_sil1.gif


İşlemlerden Sonra Hali

k_sil.gif

Not 1 : Bazı srclerde forumda paylaşılan fixlerin çalışmadığını gördüm ve fixini sizlere sundum .
Not 2 : Paylaşılanlar ile alakası yoktur kontrol edilebilir .

2 Yıl önce atmışsın fakat işimi gördü kardeşim teşekkür ederim.
Aklında soru işareti olanlar için :
teknik çalışıyor.
player>player içerisindeki oyuncuyu direkt olarak siliyor.
yani player_deleted tablosuna taşımıyor. Bence bi sakıncası yok.

Tekrar teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst