Не работает пати на 530 протоколе - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 19.01.2021, 19:47   #1
Пользователь

Автор темы (Топик Стартер) Не работает пати на 530 протоколе

Всем привет. И так, хочу обрисовать проблему, с которой я столкнулся, имея сырые исходники l2j сервера C3. У меня имеется протокол клиента 530, и вот на нём, не работа запрос пати, при этом, на 560 протоколе всё отлично работает.

Покопавшись в исходниках, нашел такую закономерность в классе class RequestJoinParty:

private int _id;
private String _name = null;
private final int _itemDistribution;
private final int revision;

public RequestJoinParty(ByteBuffer buf, ClientThread client)
{
super(buf, client);
revision = client.getRevision();
if (revision >= 551)
{
_name = readS();
}

else
{
_id = readD();
}
_itemDistribution = readD();
}

void runImpl()
{
SystemMessage msg;
L2PcInstance target = null;
if (revision < 551)
{
target = (L2PcInstance) L2World.getInstance().findObject(_id);
}

else
{
target = L2World.getInstance().getPlayer(_name);
}

if(target == null)
{
SystemMessage sm = new SystemMessage(SystemMessage.TARGET_IS_INCORRECT);
getClient().getActiveChar().sendPacket(sm);
return;
}

А вот код, на котором работает пати с протоколом 560 и выше:

PHP код:
    private final String _name;
    private final 
int _itemDistribution;

    public 
RequestJoinParty(ByteBuffer bufClientThread client)
    {
        
super(bufclient);

        
_name readS();
        
_itemDistribution readD();
    }

    
void runImpl()
    {
        
L2PcInstance requestor getClient().getActiveChar();
        
L2PcInstance target L2World.getInstance().getPlayer(_name);

        if (
requestor == null)
            return;

        if (
target == null)
        {
            
requestor.sendPacket(new SystemMessage(SystemMessage.TARGET_IS_INCORRECT));
            return;
        }

        
SystemMessage msg;

        if (
target.isInParty())
        {
            
msg = new SystemMessage(SystemMessage.S1_IS_ALREADY_IN_PARTY);
            
msg.addString(target.getName());
            
requestor.sendPacket(msg);
            return;
        } 

И я никак не могу понять, в чём может быть проблема. Точнее подозреваю где, но я не уверен и возможно не знаю куда ссылаться и где искать.

Кто-то сможет помочь мне? Если конечно не затруднит? Мне нужно, чтобы запрос на пати принимался вторым игроком, ибо сейчас просто пишет Incorrect Target, хотя персонаж в таргет выделен


P.S Но, даже при первом приведенном раскладе, пати не работает. Скорее всего, разрабы не успели реализовать это в джаве с 530 протоколом.
Magican вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Range пати demort Lineage II 1 15.08.2015 14:57
Кидает пати хз что vvkk Lineage II 2 25.10.2010 00:16
Баф в пати lxShaDoWxl Lineage II 8 13.09.2010 11:45
Пати,торг Karat Серверная часть 6 05.04.2010 07:14
Кач в пати. (БАГ) xkondorx Lineage II 8 16.11.2009 23:12


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 18:53. Часовой пояс GMT +3.

Вверх