Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Пакет захода персонажа в игру
#1
Вопрос такой, сборка Таути от вестероса, при попытке войти в игру выбранным персонажем не откликается, при частом нажатии пишет "много левых пакетов". Вопрос, какой именно пакет отвечает за вход перса в игру и вообще идеально где примерно он должен находиться в исходниках гса что бы фиксануть проблему.
[Изображение: master.gif]
Ответ
#2
Клиентский пакет EnterWorld.
Ответ
#3
Warencense Написал:Клиентский пакет EnterWorld.
У него из лобби не заходит, так что тут скорее проблема в CharSelected, как я понял, клиент даже грузиться не начинает.
Ответ
#4
Influence Написал:У него из лобби не заходит, так что тут скорее проблема в CharSelected, как я понял, клиент даже грузиться не начинает.
Да именно там где происходит выбор персонажа кнопка "Начать игру" отправляет пакет который не обрабатывается сервером(да да я пробывал разные клиенты проблема по факту именно в обработке пакета на старт игры). Пошел сравнивать с рабочими сборками.
[Изображение: master.gif]
Ответ
#5
nikitawasa Написал:Да именно там где происходит выбор персонажа кнопка "Начать игру" отправляет пакет который не обрабатывается сервером(да да я пробывал разные клиенты проблема по факту именно в обработке пакета на старт игры). Пошел сравнивать с рабочими сборками.

Посмотри через снифер что отправляет клиент, ну, а потом в исходниках что принимает сервер.
Ответ
#6
[hide][Изображение: image.png][/hide]
после того как поигрался с GamePacketHandler
Код:
case AUTHED:
                    switch (id)
                    {
                        case 0x00:
                            msg = new Logout();
                            break;
                        case 0x0c:
                            msg = new CharacterCreate();    // RequestCharacterCreate();
                            break;
                        case 0x0d:
                            msg = new CharacterDelete();    // RequestCharacterDelete();
                            break;
//                      case 0x43:
//                          msg = new CharacterSelected(); //CharacterSelect();
//                          break;
                        case 0x13:
                            msg = new NewCharacter();    // RequestNewCharacter();
                            break;
                        case 0x7b:
                            msg = new CharacterRestore();    // RequestCharacterRestore();
                            break;
                        case 0xcb:
                            msg = new ReplyGameGuardQuery();
                            break;
                        case 0x12:
                            msg = new CharacterSelected();
                            break;
                        case 0xd0:
                            int id3 = buf.getShort() & 0xffff;

                            switch (id3)
                            {
                                case 0x36:
                                    msg = new GotoLobby();
                                    break;
                                case 0x93:
                                    msg = new RequestEx2ndPasswordCheck();
                                    break;
                                case 0x94:
                                    msg = new RequestEx2ndPasswordVerify();
                                    break;
                                case 0x95:
                                    msg = new RequestEx2ndPasswordReq();
                                    break;
                                // case 0xAD:
                                // msg = new CharacterSelected();
                                // break;
                                case 0xb0:
                                    msg = new RequestCharacterNameCreatable();
                                    break;
                                default:
                                    client.onUnknownPacket();
                                    break;
                            }

                            break;
                        default:
                            client.onUnknownPacket();
                            break;
                    }
P.S думал поставить 0x43 заместо 0x12 ого, кстати если у кого остался систем таути 448 я бы попробовал с ним, есть у меня мыслишки что хоть и сделан по 449 но ест эту хрень с 448
[Изображение: master.gif]
Ответ
#7
nikitawasa Написал:[hide][Изображение: image.png][/hide]
после того как поигрался с GamePacketHandler
Код:
case AUTHED:
                    switch (id)
                    {
                        case 0x00:
                            msg = new Logout();
                            break;
                        case 0x0c:
                            msg = new CharacterCreate();    // RequestCharacterCreate();
                            break;
                        case 0x0d:
                            msg = new CharacterDelete();    // RequestCharacterDelete();
                            break;
//                      case 0x43:
//                          msg = new CharacterSelected(); //CharacterSelect();
//                          break;
                        case 0x13:
                            msg = new NewCharacter();    // RequestNewCharacter();
                            break;
                        case 0x7b:
                            msg = new CharacterRestore();    // RequestCharacterRestore();
                            break;
                        case 0xcb:
                            msg = new ReplyGameGuardQuery();
                            break;
                        case 0x12:
                            msg = new CharacterSelected();
                            break;
                        case 0xd0:
                            int id3 = buf.getShort() & 0xffff;

                            switch (id3)
                            {
                                case 0x36:
                                    msg = new GotoLobby();
                                    break;
                                case 0x93:
                                    msg = new RequestEx2ndPasswordCheck();
                                    break;
                                case 0x94:
                                    msg = new RequestEx2ndPasswordVerify();
                                    break;
                                case 0x95:
                                    msg = new RequestEx2ndPasswordReq();
                                    break;
                                // case 0xAD:
                                // msg = new CharacterSelected();
                                // break;
                                case 0xb0:
                                    msg = new RequestCharacterNameCreatable();
                                    break;
                                default:
                                    client.onUnknownPacket();
                                    break;
                            }

                            break;
                        default:
                            client.onUnknownPacket();
                            break;
                    }
