# L2 Market Parser Кроссплатформенный локальный прототип для захвата нескольких окон Lineage II и сбора предметов из tooltip торгового окна. ## Запуск Нужен Node.js 20 или новее и Chrome либо Edge. ```bash npm install npm run dev ``` Открой адрес, который напечатает Vite, обычно `http://127.0.0.1:5173`. На macOS браузеру потребуется разрешение **System Settings → Privacy & Security → Screen & System Audio Recording**. После выдачи разрешения браузер иногда нужно перезапустить. ## Сценарий 1. В разделе «Источники» нажми «Добавить окно» для каждого окна игры. 2. В разделе «Калибровка» сделай снимок или загрузи готовый скриншот. 3. Выдели постоянный нижний элемент продажи, например `Adena + Confirm`, как маркер продажи. По возможности не захватывай изменяемые числа. 4. Выдели имя торговца в верхней панели цели. 5. Выдели широкую область всех возможных положений tooltip, не захватывая нижний `Price` основного окна. 6. Внутри tooltip обведи только постоянную надпись `Price :`. 7. Отдельно выдели точную строку названия и точную строку цены. Для названия лучше использовать длинный предмет и оставить запас справа. 8. Сохрани калибровку, нажми «Начать сбор» и вернись в игру. 9. Наводи курсор на каждый предмет. Уникальные пары `название + цена` будут накапливаться в таблице. Калибровка хранится в `localStorage` текущего браузера. При первом OCR Tesseract.js загружает английскую языковую модель и кеширует её в браузере. ## Ограничения прототипа - Источники выбираются вручную после каждого обновления страницы. - Одна калибровка рассчитана на один масштаб интерфейса Lineage II. - Сбор работает, пока открыта страница прототипа и он не остановлен кнопкой «Остановить сбор». - Курсор перемещает пользователь, приложение не управляет игрой и не эмулирует ввод. - Отправки на сервер пока нет. ## Проверки ```bash npm test npm run build ```