Implement tooltip-based market item collection

This commit is contained in:
2026-08-11 17:11:44 +03:00
parent f9271d4ab9
commit d6e0ba466b
9 changed files with 458 additions and 172 deletions
+11 -6
View File
@@ -1,6 +1,6 @@
# L2 Market Parser
Кроссплатформенный локальный прототип для захвата нескольких окон Lineage II, калибровки областей на скриншоте и OCR-распознавания результата.
Кроссплатформенный локальный прототип для захвата нескольких окон Lineage II и сбора предметов из tooltip торгового окна.
## Запуск
@@ -19,9 +19,13 @@ npm run dev
1. В разделе «Источники» нажми «Добавить окно» для каждого окна игры.
2. В разделе «Калибровка» сделай снимок или загрузи готовый скриншот.
3. Выдели маленький неизменяемый элемент торгового окна как якорь.
4. Выдели области названия, цены и количества.
5. Сохрани калибровку и нажми «Распознать все».
3. Выдели постоянный нижний элемент продажи, например `Adena + Confirm`, как маркер продажи. По возможности не захватывай изменяемые числа.
4. Выдели имя торговца в верхней панели цели.
5. Выдели широкую область всех возможных положений tooltip, не захватывая нижний `Price` основного окна.
6. Внутри tooltip обведи только постоянную надпись `Price :`.
7. Отдельно выдели точную строку названия и точную строку цены. Для названия лучше использовать длинный предмет и оставить запас справа.
8. Сохрани калибровку, нажми «Начать сбор» и вернись в игру.
9. Наводи курсор на каждый предмет. Уникальные пары `название + цена` будут накапливаться в таблице.
Калибровка хранится в `localStorage` текущего браузера. При первом OCR Tesseract.js загружает английскую языковую модель и кеширует её в браузере.
@@ -29,8 +33,9 @@ npm run dev
- Источники выбираются вручную после каждого обновления страницы.
- Одна калибровка рассчитана на один масштаб интерфейса Lineage II.
- Распознавание запускается вручную, фонового сканирования и отправки на сервер пока нет.
- Для нескольких строк товара нужно отдельно выделить поля каждой строки.
- Сбор работает, пока открыта страница прототипа и он не остановлен кнопкой «Остановить сбор».
- Курсор перемещает пользователь, приложение не управляет игрой и не эмулирует ввод.
- Отправки на сервер пока нет.
## Проверки