Если пытаешься выставить на скуп товар с символами встречающимися в других товарах скрипт выставляет первый из списка. Например: если выбрать уголь на скуп, то при попытке выставить его, скрипт выберет "треугольник", потому что по списку товаров он выше, а значит и при поиске он будет в первой строчке, что сбивает скрипт. Сделай проверку на точное название товара в диалоге, а то так можно выставить что-нибудь дорогое, а в итоге скупать мусор за миллиарды...