Немного неудобно что для сбора информации нужно держать несколько страниц в браузере. Было бы удобно если будет страница/Dashboard в которых будет выводится суммированная информация по NPC и другим вещам.
Сейчас для себя сделал панель но она обращается к 7+ страницам с интервалом и по идее это лишняя нагрузка на сервер.
Что делает моя панель (
[ Фото:#2348633 ]):
# Верхняя панель GWars.io (скрипт `Header_Panel`)
## Как построена
- **Условие показа:** скрипт работает только на страницах, где есть шапка сайта.
- **Расположение** (по настройке):
- в пустом месте шапки (по умолчанию);
- под строкой меню по центру;
- после полосы быстрых ссылок по центру.
- **Структура:** одна главная таблица. Столбцы слева направо задаются списком в настройках:
1. **Игрок** — значок синдиката, имя, здоровье с подсветкой, уровни (боевой, экономический, производственный, квестовый).
2. **Персонаж** — район (со ссылкой на карту и пометкой «в дороге»), деньги, EUN с курсом обмена.
3. **События** — операции, ферма, навигатор.
4. **NPC** — список по номерам из настроек.
5. **Кнопка обновления.**
6. **Оружие в руке.**
7. **Время и онлайн.**
- **Родные блоки шапки:** имя со здоровьем, оружие и время/онлайн переносятся в панель, а в самой шапке прячутся. Переносятся те же элементы, поэтому счётчики сайта продолжают работать.
## Откуда берутся данные
| Данные | Страница |
|---|---|
| Деньги, район, уровни игрока | `info.php` своего персонажа |
| Заряд навигатора | `me.php` своего персонажа |
| EUN и курс обмена Гб:EUN | `bank/gb-change.php` |
| Очки действия (операции) | `ops.php` |
| Ближайшее действие на ферме | `ferma.php` |
| Имя, здоровье, уровни, статус и наличие оружия у NPC | `info.php?id=…` каждого NPC |
| Имя, значок синдиката, здоровье, оружие в руке, время и онлайн | сама открытая страница (без запросов) |
## Что умеет
- **Обновление данных**
- Запросы идут по очереди, чтобы не нагружать сайт.
- Автообновление по таймеру (интервал в настройках, сейчас 1 минута).
- Принудительное обновление по кнопке; под кнопкой виден обратный отсчёт до следующего запроса.
- **Общий кэш между вкладками**
- Данные хранятся в `localStorage`, поэтому каждая открытая вкладка не делает свои запросы.
- Показывается кэшированное значение; запрос выполняется, только если кэш устарел.
- **Живые счётчики между запросами**
- На странице считаются очки действия, заряд навигатора и минуты до действия на ферме.
- Здоровье игрока обновляет сам сайт.
- **Подсветка по порогам**
- Здоровье игрока и NPC — красным или голубым по проценту от максимума.
- Курс EUN — красным, синим или оранжевым по диапазону.
- «Уже пора» на ферме — тёмно-фиолетовым.
- Значок вооружения NPC: патрон на зелёном, если оружие есть; белый крест на красном, если нет.
- **Ссылки и кнопки**
- Имя NPC ведёт на его страницу.
- Отдельные кнопки ведут на оружие NPC, операции, ферму и карту.
- Курс EUN ведёт на рынок EUN.
- **Ошибки:** если страница не отдала данные, в ячейке выводится «ошибка», причина видна в подсказке при наведении.
- **Устойчивость:** если страница сама заменяет содержимое через AJAX, панель создаётся заново.
- **Настройки:** все параметры собраны в блоке настроек в начале файла:
- расположение и порядок столбцов;
- список NPC;
- интервал обновления;
- пороги и стили подсветки;
- адреса страниц.