P.S думал поставить 0x43 заместо 0x12 ого, кстати если у кого остался систем таути 448 я бы попробовал с ним, есть у меня мыслишки что хоть и сделан по 449 но ест эту хрень с 448

там вроде 0х12 должно быть, его трогать не надо.
Лучше покажи что у тебя в network/clientpackets/CharacterSelected.java
Ответ
#8
Код:
package trs.gameserver.clientpackets;

import trs.gameserver.model.general.Player;
import trs.gameserver.network.GameClient;
import trs.gameserver.network.GameClient.GameClientState;
import trs.gameserver.serverpackets.ActionFail;
import trs.gameserver.serverpackets.CharSelected;
import trs.gameserver.utils.AutoBan;

public class CharacterSelected extends L2GameClientPacket
{
    private int _charSlot;

    /**
     * Format: cdhddd
     */
    @Override
    protected void readImpl()
    {
        _charSlot = readD();
    }

    @Override
    protected void runImpl()
    {
        GameClient client = getClient();

        if (client.getActiveChar() != null)
        {
            return;
        }

        int objId = client.getObjectIdForSlot(_charSlot);

        if (AutoBan.isBanned(objId))
        {
            sendPacket(ActionFail.STATIC);
            return;
        }

        Player activeChar = client.loadCharFromDisk(_charSlot);

        if (activeChar == null)
        {
            sendPacket(ActionFail.STATIC);
            return;
        }

        if (activeChar.getAccessLevel() < 0)
        {
            activeChar.setAccessLevel(0);
        }

        client.setState(GameClientState.IN_GAME);
        sendPacket(new CharSelected(activeChar, client.getSessionKey().playOkID1));
    }
}
Тут вроде все нормально, если я конечно не слепой и с учетом, что ничего тут с 1х хроник года не менялось.
*******************************************************8
При возврате 0x12 то же сообщение
WARN Too many client unknown packets...
[Изображение: master.gif]
Ответ
#9
JTW
вот что в у jtw в beta версии, нету времени сравнивать, сейчас уходить нужно, вечером приду, загляну сюда еще.
Ответ
#10
Cейчас сравним и подумаем

Добавлено через 6 минут
Хм, тот CharacterSelect похож на тот, с которым я на эпилоге работал, но на годовских сборках есть только CharacterSelected
[Изображение: master.gif]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Статы персонажа pindossia 5 3,716 09-13-2019, 11:48 PM
Последний пост: MasterToma
  Как изменить стартовый уровень персонажа? John twiks 2 2,179 03-28-2019, 05:54 PM
Последний пост: Kampina
  Круги вокруг имени персонажа adaria 2 2,014 11-13-2017, 07:06 AM
Последний пост: adaria
  Новые характеристики персонажа kira1990 9 2,890 04-10-2017, 01:15 PM
Последний пост: Emperor
  Проблема с созданием персонажа Trufan 3 1,934 08-18-2016, 01:26 PM
Последний пост: Gaikotsu
  Какой пакет подскажите vanyahunter123 2 1,489 12-19-2015, 08:36 PM
Последний пост: Gaikotsu
  Процедура создания Действия персонажа raindew 10 3,309 06-02-2015, 01:14 PM
Последний пост: Donatte
  Повышение статов при создании персонажа SunWar 3 1,443 08-25-2014, 06:24 PM
Последний пост: TonsFun
  Статус персонажа lin 2 1,339 04-18-2014, 02:34 PM
Последний пост: lin
  Движение персонажа до моба gre4ka 10 2,131 03-03-2014, 04:59 PM
Последний пост: gre4ka

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)