Новые созданные окна

BadStealth

Величайший
Местный
Победитель в номинации 2023
Победитель в номинации 2022
Победитель в номинации 2021
Победитель в номинации 2020
Просветитель
Клиент разработчик
Старожил I степени
Преподаватель
За веру и верность форуму
Победитель в номинации 2019
Сообщения
309
Розыгрыши
0
Репутация
431
Реакции
610
Баллы
1 573
Ребят всем привет. Интересует следующее. Ковыряюсь с клиентом и тут встал вопрос.
Можно ли как-то вызывать новые созданные окна?
К примеру создал окно для ввода пароля на перса. В Эпилоге нет этих ивентов в самом клиенте. Вот и интересуюсь как можно к примеру это окно вызвать.
И хотелось еще парочку окон добавить для некоторых ивентовых диалогов ну и т.д.
Знает кто как это можно реализовать не придумывая новый велосипед?
 
Создавать доп. пакеты. В клиенте в ответ на получение серверного пакета открываешь соответствующее окошко, на сервере обработка полученных данных с этого окошка.
 
Создавать доп. пакеты. В клиенте в ответ на получение серверного пакета открываешь соответствующее окошко, на сервере обработка полученных данных с этого окошка.
Теорию я и так знал. Вы бы пример лучше привели. Куда что и как.
 
Теорию я и так знал. Вы бы пример лучше привели. Куда что и как.
Engine.dll -> UNetworkHandler, там ищем реализацию одного из пакетов (например NpcHtmlMessage, он и окошко открывает, и контентом его заполняет в зависимости от полученных данных). Еще ищем метод/конструктор (хз где оно реализовано у корейцев), где обрабатываются полученные пакеты и впоследствии вызывается соответствующий полученному пакету метод, и расширяем его. И тут наверняка будут свои сложности (например для начала нужно дизассемблером прогнать растемиженную дллку и достать оттуда нужные методы).
 
Ребят всем привет. Интересует следующее. Ковыряюсь с клиентом и тут встал вопрос.
Можно ли как-то вызывать новые созданные окна?
К примеру создал окно для ввода пароля на перса. В Эпилоге нет этих ивентов в самом клиенте. Вот и интересуюсь как можно к примеру это окно вызвать.
И хотелось еще парочку окон добавить для некоторых ивентовых диалогов ну и т.д.
Знает кто как это можно реализовать не придумывая новый велосипед?
Код:
/*
 * Copyright (C) 2004-2015 L2J Server
 *
 * This file is part of L2J Server.
 *
 * L2J Server is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * L2J Server is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
package com.l2jserver.gameserver.network.serverpackets;

import com.l2jserver.gameserver.enums.HtmlActionScope;

/**
 * TutorialShowHtml server packet implementation.
 * @author HorridoJoho
 */
public final class TutorialShowHtml extends AbstractHtmlPacket
{
    public TutorialShowHtml(String html)
    {
        super(html);
    }
    
    /**
     * This constructor is just here to be able to show a tutorial html<br>
     * window bound to an npc.
     * @param npcObjId
     * @param html
     */
    public TutorialShowHtml(int npcObjId, String html)
    {
        super(npcObjId, html);
    }
    
    @Override
    protected void writeImpl()
    {
        writeC(0xA6);
        writeS(getHtml());
    }
    
    @Override
    public HtmlActionScope getScope()
    {
        return HtmlActionScope.TUTORIAL_HTML;
    }
}

Снимок.webp
 
Назад
Сверху Снизу