Çözüldü Ikarus offlineshop server source

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

Kuqsal

Üye
Üye
Mesaj
97
Çözümler
9
Beğeni
21
Puan
439
Ticaret Puanı
0
Db kısmını eklemeye calıştığımda aldığım hata bu
1661898542291.png
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.



Hatanın sebepi:
#ifdef ENABLE_NEW_OFFLINESHOP_LOGS
void CClientManager::OfflineshopLog(const DWORD dwOwnerID, const DWORD dwItemID, const char* fmt, ...) {
    static char szLog[1024] = "\0";

    va_list args;
    va_start(args, fmt);
    vsnprintf(szLog, sizeof(szLog), fmt, args);
    va_end(args);

    static char szEscaped[2048] = "\0";
    CDBManager::instance().EscapeString(szEscaped, szLog, strlen(szLog));

    static char query[4096];
    snprintf(query, sizeof(query), "INSERT INTO `player`.`offlineshop_logs` (`owner_id`, `item_id`, `what`, `when`) VALUES( %u, %u, '%s', NOW())", dwOwnerID, dwItemID, szEscaped);
    CDBManager::instance().AsyncQuery(query);
}
#endif
Kişisel bir hata logu veritabanına düşüren kodu bulamayınca derlemiyormuş.
 
Son düzenleme:
Çözüm
Hatanın sebepi:
#ifdef ENABLE_NEW_OFFLINESHOP_LOGS
void CClientManager::OfflineshopLog(const DWORD dwOwnerID, const DWORD dwItemID, const char* fmt, ...) {
    static char szLog[1024] = "\0";

    va_list args;
    va_start(args, fmt);
    vsnprintf(szLog, sizeof(szLog), fmt, args);
    va_end(args);

    static char szEscaped[2048] = "\0";
    CDBManager::instance().EscapeString(szEscaped, szLog, strlen(szLog));

    static char query[4096];
    snprintf(query, sizeof(query), "INSERT INTO `player`.`offlineshop_logs` (`owner_id`, `item_id`, `what`, `when`) VALUES( %u, %u, '%s', NOW())", dwOwnerID, dwItemID, szEscaped);
    CDBManager::instance().AsyncQuery(query);
}
#endif
ClientManager.h dosyasına yaptığın eklemelerde #ifdef ve #endif satırlarını silip tekrar dene bakalım bir
 
