Merhaba arkadaşlar,
Offline shop kurulurken 2 t sınırı var fakat tüm eşyalar satılıp bankada 2t olduğunda tekrar pazar kurulabiliyor.
Tekrar pazar kurduktan sonra banka buga giriyor ve bankadaki değer 2147483647(budeğer üzerine çıkmıyor) oluyor. Parada çekilmiyor
"Bankadan parayı çekmeden tekrar offline pazar kuramazsın."
gibi bir fix uygulanabilir yardımlarınız bekliyorum.
Offline shop kurulurken 2 t sınırı var fakat tüm eşyalar satılıp bankada 2t olduğunda tekrar pazar kurulabiliyor.
Tekrar pazar kurduktan sonra banka buga giriyor ve bankadaki değer 2147483647(budeğer üzerine çıkmıyor) oluyor. Parada çekilmiyor
"Bankadan parayı çekmeden tekrar offline pazar kuramazsın."
gibi bir fix uygulanabilir yardımlarınız bekliyorum.
Son düzenleme:
Bu düzeltme, banka offlineshop, mağaza vb., Yang artış sınırı olan kişiler için geçerlidir ..
/Src/common/service.h
Müsait bir yere ekle
Kod:
/Src/game/src/char.cpp
Ara
Kod:
Değiştir
Kod:
/Src/common/service.h
Müsait bir yere ekle
Kod:
Kod:
#define __OFFLINE_SHOP_FIX_OPEN #define __OFFLINE_SHOP_VALUE_MAX 2000000000 #define __OFFLINE_SHOP_WARNING "[Protect Offline] 2.000.000.000'dan fazla Yangınız olsun !"
/Src/game/src/char.cpp
Ara
Kod:
Kod:
if (!LC_IsBrazil()) { DWORD nTotalMoney = 0; for (BYTE n = 0; n < bItemCount; ++n) nTotalMoney += (pTable + n)->price; if (GOLD_MAX - 1 <= nTotalMoney) { sys_err("[OVERFLOW_GOLD] Overflow (GOLD_MAX) id %u name %s", GetPlayerID(), GetName()); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("20억 냥을 초과하여 상점을 열수가 없습니다")); return; } }
Kod:
Kod:
#ifdef __OFFLINE_SHOP_FIX_OPEN int64_t szTotalMoney = 0; for (int n = 0; n < bItemCount; ++n) { szTotalMoney += static_cast<int64_t>((pTable+n)->price); } std::auto_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT money FROM player.player WHERE id = %u", GetPlayerID())); if (pMsg->Get()->uiNumRows == 0) return; DWORD dwCurrentMoney = 0; MYSQL_ROW row = mysql_fetch_row(pMsg->Get()->pSQLResult); str_to_number(dwCurrentMoney, row[0]); szTotalMoney += static_cast<int64_t>(dwCurrentMoney); if (__OFFLINE_SHOP_VALUE_MAX <= szTotalMoney) { ChatPacket(CHAT_TYPE_INFO, __OFFLINE_SHOP_WARNING); return; } #else if (!LC_IsBrazil()) { DWORD nTotalMoney = 0; for (BYTE n = 0; n < bItemCount; ++n) nTotalMoney += (pTable + n)->price; if (GOLD_MAX - 1 <= nTotalMoney) { sys_err("[OVERFLOW_GOLD] Overflow (GOLD_MAX) id %u name %s", GetPlayerID(), GetName()); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("20억 냥을 초과하여 상점을 열수가 없습니다")); return; } } #endif
Bu Bug uygulanmış tam olarak aradığım bu değilBu düzeltme, banka offlineshop, mağaza vb., Yang artış sınırı olan kişiler için geçerlidir ..
/Src/common/service.h
Müsait bir yere ekle
Kod:
Kod:#define __OFFLINE_SHOP_FIX_OPEN #define __OFFLINE_SHOP_VALUE_MAX 2000000000 #define __OFFLINE_SHOP_WARNING "[Protect Offline] 2.000.000.000'dan fazla Yangınız olsun !"
/Src/game/src/char.cpp
Ara
Kod:
DeğiştirKod:if (!LC_IsBrazil()) { DWORD nTotalMoney = 0; for (BYTE n = 0; n < bItemCount; ++n) nTotalMoney += (pTable + n)->price; if (GOLD_MAX - 1 <= nTotalMoney) { sys_err("[OVERFLOW_GOLD] Overflow (GOLD_MAX) id %u name %s", GetPlayerID(), GetName()); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("20억 냥을 초과하여 상점을 열수가 없습니다")); return; } }
Kod:Kod:#ifdef __OFFLINE_SHOP_FIX_OPEN int64_t szTotalMoney = 0; for (int n = 0; n < bItemCount; ++n) { szTotalMoney += static_cast<int64_t>((pTable+n)->price); } std::auto_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT money FROM player.player WHERE id = %u", GetPlayerID())); if (pMsg->Get()->uiNumRows == 0) return; DWORD dwCurrentMoney = 0; MYSQL_ROW row = mysql_fetch_row(pMsg->Get()->pSQLResult); str_to_number(dwCurrentMoney, row[0]); szTotalMoney += static_cast<int64_t>(dwCurrentMoney); if (__OFFLINE_SHOP_VALUE_MAX <= szTotalMoney) { ChatPacket(CHAT_TYPE_INFO, __OFFLINE_SHOP_WARNING); return; } #else if (!LC_IsBrazil()) { DWORD nTotalMoney = 0; for (BYTE n = 0; n < bItemCount; ++n) nTotalMoney += (pTable + n)->price; if (GOLD_MAX - 1 <= nTotalMoney) { sys_err("[OVERFLOW_GOLD] Overflow (GOLD_MAX) id %u name %s", GetPlayerID(), GetName()); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("20억 냥을 초과하여 상점을 열수가 없습니다")); return; } } #endif

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Kilitli
- Cevaplar
- 76
- Görüntüleme
- 10K
- Cevaplar
- 8
- Görüntüleme
- 28K