Files
l2-market-parser/README.md
T

46 lines
3.0 KiB
Markdown

# 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
```