- Mesaj
- 97
- Çözümler
- 9
- Beğeni
- 35
- Puan
- 469
- Ticaret Puanı
- 0
Merhaba arkadaşlar Serverime Bu Konudaki 4 Taş sistemini ekledim Ama Oyuna Reboot Atınca 4 Taş Kaybolma Sorunu Var Bunu Naıl Fixlerm Yardımlarınzı Bekleyorum.. İteme 4 Taş Ekleme Sistemi
if (isSocket)
{
iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ", socket0, socket1, socket2");
iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen,
", %lu, %lu, %lu", p->alSockets[0], p->alSockets[1], p->alSockets[2]);
iUpdateLen += snprintf(szUpdate + iUpdateLen...
if (isSocket)
{
iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ", socket0, socket1, socket2");
iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen,
", %lu, %lu, %lu", p->alSockets[0], p->alSockets[1], p->alSockets[2]);
iUpdateLen += snprintf(szUpdate + iUpdateLen, sizeof(szUpdate) - iUpdateLen,
", socket0=%lu, socket1=%lu, socket2=%lu", p->alSockets[0], p->alSockets[1], p->alSockets[2]);
}
if (isSocket)
{
iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ", socket0, socket1, socket2, socket3");
iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen,
", %lu, %lu, %lu, %lu", p->alSockets[0], p->alSockets[1], p->alSockets[2], p->alSockets[3]);
iUpdateLen += snprintf(szUpdate + iUpdateLen, sizeof(szUpdate) - iUpdateLen,
", socket0=%lu, socket1=%lu, socket2=%lu, socket3=%lu", p->alSockets[0], p->alSockets[1], p->alSockets[2], p->alSockets[3]);
}
MySQL item tablosuna yeni socket sütunlarını da eklediniz mi?
Ekleme: Linkte belirttiğiniz konuda sanki eksik kodlar var gibi. Bu sistem için başka yerlerden de düzenleme yapılması gerekiyordu ama tam hatırlamıyorum. Eski filesimde ki kodlara bakmam gerek.
db/src/cache.cpp dosyasında CItemCache::OnFlush() fonksiyonu içinde şu satırı aratın;
C++:if (isSocket) { iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ", socket0, socket1, socket2"); iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen, ", %lu, %lu, %lu", p->alSockets[0], p->alSockets[1], p->alSockets[2]); iUpdateLen += snprintf(szUpdate + iUpdateLen, sizeof(szUpdate) - iUpdateLen, ", socket0=%lu, socket1=%lu, socket2=%lu", p->alSockets[0], p->alSockets[1], p->alSockets[2]); }
Şu şekilde düzenleyin;
Bu kodları değiştirmemizin sebebi şu. Oyuna giriş yaptığınızda veritabanından itemleriniz çekilir ve bir önbelleğe alınır. Önbellekten kayıt işlemleri belli zaman aralıklarında yapılır. İlgili konuda burayla ilgili düzenleme verilmediği için son eklenen taşın silinmesi gayet normal.C++:if (isSocket) { iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ", socket0, socket1, socket2, socket3"); iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen, ", %lu, %lu, %lu, %lu", p->alSockets[0], p->alSockets[1], p->alSockets[2], p->alSockets[3]); iUpdateLen += snprintf(szUpdate + iUpdateLen, sizeof(szUpdate) - iUpdateLen, ", socket0=%lu, socket1=%lu, socket2=%lu, socket3=%lu", p->alSockets[0], p->alSockets[1], p->alSockets[2], p->alSockets[3]); }
Oyuna bağlanırken hata diyor hocam. Dediğiniz gibi yaptım ama sadece dbyi build ettim. Eski game yi ellemedim. Ondan mıdır acaba hocamNe hatası?
Sorunum çözülmüştür dediğiniz gibi db/src/cache.cpp Tek düzenlemem yeterli oldu teşekkürler. SORUN ÇÖZÜLDÜ.Oyunu açtıktan sonra filesin syserr kayıtlarına bir bakın. Bu dbyi ilgilendirdiği için db syserrlerine bir bakın bakalım hata filan var mı?
Birde db.core filan var mı onuda kontrol edin.
Sorunum çözülmüştür dediğiniz gibi db/src/cache.cpp Tek düzenlemem yeterli oldu teşekkürler. SORUN ÇÖZÜLDÜ.