-
Notifications
You must be signed in to change notification settings - Fork 29
Admin API: update_mob и update_trigger не сохраняют изменения #3102
Copy link
Copy link
Open
Description
Описание
Два бага в Admin API:
1. update_mob не сохраняет триггеры
При вызове:
{"command": "update_mob", "vnum": 2400, "triggers": [2410]}API отвечает {"status": "ok"}, но get_mob возвращает "triggers": []. После zreset мобы загружаются без скриптов (mlist показывает "нет скриптов").
Код в crud_handlers.cpp:133 создаёт копию через new CharData(mob_proto[rnum]), парсер ParseMobUpdate обновляет proto_script, затем medit_save_internally должен сохранить — но результат пустой.
2. update_trigger не сохраняет trigger_type
При вызове:
{"command": "update_trigger", "vnum": 2410, "trigger_type": 1}API отвечает {"status": "ok"}, но триггер остаётся с типом Speech (8) вместо Random (1). Проверено через stat mob кот в игре — "Trigger Type: Speech".
Воспроизведение
# Через unix socket:
{"command":"auth","username":"...","password":"..."}
{"command":"update_trigger","vnum":2410,"trigger_type":1}
{"command":"get_trigger","vnum":2410} # trigger_type всё ещё 8
{"command":"update_mob","vnum":2400,"triggers":[2410]}
{"command":"get_mob","vnum":2400} # triggers всё ещё []Ожидаемое поведение
Оба вызова должны сохранять изменения в прототипах и возвращать обновлённые данные.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels