Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Разработка
Войти через OpenID

Разработка Раздел для совместной разработки/доработки программы

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 25.12.2011, 05:20   #1
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Набор утилит для работы с пакетами.

MakePacketsIni v0.2 - для подготовки packetsX.ini из *.java файлов.
[+] обновил до версии 0.3

описание пакета берем из процедур readImpl() и writeImpl(), имена пакетов берем из packets.ini. Сами java файлы исходников пакетов должны лежать в папках script\clientpackets и script\serverpackets.

PS: допиливать packets.ini руками обязательно!

Давайте разберем как допиливать packets.ini, на примере пакета CM_CASTSPELL
Исходник
Код:
    protected void readImpl() {
        spellid = readH();
        level = readC();
        targetType = readC();
        switch (targetType) {
            case 0:
                targetObjectId = readD();
                break;
            case 1:
                x = readF();
                y = readF();
                z = readF();
                break;
            default:
                break;
        }
        time = readH();
    }
Кусочек
Код:
spellid = readH();
это будет
Код:
h(spellid)
Кусочек
Код:
level = readC();
это будет
Код:
c(level)
Кусочек
Код:
        targetType = readC();
        switch (targetType) {
это будет
Код:
c(targetType:switch.0.2)
где первый параметр после switch это элемент_с_которого_начинать, т.е. 0 - начать с первого
второй параметр после switch это сколько_элементов_входит, т.е. 2 - подсчитываем сколько case входит в этот switch (default не учитывать)

Кусочек
Код:
l           case 0:
                targetObjectId = readD();
                break;
это будет
Код:
_(id:case.0.1)d(targetOID)
где _(подчерк) просто так должно быть, id просто так должно быть,
первый параметр после case это с чем идет сравнение, в нашем случае с цифрой 0 (ноль)
второй параметр после case это количество_элементов_в_блоке, в нашем случае 1 (один)

Кусочек
Код:
l            case 1:
                x = readF();
                y = readF();
                z = readF();
                break;
это будет
Код:
_(id:case.1.3)n(x)n(y)n(z)
где _(подчерк) просто так должно быть, id просто так должно быть,
первый параметр после case это с чем идет сравнение, в нашем случае с цифрой 1 (один)
второй параметр после case это количество_элементов_в_блоке, в нашем случае 3 (три)

и в конце
Кусочек
Код:
time = readH();
это будет
Код:
h(time)
В итоге получаем строку
Код:
0090=CM_CASTSPELL:c(static)h(id2)h(spellID)c(level)c(targetType:switch.0.2)_(id:case.0.1)d(targetOID)_(id:case.1.3)n(x)n(y)n(z)h(time)
Конструкция FOR по аналогии (можно глянуть описание в packetsGracia.ini). Конструкцию IF надо преобразовать в конструкцию switch, так как IF в пакетхаке не поддерживается.

PS: надеюсь понятно объяснил.
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный4.png
Просмотров: 77
Размер:	47.2 Кб
ID:	2555  
Вложения
Тип файла: rar makePacketsIni.rar (405.8 Кб, 57 просмотров)
Тип файла: rar packetsAion27.rar (8.6 Кб, 60 просмотров)
Тип файла: rar makePacketsIniSrc.rar (25.4 Кб, 53 просмотров)
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 07.01.2012 в 17:37.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Разработка



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

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


Часовой пояс GMT +4, время: 05:12.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!