Files

78 lines
6.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Дебаг-команды для headless-ботов
Два способа: кнопки на дашборде **http://127.0.0.1:7780/** (панель «Дебаг-команды») или напрямую в браузере / PowerShell.
Формат: `http://127.0.0.1:7780/api/cmd?do=КОМАНДА&name=НИК_БОТА&arg=АРГУМЕНТ`
`name` пустой — берётся случайный живой бот. В дашборде клик по боту в списке подставляет его ник автоматически.
## Телеметрия и экономика (SPP 3)
| Команда | Что делает |
|---|---|
| `do=stats` | счётчики по всему населению: kills, exp, loot, itemsSold, adenaEarned/Spent, stores, skillsCast, rests, lines, replies, parties, migrations, professions, sieges + сколько сейчас в бою/сидит/торгует/в пати/на осаде |
| `do=stats&name=Ник` | то же для одного бота + последнее действие, шоты, инвентарь, HP |
| `do=list` | 25 ботов: класс, характер, зона, HP, убийства/смерти, последнее действие |
| `do=brain&name=Ник` | роль, скиллы профиля (+/-), цель и её HP, бьёт/кастует/сидит, оружие, шоты, число бафов, атака/защита |
| `do=town` | бот делает «поход в город» прямо на месте: продаёт хлам, докупает шоты/банки, бафается; ответ — сколько продано/куплено и адена |
| `do=trade` | лавка в городе своего уровня (если продавать нечего — выдаётся образец товара) |
| `do=profession` | попытка взять следующую профу (сообщит, если не положена по уровню) |
| `do=talk&name=Бот&arg=ТвойНик` | два бота телепортируются к тебе и начинают диалог (вопрос → ответ через разбор интентов) |
| `do=invite&arg=ТвойНик` | бот прыгает к тебе и **приглашает в пати** (окно приглашения у тебя) |
| `do=siege&arg=Giran` | форс-осада: регистрирует бот-кланы атакующими и запускает осаду движка; `do=siegeend&arg=Giran` — закончить; `do=siegeinfo` — расписание, зарегистрированные кланы, сколько ботов в бою |
| `do=raid` | собрать рейд-пати (5–9 ботов уровня босса) и отправить на живого рейд-босса; `do=raidinfo` — что сейчас с рейдом |
| `do=online&arg=charId` | подгрузить конкретного сид-персонажа в мир (так осадный менеджер подтягивает лидеров кланов) |
`/api/stats` — то же, что `do=stats`, в JSON; `/api/sieges` — как `do=siegeinfo`.
## Уровень и переезд
| Команда | Что делает |
|---|---|
| `do=levelup` | **+1 уровень** боту. На следующем тике (до 3 сек) бот сам порадуется в чат, а при переходе тира — попрощается и уедет в новую зону |
| `do=migrate` | немедленный переезд в зону по своему уровню, с прощальной фразой |
Пример: `http://127.0.0.1:7780/api/cmd?do=levelup&name=Eladrael`
Нажать 8 раз подряд — увидишь пересечение границы тира и переезд.
## Торговля
| Команда | Что делает |
|---|---|
| `do=trade` | бот телепортируется в центр Гирана и **открывает настоящую лавку** (можно подойти и купить) |
| `do=tradeall&arg=10` | открыть лавки сразу у 10 ботов (до 50) — рынок за 5 секунд |
| `do=closeshop` | закрыть лавку |
## Взаимодействие с тобой
| Команда | Что делает |
|---|---|
| `do=come&arg=ТвойНик` | телепортировать бота к тебе |
| `do=party&arg=ТвойНик` | бот телепортируется и вступает в **настоящую пати** с тобой |
| `do=gank&arg=ТвойНик` | бот прыгает к тебе и атакует с дерзкой фразой (проверка PvP) |
| `do=clanwar&arg=ТвойНик` | объявить войну между кланом бота и твоим кланом (нужны кланы у обоих) |
## Речь, память, смерть
| Команда | Что делает |
|---|---|
| `do=say` | бот говорит случайную реплику из шва `ambient` (или LLM, если Ollama запущена) |
| `do=say&arg=текст` | бот говорит ровно этот текст |
| `do=rumor&arg=ТвойНик` | вложить боту слух про тебя — потом при встрече он его выдаст («говорят ты…») |
| `do=kill` | убить бота: он ложится, через ~15 сек **встаёт в ближайшем городе** и через минуту возвращается на спот |
| `do=list` | первые 25 ботов: ник, уровень, характер, зона, статус |
## Проверка разговоров без игры
На дашборде секция «Тестер диалога»: пишешь фразу (можно транслитом — `IIoMoruTe`, `privet`), видишь нормализацию → интент → шов → ответ, справа подсвечивается выбранная строка в списке вариантов шва.
В игре: шёпот боту (`"Ник текст`) — теперь работает, «Offline mode» исправлено.
## Быстрый сценарий проверки всего
1. `do=tradeall&arg=15` → идёшь в Гиран, там 15 лавок, заходишь в любую и покупаешь.
2. `do=party&arg=ТвойНик` → окно пати, бот рядом, бьёт твои цели.
3. `do=gank&arg=ТвойНик` → PvP, флаг, бот кричит.
4. `do=kill` → смотришь, что бот встал в городе.
5. `do=levelup` несколько раз → реакция в чат и переезд.
6. Шёпот боту «помоги» → он бежит; «ты бот?» → отнекивается.