Merhaba arkadaşlar bildiğiniz gibi size metin2 de bir iteme 4 taş eklemeyi anlatmıştık fakat sistemde şöyle bir bug mevcut misalen 4 taş basılan bir iteminiz var siz bu itemi depoya koydunuz ve tekrar geri aldınız artık item 4 değil 3 taş basılabiliyor veya 4 taş basmışken teki kayboluyor. Çözümü biraz uğraştırsada sonunda gözden kaçan ufak bir koddan sonra çözdük sorunu ve sizlerle paylaşmak istedik çözümü işlemlerini db source üzerinden yapacağız.
Db/src/clientmanager.cpp açıyoruz.
“void CClientManager::QUERY_ITEM_SAVE(CPeer * pkPeer, const char * c_pData)” aratıyoruz ve biraz aşağı indiğimizde “REPLACE INTO item%s (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2,” satırı görüyoruz bu kısımı şu şekilde değiştiriyoruz.
“REPLACE INTO item%s (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2, socket3, ” şeklinde
aşağıda “VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)” burası mevcut burayıda bununla değiştiriyoruz.
“VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)” ile değiştiriyoruz. son olarakta
p->alSockets[2], altına p->alSockets[3], ekliyoruz ve işlemimiz tamamlanmıştır aşağıdaki resimde kırmızı ile gösterilen kısımlar eklenecek kısımlardır.