[Вопрос] Отключить карту

Psycho

Просветленный
Легенда
Сообщения
4 501
Розыгрыши
1
Решения
3
Репутация
4 352
Реакции
2 850
Баллы
2 438
Можно каким то образом вырубить вообще всю карту? В идеале привязать ее отображение, при присутствии предмета, либо завершенного квеста. Куда копать?
 
Думал на примере хб сделать, но чет не допру.
 
Можно в клиенте же есть бинд клавиш для вызова окон! Убери вызов окна и все.)

Так же видел как через UnrealScript привязывали свои пакеты к функциям для вызова с сервера. Можно аналогично сделать окну карты пакет для вызова и отправлять сервером этот пакет для открытия карты, а в сервере сделать функцию для итема которая будет вызывать отправку пакета на открытие окна. Не кодер так что мог не корректно обрисовать картину но принцип примерно такой.
 
Проверю.
Да не, меня интересует через ядро. В идеале, покупаешь карту, и она работает.
 
А разве в окне карты есть пакетный вызов? Просто что б открывать через купленный пакет надо как то окно карты ж вызывать. Я не обращал внимание на пакет карты но она работает даже без сервера в дев моде через команду minimap вот и думал что она просто привязана к вызову на кнопку, а для вызова с сервера нужен по логике пакет. Может я и ошибаюсь и он там есть. Сугубо мои домыслы. Хотя по логике должно быть. Напиши если решишь самому интересно, а колупать нет времени, тоже занят кое чем интересным)

А отключать вывод только через клиент по любому.
 
Карта хб блокируется через код. Хз.
 
Карта хб блокируется через код. Хз.
Смотреть в сторону RequestShowMiniMap:
Код:
@Override
    protected void runImpl()
    {
        Player activeChar = getClient().getActiveChar();
        if(activeChar == null)
            return;

        // Map of Hellbound
        if(activeChar.isActionBlocked(Zone.BLOCKED_ACTION_MINIMAP) ||
                (activeChar.isInZone("[Hellbound_territory]") && ItemFunctions.getItemCount(activeChar, 9994) == 0))
        {
            activeChar.sendPacket(SystemMsg.THIS_IS_AN_AREA_WHERE_YOU_CANNOT_USE_THE_MINI_MAP_THE_MINI_MAP_CANNOT_BE_OPENED);
            return;
        }

        sendPacket(new ShowMiniMap(activeChar, 0));
    }