Содержание 1. Общие сведения 2. Пакеты Client -> Login Server 3. Пакеты Login Server -> Client 4. Пакеты Game Server -> Client 5. Пакеты Client -> Game Server 1. Общие сведения Каждый пакет состоит из размера пакета(2 байта), типа пакета(1 байт) и блока параметров(переменная длина). В дополнение к этому, в пакетах сервера авторизации, в конце добавляется контрольная сумма и дополняется нулями так, чтобы размер пакета был кратен 8-ми байтам. Контрольная сумма может быть рассчитана следующей функцией: unsigned long checksum( unsigned char *packet, int count ) { long chksum = 0L; for( int i = 0; i < count; i += 4 ) chksum ^= *((unsigned long *)&raw); return chksum; }; Протокол lineage использует 6 разных типов данных: char – может принимать значение от -128 до 127. Имеет длину 1 байт short – может принимать значение от -32768 до 32767. Имеет длину 2 байта int – может принимать значение от -2147483648 до 2147483647. Имеет длину 4 байта int64 – может принимать значение от -9223372036854775808 до 9223372036854775807. Имеет длину 8 байт. float – может принимать значение от 2.22507e-308 до 1.79769e+308. Имеет длину 8 байт string – текстовая строка в юникоде(UTF8). Каждая буква представлена двумя байтами, первый байтом код буквы, а второй – номер кодовой таблицы. Индикатором конца строки служит символ с кодом 0. Примечание: Для тех кто незнаком с принципом хранения данных в памяти ПК уточню, байты идут в обратном порядке. Т.е. если нам нужно записать в пакет число 10 представленное типом int, то мы должны: 1) перевести его в шестнадцатеричную систему счисления – получим 00 00 00 0a 2) обратить порядок байт в слове – получаем 0a 00 00 00 Пакеты сервера авторизации шифруются по алгоритму Blowfish. Стандартный ключ по умолчанию в 4-х хрониках: 5F 3B 35 2E 5D 39 34 2D 33 31 3D 3D 2D 25 78 54 21 5E 5B 24. К концу ключа прибавляется символ с кодом 0. В Interlude тип шифрования был изменен - пакет Init содержит динамический Blowfish ключ случайно генерируемый для каждого клиента. Этот пакет сначала шифруется по алгоритму XOR(ключ генерируется случайным образом и помещается в конце пакета), а потом шифруется по алгоритму Blowfish, статическим ключом. По умолчанию статический ключ - 6B 60 CB 5B 82 CE 90 B1 CC 2B 6C 55 6C 6C 6C 6C. Все последующие пакеты будут шифроваться динамическим Blowfish ключом. Пакет LoginRequest дополнительно шифруется по алгоритму RSA. Ключ состоит из следующих частей: B = 1024, E = 65537, N = передается в пакете Init. Вместе эти 3 части составляют целый RSA ключ. Байты N в пакете зашифрованы функцией: void scrambleMod( char *n ) { typedef unsigned char byte; int i; for( i=0; i<4; i++ ) { byte temp = n[0x00 + i]; n[0x00 + i] = n[0x4d + i]; n[0x4d + i] = temp; }; // step 2 xor first 0x40 bytes with last 0x40 bytes for( i=0; i<0x40; i++ ) { n = (byte)(n ^ n[0x40 + i]); }; // step 3 xor bytes 0x0d-0x10 with bytes 0x34-0x38 for( i=0; i<4; i++ ) { n[0x0d + i] = (byte)(n[0x0d + i] ^ n[0x34 + i]); }; // step 4 xor last 0x40 bytes with first 0x40 bytes for( i=0; i<0x40; i++ ) { n[0x40 + i] = (byte)(n[0x40 + i] ^ n); }; }; Для расшифровки можно воспользоваться следующей функцией: void unscrambleMod( char *n ) { typedef unsigned char byte; int i; // step 4 xor last 0x40 bytes with first 0x40 bytes for( i=0; i<0x40; i++ ) { n[0x40 + i] = (byte)(n[0x40 + i] ^ n); }; // step 3 xor bytes 0x0d-0x10 with bytes 0x34-0x38 for( i=0; i<4; i++ ) { n[0x0d + i] = (byte)(n[0x0d + i] ^ n[0x34 + i]); }; // step 2 xor first 0x40 bytes with last 0x40 bytes for( i=0; i<0x40; i++ ) { n = (byte)(n ^ n[0x40 + i]); }; for( i=0; i<4; i++ ) { byte temp = n[0x00 + i]; n[0x00 + i] = n[0x4d + i]; n[0x4d + i] = temp; }; }; Также есть сервера использующие старый протокол авторизации(ревизия 785a) который не шифрует пакет Init, а остальные шифрует Blowfish ключом длинной 21 байт. При этом пакет LoginRequest шифруется только по алгоритму Blowfish, без дополнительного шифрования RSA. Для шифрования пакетов гейм сервера используется алгоритм XOR. Ключ XOR генерируется случайно и передается клиенту в пакете CryptInit. Функции шифрования и дешифрации приведены ниже: /* Декодирует данные */ void decrypt( unsigned char *data, unsigned int len, unsigned char *Key ) { int temp = 0; for( unsigned int i = 0; i < len; ++i ) { int temp2 = data & 0xff; data = (temp2 ^ (Key[i & 15] & 0xff) ^ temp); temp = temp2; }; int old = Key[8] & 0xff; old |= (Key[9] << 0x08) & 0xff00; old |= (Key[10] << 0x10) & 0xff0000; old |= (Key[11] << 0x18) & 0xff000000; old += len; Key[8] = old &0xff; Key[9] = (old >> 0x08) & 0xff; Key[10] = (old >> 0x10) & 0xff; Key[11] = (old >> 0x18) & 0xff; }; /* Кодирует данные */ void encrypt( unsigned char *data, unsigned int len, unsigned char *Key ) { int temp = 0; for( unsigned int i = 0; i < len; i++) { int temp2 = data & 0xff; data = (temp2 ^ (Key[i & 15] & 0xff) ^ temp); temp = data; }; int old = Key[8] & 0xff; old |= (Key[9] << 0x08) & 0xff00; old |= (Key[10] << 0x10) & 0xff0000; old |= (Key[11] << 0x18) & 0xff000000; old += len; Key[8] = old &0xff; Key[9] = (old >> 0x08) & 0xff; Key[10] = (old >> 0x10) & 0xff; Key[11] = (old >> 0x18) & 0xff; }; С каждым кодированным/декодированным пакетом ключ изменяется на длину пакета, поэтому нужно использовать два отдельных экземпляра ключа – один для шифрования исходящих пакетов, второй для расшифровки входящих. Все пакеты шифруются начиная с 3-го байта, т.е. размер пакета никогда не шифруется. Порядок авторизации на логин сервере Во первых сразу замечу что существует две ревизии протокола использующиеся на данный момент(может и больше но мне о них не известно) - c621 и 785a. Отличие их в том что в c621 используется дополнительное шифрование и авторизация GameGuard. Пакеты Init и RequestAuthLogin также отличаются. Определить версию можно по размеру пакета Init, для ревизии 785a он составляет 11 байт, для c621 – 170. 1. Сразу после установки соединения сервер отправляет клиенту пакет Init 2. В ответ на него клиент отправляет пакет RequestGGAuth(в ревизии протокола 785a этот пакет не высылается) 3. Сервер отвечает на него пакетом GGAuth (в ревизии протокола 785a этот пакет не высылается) 4. Если сервер ответил, что авторизация прошла успешно, то клиент высылает пакет RequestAuthLogin, содержащий логин и пароль. 5. Проверка логина и пароля, в случае неудачи, сервер высылает пакет LoginFail содержащий причину неудачи, инатче высылается пакет LoginOk, содержащий session key #1. 6. Далее клиент запрашивает список серверов пакетом RequestServerList 7. В ответ на этот пакет сервер высылает клиенту ServerList, в нем содержиться список серверов и их IP адреса с номерами портов. 8. После выбора game-сервера, и нажатия на ОК, клиент отсылает пакет RequestServerLogin 9. Сервер авторизации выполняет проверки на максимальное количество игроков, доступность сервера и т.п., если все проверки пройдены, то высылает пакет PlayOk,содержащий session key #2, этот ключь генерируется из текущего времени системы в мс, номера сокета и еще всякой лабуды. После этого клиент отключается от логин сервера и подключается к гейм серверу. Порядок авторизации на гейм сервере 1. После установки соединения, клиент высылает пакет ProtocolVersion, содержащий версию протокола. 2. Сервер высылает пакет CryptInit, содержащий XOR ключ которым будут шифроваться все следующие пакеты. 3. Клиент высылает пакет AuthLogin выбраному серверу, содержащий session key #1, session key #2 и логин. При несовпадении с теми ключами и логином, что храняться на сервере авторизации клиент отключается. 4. Сервер высылает пакет CharList, содержащий список всех чаров на аккаунте. 5. Тут идет процесс создания/удаления и выбора чара, после того как чар выбран и нажата кнопка Start, клиент отправляет пакет CharacterSelected 6. Клиент отправляет 2 пакета - RequestQuestList и RequestExManorList 7. Сервер высылает пакет ExSendManorList 8. Сервер высылает пакет QuestList 9. Клиент отправляет пакет EnterWorld 10. Сервер отправляет пакет UserInfo, который также служит сигналом окончания загрузки. 11. Все мы в игре. Сервер с периодичностью 60 секунд высылает пакет NetPingRequest, на который клиент должен ответить пакетом NetPing В описании пакетов будут встречаться ObjectID и ItemID, ItemID это идентификатор типа предмета, например у авадон робы он 2406. А ObjectID это уникальный идентификатор самого предмета в игре. Например у двух чаров есть авадон роба, ItemID робы у каждого из них будет одинаковый - 2406, тогда как ObjectID будет уникальным. 2. Пакеты от клиетна серверу (Login Server) 00 - RequestAuthLogin 02 - RequestServerLogin 05 - RequestServerList 07 - RequestGGAuth RequestAuthLogin Назначение: запрашивает авторизацию на логин сервере Формат для ревизии 0x785a: 00 XX XX XX XX 00 // строка содержащая логин. Имеет длинну 14 байт и храниться в формате ASCII а не UNICODE !!! XX XX XX XX 00 // строка содержащая пароль. Имеет длинну 16 байт и храниться в формате ASCII а не UNICODE !!! 08 // маркер конца секции логин/пароль 00 00 00 00 // не используется 00 00 00 00 // не используется Формат для ревизии 0xc621: 00 00 00 00 00 ... // Начало массива из 128 байт содержащих логин и пароль, и шифрующихся по алгоритму RSA ... (байты 94-107) // строка содержащая логин. Имеет длинну 14 байт и храниться в формате ASCII а не UNICODE !!! ... (байты 108-124) // строка содержащая пароль. Имеет длинну 16 байт и храниться в формате ASCII а не UNICODE !!! ... 00 00 00 00 // не используется. Конец массива Примичание: Некоторые сервера сверяют логин и пароль как массивы данных а не как строки, т.е. сверяются байты содержащиеся за символом с кодом 0(признаком конца строки) поэтому убедитесь что неиспользуемые байты переменных где храняться логин и пароль содержат нули. RequestServerLogin Назначение: запрашивает подключение к гейм серверу Формат: 02 XX XX XX XX // SessionKey1 первая часть XX XX XX XX // SessionKey1 вторая часть XX // номер сервера RequestServerList Назначение: запрашивает список game серверов Формат: 05 XX XX XX XX // SessionKey1 часть 1 XX XX XX XX // SessionKey1 часть 2 04 00 00 00 // хз RequestGGAuth Назначение: запрашивает Game Guard авторизицию Формат: 07 XX XX XX XX // ID сессии XX XX XX XX // неизвестно XX XX XX XX // неизвестно XX XX XX XX // неизвестно XX XX XX XX // неизвестно 3. Пакеты от сервера клиенту (Login Server) 00 - Init 01 - LoginFail 02 - AccountKicked 03 - LoginOk 04 - ServerList 06 - PlayFail 07 - PlayOk 0B - GGAuth Init Назначение: передает клиенту номер сессии и номер соединения, в случае ревизии c621 передается также модуль RSA ключа, и динамический токен (Используеться в Interlude, но по идее возможно и в более старых версиях хроник) Формат для ревизии протокола 0x785a: 00 XX XX XX XX // ID сессии XX XX XX XX // Версия протокола 0x785a Формат для ревизии протокола 0xc621: 00 XX XX XX XX // ID сессии XX XX XX XX // Версия протокола 0xc621 XX XX XX XX ... // 128 байт публичного ключа, которым в последствии клиент шифрует пакет RequestAuthLogin 29 DD 95 4E // \ 77 C3 9C FC // | хз что 97 AD B6 20 // | 07 BD E0 F7 // / XX XX XX XX ... // 16 байт blowfish ключа которым шифруются все последующие пакеты 00 XX XX XX XX // контрольная сумма пакета Пакет для Interlude содержит дополнительные 4 байта: XX XX XX XX // XOR ключ которым зашифрован пакет LoginFail Назначение: сообщает о неудачной попытке подключения к логин серверу Формат: 01 XX XX XX XX // причина неудачи: // 0x01 - системная ошибка // 0x02 - неправельный пароль // 0x03 - логин или пароль неверен // 0x04 - доступ запрещен // 0x05 - информация на аккаунте неверна(хз, наверно имеется ввиду ошибка в БД) // 0x07 - аккаунт уже используется // 0x09 - аккаунт забанен // 0x10 - на сервере идут сервисные работы // 0x12 - срок действия истек // 0x13 - на аккаунте не осталось больше времени (видимо NCSoft собирается или собиралось заморочить и почасовую оплату AccountKicked Назначение: сообщает клиенту, что аккаунт заблокирован Формат: 02 XX XX XX XX // причина неудачи: // 0x01 - data stealer // 0x08 - generic violation // 0x10 - прошло 7 дней (для trial акков ?) // 0x20 - Аккаунт забанен LoginOk Назначение: высылается в подтсверждение на пакет RequestAuthLogin, в случае успешной проверки логина и пароля. Формат: 03 XX XX XX XX // SessionKey1 первая часть XX XX XX XX // SessionKey1 вторая часть 00 00 00 00 00 00 00 00 EA 03 00 00 00 00 00 00 00 00 00 00 02 00 00 00 XX XX XX XX ... // массив из 16 байт, назначение неизвестно ServerList Назначение: передает клиенту список серверов и их состояние Формат: 04 XX // количество серверов в списке 00 // неиспользуется или зарезервировано // Следующий блок повторяется для каждлого сервера в списке XX // ID сервера XX XX XX XX // IP аддрес гейм сервера XX XX XX XX // порт сервера XX // возрастной лимит XX // PVP сервер: 00 - нет, 01 - да XX XX // количество игроков онлайн XX XX // максимальное количество игроков XX // тестовый сервер: 00 - нет, 01 - да // Конец повторяющегося блока PlayFail Назначение: ответ на запрос авторизации на game-сервере Формат: 06 XX XX XX XX // причина отказа // 0x00000003 - Пароль не подходит к аккаунту // 0x00000004 - Access failed. Please try agen later // 0x0000000f - Слишком много пользователей PlayOk Назначение: ответ на запрос авторизации на game-сервере Формат: 07 XX XX XX XX // SessionKey2 первая часть XX XX XX XX // SessionKey2 вторая часть GGAuth Назначение: ответ на запрос GameGuard авторизации Формат: 0B XX XX XX XX // ответ: // 0x0B - Пропустить авторизацию 4. Пакеты от сервера клиенту (Game Server) 00 - CryptInit 01 - MoveToLocation 04 - UserInfo 0E - StatusUpdate 13 - CharList 14 - AuthLoginFail 19 - CharCreateOk 1A - CharCreateFail 23 - CharDeleteOk 24 - CharDeleteFail 25 - ActionFailed 2F - ChangeWaitType 38 - TeleportToLocation 3E - ChangeMoveType 7E - LogoutOK 80 - QuestList D3 - NetPingRequest AF - ServerSocketClose E1 - ChairSit FE:1B - ExSendManorList CryptInit Назначение: передает клиенту ключ шифрования(XOR) Формат: 00 01 // неизветсно XX XX XX XX ... // Массив длинной 16 байт - ключ XOR 01 00 00 00 // неизветсно 01 00 00 00 // неизветсно MoveToLocation Назначение: сообщает клиенту что чар переместился Формат: 01 XX XX XX XX // ID объекта XX XX XX XX // Точка назначения X XX XX XX XX // Точка назначения Y XX XX XX XX // Точка назначения Z XX XX XX XX // Текущее положение X XX XX XX XX // Текущее положение Y XX XX XX XX // Текущее положение Z UserInfo Назначение: сообщает клиенту статы персоонажа Формат: 04 XX XX XX XX // координата x местоположения чара XX XX XX XX // координата y местоположения чара XX XX XX XX // координата z местоположения чара XX XX XX XX // угол поворота головы XX XX XX XX // ObjectID чара XX XX XX XX 00 00 // строка с именем чара XX XX XX XX // идентификатор рассы XX XX XX XX // пол чара 0 - Male 1 - female XX XX XX XX // идентификатор класса XX XX XX XX // уровень XX XX XX XX // Exp XX XX XX XX // STR XX XX XX XX // DEX XX XX XX XX // CON XX XX XX XX // INT XX XX XX XX // WIT XX XX XX XX // MEN XX XX XX XX // Максимальное HP XX XX XX XX // Текущее HP XX XX XX XX // Максимальное MP XX XX XX XX // Текущее MP XX XX XX XX // SP XX XX XX XX // Текущий вес загрузки XX XX XX XX // Максимальный вес загрузки 28 00 00 00 // неизвестно XX XX XX XX // ObjectID Underware XX XX XX XX // ObjectID Rear XX XX XX XX // ObjectID Left rear XX XX XX XX // ObjectID Neckless XX XX XX XX // ObjectID Right ring XX XX XX XX // ObjectID Left ring XX XX XX XX // ObjectID Helmate XX XX XX XX // ObjectID Right hand XX XX XX XX // ObjectID Left hand XX XX XX XX // ObjectID Gloves XX XX XX XX // ObjectID Main armor XX XX XX XX // ObjectID Leggings XX XX XX XX // ObjectID Boots XX XX XX XX // ObjectID Back XX XX XX XX // ObjectID Left right hand XX XX XX XX // ObjectID Hair XX XX XX XX // ObjectID Face XX XX XX XX // ItemID Underware XX XX XX XX // ItemID Rear XX XX XX XX // ItemID Left rear XX XX XX XX // ItemID Neckless XX XX XX XX // ItemID Right ring XX XX XX XX // ItemID Left ring XX XX XX XX // ItemID Helmate XX XX XX XX // ItemID Right hand XX XX XX XX // ItemID Left hand XX XX XX XX // ItemID Gloves XX XX XX XX // ItemID Main armor XX XX XX XX // ItemID Leggings XX XX XX XX // ItemID Boots XX XX XX XX // ItemID Back XX XX XX XX // ItemID Left right hand XX XX XX XX // ItemID Hair XX XX XX XX // ItemID Face ... // массив из 136 нулей, назначение неизвестно XX XX XX XX // PAtk XX XX XX XX // PAtk speed XX XX XX XX // PDef XX XX XX XX // Evasion XX XX XX XX // Accuracy XX XX XX XX // Critical XX XX XX XX // MAtk XX XX XX XX // CastSpeed XX XX XX XX // Atk speed (?) XX XX XX XX // MDef XX XX XX XX // Состояние ПВП (0=нефлагнутый 1=флагнутый) XX XX XX XX // Карма XX XX XX XX // скорость бега XX XX XX XX // скорость шага XX XX XX XX // скорость плаванья с включеным режимом бега XX XX XX XX // скорость плаванья с включеным режимом ходьбы XX XX XX XX // _flRunSpd XX XX XX XX // _flWalkSpd XX XX XX XX // Скорость полета с включеным режимом бега XX XX XX XX // Скорость полета с включеным режимом ходьбы XX XX XX XX XX XX XX XX // Move x (тип float) XX XX XX XX XX XX XX XX // Atk speed x (тип float) XX XX XX XX XX XX XX XX // Радиус чара - по этой величине сервер проверяет столкнивение с другими объектами (тип float) XX XX XX XX XX XX XX XX // Высота чара - по этой величине сервер проверяет столкнивение с другими объектами (тип float) XX XX XX XX // Стиль прически XX XX XX XX // Цвет волос XX XX XX XX // Тип лица XX XX XX XX // уровень доступа (0 - обычный чар, 1 и выше - ГМ) XX XX XX XX 00 00 // строка с титулом чара XX XX XX XX // идентификатор клана XX XX XX XX // идентификатор значка клана XX XX XX XX // идентификатор альянса XX XX XX XX // идентификатор значка альянса XX XX XX XX // флаги осады XX XX XX XX // 0=нет 1=на страйдере 2=на виверне XX XX XX XX // тип магазина(Private Store Type) XX XX XX XX // может ли чар крафтить вещи ? (0=нет, 1=да) XX XX XX XX // Количество PK XX XX XX XX // Количество PVP XX XX // Количество зассамоненых кубиков // Данный блок повторяется в зафисимости от количества кубиков XX XX // ID кубика // конец повторяющегося блока XX // 1-find party members? XX XX XX XX // Набор флагов состояния персоонажа(Abnormal effect) 00 // XX XX XX XX // Клановые привилегии XX XX // Количество оставшихся рекомендаций XX XX // Количество очков рекомендаций у персоонажа 00 00 00 00 // XX XX XX XX // Размер инвентаря(максимальное кол-во предметов) XX XX XX XX // ID класса персоонажа XX XX XX XX // Эффект вокруг игрока (Effect arround player) XX XX XX XX // Максимальное CP XX XX XX XX // CP XX // Уровень заточки XX // Круг указывающий на команду, вокруг игрока (0=нету, 1=синий, 1=красный) XX XX XX XX // ID большой иконки клана(используется на клановых щитах) XX // Нублес ? XX // Геройство ? XX // Рыбачим ? XX XX XX XX // Fish x XX XX XX XX // Fish y XX XX XX XX // Fish z XX XX XX XX // Цвет имени в формате RGB(0x00RRGGBB, где R-уровень красного, G-зеленого, а B-синего цвета) XX // Бег включен ? XX XX XX XX // Clan class 00 00 00 00 // XX XX XX XX // Цвет титула в формате RGB(0x00RRGGBB, где R-уровень красного, G-зеленого, а B-синего цвета) XX XX XX XX // Уровень проклятого оружия StatusUpdate Назначение: сообщает клиенту об изменении статов объекта Формат: 0E XX XX XX XX // ID объекта у которого изменились статы XX XX XX XX // количество статов в списке // Следующий блок повторяется столько раз, сколько статов в списке XX XX XX XX // идентификатор стата, может принимать следующие значения: // 0x00000001 - Уровень // 0x00000002 - Exp // 0x00000003 - STR // 0x00000004 - DEX // 0x00000005 - CON // 0x00000006 - INT // 0x00000007 - WIT // 0x00000008 - MEN // 0x00000009 - Текущее HP // 0x0000000a - Максимальное HP // 0x0000000b - Текущее MP // 0x0000000c - Максимальное MP // 0x0000000d - SP // 0x0000000e - Текущий уровень переносимого веса // 0x0000000f - Максимальный уровень переносимого веса // 0x00000010 - ? // 0x00000011 - PAtk // 0x00000012 - Patk Speed // 0x00000013 - PDef // 0x00000014 - Evasion // 0x00000015 - Accuracy // 0x00000016 - Critical // 0x00000017 - MAtk // 0x00000018 - Cast speed // 0x00000019 - MDef // 0x0000001a - Флаг PVP // 0x0000001b - Карма // 0x00000021 - Текущее CP // 0x00000022 - Максимальное CP XX XX XX XX // Новое значение стата // конец повторяющегося блока Прмичание: Чтобы клиент обновил статы, нужно отправить как минимум 2 параметра(проверялось на клиенте Interlude) AuthLoginFail Назначение: сообщает клиенту game-сервер отверг запрос на подключение Формат: 14 // и/или 12 ??? XX XX XX XX // Причина: // 0x00 - Текста нет // 0x01 - Системная ошибка // 0x02 - Пароль не соответствует аккаунту (причем тут тут game server ??? ему пароль даже не высылается Oo) // 0x03 - Пароль не соответствует аккаунту (опять 25, корейцы млин) // 0x04 - Попытка доступа неудачна, попробуйте позже. // 0x05 - Неверный аккаунт, свяжитесь с службой поддержки // 0x06 - Попытка доступа неудачна, попробуйте позже.(что-то у них многовато кодов на одну ошибку) // 0x07 - Аккаунт уже используется(это вроде тоже логин сервер проверять должен) // 0x08 - Попытка доступа неудачна, попробуйте позже. // 0x09 - Попытка доступа неудачна, попробуйте позже. // 0x10 - Попытка доступа неудачна, попробуйте позже. CharList Назначение: содержит список всех чаров на аккаунте Формат: 13 XX XX XX XX // Количество чаров на аккаунте // <<<<< Следующий блок повторяется столько раз, сколько чаров на акке. XX XX XX XX 00 00 // строка содержащее ник чара XX XX XX XX // ID чара XX XX XX XX 00 00 // строка с логином XX XX XX XX // ID чара XX XX XX XX // SessionID XX XX XX XX // ID клана 00 00 00 00 // неизвестно XX XX XX XX // пол (0x00 - мужчина, 0х01 - женщина XX XX XX XX // расса XX XX XX XX // класс XX XX XX XX // активный.(?) XX XX XX XX // X - не используется XX XX XX XX // Y - не используется XX XX XX XX // Z - не используется XX XX XX XX XX XX XX XX // текущее HP (число храниться в формате double) XX XX XX XX XX XX XX XX // текущее МP (число храниться в формате double) XX XX XX XX // SP XX XX XX XX XX XX XX XX // EXP (тип __int64) XX XX XX XX // уровень XX XX XX XX // карма XX XX XX XX ... // массив из 36 нулей, назначение неизвестно XX XX XX XX // ItemObjectID Under XX XX XX XX // ItemObjectID REar XX XX XX XX // ItemObjectID LEar XX XX XX XX // ItemObjectID Neck XX XX XX XX // ItemObjectID RFinger XX XX XX XX // ItemObjectID LFinger XX XX XX XX // ItemObjectID Head XX XX XX XX // ItemObjectID RHand XX XX XX XX // ItemObjectID LHand XX XX XX XX // ItemObjectID Gloves XX XX XX XX // ItemObjectID Chest XX XX XX XX // ItemObjectID Legs XX XX XX XX // ItemObjectID Feet XX XX XX XX // ItemObjectID Back XX XX XX XX // ItemObjectID LRHand XX XX XX XX // ItemObjectID Hair XX XX XX XX // ItemID Under XX XX XX XX // ItemID REar XX XX XX XX // ItemID LEar XX XX XX XX // ItemID Neck XX XX XX XX // ItemID RFinger XX XX XX XX // ItemID LFinger XX XX XX XX // ItemID Head XX XX XX XX // ItemID RHand XX XX XX XX // ItemID LHand XX XX XX XX // ItemID Gloves XX XX XX XX // ItemID Chest XX XX XX XX // ItemID Legs XX XX XX XX // ItemID Feet XX XX XX XX // ItemID Back XX XX XX XX // ItemID LRHand XX XX XX XX // ItemID Hair XX XX XX XX // прическа XX XX XX XX // цвет волос XX XX XX XX // тип лица XX XX XX XX XX XX XX XX // максимальное HP (число храниться в формате double) XX XX XX XX XX XX XX XX // максимальное МP (число храниться в формате double) XX XX XX XX // время до удаления чара в секундах. Если 0, то чар не поставлен на удаление XX XX XX XX // ID класса(базового ?) XX XX XX XX // используется клиентом для определения чара которым последний раз заходили, у него тут 1, у остальных - 0 XX // уровень заточки пушки XX XX XX XX // augmentation id CharCreateOk Назначение: сообщает клиенту что создание чара успешно завершено Формат: 19 01 CharCreateFail Назначение: сообщает клиенту что попытка создания чара завершилась неудачей Формат: 1A XX XX XX XX // Причина: // Creation Failed // Слишком много чаров на акке // Имя чара уже существует // Имя слишком длинное или содержит запрещенные символы CharDeleteOk Назначение: сообщает клиенту что удаление чара прошло успешно Формат: 23 CharDeleteFail Назначение: сообщает клиенту что удаление чара завершилось неудачей Формат: 24 ActionFailed Назначение: уведомляет клиента что его последний запрос не может быть удовлетворен Формат: 25 ChangeWaitType Назначение: сообщает клиенту что чар изменил wait тип(незнаю как это лучше на русский перевести :-/ Короче по параметрам понятоно что это такое) Формат: 2F XX XX XX XX // ID чара XX XX XX XX // wait тип: // 00 - сидеть // 01 - стоять // 02 - fake death // 03 - отменить fake death XX XX XX XX // X XX XX XX XX // Y XX XX XX XX // Z TeleportToLocation Назначение: сообщает клиенту что чар телепортировался Формат: 38 XX XX XX XX // ID чара XX XX XX XX // X XX XX XX XX // Y XX XX XX XX // Z ChangeMoveType Назначение: сообщает клиенту что чар изменил тип перемещения Формат: 3E XX XX XX XX // ID чара XX XX XX XX // 00 - хотьба, 01 - бег 00 00 00 00 // C2 LogoutOK Назначение: сообщает клиенту что разрешение покинуть игру дано. Служит ответом на пакет клиента Logout Формат: 7E QuestList Назначение: сообщает клиенту список квестов и квестовых предметов Формат: 80 XX XX // Количество квестов // Этот блок повторяется столько раз, сколько взятых квестов у чара XX XX XX XX // ID квеста 00 00 00 00 // число показывающее стадию выполнения, на которой находится квест // конец повторяющегося блока XX XX // Количество квестовых предметов // Этот блок повторяется столько раз, сколько квестовых предметов у чара XX XX XX XX // ItemID предмета XX XX XX XX // ObjectID предмета XX XX XX XX // Количество предметов этого типа 05 00 00 00 // неизвестно // конец повторяющегося блока ServerSocketClose Назначение: сообщает клиенту что сервер закрывает подключение Формат: AF 00 00 00 00 // NetPingRequest Назначение: пингует клиента. Примерно раз в минуту, если клиент не ответил на этот пакет, пакетом NetPing, клиент отключаеться. Формат: D3 XX XX XX XX // идентификатор пинга. Вроде как генерируется случайно ChairSit Назначение: сообщает клиенту что чар сел Формат: E1 XX XX XX XX // ID объекта XX XX XX XX // Static object ID ExSendManorList Назначение: сообщает клиенту зоны манора Формат: FE 1B 00 XX XX XX XX // Количество зон манора // Следующий блок повторяется столько раз, сколько зон манора XX XX XX XX // ID зоны манора XX XX XX XX 00 00 // Строка содержащая название зоны манора // конец повторяющегося блока 5. Пакеты от клиетна серверу (Game Server) 00 - ProtocolVersion 01 - MoveBackwardToLocation 02 - Say 03 - EnterWorld 04 - Action 08 - AuthRequest 09 - Logout 0A - AttackRequest 0B - CharacterCreate 0C - CharacterDelete 0D - CharacterSelected 0F - RequestItemList 11 - RequestUnEquipItem 12 - RequestDropItem 14 - UseItem 15 - TradeRequest 16 - AddTradeItem 17 - TradeDone 1B - RequestSocialAction 1C - ChangeMoveType // устарел. Теперь юзается 'RequestActionUse' 1D - ChangeWaitType // устарел. Теперь юзается 'RequestActionUse' 1E - RequestSellItem 1F - RequestBuyItem 21 - RequestBypassToServer 24 - RequestJoinPledge 25 - RequestAnswerJoinPledge 26 - RequestWithdrawalPledge 27 - RequestOustPledgeMember 29 - RequestJoinParty 2A - RequestAnswerJoinParty 2B - RequestWithDrawalParty 2C - RequestOustPartyMember 2F - RequestMagicSkillUse 30 - Appearing 33 - RequestShortCutReg 35 - RequestShortCutDel 37 - RequestTargetCanceld 38 - Say2 3С - RequestPledgeMemberList 3F - RequestSkillList 40 - AnswerTradeRequest 45 - RequestActionUse 46 - RequestRestart 48 - ValidatePosition 4A - StartRotating 4B - FinishRotating 4D - RequestStartPledgeWar 4F - RequestStopPledgeWar 55 - RequestGiveNickName 58 - RequestEnchantItem 59 - RequestDestroyItem 5E - RequestFriendInvite 5F - RequestAnswerFriendInvite 60 - RequestFriendList 61 - RequestFriendDel 62 - CharacterRestore 63 - RequestQuestList 64 - RequestQuestAbort 66 - RequestPledgeInfo 68 - RequestPledgeCrest 6A - RequestRide 6B - RequestAquireSkillInfo 6C - RequestAquireSkill 6D - RequestRestartPoint 6E - RequestGMCommand 6F - RequestPartyMatchConfig 70 - RequestPartyMatchList 71 - RequestPartyMatchDetail 72 - RequestCrystallizeItem 77 - SetPrivateStoreMsgSell 81 - RequestGmList 82 - RequestJoinAlly 83 - RequestAnswerJoinAlly 84 - AllyLeave 85 - AllyDismiss 88 - RequestAllyCrest 89 - RequestChangePetName 8A - RequestPetUseItem 8B - RequestGiveItemToPet 8C - RequestGetItemFromPet 8E - RequestAllyInfo 8F - RequestPetGetItem 94 - SetPrivateStoreMsgBuy 98 - RequestStartAllianceWar 9А - RequestStopAllianceWar A0 - RequestBlock A2 - RequestSiegeAttackerList A4 - RequestJoinSiege A8 - NetPing AС - RequestRecipeBookOpen B9 - RequestEvaluate BA - RequestHennaList BB - RequestHennaItemInfo BС - RequestHennaEquip C1 - RequestMakeMacro C2 - RequestDeleteMacro CF - RequestAutoSoulShot D0:06 - RequestExEnchantSkillInfo D0:07 - RequestExEnchantSkill D0:08 - RequestExManorList D0:10 - RequestExPledgeCrestLarge D0:11 - RequestExSetPledgeCrestLarge EE - RequestChangePartyLeader ProtocolVersion Назначение: передает версию протокола используемого клиентом серверу Формат: 00 XX XX XX XX // Версия протокола MoveBackwardToLocation Назначение: запрос на перемещение чара Формат: 01 XX XX XX XX // Координата X точки назначения XX XX XX XX // Координата Y точки назначения XX XX XX XX // Координата Z точки назначения XX XX XX XX // Координата X текущего положения чара XX XX XX XX // Координата Y текущего положения чара XX XX XX XX // Координата Z текущего положения чара XX XX XX XX // 00 - для движения используеться клавиатура, 01 - для движения используется мышь Say Назначение: отправляет сообщение другим игрокам Формат: 02 XX XX XX XX 00 00 // Cтрока сообщения XX XX XX XX // Тип сообщение // 0x00 - ALL // 0x01 - SHOUT ( ! ) // 0x02 - TELL ( " ) // 0x03 - PARTY ( # ) // 0x04 - CLAN ( @ ) // 0x05 - GM // 0x06 - PETITION_PLAYER // 0x07 - PETITION_GM // 0x08 - TRADE ( + ) // 0x09 - ALLIANCE ( $ ) // 0x0A - ANNOUNCEMENT // 0x0F - PARTYROOM_ALL ( желтый ) // 0x10 - PARTYROOM_COMMANDER ( синий ) // 0x11 - Голос героя XX XX XX XX 00 00 // Для приватных сообщений. Содержит ник чара которому предназначено сообщение. EnterWorld Назначение: пакет, который отсылается клиентом когда клиент закончил загрузку мира Формат: 03 Action Назначение: пакет, который отсылается клиентом при клике мышью по НПЦ или другому чару Формат: 04 XX XX XX XX // ID объекта XX XX XX XX // Координата X положения чара XX XX XX XX // Координата Y положения чара XX XX XX XX // Координата Z положения чара XX // 00 - просто клик, 01 - клик с зажатым шифтом AuthRequest Назначение: запрос авторизации на game сервере Формат: 08 XX XX XX XX // SessionKey2 часть 2(дается логин сервером) XX XX XX XX // SessionKey2 часть 1(дается логин сервером) XX XX XX XX // SessionKey1 часть 2(дается логин сервером) XX XX XX XX // SessionKey1 часть 1(дается логин сервером) Logout Назначение: запрашивает у сервера разрешение на выход из игры Формат: 09 AttackRequest Назначение: запрос на атаку Формат: 0A XX XX XX XX // ID того, кого собираемся атаковать XX XX XX XX // X координата позиции чара XX XX XX XX // Y координата позиции чара XX XX XX XX // Z координата позиции чара XX XX XX XX // 0 - Ctrl не нажат, 1 - Ctrl нажат CharacterCreate Назначение: запрос на создание чара Формат: 0B XX XX XX XX 00 00 // Строка с именем чара XX XX XX XX // Расса XX XX XX XX // Пол XX XX XX XX // Класс XX XX XX XX // INT XX XX XX XX // STR XX XX XX XX // CON XX XX XX XX // MEN XX XX XX XX // DEX XX XX XX XX // WIT XX XX XX XX // Стиль волос XX XX XX XX // Цвет волос XX XX XX XX // Тип лица CharacterDelete Назначение: ставит чара на удаление Формат: 0C XX XX XX XX // Номер слота с чаром CharacterSelected Назначение: выбирает чара. Отсылается при клике на чара в меню выбора чара. Формат: 0D XX XX XX XX // Номер слота с чаром RequestItemList Назначение: запросить список вещей находящихся в инвентаре.(клиент открывает инвентарь, когда сервер высылает этот список) Формат: 0F RequestUnEquipItem Назначение: Снимает эквип с чара Формат: 11 XX XX XX XX // Номер слота RequestDropItem Назначение: запрос за дроп итема. Отправляется клиентом, при попытке выбросить из инвентаря какую-либо вещь Формат: 12 XX XX XX XX // ID итема который хотим выбросить XX XX XX XX // количество итемов которое мы хотим выбросить XX XX XX XX // X кордината места в которое выбрасываем итем XX XX XX XX // Y кордината места в которое выбрасываем итем XX XX XX XX // Z кордината места в которое выбрасываем итем UseItem Назначение: запрос на использование итема Формат: 14 XX XX XX XX // ID объекта TradeRequest Назначение: запрос торговлю. Формат: 15 XX XX XX XX // ID объекта с которым хотим торговать AddTradeItem Назначение: добавляет итем в трейд лист. Формат: 16 XX XX XX XX // ID трейда XX XX XX XX // ID объекта XX XX XX XX // количество TradeDone Назначение: запрос на завершение торговли. Формат: 17 XX XX XX XX // 0 - отменить сделку, 1 - подтвердить сделку RequestSocialAction Назначение: вызывает анимацию социальных действий вроде смеха и т.п. Формат: 1B XX XX XX XX // Номер экшина // 0x02 - Greeting // 0x03 - Victory // 0x04 - Advance // 0x05 - No // 0x06 - Yes // 0x07 - Bow // 0x08 - Unaware // 0x09 - Social Waiting // 0x0A - Laugh // 0x0B - Applaud // 0x0C - Dance // 0x0D - Sorrow // 0x0F - Анимация как при lvl-up // 0x10 - Анимация героев ChangeMoveType Назначение: включает/выключает бег Формат: 1C XX XX XX XX // 0 - бег выключен, 1 - бег включен ChangeWaitType Назначение: сесть/встать Формат: 1D XX XX XX XX // 0 - сесть, 1 - встать RequestTargetCanceld Назначение: Отменяет таргет Формат: 1D RequestSellItem Назначение: Запрос на продажу вещей Формат: 1E XX XX XX XX // ID списка покупок (list id) XX XX XX XX // количество вещей которые нужно продать // <<< Блок повторяется столько раз, сколько разных вещей нужно купить XX XX XX XX // ObjectID предмета который нужно продать XX XX XX XX // ItemID предмета который нужно продать XX XX XX XX // количество предметов которые нужно продать // конец повторяющегося блока RequestBuyItem Назначение: Запрос на покупку вещей Формат: 1F XX XX XX XX // ID сиска покупок XX XX XX XX // количество вещей которые нужно купить // <<< Блок повторяется столько раз, сколько разных вещей нужно купить XX XX XX XX // ID предмета который нужно купить XX XX XX XX // количество предметов которые нужно купить ... RequestBypassToServer Назначение: передает "bypass"(содержаться в HTML) команду серверу. Формат: 21 XX XX XX XX 00 00 // строка с коммандой RequestJoinPledge Назначение: отправляет чару предложение вступить в клан. Формат: 24 XX XX XX XX // ID чара, которому высылается предложение RequestAnswerJoinPledge Назначение: ответ на предложение о вступлении в клан Формат: 25 XX XX XX XX // ответ: 00 - нет, 01 - да RequestWithdrawalPledge Назначение: выйти из клана Формат: 26 RequestOustPledgeMember Назначение: удалить чара из клана Формат: 27 XX XX XX XX 00 00 // строка с именем чара RequestJoinParty Назначение: предложить вступить в пати Формат: 29 XX XX XX XX 00 00 // ник чара, которому отсылается предложение XX XX XX XX // тип распределения предметов: // 0x00 - дроп получает подобравший его чар, споил - достается спойлеру // 0x01 - дроп распределяется случайным образом, споил - достается спойлеру // 0x02 - дроп и споил, распределяется случайным образом // 0x03 - дроп дается чарам по очереди, споил - достается спойлеру // 0x04 - дроп и споил, дается чарам по очереди RequestAnswerJoinParty Назначение: ответ на предложение вступить в пати Формат: 2A XX XX XX XX // ответ: 00 - нет, 01 - да RequestWithDrawalParty Назначение: выйти из пати Формат: 2B RequestOustPartyMember Назначение: удалить чара из пати Формат: 2C XX XX XX XX 00 00 // строка с именем чара которого следует удалить RequestMagicSkillUse Назначение: использовать магический скилл Формат: 2F XX XX XX XX // ID скилла XX XX XX XX // состояние CTRL : 00 - отпущен, 01 - нажат XX XX XX XX // состояние SHIFT: 00 - отпущен, 01 - нажат Appearing Назначение: Запрашивает возрождение чара после смерти. Вызывается после пакетов RequestRestartPoint и ValidatePosition Формат: 30 RequestShortCutReg Назначение: Регестрирует ярлык на панеле быстрого доступа. Формат: 33 XX XX XX XX // Тип ярлыка // 0x01 - итем // 0x02 - скилл // 0x03 - действие // 0x04 - макрос XX XX XX XX // идентификатор объекта выносимого на панель XX XX XX XX // номер слота XX XX XX XX // номер закладки XX XX XX XX // неизвестно RequestShortCutDel Назначение: Удаляет ярлык с панели быстрого доступа. Формат: 35 XX XX XX XX // номер слота XX XX XX XX // номер закладки Say2 Назначение: отправляет сообщение другим игрокам Формат: 38 XX XX XX XX 00 00 // Cтрока сообщения XX XX XX XX // Тип сообщение // 0x00 - ALL // 0x01 - SHOUT ( ! ) // 0x02 - TELL ( " ) // 0x03 - PARTY ( # ) // 0x04 - CLAN ( @ ) // 0x05 - GM // 0x06 - PETITION_PLAYER // 0x07 - PETITION_GM // 0x08 - TRADE ( + ) // 0x09 - ALLIANCE ( $ ) // 0x0A - ANNOUNCEMENT // 0x0F - PARTYROOM_ALL ( желтый ) // 0x10 - PARTYROOM_COMMANDER ( синий ) // 0x11 - Голос героя XX XX XX XX 00 00 // Для приватных сообщений. Содержит ник чара которому предназначено сообщение. RequestPledgeMemberList Назначение: запросить список членов клана Формат: 3C RequestSkillList Назначение: запрашивает список изученных скилов Формат: 3F AnswerTradeRequest Назначение: ответ на трейд Формат: 40 XX XX XX XX // Ответ на трейд: 00 - отклонить, 01 - подтвердить RequestActionUse Назначение: выполняет действие Формат: 45 XX XX XX XX // Action ID (список не полный, экшинов там дофига) // 0x00 - Сесть/встать // 0x01 - Идти/бежать // 0x19 - Ансаммонить пета // 0x33 - General manufacture // 0x38 - Зазезть/слезть с страйдера (вирна ???) XX XX XX XX // 00 - CTRL не нажат, 01 - CTRL нажат XX // 01 - SHIFT не нажат, 01 - SHIFT нажат RequestRestart Назначение: возвращает в меню выбора чара Формат: 46 ValidatePosition Назначение: вызывает перезагрузку данных, НПЦ, других игроков и прочее. Фактически вызывает телепортацию в текущие координаты игрока. Формат: 48 XX XX XX XX // X XX XX XX XX // Y XX XX XX XX // Z XX XX XX XX // Направление взгляда XX XX XX XX // ??? StartRotating Назначение: Включает вращение чара вокруг своей оси Формат: 4A XX XX XX XX // Угол (принимает значения от 0 до 65535) XX XX XX XX // сторона ( 01 00 00 00 - вращение вправо, FF FF FF FF - вращение влево ) FinishRotating Назначение: прекращает вращение чара вокруг своей оси Формат: 4B XX XX XX XX // Неизвестно XX XX XX XX // Неизвестно RequestStartPledgeWar Назначение: начать кланвар Формат: 4D XX XX XX XX 00 00 // строка с названием клана, которому объявляется кланвар RequestStartPledgeWar Назначение: закончить клан вар Формат: 4F XX XX XX XX 00 00 // строка с названием клана RequestGiveNickName Назначение: устанавить титул. Формат: 55 XX XX XX XX 00 00 // строка содержащая ник чара которому требуется установить титул XX XX XX XX 00 00 // строка содержащая титул RequestEnchantItem Назначение: запрашивает энчат интема. Формат: 58 XX XX XX XX // ID итема который хотим заэнчатить RequestDestroyItem Назначение: запрос на уничтожение итема Формат: 59 XX XX XX XX // ID итема XX XX XX XX // количество итемов? RequestFriendInvite Назначение: занести чара в френд лист Формат: 5E XX XX XX XX 00 00 // строка с именем чара, которого следует добавить RequestAnswerFriendInvite Назначение: ответ на предложение добавления в список друзей Формат: 5F XX XX XX XX // 00 - нет, 01 - да RequestFriendList Назначение: запрос френдлиста Формат: 60 RequestFriendDel Назначение: запрос на удаление чара из френд листа Формат: 61 XX XX XX XX 00 00 // строка с именем чара, которого следует удалить CharacterRestore Назначение: отменяет удаление чара Формат: 62 XX XX XX XX // номер слота с чаром RequestQuestList Назначение: запросить список квестов Формат: 63 RequestQuestAbort Назначение: прервать выполнение квеста Формат: 64 XX XX XX XX // ID квеста CharacterRestore Назначение: запрос информации о клане Формат: 66 XX XX XX XX // ID клана RequestPledgeCrest Назначение: устанавливает иконку клана Формат: 68 XX XX XX XX // ID иконки RequestRide Назначение: залезть/слезть на страйдера/вирна Формат: 6A XX XX XX XX // 0 - слезть, 1 - залезть XX XX XX XX // 1 - страйдер, 2 - вивирен RequestAquireSkillInfo Назначение: запрос информации о скилле Формат: 6B XX XX XX XX // ID скилла XX XX XX XX // уровень скилла RequestAquireSkill Назначение: запрос на изучение скилла Формат: 6C XX XX XX XX // ID скилла XX XX XX XX // уровень скилла RequestRestartPoint Назначение: запрашивает рестарт после смерти чара Формат: 6D XX XX XX XX // точка в которую будет возвращен игрок // 0x00 - Город // 0x01 - Клан холл // 0x02 - Замок // 0x03 - Флаг (при осаде замка) // 0x04 - Ресс на месте на котором умер игрок, используется на фестивале RequestGMCommand Назначение: отсылает запрос на GM комманду Формат: 6E XX XX XX XX 00 00 // строка с именем чара - цели XX XX XX XX // идентификатор комманды // 0x01 - статус игрока // 0x02 - клан игрока // 0x03 - скилы игрока // 0x04 - квесты игрока // 0x05 - инвентарь игрока // 0x06 - вархаус игрока XX XX XX XX // неизвестно RequestPartyMatchConfig Назначение: открыть окно поиска пати Формат: 6F XX XX XX XX // автомтическая регистрация: 00 - нет, 01 - да XX XX XX XX // показывать уровень: 00 - нет, 01 - да XX XX XX XX // показывать класс: 00 - нет, 01 - да RequestPartyMatchList Назначение: запросить список чаров ищущих пати Формат: 70 XX XX XX XX // статус может быть 1 и 3. Что значит наверняка, я не знаю. RequestPartyMatchDetail Назначение: запросить подробную информуцию о чаре ищущем пати Формат: 71 XX XX XX XX // ID чара RequestCrystallizeItem Назначение: запрос на кристализацию итема Формат: 72 XX XX XX XX // ID итема который нужно кристализовать XX XX XX XX // количество итемов, которые нужно кристализовать SetPrivateStoreMsgSell Назначение: устанавливает сообщение на продажу для PrivateStore Формат: 77 XX XX XX XX 00 00 // строка с сообщением RequestGmList Назначение: запрос списка GMов Формат: 81 RequestJoinAlly Назначение: предложить вступить в альянс Формат: 82 XX XX XX XX // ID лидера клана, который преглашается в алли RequestAnswerJoinAlly Назначение: ответ на предложение вступления в альянс Формат: 83 XX XX XX XX // ответ: 00 - нет, 01 - да AllyLeave Назначение: покинуть альянс Формат: 84 XX XX XX XX 00 00 // строка с названием клана AllyDismiss Назначение: запрос на роспуск альянса Формат: 85 XX XX XX XX 00 00 // строка с именем клана RequestAllyCrest Назначение: запрос на установку иконки альянса Формат: 88 XX XX XX XX // ID иконки RequestChangePetName Назначение: меняет имя пета Формат: 89 XX XX XX XX 00 00 // строка с новым именем пита RequestPetUseItem Назначение: команда питу использовать итем Формат: 8A XX XX XX XX // ID объекта которых нужно использовать RequestGiveItemToPet Назначение: переместить итем из своего инвентаря в инвентарь пита Формат: 8B XX XX XX XX // ID итема XX XX XX XX // количество RequestGetItemFromPet Назначение: переместить итем из инвентаря пита к себе в инвентарь Формат: 8С XX XX XX XX // ID итема XX XX XX XX // количество XX XX XX XX // фиг его знает. В большинстве случаев - 0 RequestAllyInfo Назначение: запрос информации об альянсе. Формат: 8E RequestPetGetItem Назначение: команда питу поднять итем. Формат: 8F XX XX XX XX // ID который надлежит поднять SetPrivateStoreMsgBuy Назначение: устанавливает сообщение на покупку для PrivateStore Формат: 94 XX XX XX XX 00 00 // строка с сообщением RequestStartAllianceWar Назначение: объявить алли вар Формат: 98 XX XX XX XX 00 00 // строка с именем альянса RequestStopAllianceWar Назначение: запрос о прекращении алли вар'а Формат: 9A XX XX XX XX 00 00 // строка с именем альянса RequestBlock Назначение: запрос операции над черным списком Формат: A0 XX XX XX XX // тип запроса: // 0x00 - добавить чара в игнор // 0x01 - удалить чара из игнора // 0x02 - вывесли список чаров занесенных в игнор // 0x03 - игнор всех // 0x04 - отменить игнор всех XX XX XX XX 00 00 // строка с именем чара которого надо занести в игнор RequestSiegeAttackerList Назначение: запрашивает список записаных на осаду замка атакующих кланов Формат: A2 XX XX XX XX // ID замка RequestJoinSiege Назначение: добавить/удалить клан в список осады замка Формат: A4 XX XX XX XX // ID замка XX XX XX XX // 00 - присоедениться к защитникам, 01 - присоедениться к атакующим XX XX XX XX // 00 - удалить клан из списка, 01 - добавить клан в список RequestRecipeBookOpen Назначение: открыть книгу рецептов Формат: AС NetPing Назначение: Отвечает на пакет сервера RequestNetPing Формат: A8 XX XX XX XX // Это число берется из пакета RequestNetPing, отправляемого сервером XX XX XX XX // Пинг RequestRecipeBookOpen Назначение: открыть книгу рецептов Формат: AС RequestEvaluate Назначение: запрос на рекомендацию игрока Формат: B9 XX XX XX XX // ID цели RequestHennaList Назначение: запросить список доступных татуировок Формат: BA XX XX XX XX // неизвестно RequestHennaItemInfo Назначение: получить информацию о татуировке Формат: BB XX XX XX XX // ID татуировки RequestHennaEquip Назначение: запрос на нанесение татуировки Формат: BС XX XX XX XX // ID татуировки которую нужно нанести RequestMakeMacro Назначение: запрос на создание макроса Формат: С1 XX XX XX XX // ID макроса XX XX XX XX 00 00 // строка содержащая имя макроса XX XX XX XX 00 00 // строка с описанием макроса XX XX XX XX 00 00 // строка с текстом на иконке XX // ID иконки XX // количество строк // <<<<< Следующий блок повторяется столько раз, сколько строк в макросе. XX // строка XX // тип XX // ID скилла XX // ID ярлыка на панели XX XX XX XX 00 00 // имя комманды // конец повторяющегося блока RequestDeleteMacro Назначение: запрос на удаление макроса Формат: C2 XX XX XX XX // ID макроса RequestAutoSoulShot Назначение: включает/выключает использование AutoSS Формат: CF XX XX XX XX // идентификатор итема XX XX XX XX // 1 - включить : 0 - выключить RequestExEnchantSkillInfo Назначение: запросить информацию о заточке скила Формат: D0 06 00 XX XX XX XX // ID скила XX XX XX XX // уровень скила RequestExEnchantSkill Назначение: запросить заточку скила Формат: D0 07 00 XX XX XX XX // ID скила XX XX XX XX // уровень скила RequestExManorList Назначение: запросить заточку скила Формат: D0 08 00 RequestExPledgeCrestLarge Назначение: запросить данные изображения большой иконки клана(те что размещаються на вещах клана типа щитов) клана Формат: D0 10 XX XX XX XX // ID иконки RequestExSetPledgeCrestLarge Назначение: отправить данные изображения большой иконки клана(те что размещаються на вещах клана типа щитов) на сервер Формат: D0 11 XX XX XX XX // размер данных // <<<<< Следующий блок повторяется столько раз, сколько байт в данных изображения XX // данные изображения // конец повторяющегося блока RequestChangePartyLeader Назначение: передает лидерство в пати Формат: EE XX XX XX XX 00 00 // строка с именем чара, которому передается лидерство
у нас тоже типа такие проходили универе tipa int main() { float n,s,x,y; cin>>n; for(int i=1; i<=n; i++) s=s+pow(x,2)+y; cout<<s; system("pause"); returon 0; } на сeк ощутил себя программистом )
[64] Helios Client 00 SendLogOut 01 RequestAttack 03 RequestStartPledgeWar 04 RequestReplyStartPledgeWar 05 RequestStopPledgeWar 06 RequestReplyStopPledgeWar 07 RequestSurrenderPledgeWar 08 RequestReplySurrenderPledgeWar 09 RequestSetPledgeCrest 0B RequestGiveNickName 0C RequestCharacterCreate 0D RequestCharacterDelete 0E SendProtocolVersion 0F MoveBackwardToLocation 10 Say 11 RequestEnterWorld 12 RequestGameStart 13 RequestNewCharacter 14 RequestItemList 15 RequestEquipItem 16 RequestUnEquipItem 17 RequestDropItem 19 RequestUseItem 1A RequestTrade 1B RequestAddTradeItem 1C TradeDone 1F Action 22 RequestLinkHtml 23 RequestBypassToServer 24 RequestBBSWrite 25 RequestCreatePledge 26 RequestJoinPledge 27 RequestAnswerJoinPledge 28 RequestWithDrawalPledge 29 RequestOustPledgeMember 2B RequestLogin 2C RequestGetItemFromPet 2E RequestAllyInfo 2F RequestCrystallizeItem 30 RequestPrivateStoreSellManageList 31 SetPrivateStoreSellList 33 RequestTeleport 34 SocialAction 35 ChangeMoveType 36 ChangeWaitType 37 RequestSellItem 38 UserAck 39 RequestMagicSkillUse 3A SendAppearing 3B SendWareHouseDepositList 3C SendWareHouseWithdrawList 3D RequestShortCutReg 3E RequestShortCutUse 3F RequestShortCutDel 40 RequestBuyItem 41 RequestDismissPledge 42 RequestJoinParty 43 RequestAnswerJoinParty 44 RequestWithDrawalParty 45 RequestOustPartyMember 46 RequestDismissParty 47 CanNotMoveAnymore 48 RequestTargetCancel 49 Say2 4D RequestPledgeMemberList 4F RequestMagicList 50 RequestSkillList 52 MoveWithDelta 53 GetOnVehicle 54 GetOffVehicle 55 AnswerTradeRequest 56 RequestActionUse 57 RequestRestart 58 RequestSiegeInfo 59 ValidateLocation 5A RequestSEKCustom 5B StartRotating 5C FinishRotating 5E RequestShowboard 5F RequestEnchantItem 60 RequestDestroyItem 62 RequestQuestList 63 RequestDestroyQuest 65 RequestPledgeInfo 66 RequestPledgeExtendedInfo 67 RequestPledgeCrest 69 RequestSurrenderPersonally 6A RequestFriendInfoList 6B RequestSendL2FriendSay 6C RequestOpenMinimap 6D RequestSendMsnChatLog 6E RequestReload 6F RequestHennaEquip 70 RequestHennaUnequipList 71 RequestHennaUnequipInfo 72 RequestHennaUnequip 73 RequestAcquireSkillInfo 74 SendBypassBuildCmd 75 MoveToLocationInVehicle 76 CanNotMoveAnymore(Vehicle) 77 RequestFriendInvite 78 RequestFriendAddReply 7A RequestFriendDel 7B RequestCharacterRestore 7C RequestAcquireSkill 7D RequestRestartPoint 7E RequestGMCommand 7F RequestListPartyWaiting 80 RequestManagePartyRoom 81 RequestJoinPartyRoom 83 SendPrivateStoreBuyList 84 RequestReviveReply 85 RequestTutorialLinkHtml 86 RequestTutorialPassCmdToServer 87 RequestTutorialQuestionMarkPressed 88 RequestTutorialClientEvent 89 RequestPetition 8A RequestPetitionCancel 8B RequestGMList 8C RequestJoinAlly 8D RequestAnswerJoinAlly 8E RequestWithdrawAlly 8F RequestOustAlly 90 RequestDismissAlly 91 RequestSetAllyCrest 92 RequestAllyCrest 93 RequestChangePetName 94 RequestPetUseItem 95 RequestGiveItemToPet 96 RequestPrivateStoreSellQuit 97 SetPrivateStoreSellMsg 98 RequestPetGetItem 99 RequestPrivateStoreBuyManageList 9A SetPrivateStoreBuyList 9B ReplyStopAllianceWar 9C RequestPrivateStoreBuyManageQuit 9D SetPrivateStoreBuyMsg 9F SendPrivateStoreSellList A0 SendTimeCheck A6 RequestSkillCoolTime A7 RequestPackageSendableItemList A8 RequestPackageSend A9 RequestBlock AA RequestCastleSiegeInfo AB RequestCastleSiegeAttackerList AC RequestCastleSiegeDefenderList AD RequestJoinCastleSiege AE RequestConfirmCastleSiegeWaitingList AF RequestSetCastleSiegeTime B0 RequestMultiSellChoose B1 NetPing B2 RequestRemainTime B3 BypassUserCmd B4 GMSnoopEnd B5 RequestRecipeBookOpen B6 RequestRecipeItemDelete B7 RequestRecipeItemMakeInfo B8 RequestRecipeItemMakeSelf B9 RequestRecipeShopManageList BA RequestRecipeShopMessageSet BB RequestRecipeShopListSet BC RequestRecipeShopManageQuit BD RequestRecipeShopManageCancel BE RequestRecipeShopMakeInfo BF RequestRecipeShopMakeDo C0 RequestRecipeShopSellList C1 RequestObserverEnd C2 VoteSociality C3 RequestHennaItemList C4 RequestHennaItemInfo C5 RequestBuySeed C6 ConfirmDlg C7 RequestPreviewItem C8 RequestSSQStatus C9 PetitionVote CB ReplyGameGuardQuery CC RequestPledgePower CD RequestMakeMacro CE RequestDeleteMacro CF RequestProcureCrop D0:01 RequestManorList D0:02 RequestProcureCropList D0:03 RequestSetSeed D0:04 RequestSetCrop D0:05 RequestWriteHeroWords D0:06 RequestExAskJoinMPCC D0:07 RequestExAcceptJoinMPCC D0:08 RequestExOustFromMPCC D0:09 RequestOustFromPartyRoom D0:0A RequestDismissPartyRoom D0:0B RequestWithdrawPartyRoom D0:0C RequestHandOverPartyMaster D0:0D RequestAutoSoulShot D0:0E RequestExEnchantSkillInfo D0:0F RequestExEnchantSkill D0:10 RequestExPledgeEmblem D0:11 RequestExSetPledgeCrestLargeRemainPart D0:12 RequestPledgeSetAcademyMaster D0:13 RequestPledgePowerGradeList D0:14 RequestPledgeMemberPowerInfo D0:15 RequestPledgeSetMemberPowerGrade D0:16 RequestPledgeMemberInfo D0:17 RequestPledgeWarList D0:18 RequestExFishRanking D0:19 RequestPCCafeCouponUse D0:1A RequestExOrcMove D0:1B RequestDuelStart D0:1C RequestDuelAnswerStart D0:1D RequestExSetTutorial D0:1E RequestExRqItemLink D0:1F RequestCannotMoveAnymoreAirShip D0:20 RequestMoveToLocationInAirShip D0:21 RequestKeyMapping D0:22 RequestSaveKeyMapping D0:23 RequestExRemoveItemAttribute D0:24 RequestSaveInventoryOrder D0:25 RequestExitPartyMatchingWaitingRoom D0:26 RequestConfirmTargetItem D0:27 RequestConfirmRefinerItem D0:28 RequestConfirmGemStone D0:29 RequestOlympiadObserverEnd D0:2A RequestCursedWeaponList D0:2B RequestCursedWeaponLocation D0:2C RequestPledgeReorganizeMember D0:2D RequestExMPCCShowPartyMembersInfo D0:2F RequestAskJoinPartyRoom D0:30 AnswerJoinPartyRoom D0:31 RequestListPartyMatchingWaitingRoom D0:32 RequestExEnchantItemAttribute D0:33 RequestGotoLobby D0:35 RequestMoveToLocationAirShip D0:36 RequestBidItemAuction D0:37 RequestInfoItemAuction D0:38 RequestExChangeName D0:39 RequestAllCastleInfo D0:3A RequestAllFortressInfo D0:3B RequestAllAgitInfo D0:3C RequestFortressSiegeInfo D0:3D RequestGetBossRecord D0:3E RequestRefine D0:3F RequestConfirmCancelItem D0:40 RequestRefineCancel D0:41 RequestExMagicSkillUseGround D0:42 RequestDuelSurrender D0:43 RequestExEnchantSkillInfoDetail D0:45 RequestFortressMapInfo D0:46 RequestPVPMatchRecord D0:47 SetPrivateStoreWholeMsg D0:48 RequestDispel D0:49 RequestExTryToPutEnchantTargetItem D0:4A RequestExTryToPutEnchantSupportItem D0:4B RequestExCancelEnchantItem D0:4C RequestChangeNicknameColor D0:4D RequestResetNickname D0:4E:00 RequestBookMarkSlotInfo D0:4E:01 RequestSaveBookMarkSlot D0:4E:02 RequestModifyBookMarkSlot D0:4E:03 RequestDeleteBookMarkSlot D0:4E:04 RequestTeleportBookMark D0:4E:05 RequestChangeBookMarkSlot D0:4F RequestWithDrawPremiumItem D0:50 RequestJump D0:51 RequestStartShowCrataeCubeRank D0:52 RequestStopShowCrataeCubeRank D0:53 RequestNotifyStartMiniGame D0:54 RequestJoinDominionWar D0:55 RequestDominionInfo D0:56 RequestExCleftEnter D0:57 RequestExBlockGameEnter D0:58 RequestEndScenePlayer D0:59 RequestExBlockGameVote D0:5A RequestListMpccWaiting D0:5B RequestManageMpccRoom D0:5C RequestJoinMpccRoom D0:5D RequestOustFromMpccRoom D0:5E RequestDismissMpccRoom D0:5F RequestWithdrawMpccRoom D0:60 RequestSeedPhase D0:61 RequestMpccPartymasterList D0:62 RequestPostItemList D0:63 RequestSendPost D0:64 RequestReceivedPostList D0:65 RequestDeleteReceivedPost D0:66 RequestReceivedPost D0:67 RequestReceivePost D0:68 RequestRejectPost D0:69 RequestSentPostList D0:6A RequestDeleteSentPost D0:6B RequestSentPost D0:6C RequestCancelSentPost D0:6D RequestShowNewUserPetition D0:6E RequestExShowStepTwo D0:6F RequestExShowStepThree D0:70 RequestExConnectToRaidServer D0:71 RequestExReturnFromRaidServer D0:72 RequestRefundItem D0:73 RequestBuySellUIClose D0:74 RequestEventMatchObserverEnd D0:75 RequestPartyLootingModify D0:76 RequestAnswerPartyLootingModify D0:77 RequestAnswerCoupleAction D0:78 RequestExBR_EventRankerList D0:79 RequestAskMemberShip D0:7A RequestAddExpandQuestAlarm D0:7B RequestNewVoteSystem D0:7C GetOnShuttle D0:7D GetOffShuttle D0:7E MoveToLocationInShuttle D0:7F CanNotMoveAnymoreInShuttle D0:80:01 RequestExAgitInitialize D0:80:02 RequestExAgitDetailInfo D0:80:03 RequestExMyAgitState D0:80:04 RequestExRegisterAgitForBidStep1 D0:80:05 RequestExRegisterAgitForBidStep3 D0:80:07 RequestExConfirmCancelRegisteringAgit D0:80:08 RequestExProceedCancelRegisteringAgit D0:80:09 RequestExConfirmCancelAgitLot D0:80:0A RequestExProceedCancelAgitLot D0:80:0D RequestExApplyForBidStep1 D0:80:0E RequestExApplyForBidStep2 D0:80:0F RequestExApplyForBidStep3 D0:80:10 RequestExReBid D0:80:11 RequestExAgitListForLot D0:80:12 RequestExApplyForAgitLotStep1 D0:80:13 RequestExApplyForAgitLotStep2 D0:80:14 RequestExAgitListForBid D0:81 RequestExAddPostFriendForPostBox D0:82 RequestExDeletePostFriendForPostBox D0:83 RequestExShowPostFriendListForPostBox D0:84 RequestExFriendListForPostBox D0:85 RequestOlympiadMatchList D0:86 RequestBR_GamePoint D0:87 RequestBR_ProductList D0:88 RequestBR_ProductInfo D0:89 RequestBR_BuyProduct D0:8A RequestBR_RecentProductList D0:8B RequestBR_MiniGameLoadScores D0:8C RequestBR_MiniGameInsertScore D0:8D RequestBR_LectureMark D0:8E RequestCrystallizeEstimate D0:8F RequestCrystallizeItemCancel D0:90 RequestExEscapeScene D0:91 RequestFlyMove D0:92 RequestSurrenderPledgeWarEX D0:93:02 RequestDynamicQuestProgressInfo D0:93:03 RequestDynamicQuestScoreBoard D0:93:04 RequestDynamicQuestHTML D0:94 RequestFriendDetailInfo D0:95 RequestUpdateFriendMemo D0:96 RequestUpdateBlockMemo D0:97 RequestInzonePartyInfoHistory D0:98 RequestCommissionRegistrableItemList D0:99 RequestCommissionInfo D0:9A RequestCommissionRegister D0:9B RequestCommissionCancel D0:9C RequestCommissionDelete D0:9D RequestCommissionList D0:9E RequestCommissionBuyInfo D0:9F RequestCommissionBuyItem D0:A0 RequestCommissionRegisteredItem D0:A1 RequestCallToChangeClass D0:A2 RequestChangeToAwakenedClass D0:A3 RequestWorldStatistics D0:A4 RequestUserStatistics D0:A5 RequestWebSessionID D0:A6 RequestEx2ndPasswordCheck D0:A7 RequestEx2ndPasswordVerify D0:A8 RequestEx2ndPasswordReq D0:A9 RequestCharacterNameCreatable D0:AA RequestGoodsInventoryInfo D0:AB RequestUseGoodsInventoryItem D0:AC RequestFirstPlayStart D0:AD RequestFlyMoveStart D0:AE RequestHardWareInfo D0:B0 RequestChangeAttributeTargetItem D0:B1 RequestChangeAttributeItem D0:B2 RequestChangeAttributeCancel D0:B3 RequestBR_PresentBuyProduct D0:B4 RequestConfirmMenteeAdd D0:B5 RequestMentorCancel D0:B6 RequestMentorList D0:B7 RequestMenteeAdd D0:B8 RequestMenteeWaitingList D0:B9 RequestJoinPledgeByName D0:BA RequestInzoneWaitingTime D0:BB RequestJoinCuriousHouse D0:BC RequestCancelCuriousHouse D0:BD RequestLeaveCuriousHouse D0:BE RequestObservingListCuriousHouse D0:BF RequestObservingCuriousHouse D0:C0 RequestLeaveObservingCuriousHouse D0:C1 RequestCuriousHouseHtml D0:C2 RequestCuriousHouseRecord D0:C3 RequestExSysString D0:C4 RequestExTryToPut_Shape_Shifting_TargetItem D0:C5 RequestExTryToPut_Shape_Shifting_EnchantSupportItem D0:C6 RequestExCancelShape_Shifting_Item D0:C7 RequestShape_Shifting_Item D0:C8 NCGuardSendDataToServer D0:C9 RequestEventKalieToken D0:CA RequestShowBeautyList D0:CB RequestRegistBeauty D0:CD RequestResetBeauty D0:CE SpeedHack D0:CF RequestBR_AddBasketProductInfo D00 RequestBR_DeleteBasketProductInfo D01 RequestBR_NewIConCashBtnWnd D02 RequestExEventCampaignInfo D03 RequestPledgeRecruitInfo D04 RequestPledgeRecruitBoardSearch D05 RequestPledgeRecruitBoardAccess D06 RequestPledgeRecruitBoardDetail D07 RequestPledgeWaitingApply D08 RequestPledgeWaitingApplied D09 RequestPledgeWaitingList D0A RequestPledgeWaitingUser D0B RequestPledgeWaitingUserAccept D0C RequestPledgeDraftListSearch D0D RequestPledgeDraftListApply D0E RequestPledgeRecruitApplyInfo D0F RequestPledgeJoinSys D0:E0 RequestResponsePetitionAlarm D0:E1 RequestNotifyExitBeautyshop D0:E2 RequestRegisterXMasWishCard D0:E3 RequestExAddEnchantScrollItem D0:E4 RequestExRemoveEnchantSupportItem D0:E5 RequestCardReward D0:E6 RequestDivideAdenaStart D0:E7 RequestDivideAdenaCancel D0:E8 RequestDivideAdena D0:E9 RequestAcquireAbilityList D0:EA RequestAbilityList D0:EB RequestResetAbilityPoint D0:EC RequestChangeAbilityPoint D0:ED RequestStopMove D0:EE RequestAbilityWndOpen D0:EF RequestAbilityWndClose D0:F0 RequestExPCCafeRequestOpenWindowWithoutNPC D0:F2 RequestLuckyGamePlay D0:F3 RequestNotifyTrainingRoomEnd D0:F4 RequestNewEnchantPushOne D0:F5 RequestNewEnchantRemoveOne D0:F6 RequestNewEnchantPushTwo D0:F7 RequestNewEnchantRemoveTwo D0:F8 RequestNewEnchantClose D0:F9 RequestNewEnchantTry D0:FA RequestNewEnchantRetryToPutItems D0:FE RequestTargetActionMenu D0:FF RequestExSendSelectedQuestZoneID D0:100 RequestAlchemySkillList D0:101 RequestAlchemyTryMixCube D0:102 RequestAlchemyConversion D0:103 RequestSendExecutedUIEventsCount D0:104 ExSendClientINI D0:105 RequestExAutoFish D0:106 RequestVipAttendanceItemList D0:107 RequestVipAttendanceCheck D0:108 RequestItemEnsoul D0:109 RequestCastleWarSeasonReward D0:10A RequestVipProductList D0:10B RequestVipLuckyGameInfo D0:10C RequestVipLuckyGameItemList D0:10D RequestVipLuckyGameBonus D0:10E ExRequestVipInfo D0:10F RequestCaptchaAnswer D0:110 RequestRefreshCaptchaImage D0:111 RequestPledgeSignInForOpenJoiningMethod D0:112 ExRequestMatchArena D0:113 ExConfirmMatchArena D0:114 ExCancelMatchArena D0:115 ExChangeClassArena D0:116 ExConfirmClassArena D0:117 RequestOpenDecoNPCUI D0:118 RequestCheckAgitDecoAvailability D0:119 RequestUserFactionInfo D0:11A ExExitArena D0:11B RequestEventBalthusToken D0:11C RequestPartyMatchingHistory D0:11D RequestTodoList D0:11E RequestTodoListHTML D0:11F RequestOneDayRewardReceive D0:120 RequestQueueTicket D0:121 RequestPledgeBonusOpen D0:122 RequestPledgeBonusRewardList D0:123 RequestPledgeBonusReward D0:124 RequestSSOAuthnToken D0:125 RequestQueueTicketLogin D0:126 RequestBlockMemoInfo D0:127 RequestTryEnSoulExtraction Server 00 Die 01 Revive 02 AttackOutofRange 03 AttackinCoolTime 04 AttackDeadTarget 05 SpawnItem 08 DeleteObject 09 CharacterSelectionInfo 0A LoginResult 0B CharacterSelected 0C ExNpcInfo 0D NewCharacterSuccess 0E NewCharacterFail 0F CharacterCreateSuccess 10 CharacterCreateFail 11 ItemList 12 SunRise 13 SunSet 14 TradeStart 15 TradeStartOk 16 DropItem 17 GetItem 18 StatusUpdate 19 NpcHtmlMessage 1A TradeOwnAdd 1B TradeOtherAdd 1C TradeDone 1D CharacterDeleteSuccess 1E CharacterDeleteFail 1F ActionFail 20 ServerClose 21 InventoryUpdate 22 TeleportToLocation 23 TargetSelected 24 TargetUnselected 25 AutoAttackStart 26 AutoAttackStop 27 SocialAction 28 ChangeMoveType 29 ChangeWaitType 2A ManagePledgePower 2B CreatePledge 2C AskJoinPledge 2D JoinPledge 2E VersionCheck 2F MoveToLocation 30 NpcSay 31 CharInfo 32 ExUserInfo 33 Attack 34 WithdrawalPledge 35 OustPledgeMember 36 SetOustPledgeMember 37 DismissPledge 38 SetDismissPledge 39 AskJoinParty 3A JoinParty 3B WithdrawalParty 3C OustPartyMember 3D SetOustPartyMember 3E DismissParty 3F SetDismissParty 40 UserAck 41 WareHouseDepositList 42 WareHouseWithdrawList 43 WareHouseDone 44 ShortCutRegister 45 ShortCutInit 46 ShortCutDelete 47 StopMove 48 MagicSkillUse 49 MagicSkillCanceled 4A Say2 4B ExNpcInfoAbnormalVisualEffect 4C DoorInfo 4D DoorStatusUpdate 4E PartySmallWindowAll 4F PartySmallWindowAdd 50 PartySmallWindowDeleteAll 51 PartySmallWindowDelete 52 PartySmallWindowUpdate 53 TradePressOwnOk 54 MagicSkillLaunched 55 FriendAddRequestResult 56 FriendAdd 57 FriendRemove 58 FriendList 59 FriendStatus 5A PledgeShowMemberListAll 5B PledgeShowMemberListUpdate 5C PledgeShowMemberListAdd 5D PledgeShowMemberListDelete 5E MagicList 5F SkillList 60 VehicleInfo 61 FinishRotating 62 SystemMessage 63 StartPledgeWar 64 ReplyStartPledgeWar 65 StopPledgeWar 66 ReplyStopPledgeWar 67 SurrenderPledgeWar 68 ReplySurrenderPledgeWar 69 SetPledgeCrest 6A PledgeCrest 6B SetupGauge 6C VehicleDeparture 6D VehicleCheckLocation 6E GetOnVehicle 6F GetOffVehicle 70 TradeRequest 71 RestartResponse 72 MoveToPawn 73 SSQInfo 74 GameGuardQuery 75 L2FriendList 77 L2FriendStatus 78 L2FriendSay 79 ValidateLocation 7A StartRotating 7B ShowBoard 7C ChooseInventoryItem 7D Dummy_7D 7E MoveToLocationInVehicle 7F StopMoveInVehicle 80 ValidateLocationInVehicle 81 TradeUpdate 82 TradePressOtherOk 83 FriendAddRequest 84 LogOutOk 85 AbnormalStatusUpdate 86 QuestList 87 EnchantResult 88 PledgeShowMemberListDeleteAll 89 PledgeInfo 8A PledgeExtendedInfo 8B ExSummonInfo 8C Ride 8D GiveNickNameDone 8E PledgeShowInfoUpdate 8F ClientAction 90 ExAcquirableSkillListByClass 91 AcquireSkillInfo 92 ServerObjectInfo 93 GMHide 94 AcquireSkillDone 95 GMViewCharacterInfo 96 GMViewPledgeInfo 97 GMViewSkillInfo 98 GMViewMagicInfo 99 GMViewQuestInfo 9A GMViewItemList 9B GMViewWarehouseWithdrawList 9C ListPartyWaiting 9D PartyRoomInfo 9E PlaySound 9F StaticObject A0 PrivateStoreSellManageList A1 PrivateStoreSellList A2 PrivateStoreSellMsg A3 ShowMinimap A4 ReviveRequest A5 AbnormalVisualEffect A6 TutorialShowHtml A7 ShowTutorialMark A8 TutorialEnableClientEvent A9 TutorialCloseHtml AA ShowRadar AB WithdrawAlliance AC OustAllianceMemberPledge AD DismissAlliance AE SetAllianceCrest AF AllianceCrest B0 ServerCloseSocket B1 PetStatusShow B2 MyPetSummonInfo B3 PetItemList B4 PetInventoryUpdate B5 AllianceInfo B6 PetStatusUpdate B7 PetDelete B8 DeleteRadar B9 MyTargetSelected BA PartyMemberPosition BB AskJoinAlliance BC JoinAlliance BD PrivateStoreBuyManageList BE PrivateStoreBuyList BF PrivateStoreBuyMsg C0 VehicleStart C1 ExNpcInfoState C2 StartAllianceWar C3 ReplyStartAllianceWar C4 StopAllianceWar C5 ReplyStopAllianceWar C6 SurrenderAllianceWar C7 SkillCoolTime C8 PackageToList C9 CastleSiegeInfo CA CastleSiegeAttackerList CB CastleSiegeDefenderList CC NickNameChanged CD PledgeStatusChanged CE RelationChanged CF EventTrigger D0 MultiSellList D1 SetSummonRemainTime D2 PackageSendableList D3 EarthQuake D4 FlyToLocation D5 BlockList D6 SpecialCamera D7 NormalCamera D8 SkillRemainSec D9 NetPing DA Dice DB Snoop DC RecipeBookItemList DD RecipeItemMakeInfo DE RecipeShopManageList DF RecipeShopSellList E0 RecipeShopItemInfo E1 RecipeShopMsg E2 ShowCalc E3 MonRaceInfo E4 HennaItemInfo E5 HennaInfo E6 HennaUnequipList E7 HennaUnequipInfo E8 MacroList E9 BuyListSeed EA ShowTownMap EB ObserverStart EC ObserverEnd ED ChairSit EE HennaEquipList EF SellListProcure F0 GMHennaInfo F1 RadarControl F2 ClientSetTime F3 ConfirmDlg F4 PartySpelled F5 ShopPreviewList F6 ShopPreviewInfo F7 CameraMode F8 ShowXMasSeal F9 EtcStatusUpdate FA ShortBuffStatusUpdate FB SSQStatus FC PetitionVote FD AgitDecoInfo FE:01 ExRegenMax FE:02 ExEventMatchUserInfo FE:03 ExColosseumFenceInfo FE:04 ExEventMatchSpelledInfo FE:05 ExEventMatchFirecracker FE:06 ExEventMatchTeamUnlocked FE:07 ExEventMatchGMTest FE:08 ExPartyRoomMember FE:09 ExClosePartyRoom FE:0A ExManagePartyRoomMember FE:0B ExEventMatchLockResult FE:0C ExAutoSoulShot FE:0D ExEventMatchList FE:0E ExEventMatchObserver FE:0F ExEventMatchMessage FE:10 ExEventMatchScore FE:11 ExServerPrimitive FE:12 ExOpenMPCC FE:13 ExCloseMPCC FE:14 ExShowCastleInfo FE:15 ExShowFortressInfo FE:16 ExShowAgitInfo FE:17 ExShowFortressSiegeInfo FE:18 ExPartyPetWindowAdd FE:19 ExPartyPetWindowUpdate FE:1A ExAskJoinMPCC FE:1B ExPledgeEmblem FE:1C ExEventMatchTeamInfo FE:1D ExEventMatchCreate FE:1E ExFishingStart FE:1F ExFishingEnd FE:20 ExShowQuestInfo FE:21 ExShowQuestMark FE:22 ExSendManorList FE:23 ExShowSeedInfo FE:24 ExShowCropInfo FE:25 ExShowManorDefaultInfo FE:26 ExShowSeedSetting FE:27 ExFishingStartCombat FE:28 ExFishingHpRegen FE:29 ExEnchantSkillList FE:2A ExEnchantSkillInfo FE:2B ExShowCropSetting FE:2C ExShowSellCropList FE:2D ExOlympiadMatchEnd FE:2E ExMailArrived FE:2F ExStorageMaxCount FE:30 ExEventMatchManage FE:31 ExMultiPartyCommandChannelInfo FE:32 ExPCCafePointInfo FE:33 ExSetCompassZoneCode FE:34 ExGetBossRecord FE:35 ExAskJoinPartyRoom FE:36 ExListPartyMatchingWaitingRoom FE:37 ExSetMpccRouting FE:38 ExShowAdventurerGuideBook FE:39 ExShowScreenMessage FE:3A PledgeSkillList FE:3B PledgeSkillListAdd FE:3C PledgeSkillListRemove FE:3D PledgePowerGradeList FE:3E PledgeReceivePowerInfo FE:3F PledgeReceiveMemberInfo FE:40 PledgeReceiveWarList FE:41 PledgeReceiveSubPledgeCreated FE:42 ExRedSky FE:43 PledgeReceiveUpdatePower FE:44 FlySelfDestination FE:45 ShowPCCafeCouponShowUI FE:46 ExSearchOrc FE:47 ExCursedWeaponList FE:48 ExCursedWeaponLocation FE:49 ExRestartClient FE:4A ExRequestHackShield FE:4B ExUseSharedGroupItem FE:4C ExMPCCShowPartyMemberInfo FE:4D ExDuelAskStart FE:4E ExDuelReady FE:4F ExDuelStart FE:50 ExDuelEnd FE:51 ExDuelUpdateUserInfo FE:52 ExShowVariationMakeWindow FE:53 ExShowVariationCancelWindow FE:54 ExPutItemResultForVariationMake FE:55 ExPutIntensiveResultForVariationMake FE:56 ExPutCommissionResultForVariationMake FE:57 ExVariationResult FE:58 ExPutItemResultForVariationCancel FE:59 ExVariationCancelResult FE:5A ExDuelEnemyRelation FE:5B ExPlayAnimation FE:5C ExMPCCPartyInfoUpdate FE:5D ExPlayScene FE:5E ExSpawnEmitter FE:5F ExEnchantSkillInfoDetail FE:60 ExBasicActionList FE:61 ExAirShipInfo FE:62 ExAttributeEnchantResult FE:63 ExChooseInventoryAttributeItem FE:64 ExGetOnAirShip FE:65 ExGetOffAirShip FE:66 ExMoveToLocationAirShip FE:67 ExStopMoveAirShip FE:68 ExShowTrace FE:69 ExItemAuctionInfo FE:6A ExNeedToChangeName FE:6B ExPartyPetWindowDelete FE:6C ExTutorialList FE:6D ExRpItemLink FE:6E ExMoveToLocationInAirShip FE:6F ExStopMoveInAirShip FE:70 ExValidateLocationInAirShip FE:71 ExUISetting FE:72 ExMoveToTargetInAirShip FE:73 ExAttackInAirShip FE:74 ExMagicSkillUseInAirShip FE:75 ExShowBaseAttributeCancelWindow FE:76 ExBaseAttributeCancelResult FE:77 ExSubPledgeSkillAdd FE:78 ExResponseFreeServer FE:79 ExShowProcureCropDetail FE:7A ExHeroList FE:7B ExOlympiadUserInfo FE:7C ExOlympiadSpelledInfo FE:7D ExOlympiadMode FE:7E ExShowFortressMapInfo FE:7F ExPVPMatchRecord FE:80 ExPVPMatchUserDie FE:81 ExPrivateStorePackageMsg FE:82 ExPutEnchantTargetItemResult FE:83 ExPutEnchantSupportItemResult FE:84 ExRequestChangeNicknameColor FE:85 ExGetBookMarkInfo FE:86 ExNotifyPremiumItem FE:87 ExGetPremiumItemList FE:88 ExPeriodicItemList FE:89 ExJumpToLocation FE:8A ExPVPMatchCCRecord FE:8B ExPVPMatchCCMyRecord FE:8C ExPVPMatchCCRetire FE:8D ExShowTerritory FE:8E ExNpcQuestHtmlMessage FE:8F ExSendUIEvent FE:90 ExNotifyBirthDay FE:91 ExShowDominionRegistry FE:92 ExReplyRegisterDominion FE:93 ExReplyDominionInfo FE:94 ExShowOwnthingPos FE:95 ExCleftList FE:96 ExCleftState FE:97 ExDominionChannelSet FE:98 ExBlockUpSetList FE:99 ExBlockUpSetState FE:9A ExStartScenePlayer FE:9B ExAirShipTeleportList FE:9C ExMpccRoomInfo FE:9D ExListMpccWaiting FE:9E ExDissmissMpccRoom FE:9F ExManageMpccRoomMember FE:A0 ExMpccRoomMember FE:A1 ExVitalityPointInfo FE:A2 ExShowSeedMapInfo FE:A3 ExMpccPartymasterList FE:A4 ExDominionWarStart FE:A5 ExDominionWarEnd FE:A6 ExShowLines FE:A7 ExPartyMemberRenamed FE:A8 ExEnchantSkillResult FE:A9 ExRefundList FE:AA ExNoticePostArrived FE:AB ExShowReceivedPostList FE:AC ExReplyReceivedPost FE:AD ExShowSentPostList FE:AE ExReplySentPost FE:AF ExResponseShowStepOne FE:B0 ExResponseShowStepTwo FE:B1 ExResponseShowContents FE:B2 ExShowPetitionHtml FE:B3 ExReplyPostItemList FE:B4 ExChangePostState FE:B5 ExNoticePostSent FE:B6 ExInitializeSeed FE:B7 ExRaidReserveResult FE:B8 ExBuySellList FE:B9 ExCloseRaidSocket FE:BA ExPrivateMarketList FE:BB ExRaidCharacterSelected FE:BC ExAskCoupleAction FE:BD ExBrBroadcastEventState FE:BE ExBR_LoadEventTopRankers FE:BF ExChangeNpcState FE:C0 ExAskModifyPartyLooting FE:C1 ExSetPartyLooting FE:C2 ExRotation FE:C3 ExChangeClientEffectInfo FE:C4 ExMembershipInfo FE:C5 ExReplyHandOverPartyMaster FE:C6 ExQuestNpcLogList FE:C7 ExQuestItemList FE:C8 ExGMViewQuestItemList FE:C9 ExRestartResponse FE:CA ExVoteSystemInfo FE:CB ExShuttleInfo FE:CC ExSuttleGetOn FE:CD ExSuttleGetOff FE:CE ExSuttleMove FE:CF ExMoveToLocationInSuttle FE0 ExStopMoveInShuttle FE1 ExValidateLocationInShuttle FE2 ExAgitAuctionCmd FE3 ExConfirmAddingPostFriend FE4 ExReceiveShowPostFriend FE5 ExReceiveOlympiad FE6 ExBR_GamePoint FE7 ExBR_ProductList FE8 ExBR_ProductInfo FE9 ExBR_BuyProduct FEA ExBR_PremiumState FEB ExBrExtraUserInfo FEC ExBrBuffEventState FED ExBR_RecentProductList FEE ExBR_MinigameLoadScores FEF ExBR_AgathionEnergyInfo FE:E0 ExShowChannelingEffect FE:E1 ExGetCrystalizingEstimation FE:E2 ExGetCrystalizingFail FE:E3 ExNavitAdventPointInfo FE:E4 ExNavitAdventEffect FE:E5 ExNavitAdventTimeChange FE:E6 ExAbnormalStatusUpdateFromTarget FE:E7 ExStopScenePlayer FE:E8 ExFlyMove FE:E9 ExDynamicQuest FE:EA ExSubjobInfo FE:EB ExChangeMPCost FE:EC ExFriendDetailInfo FE:ED ExBlockAddResult FE:EE ExBlockRemoveResult FE:EF ExBlockDetailInfo FE:F0 ExLoadInzonePartyHistory FE:F1 ExFriendNotifyNameChange FE:F2 ExShowCommission FE:F3 ExResponseCommissionItemList FE:F4 ExResponseCommissionInfo FE:F5 ExResponseCommissionRegister FE:F6 ExResponseCommissionDelete FE:F7 ExResponseCommissionList FE:F8 ExResponseCommissionBuyInfo FE:F9 ExResponseCommissionBuyItem FE:FA AcquireSkillList FE:FB ExMagicAttackInfo FE:FC ExAcquireSkillInfo FE:FD ExNewSkillToLearnByLevelUp FE:FE ExCallToChangeClass FE:FF ExChangeToAwakenedClass FE:100 ExTacticalSign FE:101 ExLoadStatWorldRank FE:102 ExLoadStatUser FE:103 ExLoadStatHotLink FE:104 ExGetWebSessionID FE:105 Ex2ndPasswordCheck FE:106 Ex2ndPasswordVerify FE:107 Ex2ndPasswordAck FE:108 ExFlyMoveBroadcast FE:109 ExShowUsm FE:10A ExShowStatPage FE:10B ExIsCharNameCreatable FE:10C ExGoodsInventoryChangedNotify FE:10D ExGoodsInventoryInfo FE:10E ExGoodsInventoryResult FE:10F ExAlterSkillRequest FE:110 ExNotifyFlyMoveStart FE:111 ExDummy FE:112 ExCloseCommission FE:113 ExChangeAttributeItemList FE:114 ExChangeAttributeInfo FE:115 ExChangeAttributeOk FE:116 ExChangeAttributeFail FE:117 ExLightingCandleEvent FE:118 ExVitalityEffectInfo FE:119 ExLoginVitalityEffectInfo FE:11A ExBR_PresentBuyProduct FE:11B ExMentorList FE:11C ExMentorAdd FE:11D ExMenteeListWaiting FE:11E ExInzoneWaitingInfo FE:11F ExCuriousHouseState FE:120 ExCuriousHouseEnter FE:121 ExCuriousHouseLeave FE:122 ExCuriousHouseMemberList FE:123 ExCuriousHouseMemberUpdate FE:124 ExCuriousHouseRemainTime FE:125 ExCuriousHouseResult FE:126 ExCuriousHouseObserveList FE:127 ExCuriousHouseObserveMode FE:128 ExSysstring FE:129 ExChoose_Shape_Shifting_Item FE:12A ExPut_Shape_Shifting_Target_Item_Result FE:12B ExPut_Shape_Shifting_Extraction_Item_Result FE:12C ExShape_Shifting_Result FE:12D ExCastleState FE:12E ExNCGuardReceiveDataFromServer FE:12F ExKalieEvent FE:130 ExKalieEventJackpotUser FE:131 ExAbnormalVisualEffectInfo FE:132 ExNpcInfoSpeed FE:133 ExSetPledgeEmblemAck FE:134 ExShowBeautyMenu FE:135 ExResponseBeautyList FE:136 ExResponseBeautyRegistReset FE:137 ExResponseResetList FE:138 ExShuffleSeedAndPublicKey FE:139 ExCheck_SpeedHack FE:13A ExBR_NewIConCashBtnWnd FE:13B ExEventCampaignInfo FE:13C ExUnReadMailCount FE:13D ExPledgeCount FE:13E ExAdenaInvenCount FE:13F ExPledgeRecruitInfo FE:140 ExPledgeRecruitApplyInfo FE:141 ExPledgeRecruitBoardSearch FE:142 ExPledgeRecruitBoardDetail FE:143 ExPledgeWaitingListApplied FE:144 ExPledgeWaitingList FE:145 ExPledgeWaitingUser FE:146 ExPledgeDraftListSearch FE:147 ExPledgeWaitingListAlarm FE:148 ExValidateActiveCharacter FE:149 ExCloseCommissionRegister FE:14A ExTeleportToLocationActivate FE:14B ExNotifyWebPetitionReplyAlarm FE:14C ExEventShowXMasWishCard FE:14D ExInvitation_Event_UI_Setting FE:14E ExInvitation_Event_Ink_Energy FE:14F ExCheckAbusing FE:150 ExGMVitalityEffectInfo FE:151 ExPathToAwakeningAlarm FE:152 ExPutEnchantScrollItemResult FE:153 ExRemoveEnchantSupportItemResult FE:154 ExShowCardRewardList FE:155 ExGmViewCharacterInfo FE:156 ExUserInfoEquipSlot FE:157 ExUserInfoCubic FE:158 ExUserInfoAbnormalVisualEffect FE:159 ExUserInfoFishing FE:15A ExPartySpelledInfoUpdate FE:15B ExDivideAdenaStart FE:15C ExDivideAdenaCancel FE:15D ExDivideAdenaDone FE:15E ExPetInfo FE:15F ExAcquireAPSkillList FE:160 ExStartLuckyGame FE:161 ExBettingLuckyGameResult FE:162 ExTrainingZone_Admission FE:163 ExTrainingZone_Leaving FE:164 ExPeriodicHenna FE:165 ExShowAPListWnd FE:166 ExUserInfoInvenWeight FE:167 ExCloseAPListWnd FE:168 ExEnchantOneOK FE:169 ExEnchantOneFail FE:16A ExEnchantOneRemoveOK FE:16B ExEnchantOneRemoveFail FE:16C ExEnchantTwoOK FE:16D ExEnchantTwoFail FE:16E ExEnchantTwoRemoveOK FE:16F ExEnchantTwoRemoveFail FE:170 ExEnchantSucess FE:171 ExEnchantFail FE:172 ExEnchantRetryToPutItemOk FE:173 ExEnchantRetryToPutItemFail FE:174 ExAccountAttendanceInfo FE:175 ExWorldChatCnt FE:176 ExAlchemySkillList FE:177 ExTryMixCube FE:178 ExAlchemyConversion FE:179 ExBeautyItemList FE:17A ExReceiveClientINI FE:17B ExAutoFishAvailable FE:17C ExChannlChatEnterWorld FE:17D ExChannlChatPledgeInfo FE:17E ExVipAttendanceItemList FE:17F ExConfirmVipAttendanceCheck FE:180 ExShowEnsoulWindow FE:181 ExEnsoulResult FE:182 ExMultiSellResult FE:183 ExCastleWarSeasonResult FE:184 ExCastleWarSeasonReward FE:185 ReceiveVipProductList FE:186 ReceiveVipLuckyGameInfo FE:187 ReceiveVipLuckyGameItemList FE:188 ReceiveVipLuckyGameResult FE:189 ReceiveVipInfo FE:18A ReceiveVipInfoRemainTime FE:18B ReceiveVipBotCaptchaImage FE:18C ReceiveVipBotCaptchaAnswerResult FE:18D ExPledgeSigninForOpenJoiningMethod FE:18E ExRequestMatchArena FE:18F ExCompleteMatchArena FE:190 ExConfirmMatchArena FE:191 ExCancelMatchArena FE:192 ExStartChooseClassArena FE:193 ExChangeClassArena FE:194 ExConfirmClassArena FE:195 ExStartBattleReadyArena FE:196 ExBattleReadyArena FE:197 ExDecoNPCInfo FE:198 ExDecoNPCSet FE:199 ExFactionInfo FE:19A ExBattleResultArena FE:19B ExClosingArena FE:19C ExClosedArena FE:19D ExDieInArena FE:19F ExArenaDashboard FE:1A0 ExArenaUpdateEquipSlot FE:1A1 ExArenaKillInfo FE:1A2 ExExitArena FE:1A3 ExBalthusEvent FE:1A4 ExBalthusEventJackpotUser FE:1A5 ExPartyMatchingRoomHistory FE:1A6 ExAIContentUIEvent FE:1A7 ExOneDayReceiveRewardList FE:1A8 ExConnectedTimeAndGetTableReward FE:1A9 ExTodoListRecommend FE:1AA ExTodoListInzone FE:1AB ExTodoListHTML FE:1AC ExQueueTicket FE:1AD ExPledgeBonusOpen FE:1AE ExPledgeBonusList FE:1AF ExPledgeBonusMarkReset FE:1B0 ExPledgeBonusUpdate FE:1B1 ExSSOAuthnToken FE:1B2 ExQueueTicketLogin FE:1B3 ExEnSoulExtractionShow FE:1B4 ExEnSoulExtractionResult FE:1B5 ExBlockListForAD