Инструкция по пакетам Содержание 1. Общие сведения 2. Пакеты Client -> Login Server 3. Пакеты Login Server -> Client 4. Пакеты Game Server -> Client 5. Пакеты Client -> Game Server 1. Общие сведения 1) Каждый пакет состоит из размера пакета(2 байта), типа пакета(1 байт) и блока параметров(переменная длина). В пакетах логин серверу в конце пакета добавляется контрольная сумма и дополняется нулями так, чтобы размер пакета был кратен 8-ми байтам. 2) Строки в пакетах представлены байтами ANSI разделенными нулями, признаком конца строки является два нуля подряд. Пример: 'A', 0x00, 'B', 0x00, 'C', 0x00, 0x00, 0x00 3) Байты в словах и двойных словах высылаются в обратном порядке. Т.е. если надо отправить число 1, то его следует записать как 01 00 00 00, а не 00 00 00 01. 4) Контрольная сумма пакета расчитывается так: unsigned long checksum( unsigned char *packet, int count ) { long chksum = 0L; for( int i = 0; i < count; i += 4 ) chksum ^= *((unsigned long *)&raw[i]); return chksum; }; 5) Процесс соединения с гейм сервером: 1. Сразу после установки соединения сервер отправляет клиенту пакет Init 2. В ответ на него клиент отправляет пакет RequestGGAuth 3. Сервер отвечает на него пакетом GGAuth 4. Если сервер ответил, что авторизация прошла успешно, то клиент высылает пакет RequestAuthLogin, содержащий логин и пароль 5. Проверка логина и пароля, в случае неудачи, сервер высылает пакет LoginFail, инатче LoginOk, содержащий session key #1. Для явы он постоянный. 6. Далее клиент запрашивает список серверов пакетом RequestServerList 7. В ответ на этот пакет сервер высылает клиенту ServerList, в нем содержиться список серверов и их IP адреса с номерами портов. 8. После выбора game-сервера, и нажатия на ОК, клиент отсылает пакет RequestServerLogin 9. LoginServer выполняет проверки на бан, максимальное количество игроков, доступность сервера и т.п., если все проверки пройдены, то высылает пакет PlayOk, содержащий session key #2, этот ключь генерируется из текущего времени системы в мс, номера сокета и еще всякой лабуды. 10. После этого клиент высылает пакет AuthLogin выбраному серверу, содержащий session key #1, session key #2 и логин, необходимые для генерации ключа по которому будет шифроваться весь трафик. 11. Сервер высылает пакет PlayOk, содержащий список чаров 2. Пакеты от клиетна серверу (Login Server) 00 - RequestAuthLogin 02 - RequestServerLogin 05 - RequestServerList 07 - RequestGGAuth RequestAuthLogin Назначение: запрашивает авторизацию на логин сервере Формат: 00 XX XX XX XX 00 00 // строка содержащая логин XX XX XX XX 00 00 // строка содержащая пароль 08 // маркер конца секции логин/пароль 00 00 00 00 00 00 00 00 // не используется XX XX XX XX // контрольная сумма 00 00 00 00 // выравнивание размера пакета RequestServerLogin Назначение: запрашивает подключение к гейм серверу Формат: 02 RequestServerList Назначение: запрашивает список game серверов Формат: 05 ?? RequestGGAuth Назначение: запрашивает Game Guard авторизицию Формат: 07 ?? 3. Пакеты от сервера клиенту (Login Server) 00 - Init 01 - LoginFail 03 - LoginOk 04 - ServerList 04 - PlayOk 0B - GGAuth Init Назначение: передает клиенту список серверов и их состояние Формат: 00 XX XX XX XX // ID сессии XX XX XX XX // Ревизия протокола 0x785a или 0xc62 // Публичный ключ XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX // Неизвестно 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 LoginFail Назначение: сообщает о неудачной попытке подключения к логин серверу Формат: 01 XX XX XX XX // причина неудачи: // 0x01 - системная ошибка // 0x02 - неправельный пароль // 0x03 - логин или пароль неверен // 0x04 - доступ запрещен // 0x05 - информация на аккаунте неверна(хз, наверно имеется ввиду ошибка в БД) // 0x07 - аккаунт уже используется // 0x09 - аккаунт забанен // 0x10 - на сервере идут сервисные работы // 0x12 - срок действия истек // 0x13 - на аккаунте не осталось больше времени (видимо NCSoft собирается или собиралось заморочить и почасовую оплату LoginOk Назначение: высылается в подтсверждение на пакет RequestAuthLogin, в случае успешной проверки логина и пароля. Формат: 03 XX XX XX XX // ? На яве 0x55555555 XX XX XX XX // session id. Это первая часть session id, для явы он постоянный 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 // контрольная сумма 00 00 00 00 // выравнивание размера пакета 00 00 00 00 00 00 00 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 - да XX XX XX XX // контрольная сумма 00 00 00 00 // выравнивание размера пакета 00 00 00 00 00 PlayOk Назначение: ответ на запрос авторизации на game-сервере Формат: 07 XX XX XX XX // session id #2, вторая половина ключа сессии, генерируется случайно ?? ?? ?? ?? // непонятно, ява просто ставит тут 0x55667788 XX XX XX XX // контрольная сумма 00 00 00 00 // выравнивание размера пакета 00 00 00 00 00 GGAuth Назначение: ответ на запрос GameGuard авторизации Формат: 0B XX XX XX XX // ответ: // 0x0B - Пропустить авторизацию 4. Пакеты от сервера клиенту (Game Server) 01 - CharMoveToLocation 14 - AuthLoginFail 19 - CharCreateOk 1A - CharCreateFail 23 - CharDeleteOk 24 - CharDeleteFail 2F - ChangeWaitType 38 - TeleportToLocation 3E - ChangeMoveType E1 - ChairSit CharMoveToLocation Назначение: сообщает клиенту что чар переместился Формат: 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 AuthLoginFail Назначение: сообщает клиенту game-сервер отверг запрос на подключение Формат: 14 // и/или 12 ??? XX XX XX XX // Причина: // 0x00 - Текста нет // 0x01 - Системная ошибка // 0x02 - Пароль не соответствует аккаунту (причем тут тут game server ??? ему пароль даже не высылается Oo) // 0x03 - Пароль не соответствует аккаунту (опять 25, корейцы млин) // 0x04 - Попытка доступа неудачна, попробуйте позже. // 0x05 - Неверный аккаунт, свяжитесь с службой поддержки // 0x06 - Попытка доступа неудачна, попробуйте позже.(что-то у них многовато кодов на одну ошибку) // 0x07 - Аккаунт уже используется(это вроде тоже логин сервер проверять должен) // 0x08 - Попытка доступа неудачна, попробуйте позже. // 0x09 - Попытка доступа неудачна, попробуйте позже. // 0x10 - Попытка доступа неудачна, попробуйте позже. CharCreateOk Назначение: сообщает клиенту что создание чара успешно завершено Формат: 19 01 CharCreateFail Назначение: сообщает клиенту что попытка создания чара авершилась неудачей Формат: 1A XX XX XX XX // Причина: // Creation Failed // Слишком много чаров на акке // Имя чара уже существует // 16 eng chars. (слишком длинное имя ???) CharDeleteOk Назначение: сообщает клиенту что удаление чара прошло успешно Формат: 23 CharDeleteFail Назначение: сообщает клиенту что удаление чара завершилось неудачей Формат: 24 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 ChairSit Назначение: сообщает клиенту что чар сел Формат: E1 XX XX XX XX // ID объекта XX XX XX XX // Static object ID 5. Пакеты от клиетна серверу (Game Server) 00 - ProtocolVersion 01 - MoveBackwardToLocation 02 - Say 03 - EnterWorld 04 - Action 08 - AuthLogin 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' 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 AС - RequestRecipeBookOpen B9 - RequestEvaluate BA - RequestHennaList BB - RequestHennaItemInfo BС - RequestHennaEquip C1 - RequestMakeMacro C2 - RequestDeleteMacro CF - RequestAutoSoulShot В0:10 - RequestExPledgeCrestLarge В0: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 Назначение: пакет, который отсылается клиентом при нажатии на кномпку "Start" в меню выбора чара Формат: 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 - клик с зажатым шифтом AuthLogin Назначение: запрос авторизации на game сервере Формат: 08 XX XX XX XX 00 00 // строка содержащая login XX XX XX XX // session key #1(дается логин сервером) XX XX XX XX // session key #2(дается логин сервером) 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 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С 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 - выключить RequestExPledgeCrestLarge Назначение: запросить данные изображения большой иконки клана(те что размещаються на вещах клана типа щитов) клана Формат: D0 11 XX XX XX XX // размер данных // <<<<< Следующий блок повторяется столько раз, сколько байт в данных изображения XX // данные изображения RequestChangePartyLeader Назначение: передает лидерство в пати Формат: EE XX XX XX XX 00 00 // строка с именем чара, которому передается лидерство
|