Instance enter
Доброго времени суток всему RMDC. Требуется помощь. Есть ли возможность запретить игрокам входить в инст во время боя с босом.
Допустим ситуация - в И(В)К рейд бьет боса, умирает человек, перемещается к СпиритХиллеру, в течении 30сек долетает до инста, заходит в него и продолжает бой. На оффициальном сервере нельзя войти в данж пока идет битва с босом(либо его убьют, либо вайп). Немного поразмыслив, пришел к выводу, что запрет можно привязать к: Код:
case TYPE_BEASTS: При: Код:
if(data==IN_PROGRESS) При: Код:
else if(data==NOT_STARTED) Код:
else if(data == DONE) OpenDoor(mEntryDoorGUID); Насколько известно на триньке данное реализовано. Хотелось бы и у нас. Любые идеи/предложения/наработки приветствуются. Понимаю, что СД2 мало относиться к ядру, но функция запрета то должна быть в нем родимом. |
Вложений: 1
В своё время успел отследить изменения в тринити, вот они. Открываются в MS Word...:read:
|
Код:
// TODO: move this to a map dependent location Код:
// cannot enter while players in the instance are in combat Все что требуется "заставить" заработать первую часть кода. Насколько я понял нужно ввести условия "если карта = данж и данж = рейдовый -> IsEncounterInProgress() " |
Просто раскомментировать плюс в инстанс-скрипте должно быть определено IsEncounterInProgress. Что-то типа
Код:
bool IsEncounterInProgress() const |
Сначало нужно сам запрос ввести наверно. Ведь задачу то мы поставим, а ссылаться IsEncounterInProgress куда будет? в ядре то не реализовано. К томуже:
Код:
bool IsEncounterInProgress() const |
Как-то так:
http://github.com/zergtmn/mangos/com...6b630a869bed71 Есть один неприятный баг: если во время боя игрока выкинет из игры, при входе его портнет ко входу в инст. |
Цитата:
В Ульде, Огненых недрах, Каражане после фулл вайпа игроки не могут войти - пишет что бой все еще идет. СД2 проверил там боссы останавливаются как и должны. Остальные инсты проверяю и ищу закономерность. |
Цитата:
Надо проверить, чтобы после вайпа правильно устанавливалось состояние энкаунтера (FAIL, либо NOT_STARTED) В огненных недрах вообще: Код:
bool IsEncounterInProgress() const |
Цитата:
|
Как успехи? Много ли подобных "корявых" скриптов в нынешнем SD2?
|
Вообще проверку надо делать до телепортации в инст. Сейчас игрока сначала портует в инст, потом если идет бой, его выкидывает обратно (видно по полосе загрузки).
Дорабатывать патч мне пока некогда. |
Не знаю как именно это реализованно на офе со стороны сервера, но добавлю, что при попытке войти духом в инст во время боя игрок воскрешается и остается с полХП у входа в инст (полоса загрузки кстати тоже появляется), при этом выскакивает соответствующее собщение.
И еще, к слову, в цлк есть еженедельне квесты, по одному из квестов необходимо убить дополнительного босса. Так вот этот босс боссом по сути не является, и во время боя с ним умершие игроки запросто заходят в данж. Это же относится к любым мобам. Не пускает исключительно в случае боя с одним из постоянных боссов. Это так, на всякий случай инфа. |
Текущее время: 07:11. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS