quest::PC* pPC = quest::CQuestManager::instance().GetPC(ch->GetPlayerID()); if (!pPC) return; DWORD dwShopSearchSecCycle = 2; // 1 sec DWORD dwNowSec = get_global_time(); DWORD dwLastShopSearchAttrSec = pPC->GetFlag("ShopSearch.LastShopSearchSecAttr"); if (dwLastShopSearchAttrSec + dwShopSearchSecCycle > dwNowSec) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("PRIVATE_SHOP_SEARCH_NEED_WAIT_%d_LEFT_(%d)"), dwShopSearchSecCycle, dwShopSearchSecCycle - (dwNowSec - dwLastShopSearchAttrSec)); return; } pPC->SetFlag("ShopSearch.LastShopSearchSecAttr", dwNowSec); if (bName) sys_log(0, "SHOP_SEARCH: CharName: %s Search: Race: %d Cat: %d SubCat: %d MinLevel: %d MaxLevel: %d MinRefine: %d MaxRefine: %d MinGold: %llu MaxGold: %llu itemName: %s", ch->GetName(), Race, Cat, SubCat, MinLevel, MaxLevel, MinRefine, MaxRefine, MinGold, MaxGold, itemName.c_str()); else sys_log(0, "SHOP_SEARCH: CharName: %s Search: Race: %d Cat: %d SubCat: %d MinLevel: %d MaxLevel: %d MinRefine: %d MaxRefine: %d MinGold: %llu MaxGold: %llu", ch->GetName(), Race, Cat, SubCat, MinLevel, MaxLevel, MinRefine, MaxRefine, MinGold, MaxGold); COfflineShopManager::TShopMap viewmap = COfflineShopManager::instance().PazarBul(); COfflineShopManager::TShopMap::iterator it = viewmap.begin(); std::vector sendItems; LPCHARACTER arayankarakter = CHARACTER_MANAGER::Instance().FindByPID(ch->GetPlayerID()); while (it != viewmap.end()) { LPCHARACTER entity = it->second->GetPC(); if (entity == NULL) { ++it; continue; } LPCHARACTER itemara = (it++)->second->GetPC(); LPCHARACTER tch = static_cast(itemara); LPCHARACTER arananpazar = CHARACTER_MANAGER::Instance().FindByPID(tch->GetOfflineShopRealOwner()); if (!tch) continue; if (!tch->GetOfflineShop()|| tch == ch) continue; if (arayankarakter == arananpazar) continue; if (tch->GetOfflineShopStatus() != 0 ) continue; if (tch->GetOfflineShopVID() != 0) continue; std::vector shop_items = tch->GetOfflineShop()->GetItemVector(); std::vector::iterator item; for (item = shop_items.begin(); item != shop_items.end(); ++item) { if (bName) { if (item->status != 0 || item->vnum == 0 ) continue; TItemTable * table = ITEM_MANAGER::instance().GetTable(item->vnum); if (!table) continue;