mavzermete 1
mavzermete
Bvural41 1
Bvural41
Mt2Hizmet 1
Mt2Hizmet
R 1
Roksam
[DEV]AB 1
[DEV]AB
Hikaye Ekle

Bug Fix Arıyorum Offline Shop

  • Konuyu başlatan Konuyu başlatan mertsakir
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 7
  • Görüntüleme Görüntüleme 1K
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.

cIgzFn7xQ3KV6dkHsEZAAQ.png
 
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:
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; } }
Değiştir

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 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:
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; } }
Değiştir

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ğil :)
 

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

Geri
Üst