77 lines
6.5 KiB
Markdown
77 lines
6.5 KiB
Markdown
# Дебаг-команды для 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=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. Шёпот боту «помоги» → он бежит; «ты бот?» → отнекивается.
|