46 lines
3.0 KiB
Markdown
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
|
|
```
|