ClientManager.h dosyasına yaptığın eklemelerde #ifdef ve #endif satırlarını silip tekrar dene bakalım bir
Eklediğim kod satırı:
#ifdef __ENABLE_NEW_OFFLINESHOP__
public:
    //booting
    bool    InitializeOfflineshopTable();
    void    SendOfflineshopTable(CPeer* peer);


    //packets exchanging
    void    RecvOfflineShopPacket(CPeer* peer, const char* data);
    bool    RecvOfflineShopBuyItemPacket(const char* data);
    bool    RecvOfflineShopLockBuyItem(CPeer* peer, const char* data);
    bool    RecvOfflineShopCannotBuyLockItem(const char* data);
    bool    RecvOfflineShopEditItemPacket(const char* data);
    bool    RecvOfflineShopRemoveItemPacket(const char* data);
    bool    RecvOfflineShopAddItemPacket(const char* data);

    bool    RecvOfflineShopForceClose(const char* data);
    bool    RecvOfflineShopCreateNew(const char* data);
    bool    RecvOfflineShopChangeName(const char* data);
    bool    RecvOfflineShopExtendTime(const char* data);

    bool    RecvOfflineShopOfferCreate(const char* data);
    bool    RecvOfflineShopOfferNotified(const char* data);
    bool    RecvOfflineShopOfferAccepted(const char* data);
    bool    RecvOfflineshopOfferCancel(const char* data);

    bool    RecvOfflineShopSafeboxGetItem(const char* data);
    bool    RecvOfflineShopSafeboxGetValutes(const char* data);
    bool    RecvOfflineShopSafeboxAddItem(const char* data);


    //AUCTION
    bool    RecvOfflineShopAuctionCreate(const char* data);
    bool    RecvOfflineShopAuctionAddOffer(const char* data);

    bool    SendOfflineShopBuyItemPacket(DWORD dwOwner, DWORD dwGuest, DWORD dwItem);
    bool    SendOfflineShopBuyLockedItemPacket(CPeer* peer,DWORD dwOwner, DWORD dwGuest, DWORD dwItem);
    bool    SendOfflineShopEditItemPacket(DWORD dwOwner, DWORD dwItem, const offlineshop::TPriceInfo& price);
    bool    SendOfflineShopRemoveItemPacket(DWORD dwOwner, DWORD dwItem);
    bool    SendOfflineShopAddItemPacket(DWORD dwOwner, DWORD dwItemID, const offlineshop::TItemInfo& rInfo);

    bool    SendOfflineShopForceClose(DWORD dwOwnerID);
    bool    SendOfflineShopCreateNew(const offlineshop::TShopInfo& shop, const std::vector<offlineshop::TItemInfo>& vec);
    bool    SendOfflineShopChangeName(DWORD dwOwnerID, const char* szName);
    bool    SendOfflineShopExtendTime(DWORD dwOwnerID, DWORD dwTime);
    bool    SendOfflineshopShopExpired(DWORD dwOwnerID);

    bool    SendOfflineShopOfferCreate(const offlineshop::TOfferInfo& offer);
    bool    SendOfflineShopOfferNotified(DWORD dwOwnerID, DWORD dwOfferID);
    bool    SendOfflineShopOfferAccepted(DWORD dwOwnerID, DWORD dwOfferID);

    //offlineshop-updated 05/08/19
    void    SendOfflineShopOfferCancel(DWORD dwOwnerID, DWORD dwOfferID, bool isRemovingItem);

    void    SendOfflineshopSafeboxAddItem(DWORD dwOwnerID, DWORD dwItem, const offlineshop::TItemInfoEx& item);
    void    SendOfflineshopSafeboxAddValutes(DWORD dwOwnerID, const offlineshop::TValutesInfo& valute);
    void    SendOfflineshopSafeboxLoad(CPeer* peer ,DWORD dwOwnerID, const offlineshop::TValutesInfo& valute, const std::vector<offlineshop::TItemInfoEx>& items , const std::vector<DWORD>& ids);
    //patch 08-03-2020
    void    SendOfflineshopSafeboxExpiredItem(DWORD dwOwnerID, DWORD itemID);

    //AUCTION
    void    SendOfflineshopAuctionCreate(const offlineshop::TAuctionInfo& auction);
    void    SendOfflineshopAuctionAddOffer(const offlineshop::TAuctionOfferInfo& offer);
    void    SendOfflineshopAuctionExpired(DWORD dwOwnerID);

    void    OfflineShopResultQuery(CPeer* peer, SQLMsg* msg, CQueryInfo* pQueryInfo);
    void    OfflineShopResultAddItemQuery(CPeer* peer, SQLMsg* msg, CQueryInfo* pQueryInfo);
    void    OfflineShopResultCreateShopQuery(CPeer* peer, SQLMsg* msg, CQueryInfo* pQueryInfo);
    void    OfflineShopResultCreateShopAddItemQuery(CPeer* peer, SQLMsg* msg, CQueryInfo* pQueryInfo);
    void    OfflineShopResultOfferAddQuery(CPeer* peer, SQLMsg* msg, CQueryInfo* pQueryInfo);
    void    OfflineShopResultSafeboxAddItemQuery(CPeer* peer, SQLMsg* msg, CQueryInfo* pQueryInfo);


    void    OfflineshopDurationProcess();
    void    OfflineshopExpiredShop(DWORD dwID);
    void    OfflineshopExpiredAuction(DWORD dwID);
    void    OfflineshopLoadShopSafebox(CPeer* peer ,DWORD dwID);
    //patch 08-03-2020
    void    OfflineshopExpiredAuctionItem(DWORD dwOwnerID);

    //updated 15-01-2020
    bool    IsUsingOfflineshopSystem(DWORD dwID);
#ifdef ENABLE_NEW_OFFLINESHOP_LOGS
    void    OfflineshopLog(const DWORD dwOwnerID, const DWORD dwItemID, const char* fmt, ...);
#endif
private:
    offlineshop::CShopCache            m_offlineshopShopCache;
    offlineshop::CSafeboxCache        m_offlineshopSafeboxCache;
    offlineshop::COfferCache        m_offlineshopOfferCache;
    offlineshop::CAuctionCache        m_offlineshopAuctionCache;
#endif

Ve dosya tanımlaması içinde

#ifdef __ENABLE_NEW_OFFLINESHOP__
#include "OfflineshopCache.h"
#endif

ClientManager.h dosyasına yaptığın eklemelerde #ifdef ve #endif satırlarını silip tekrar dene bakalım bir
1661910898832.png
Aynı hatayı tekrar aldım @Yeniceri
 
Hatanın sebepi:
#ifdef ENABLE_NEW_OFFLINESHOP_LOGS
void CClientManager::OfflineshopLog(const DWORD dwOwnerID, const DWORD dwItemID, const char* fmt, ...) {
    static char szLog[1024] = "\0";

    va_list args;
    va_start(args, fmt);
    vsnprintf(szLog, sizeof(szLog), fmt, args);
    va_end(args);

    static char szEscaped[2048] = "\0";
    CDBManager::instance().EscapeString(szEscaped, szLog, strlen(szLog));

    static char query[4096];
    snprintf(query, sizeof(query), "INSERT INTO `player`.`offlineshop_logs` (`owner_id`, `item_id`, `what`, `when`) VALUES( %u, %u, '%s', NOW())", dwOwnerID, dwItemID, szEscaped);
    CDBManager::instance().AsyncQuery(query);
}
#endif
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst