|
|
Модератор форума: Dimitro |
Форум TrinityCore [TrinityCore] Help Установка NPC в ГМ режиме |
Установка NPC в ГМ режиме |
И снова всем привет
Думаю проблема известная но блин решения я не нашёл (только советы не ставить мобов в ГМ режиме) Но всё-таки - как сделать так чтобы мобы ставились в ГМ режиме и были видимы для игроков? Сейчас если моба поставить он создаётся с phasemask = 4294967294 Откуда он это значение тянет я так и не понял Помогите плиз знанием Спасибо
Если помог, ставь плюсик в репу :)
Сообщение # 1 написано 25.07.2019 в 14:33
|
Думаю проблема известная но блин решения я не нашёл (только советы не ставить мобов в ГМ режиме)Но всё-таки - как сделать так чтобы мобы ставились в ГМ режиме и были видимы для игроков? Скорее всего это означает, что данная локация имеет несколько фаз, а поскольку ГМ находится сразу во всех фазах, то из-за этого и возникает такая проблема. Лично мне данное значение кажется аномальным и возможно у тебя где-то ошибки в серверной части. Но всё-таки - как сделать так чтобы мобы ставились в ГМ режиме и были видимы для игроков? Как вариант поиграться с командой ".npc set phase". В TC она вроде как сохраняет данные о фазе NPC в БД.
Сообщение # 2 написано 26.07.2019 в 03:19
|
Сообщить об этом сразу Вы, конечно же, не могли - пускай люди гадают. Каким образом по-Вашему можно определить источник проблемы, если посмотреть код нет возможности? Либо скидывайте ссылку на репозиторий, либо начинайте приводить сниппеты по запросам. Начать можете с обработчика команды 'npc add ID'. |
В современной ветке 3.3.5 официального TrinityCore как раз наличествует обработка Код uint32 Player::GetPhaseMaskForSpawn(void) const , игнорирующая GM-статус при установке игроком НИПов. Привет Твои ответы конечно хамоватые :)) но всё-же ответ про обработчик GetPhaseMaskForSpawn навёл меня на мысль И хотя версия ядра не имеет отношения к внесению PhaseMask в базу (уверен оно везде одинаковое - SaveToDB или что-то вроде того), но я смог благодаря твоему ответу найти решение Вобщем поискал по GetPhaseMask и нашёл сохранение creature в базу: creature->SaveToDB(map->GetId(), (1 << map->GetSpawnMode()), chr->GetPhaseMaskForSpawn()); Проверил и действительно, сохранение находится в: bool ChatHandler::HandleNpcAddCommand(const char* args) А значит это то что нужно - просто меняем chr->GetPhaseMaskForSpawn() на 1 и всё - фазы игнорируются Спасибо
Если помог, ставь плюсик в репу :)
Сообщение # 7 написано 30.07.2019 в 09:54
|
| |||
| |||