Как закрыть Community Board после использования

accavit

Пляшущий с бубном
Участник
Сообщения
133
Розыгрыши
0
Решения
2
Репутация
0
Реакции
22
Баллы
220
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
Lucera 1.7
После телепорта куда-либо через Community Board персонаж телепортируется, а CB открывает страничку с надписью "Счастливого пути!". После телепорта приходится каждый раз закрывать окно CB. Как можно сделать, чтобы CB закрывалось само после телепорта?
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
в люцере это называется HideBoard(), как такового пакета не существует, это я знаю, но есть ShowBoard, но HideBoard видимо сделали просто для закрытия кб..
 
пример построение пакета для l2jmobius interlude
Код:
package org.l2jmobius.gameserver.network.serverpackets;

import java.util.List;

import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.commons.util.StringUtil;
import org.l2jmobius.gameserver.network.OutgoingPackets;

public class HideBoard implements IClientOutgoingPacket
{

  
    @Override
    public boolean write(PacketWriter packet)
    {
        OutgoingPackets.SHOW_BOARD.writeId(packet);
        packet.writeC(0x00); // 1 to show, 0 to hide
        packet.writeS("");
        packet.writeS("");
        packet.writeS("");
        packet.writeS("");
        packet.writeS("");
        packet.writeS("");
        packet.writeS("");
        packet.writeS("");
        packet.writeS("");
        return true;
    }
}

основаная идея это очистить все параметры в пекете и передать 0x00 вместо 0x01

пример использования


Код:
player.sendPacket(new HideBoard());
 
Реакции: Rolo
он же уже прописан в куске этого кода.
if (result.endsWith(".htm")) {
result = HtmCache.getInstance().getHtm("data/html/CommunityBoard/" + result, activeChar);
if (result == null) {
activeChar.sendPacket(new HideBoard());
return true;
}