Перейти к содержанию
Авторизация  
Akiflola

Нужна Помощь Со Скриптом В Html Файле

Рекомендуемые сообщения

Уважаемые знатоки , за ранее извиняюсь если создал тему не в том разделе, я не специально.

Суть вопроса в том что я не могу разобраться с проблемой.

Есть NPC , при диалоге с которым показывает иконки разных скилов. И при нажатии на скил следующее действие приводит в SkillList , вот код.

 

" td align=center><button action="bypass -h npc_%objectId%_SkillList" width=32 height=32 back="symbol.icon108" fore="icon.skill0231"></td> "

 

Я понимаю что SkillList это когда все скилы вместе , а я бы хотел что бы вместо "SkillList" прописать (путь или как это называется) к определенному скилу. Что бы при нажатии на иконку скила можно было учить скил!

Буду благодарен кто ответить очень доходчиво, так как не могу понять что дальше прописать.

С меня много плюсов)

Изменено пользователем Akiflola

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые знатоки , за ранее извиняюсь если создал тему не в том разделе, я не специально.

Суть вопроса в том что я не могу разобраться с проблемой.

Есть NPC , при диалоге с которым показывает иконки разных скилов. И при нажатии на скил следующее действие приводит в SkillList , вот код.

 

" td align=center><button action="bypass -h npc_%objectId%_SkillList" width=32 height=32 back="symbol.icon108" fore="icon.skill0231"></td> "

 

Я понимаю что SkillList это когда все скилы вместе , а я бы хотел что бы вместо "SkillList" прописать (путь или как это называется) к определенному скилу. Что бы при нажатии на иконку скила можно было учить скил!

Буду благодарен кто ответить очень доходчиво, так как не могу понять что дальше прописать.

С меня много плюсов)

 

Как для логики: Открой тот самый SkillList, и там будут коды каждого скила, и так прописывай.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SkillList это есть SkillTrees. А что за код в SkillTrees я не могу понять. Там тока класс id,скил id, левел скила. Например если скил id 100 то что тут прописать " bypass -h npc_%objectId%_SkillList " ?

Изменено пользователем Akiflola

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это байпасс. Смотришь инстанс нпц, который вписан для этого нпц. В нём, в коде, смотришь где вызывается SkillList, и делаешь там же как тебе нужно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это байпасс. Смотришь инстанс нпц, который вписан для этого нпц. В нём, в коде, смотришь где вызывается SkillList, и делаешь там же как тебе нужно

пытался понять что ты написал.. но не получилось. что ты имеешь ввиду?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотришь Статы НПЦ который даёт это диалог.

 

У него, допустим <set name="type" value="Trader" />

 

Отсюда смотрим его инстанс, допустим data/scripts/model/npc/TraderInstance.java

 

В нём в коде смотрим байпасс SkillList и смотрим, что он исполняет.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотришь Статы НПЦ который даёт это диалог.

 

У него, допустим <set name="type" value="Trader" />

 

Отсюда смотрим его инстанс, допустим data/scripts/model/npc/TraderInstance.java

 

В нём в коде смотрим байпасс SkillList и смотрим, что он исполняет.

Если есть возможность и желание помочь в скайпе. вот мой скайп farruh159.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотришь Статы НПЦ который даёт это диалог.

 

У него, допустим <set name="type" value="Trader" />

 

Отсюда смотрим его инстанс, допустим data/scripts/model/npc/TraderInstance.java

 

В нём в коде смотрим байпасс SkillList и смотрим, что он исполняет.

 

package net.sf.l2j.gameserver.model.actor.instance;

 

import net.sf.l2j.gameserver.templates.L2NpcTemplate;

 

/**

* This class ...

*

* @version $Revision: 1.5.4.8 $ $Date: 2005/04/02 15:57:52 $

*/

public final class L2TrainerInstance extends L2FolkInstance

{

/**

* @param template

*/

public L2TrainerInstance(int objectId, L2NpcTemplate template)

{

super(objectId, template);

}

 

@Override

public String getHtmlPath(int npcId, int val)

{

String pom = "";

if (val == 0)

{

pom = "" + npcId;

}

else

{

pom = npcId + "-" + val;

}

 

return "data/html/trainer/" + pom + ".htm";

}

}

вот инстант этого нпц. какой тут код?

Изменено пользователем Akiflola

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

{

setTarget(player);

L2Skill skill = SkillTable.getInstance().getInfo(5182, 1);

if (skill != null)

doCast(skill);

}

это тот код?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет.

 

У меня например в NpcInstance

 

command.equalsIgnoreCase("SkillList"))
{
showSkillList(player);
}

 

Который ведет к

 

public void showSkillList(Player player)

 

И уже в этом методе всё описывается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет.

 

У меня например в NpcInstance

 

command.equalsIgnoreCase("SkillList"))
{
showSkillList(player);
}

 

Который ведет к

 

public void showSkillList(Player player)

 

И уже в этом методе всё описывается.

можешь в скайпе ответить плиз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет.

 

У меня например в NpcInstance

 

command.equalsIgnoreCase("SkillList"))
{
showSkillList(player);
}

 

Который ведет к

 

public void showSkillList(Player player)

 

И уже в этом методе всё описывается.

else if (command.equalsIgnoreCase("TerritoryStatus"))

{

NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());

{

if (getCastle().getOwnerId() > 0)

{

html.setFile("data/html/territorystatus.htm");

L2Clan clan = ClanTable.getInstance().getClan(getCastle().getOwnerId());

html.replace("%clanname%", clan.getName());

html.replace("%clanleadername%", clan.getLeaderName());

}

вот что у меня.

Кстати я поискал и понял что код с началом "else if (command.equalsIgnoreCase" у меня тока один. тот что выше . это как понять?

Изменено пользователем Akiflola

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ребята кто может помочь? я таки не решил проблему. я вот думаю может в NpcInstan вписать

public void addSkill(int id, int level, boolean passive)

{

_skills.add(new Skill(id, level, passive));

}

 

protected final void writeImpl()

{

writeC(88);

writeD(_skills.size());

for (int i = 0; i < _skills.size(); i++)

{

Skill temp = (Skill)_skills.get(i);

writeD(temp.passive ? 1 : 0);

writeD(temp.level);

writeD(temp.id);

writeC(0);

}

}

ка думаете будет работать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно будет :D :D :D Интересно, чем определены writeD,writeC для NpcInstance?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно будет :D :D :D Интересно, чем определены writeD,writeC для NpcInstance?

я не знаю. а что на что то он влияет!?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну как бы это поля для пакетных данных

AwakenDev ты можешь в скайпе ответить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ооох, открываешь папку gameserver/data/scripts/npc/model, там у тебя выбьет кучу java-файлов с окончанием -Instance (FrintezzaInstance.java к примеру). Там ищешь нужный инстанс, а в нем bypass. Если там нет, то поройся по всему каталогу scripts, В крайнем случае ищешь в ядре и скриптах "SkillList" (с кавычками) с помощью Notepad++(Ctrl+F).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот bypass с L2NpcInstans:

@Override

public void onBypassFeedback(L2PcInstance player, String command)

{

if (command.startsWith("SkillList"))

{

player.setSkillLearningClassId(player.getClassId());

showSkillList(player, player.getCurrentFolkNPC(), player.getClassId());

}

else if (command.startsWith("EnchantSkillList"))

showEnchantSkillList(player, player.getCurrentFolkNPC(), player.getClassId());

else if (command.startsWith("GiveBlessing"))

giveBlessingSupport(player);

else

super.onBypassFeedback(player, command);

}

}

Кто скажет чем это поможет моей проблеме?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тебе пока поможет только учебник по яве ибо ты даже самые основы языка походу не знаешь...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тебе пока поможет только учебник по яве ибо ты даже самые основы языка походу не знаешь...

буду учить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...