Newbie Tutorial

Статус
В этой теме нельзя размещать новые ответы.

Maxwell

Auribus teneo lupum
Проверенный
Победитель в номинации 2022
Победитель в номинации 2021
Неукротимое пламя
Знаток письма
Hardware эксперт
За заслуги перед форумом
Победитель в номинации 2020
Любитель реакций
Победитель в номинации 2019
Сообщения
768
Розыгрыши
0
Репутация
803
Реакции
497
Баллы
773
Хроники
  1. Chaotic Throne: High Five
Исходники
Присутствуют
Сборка
L2 мать её Ava
Доброго времени суток.
Мужики помогите докопаться до истины:
Взяты исходники L2Ava сервера - они же Ro-Team
У данного сервера есть "Помощник новичкам" который по определенному уровню помогает подсказками и сменой класса.
Суть проблемы состоит вот в чём:
Изначально файлы которые его (помощника) касаются, находятся в SpecialTutorial в виде htm файлов.
Так же есть сам квест _255_Tutorial.java - где собственно хранятся диалоги менеджера профессий
В данных файлах всё можно изменить, НО - окно выбора класса остаётся прежним, без изменений.
Методом "тыка" удалось только сменить логотип внутри окна которое предоставляет выбор класса.
Сам логотип находится в двух папках: корневая папка gameserver ( images, накой хер она там, не понятно) и в папке data (она хранит картинки для окна помощника)

Так вот, хотелось бы докопаться до истины и узнать, где так ловко спрятали эту "морду" что её не найти.
Заранее благодарен кто согласится потратить своё время на эту "Паскуду" =))

Всем добра =)
 
Доброго времени суток.
Мужики помогите докопаться до истины:
Взяты исходники L2Ava сервера - они же Ro-Team
У данного сервера есть "Помощник новичкам" который по определенному уровню помогает подсказками и сменой класса.
Суть проблемы состоит вот в чём:
Изначально файлы которые его (помощника) касаются, находятся в SpecialTutorial в виде htm файлов.
Так же есть сам квест _255_Tutorial.java - где собственно хранятся диалоги менеджера профессий
В данных файлах всё можно изменить, НО - окно выбора класса остаётся прежним, без изменений.
Методом "тыка" удалось только сменить логотип внутри окна которое предоставляет выбор класса.
Сам логотип находится в двух папках: корневая папка gameserver ( images, накой хер она там, не понятно) и в папке data (она хранит картинки для окна помощника)

Так вот, хотелось бы докопаться до истины и узнать, где так ловко спрятали эту "морду" что её не найти.
Заранее благодарен кто согласится потратить своё время на эту "Паскуду" =))

Всем добра =)
Возьми дамп с окна откуда ты видешь картинку, и хексом посмотри код самой картинки, ну а потом уже по поиску у себя вбей и все...
 
Maxwell, ну дампом возьми и посмотри, оно покажет там текст это или картинка. По сути чем угодно быть может.
 
after you edited, then compile your scripts or just delete original scripts.jar, this pack run both compiled scripts.jar and folder scripts (java file)
 
я же писал где они изменяется именно эта строка там и свет буквы размер буквы и название html.append("<font name=hs12 color=3399FF>L2AvA</font>");

1 = это размер
2 = это расцветка буквы
3 = а это само буквы
потому что по байпассу больше не ку не приходит в тотуриале bypass -h ChangeTo а это строка
Код:
        else if (event.startsWith("ChangeTo"))
        {
            StringTokenizer tokenizer = new StringTokenizer(event, ";");
            tokenizer.nextToken();
            int newClassId = Integer.parseInt(tokenizer.nextToken());
            long price = Long.parseLong(tokenizer.nextToken());

            if (price < 0L)//Somebody cheating
            {
                st.closeTutorial();
                return null;
            }

            if (!ClassId.VALUES[newClassId].equalsOrChildOf(ClassId.VALUES[player.getActiveClassId()]))//Somebody cheating
            {
                st.closeTutorial();
                return null;
            }

            final int jobLevel = player.getClassId().getLevel();
            if (!canChangeClass(player, jobLevel))
            {
                st.closeTutorial();
                return null;
            }

            ItemTemplate item = ItemHolder.getInstance().getTemplate(Config.CLASS_MASTERS_PRICE_ITEM);
            ItemInstance pay = player.getInventory().getItemByItemId(item.getItemId());
            if (pay != null && pay.getCount() >= price)
            {
                player.getInventory().destroyItem(pay, price, "_255_Tutorial");
                if (jobLevel == 3)
                    player.sendPacket(SystemMsg.CONGRATULATIONS__YOUVE_COMPLETED_YOUR_THIRDCLASS_TRANSFER_QUEST);
                else
                    player.sendPacket(SystemMsg.CONGRATULATIONS__YOUVE_COMPLETED_A_CLASS_TRANSFER);

                player.setClassId(newClassId, false, false);

                final MagicSkillUse msu = new MagicSkillUse(player, player, 5103, 1, 1, 1);
                player.broadcastPacket(msu);
                player.broadcastUserInfo(true);
                st.closeTutorial();

                // Synerge - Dont check tutorial events for characters above level 70 or in subclass
                if (player.getLevel() < 70 && player.getActiveClassId() == player.getBaseClassId())
                {
                    // Synerge - Show a special tutorial htm for weapons after the first class transfer
                    if (jobLevel == 1 && player.getVarInt("lvl") < 21)
                    {
                        player.setVar("lvl", "21");
                        player.sendPacket(new TutorialShowHtml(HtmCache.getInstance().getNotNull("SpecialTutorial/Level21.htm", player)));
                    }
                    // Synerge - Show a special tutorial htm after the second class transfer
                    else if (jobLevel == 2 && player.getVarInt("lvl") < 41)
                    {
                        player.setVar("lvl", "41");
                        player.sendPacket(new TutorialShowHtml(HtmCache.getInstance().getNotNull("SpecialTutorial/Level41.htm", player)));
                    }
                }
                else
                    onEvent("OpenClassMaster", st, null);
                return null;
            }
            else if (Config.CLASS_MASTERS_PRICE_ITEM == ItemTemplate.ITEM_ID_ADENA)
            {
                player.sendPacket(new SystemMessage2(SystemMsg.YOU_DO_NOT_HAVE_ENOUGH_ADENA));
            }
            else
            {
                player.sendPacket(new SystemMessage2(SystemMsg.YOU_DO_NOT_HAVE_ENOUGH_ADENA));
            }
            st.closeTutorial();
            return null;
        }
        else if (event.equals("CloseTutorial"))
        {
            st.closeTutorial();
            return null;
        }
        else if (event.equals("onTutorialClose"))
        {
            onTutorialClose(st);
            return null;
        }
 
  • Мне нравится
Реакции: kick

    kick

    Баллов: 22
    22
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
вот и я помню - было объяснение где оно...
 
вот и я помню - было объяснение где оно...
Окно которое выскакивает не в Htm а в Tutorial.java
if (Config.ALLOW_CLASS_MASTERS_LIST.isEmpty() || !Config.ALLOW_CLASS_MASTERS_LIST.contains(jobLevel))
jobLevel = 4;

if (canChangeClass(player, jobLevel))
{
StringBuilder html = new StringBuilder();
html.append("<html noscrollbar><head><title>L2AvA Newbie Tutorial</title></head>");
html.append("<body>");
html.append("<table border=0 cellpadding=0 cellspacing=0 width=292 height=310 background=\"l2ui_ct1.Windows_DF_TooltipBG\">");
html.append("<tr><td align=center><br>");
html.append("<table width=280><tr><td align=center valign=center>");
html.append("<img src=\"L2UI.squaregray\" width=285 height=1/> ");
html.append("<font name=hs12 color=3399FF>L2AvA</font>");
html.append("<img src=\"L2UI.squaregray\" width=285 height=1/>");
html.append("</td></tr></table>");
html.append("<br></td></tr><tr>");
html.append("<td align=center height=150>");
html.append("<table width=280><tr><td align=center><img src=\"%image:servername.png%\" width=240 height=64></td></tr>");
html.append("<tr><td align=center><br><font color=LEVEL name=hs12>Welcome to L2AvA ! </font></td></tr>");
html.append("</table>");
html.append("<br1>");
html.append("<table width=280><tr><td align=center>");
html.append("<font color=00ff99>").append(player.getName()).append("</font> change your class for <font color=\"LEVEL\">").append(Util.formatAdena(Config.CLASS_MASTERS_PRICE_LIST[jobLevel])).append(" Adena</font>!<br1>");
html.append("</td></tr></table>");
html.append("<table width=280>");
for (ClassId cid : ClassId.values())
{
if (cid != ClassId.inspector && cid.childOf(classId) && cid.level() == classId.level() + 1)
{
String name = cid.name().substring(0, 1).toUpperCase() + cid.name().substring(1);
html.append("<tr><td align=center><button value=\"").append(name).append("\" action=\"bypass -h ChangeTo;").append(cid.getId()).append(';').append(Config.CLASS_MASTERS_PRICE_LIST[jobLevel]).append("\" width=200 height=32 back=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm\"></td></tr>");
}
}
html.append("<tr><td align=center><button value=\"Remaind me later\" action=\"bypass CloseTutorial\" width=200 height=28 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr>");
html.append("</table>");
html.append("</td></tr><tr>");
html.append("<td align=center><table width=280><tr>");
html.append("<td align=center valign=center>");
html.append("<img src=\"L2UI.squaregray\" width=285 height=1/> ");
html.append("<font name=hs12 color=3399FF>L2AvA</font>");
html.append("<img src=\"L2UI.squaregray\" width=285 height=1/> ");
html.append("</td></tr></table><br></td></tr>");
html.append("</table></body></html>");

st.closeTutorial(); // Close the tutorial first so the other html can be shown
st.showTutorialHTML(html.toString());
}
}
Но после смены - всё остаётся прежним, кроме логотипа (servername.png)
 
Окно которое выскакивает не в Htm а в Tutorial.java
if (Config.ALLOW_CLASS_MASTERS_LIST.isEmpty() || !Config.ALLOW_CLASS_MASTERS_LIST.contains(jobLevel))
jobLevel = 4;

if (canChangeClass(player, jobLevel))
{
StringBuilder html = new StringBuilder();
html.append("<html noscrollbar><head><title>L2AvA Newbie Tutorial</title></head>");
html.append("<body>");
html.append("<table border=0 cellpadding=0 cellspacing=0 width=292 height=310 background=\"l2ui_ct1.Windows_DF_TooltipBG\">");
html.append("<tr><td align=center><br>");
html.append("<table width=280><tr><td align=center valign=center>");
html.append("<img src=\"L2UI.squaregray\" width=285 height=1/> ");
html.append("<font name=hs12 color=3399FF>L2AvA</font>");
html.append("<img src=\"L2UI.squaregray\" width=285 height=1/>");
html.append("</td></tr></table>");
html.append("<br></td></tr><tr>");
html.append("<td align=center height=150>");
html.append("<table width=280><tr><td align=center><img src=\"%image:servername.png%\" width=240 height=64></td></tr>");
html.append("<tr><td align=center><br><font color=LEVEL name=hs12>Welcome to L2AvA ! </font></td></tr>");
html.append("</table>");
html.append("<br1>");
html.append("<table width=280><tr><td align=center>");
html.append("<font color=00ff99>").append(player.getName()).append("</font> change your class for <font color=\"LEVEL\">").append(Util.formatAdena(Config.CLASS_MASTERS_PRICE_LIST[jobLevel])).append(" Adena</font>!<br1>");
html.append("</td></tr></table>");
html.append("<table width=280>");
for (ClassId cid : ClassId.values())
{
if (cid != ClassId.inspector && cid.childOf(classId) && cid.level() == classId.level() + 1)
{
String name = cid.name().substring(0, 1).toUpperCase() + cid.name().substring(1);
html.append("<tr><td align=center><button value=\"").append(name).append("\" action=\"bypass -h ChangeTo;").append(cid.getId()).append(';').append(Config.CLASS_MASTERS_PRICE_LIST[jobLevel]).append("\" width=200 height=32 back=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm\"></td></tr>");
}
}
html.append("<tr><td align=center><button value=\"Remaind me later\" action=\"bypass CloseTutorial\" width=200 height=28 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr>");
html.append("</table>");
html.append("</td></tr><tr>");
html.append("<td align=center><table width=280><tr>");
html.append("<td align=center valign=center>");
html.append("<img src=\"L2UI.squaregray\" width=285 height=1/> ");
html.append("<font name=hs12 color=3399FF>L2AvA</font>");
html.append("<img src=\"L2UI.squaregray\" width=285 height=1/> ");
html.append("</td></tr></table><br></td></tr>");
html.append("</table></body></html>");

st.closeTutorial(); // Close the tutorial first so the other html can be shown
st.showTutorialHTML(html.toString());
}
}
Но после смены - всё остаётся прежним, кроме логотипа (servername.png)
я видели их ты их именял на свое имени собрал после изменение
 
Это жесть какая-то.... этот код я ИЗМЕНИЛ! там нет не одного слова l2ava, даже в "Remaind me Later" написал хрень какую нить, просто ради эксперимента. Но в клиенте - окно осталось ПРЕЖНИМ! кроме логотипа картинки, единственное что получилось изменить из всего что есть в этом окне!
 
Это жесть какая-то.... этот код я ИЗМЕНИЛ! там нет не одного слова l2ava, даже в "Remaind me Later" написал хрень какую нить, просто ради эксперимента. Но в клиенте - окно осталось ПРЕЖНИМ! кроме логотипа картинки, единственное что получилось изменить из всего что есть в этом окне!
я хз как ты компилиш его и да ты еще изминил в хмл в папке SpecialTutorial к примеру Level6.htm
Код:
<html noscrollbar>
    <head>
        <title>L2AvA Newbie Tutorial</title>
    </head>
<body>
<table border=0 cellpadding=0 cellspacing=0 width=292 height=310 background="l2ui_ct1.Windows_DF_TooltipBG">
<tr>
    <td align=center>
    <br>
        <table width=280>
            <tr>
                <td align=center valign=center>
                    <img src="L2UI.squaregray" width="285" height="1"/>
                        <font name="hs12" color="3399FF">L2AvA</font>
                    <img src="L2UI.squaregray" width="285" height="1"/>
                </td>
            </tr>
        </table>
    <br>
    </td>
</tr>
<tr>
    <td align=center>
        <table width=280>
            <tr>
                <td align=center>
                    <img src="%image:servername.png%" width="240" height="64">
                </td>
            </tr>
            <tr>
                <td align=center>
                <br>
                    <font color=LEVEL name=hs12>Welcome to L2AvA ! </font>
                </td>
            </tr>
        </table>
    <br>
        <table width=280>
            <tr>
                <td align=left>
                    Congratulations, you are doing good, but what would you say about a boost? <br>
                </td>
            </tr>
        </table>
    <br>
        <table width=280>
            <tr>
                <td align=center>
                    <font color=FFFFFF name=hs12>Let's Buff You Up!</font>
                    <br>
                </td>
            </tr>
            <tr>
                <td align=center>
                    <button value="Buff me" action="bypass ShowBuffer" width=200 height=28 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></center>
                </td>
            </tr>
        </table>
    </td>
</tr>
<tr>
    <td align=center>
        <table width=280>
            <tr>
                <td align=center valign=center>
                    <img src="L2UI.squaregray" width="285" height="1"/>
                        <font name="hs12" color="3399FF">L2AvA</font>
                    <img src="L2UI.squaregray" width="285" height="1"/>
                </td>
            </tr>
        </table>
        <br>
    </td>
</tr>
</table>
</body>
</html>
 
  • Мне нравится
Реакции: kick
я хз как ты компилиш его и да ты еще изминил в хмл в папке SpecialTutorial к примеру Level6.htm
Код:
<html noscrollbar>
    <head>
        <title>L2AvA Newbie Tutorial</title>
    </head>
<body>
<table border=0 cellpadding=0 cellspacing=0 width=292 height=310 background="l2ui_ct1.Windows_DF_TooltipBG">
<tr>
    <td align=center>
    <br>
        <table width=280>
            <tr>
                <td align=center valign=center>
                    <img src="L2UI.squaregray" width="285" height="1"/>
                        <font name="hs12" color="3399FF">L2AvA</font>
                    <img src="L2UI.squaregray" width="285" height="1"/>
                </td>
            </tr>
        </table>
    <br>
    </td>
</tr>
<tr>
    <td align=center>
        <table width=280>
            <tr>
                <td align=center>
                    <img src="%image:servername.png%" width="240" height="64">
                </td>
            </tr>
            <tr>
                <td align=center>
                <br>
                    <font color=LEVEL name=hs12>Welcome to L2AvA ! </font>
                </td>
            </tr>
        </table>
    <br>
        <table width=280>
            <tr>
                <td align=left>
                    Congratulations, you are doing good, but what would you say about a boost? <br>
                </td>
            </tr>
        </table>
    <br>
        <table width=280>
            <tr>
                <td align=center>
                    <font color=FFFFFF name=hs12>Let's Buff You Up!</font>
                    <br>
                </td>
            </tr>
            <tr>
                <td align=center>
                    <button value="Buff me" action="bypass ShowBuffer" width=200 height=28 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></center>
                </td>
            </tr>
        </table>
    </td>
</tr>
<tr>
    <td align=center>
        <table width=280>
            <tr>
                <td align=center valign=center>
                    <img src="L2UI.squaregray" width="285" height="1"/>
                        <font name="hs12" color="3399FF">L2AvA</font>
                    <img src="L2UI.squaregray" width="285" height="1"/>
                </td>
            </tr>
        </table>
        <br>
    </td>
</tr>
</table>
</body>
</html>
Вопрос не в окне бафера, не телепорта в локацию которую он предлагает, а в смене профессии, писал же, поменялось всё - кроме смены профы.
В СпешалТуториал содержатся телепорты и прочая хрень - но не профы.
 
Вопрос не в окне бафера, не телепорта в локацию которую он предлагает, а в смене профессии, писал же, поменялось всё - кроме смены профы.
я уже понял я так за кучи скинь сборку уже скомпилиный если не сложно посмотрю
 
естествено не будет работат все это я так не нашол изменнение не папке скрипте не в script.jar у тя нету именнение все это все по старому ты походу не правильно скопилиш его я хз как компил делаеш
 
естествено не будет работат все это я так не нашол изменнение не папке скрипте не в script.jar у тя нету именнение все это все по старому ты походу не правильно скопилиш его я хз как компил делаеш
Ладно, иду головой об стену захерачусь пару раз. И попробую ещё раз.
 
самый просто вариант просто переделавай сам файл Full.xml на адекватный
 
Виноват мужики! Прошу прощения, оказывается я дебил, в добавок и слепой. Всех благодарю и ещё раз извините что потратил Ваше время, тему можно закрыть.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу