Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Lineage II (https://forum.zone-game.info/forumdisplay.php?f=34)
-   -   LoginFail packet (https://forum.zone-game.info/showthread.php?t=20031)

linliss 16.05.2012 21:56

LoginFail packet
 
LoginFail packet, в нем отправляется причина по которой нельзя залогинится.
Случайно обнаружил, что можно слать любое системное сообщение.
Как выяснить какой номер посылать?

Zubastic 16.05.2012 22:49

Re: LoginFail packet
 
systemmsg-e.dat же? Или это не то, о чем я думаю?

Darvin 16.05.2012 23:17

Re: LoginFail packet
 
статическое значение ставь 0х01 и тд

Добавлено через 50 секунд
Код:

public final class LoginFail extends L2LoginServerPacket {
    public static enum LoginFailReason {
        REASON_NO_MESSAGE(0),
        REASON_SYSTEM_ERROR(1), //There is a system error. Please log in again later
        REASON_PASS_WRONG(2), //The password you have entered is incorrect. Confirm your ...
        REASON_USER_OR_PASS_WRONG(3),
        REASON_ACCESS_FAILED_TRYA1(4), //Access failed. Please try again later.
        REASON_ACCOUNT_INFO_INCORR(5), //Your account information is incorrect. For more details ...
        REASON_ACCESS_FAILED_TRYA2(6), //Access failed. Please try again later.
        REASON_ACCOUNT_IN_USE(7), //Account is already in use. Unable to log in.
        // 8 — Access failed. Please try again later. .
        // 9 — Access failed. Please try again later. .
        // 10 — Access failed. Please try again later. .
        // 11 — Access failed. Please try again later. .
        REASON_MIN_AGE(12), //Lineage II game services may be used by individuals 15 years of age or older ...
        // 13 — Access failed. Please try again later. .
        // 14 — Access failed. Please try again later. .
        // 15 — Due to high server traffic, your login attempt has failed.  Please try again soon.
        REASON_SERVER_MAINTENANCE(16), //Currently undergoing game server maintenance. Please log in again later
        REASON_CHANGE_TEMP_PASS(17), //Please login after changing your temporary password.
        REASON_USAGE_TEMP_EXPIRED(18), //Your usage term has expired. PlayNC website ...
        REASON_TIME_LEFT_EXPIRED(19), //There is no time left on this account.
        REASON_SYS_ERR(20), //System Error.
        REASON_ACCESS_FAILED(21), //Access Failed.
        REASON_ATTEMPTED_RESTRICTED_IP(22), //Game connection attempted through a restricted IP.g.
        // 23-29 unused
        REASON_WEEK_USAGE_TIME_END(30), //This week's usage time has finished.
        REASON_SECURITY_CARD_NUMB_I(31), //The security card number is invalid.
        REASON_VERIFY_AGE(32), //Users who have not verified their age may not log in ...
        REASON_CANNOT_ACC_COUPON(33), //This server cannot be accessed by the coupon you are using.
        // 34 unused
        REASON_DUAL_BOX(35),
        REASON_ACCOUNT_INACTIVE(36), //Your account is currently inactive because you have not logged ...
        REASON_USER_AGREEMENT_DIS(37), //You must accept the User Agreement before this account ...
        REASON_GUARDIAN_CONSENT_REQ(38), //A guardian's consent is required before this account ...
        REASON_USER_AGREEMENT_DEC(39), //This account has declined the User Agreement or is pending ...
        REASON_ACCOUNT_SUSPENDED(40), //This account has been suspended ...
        REASON_CHANGE_PASS_AND_QUIZ(41), //Your account can only be used after changing your password and quiz ...
        REASON_LOGGED_INTO_10_ACCS(42); //You are currently logged into 10 of your accounts and can no longer ...
        // 43 — The master account of your account has been restricted.

        private final int _code;

        LoginFailReason(int code) {
            _code = code;
        }

        public final int getCode() {
            return _code;
        }
    }

    private int reason_code;

    public LoginFail(LoginFailReason reason) {
        reason_code = reason.getCode();
    }

    @Override
    protected void writeImpl() {
        writeC(0x01);
        writeD(reason_code);
    }
}


mnnm 16.05.2012 23:34

Re: LoginFail packet
 
RequestAuthLogin, RequestServerLogin...

linliss 16.05.2012 23:50

Re: LoginFail packet
 
мне нужно узнать как расчитывать значение которое нужно посылать в этом пакете чтоб в клиенте показало systemmessage например (номер 15 Вы в зоне осады)
нашару посылая значения:
id в пакете - 1809, в клиенте показывает sysmsg id: 396 Измените временный пароль на сайте и зайдите в игру.
id в пакете - 1811, в клиенте показывает sysmsg id: 458 Время игры закончилось.
id в пакете - 1811, в клиенте показывает sysmsg id: 398 Истекло оплаченное время игры на Вашем аккаунте.

izen 17.05.2012 00:43

Re: LoginFail packet
 
Или я тупой, или что-то перемудрили.
LoginFailPacket2 format:cc handler:
Свернуть ↑Развернуть ↓

О каких расчетах речь? Как вы хардкод считать собрались?

Добавлено через 41 минуту
таки да, таки перемудрили. пакет cc (0x01, reason). 1811 == 0x0711. в LE представлении DWORD 11 07 00 00. пакет сс. из pBuff берется только BYTE 0x11 ==
17 - REASON_CHANGE_TEMP_PASS(17), //Please login after changing your temporary password.
:dd:

mnnm 17.05.2012 01:26

Re: LoginFail packet
 
Цитата:

Сообщение от linliss (Сообщение 188554)
мне нужно узнать как расчитывать значение которое нужно посылать в этом пакете чтоб в клиенте показало systemmessage например (номер 15 Вы в зоне осады)
нашару посылая значения:
id в пакете - 1809, в клиенте показывает sysmsg id: 396 Измените временный пароль на сайте и зайдите в игру.
id в пакете - 1811, в клиенте показывает sysmsg id: 458 Время игры закончилось.
id в пакете - 1811, в клиенте показывает sysmsg id: 398 Истекло оплаченное время игры на Вашем аккаунте.

Согласен с izen, но все же...
Попробуйте 1717, посмотрите что выдаст...
Те сообщения что вы выше написали одинаковы по смыслу, 1811 может быть и 458 и 398, но по какому принципу они выбираются это вопрос....

linliss 17.05.2012 01:38

Re: LoginFail packet
 
Цитата:

Сообщение от mnnm (Сообщение 188569)
Попробуйте 1717, посмотрите что выдаст...

ничего, перекидывает обратно на форму ввода логин/пароль(без сообщения)

mnnm 17.05.2012 02:17

Re: LoginFail packet
 
Цитата:

Сообщение от linliss (Сообщение 188570)
ничего, перекидывает обратно на форму ввода логин/пароль(без сообщения)

Значит возможны сообщения только такого типа (в спойлере).
REASONS...:
Свернуть ↑Развернуть ↓

Возможно ls виноват (может доп. прописать в ls нужно), а возможно и клиент не хочет... Можете попробывать любой другой (к примеру 1333).
Но что то мне подсказывает что используется только то что в спойлере выше... номера 1809 = 11 = 17 из спойлера (396 из SystemMsg), 1811 = 13 = 18 из спойлера(458 из SystemMsg) и 19 из спойлера (398 из SystemMsg). Вообщем как то так).

linliss 17.05.2012 06:00

Re: LoginFail packet
 
вообщем для сообщений о бане аккаунта нужно использовать пакет AccountKicked, но блин что ни отправь он отображает все время рандомные сообщения... я уже моск сломал...


Текущее время: 19:46. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot