PDA

Просмотр полной версии : Command Channel Packets


exT1m
08.02.2010, 19:43
Добрый вечер. прошу помощи у вас с пакетами для команд чэннэла в л2.

суть такова: при создании комманд чэнэла от сервера должы отправляться некоторые пакеты - 2 из них это: ExMPCCPartyInfoUpdate и ExMultiPartyCommandChannelInfo. на камаеле и выше у них строение таково:

ExMPCCPartyInfoUpdate - FE:5B
ExMultiPartyCommandChannelInfo - FE:31 (похоже на PCCafe в ИЛ)

Так вот требуется выяснить строение под интерлюд (если они там имеются... хотя должны, по идее).

Вопрос очень важный, надеюсь на понимание. Заранее спасибо.

exT1m
16.02.2010, 00:59
ап. есть у кого возможность проснифить на ПТС интерлюде ?

mks
17.02.2010, 19:06
От Java серверов могу дать пакеты сервера:
Interlude:

public class ExOpenMPCC extends L2GameServerPacket
{

private static final String _S__FE_25_EXOPENMPCC = "[S] FE:25 ExOpenMPCC";

@Override
protected void writeImpl()
{
writeC(0xfe);
writeH(0x25);
}

@Override
public String getType()
{
return _S__FE_25_EXOPENMPCC;
}
}


public class ExCloseMPCC extends L2GameServerPacket
{

private static final String _S__FE_26_EXCLOSEMPCC = "[S] FE:26 ExCloseMPCC";

@Override
protected void writeImpl()
{
writeC(0xfe);
writeH(0x26);
}

@Override
public String getType()
{
return _S__FE_26_EXCLOSEMPCC;
}
}


Graci Final:

public class ExMultiPartyCommandChannelInfo extends L2GameServerPacket
{
private static final String _S__FE_31_EXMULTIPARTYCOMMANDCHANNELINFO = "[S] FE:31 ExMultiPartyCommandChannelInfo";
private L2CommandChannel _channel;

public ExMultiPartyCommandChannelInfo(L2CommandChannel channel)
{
this._channel = channel;
}

@Override
public String getType()
{
return _S__FE_31_EXMULTIPARTYCOMMANDCHANNELINFO;
}

@Override
protected void writeImpl()
{
if (_channel == null)
return;
writeC(0xfe);
writeH(0x31);
writeS(_channel.getChannelLeader().getName()); // Channelowner
writeD(0); // Channelloot 0 or 1
writeD(_channel.getMemberCount());
writeD(_channel.getPartys().size());
for (L2Party p : _channel.getPartys())
{
writeS(p.getLeader().getName()); // Leadername
writeD(p.getPartyLeaderOID()); // Leaders ObjId
writeD(p.getMemberCount()); // Membercount
}
}
}

exT1m
19.02.2010, 00:51
Спасибо, но..) Про это речь и идёт - пакет ExMultiPartyCommandChannelInfo на грации выглядит как FE:31. А я делаю комманд чэннэл для интерлюда, этот пакет там должен быть задействован - но строение у него FE:31 быть не может не как, т.к FE:31 в интерлюде - это строение серверного пакета ExPCCafePointInfo. В этом и проблема, что требуется строение под ИЛ - а узнать его можно только проснифив процедуру создания Комманд Чэннэла на ПТС интерлюде :\

dmitry501
19.02.2010, 08:25
Спасибо, но..) Про это речь и идёт - пакет ExMultiPartyCommandChannelInfo на грации выглядит как FE:31. А я делаю комманд чэннэл для интерлюда, этот пакет там должен быть задействован - но строение у него FE:31 быть не может не как, т.к FE:31 в интерлюде - это строение серверного пакета ExPCCafePointInfo. В этом и проблема, что требуется строение под ИЛ - а узнать его можно только проснифив процедуру создания Комманд Чэннэла на ПТС интерлюде :\

У кого-то есть машина времени? ПТС интерлюда прошел очень давно. Так что остется лишь фришки - ява или С4 с экстендером

mks
19.02.2010, 11:07
Ну, так я ж написал для интерлюда
FE 25 00
FE 26 00

exT1m
19.02.2010, 14:29
между
ExOpenMPCC
ExCloseMPCC
и
ExMPCCPartyInfoUpdate
ExMultiPartyCommandChannelInfo
есть разница :)

ExOpenMPCC // создание Ком.Чэннэла
ExCloseMPCC // удаление Ком.Чэннэла
ExMultiPartyCommandChannelInfo // показ пати в окошке Ком.Чэннэла, отображение сколько в них человек и ник ПЛа
ExMPCCPartyInfoUpdate // отображение членов всех пати и их проф(если кликнуть по пати в листе Ком.Чэннэла)

exT1m
13.05.2010, 18:13
до сих пор актуально ;(