Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Lineage II (https://forum.zone-game.info/forumdisplay.php?f=34)
-   -   Где находится диалог классмастера (https://forum.zone-game.info/showthread.php?t=13584)

Credo 13.04.2011 18:36

Где находится диалог классмастера
 
САБЖ в названии темы. Кто скажет, где эти гребаные диалоги? Запарился по ядру искать. Может кто сталкивался?

Поясню. Есть классмастер (обычно с ID 31228), который дает профу. Если он включен в конфигах, то он берет диалог не с htm, а - непонятно откуда. Так как в 31228.htm совсем другой диалог (про медальки), то подозреваю, что он прописан в ядре. Могу ошибаться. Подскажите, где копать?

MsKira 13.04.2011 19:47

Re: Где находится диалог классмастера
 
ID 31228 - Roy The Cat (Связан с Квестом на медальки) Так что скажу сразу ты ошибаешься! по поводу данного нпц он не когда не был ClassMaster(ом)
Вот тебе ID ClassMaster(ов):
1) 31756 (Кот)
2) 31757 (Кошка)

Credo 13.04.2011 19:56

Re: Где находится диалог классмастера
 
Цитата:

Сообщение от MsKira (Сообщение 117597)
ID 31228 - Roy The Cat (Связан с Квестом на медальки) Так что скажу сразу ты ошибаешься! по поводу данного нпц он не когда не был ClassMaster(ом)
Вот тебе ID ClassMaster(ов):
1) 31756 (Кот)
2) 31757 (Кошка)

Да без разницы, какой ID нпса. Не дурак.. (Написал же, что обычно его ставят по Template ID 31228, но это не является обязательным условием.) Ты бы лучше сказал, где редактировать его диалог? Суть топика ясна?

MsKira 13.04.2011 20:10

Re: Где находится диалог классмастера
 
У Меня лично вот так сборка L2 J Server Freya
Вот Местоположение диалогов


Код:

gameserver\data\html\classmaster


Добавлено через 1 минуту
Если надо магу кинуть содержимое!

Credo 13.04.2011 20:17

Re: Где находится диалог классмастера
 
Цитата:

Сообщение от MsKira (Сообщение 117600)
gameserver\data\html\classmaster

Нет. Не то. Вот смотри... Ты - любого лвла, но не того, на котором уже можно брать профессию (Например - 37 лвл). Ты подходишь к НПС, он тебе говорит типа: "Ваш уровень слишком мал, для смены профессии. Приходите, когда будете 40 лвл." Вот где Этот диалог?

PROGRAMMATOR 13.04.2011 20:18

Re: Где находится диалог классмастера
 
Прям в самом instance прописан. model/ancor/instance/L2ClassMasterInstance

 
	private static final void showHtmlMenu(L2PcInstance player, int objectId, int level)
	{
		NpcHtmlMessage html = new NpcHtmlMessage(objectId);
 
		if (!Config.ALLOW_CLASS_MASTERS)
		{
			html.setFile(player.getHtmlPrefix(), "data/html/classmaster/disabled.htm");
		}
		else if (!Config.CLASS_MASTER_SETTINGS.isAllowed(level))
		{
			int jobLevel = player.getClassId().level();
			final StringBuilder sb = new StringBuilder(100);
			sb.append("<html><body>");
			switch (jobLevel)
			{
				case 0:
					if (Config.CLASS_MASTER_SETTINGS.isAllowed(1))
						sb.append("Come back here when you reached level 20 to change your class.<br>");
					else if (Config.CLASS_MASTER_SETTINGS.isAllowed(2))
						sb.append("Come back after your first occupation change.<br>");
					else if (Config.CLASS_MASTER_SETTINGS.isAllowed(3))
						sb.append("Come back after your second occupation change.<br>");
					else
						sb.append("I can't change your occupation.<br>");
					break;
				case 1:
					if (Config.CLASS_MASTER_SETTINGS.isAllowed(2))
						sb.append("Come back here when you reached level 40 to change your class.<br>");
					else if (Config.CLASS_MASTER_SETTINGS.isAllowed(3))
						sb.append("Come back after your second occupation change.<br>");
					else
						sb.append("I can't change your occupation.<br>");
					break;
				case 2:
					if (Config.CLASS_MASTER_SETTINGS.isAllowed(3))
						sb.append("Come back here when you reached level 76 to change your class.<br>");
					else
						sb.append("I can't change your occupation.<br>");
					break;
				case 3:
					sb.append("There is no class change available for you anymore.<br>");
					break;
			}
			sb.append("</body></html>");
			html.setHtml(sb.toString());
		}
		else
		{
			final ClassId currentClassId = player.getClassId();
			if (currentClassId.level() >= level)
			{
				html.setFile(player.getHtmlPrefix(), "data/html/classmaster/nomore.htm");
			}
			else
			{
				final int minLevel = getMinLevel(currentClassId.level());
				if (player.getLevel() >= minLevel || Config.ALLOW_ENTIRE_TREE)
				{
					final StringBuilder menu = new StringBuilder(100);
					for (ClassId cid : ClassId.values())
					{
						if (cid == ClassId.inspector && player.getTotalSubClasses() < 2)
							continue;
						if (validateClassId(currentClassId, cid) && cid.level() == level)
						{
							StringUtil.append(menu,
									"<a action=\"bypass -h npc_%objectId%_change_class ",
									String.valueOf(cid.getId()),
									"\">",
									CharTemplateTable.getInstance().getClassNameById(cid.getId()),
									"</a><br>"
							);
						}
					}
 
					if (menu.length() > 0)
					{
						html.setFile(player.getHtmlPrefix(), "data/html/classmaster/template.htm");
						html.replace("%name%", CharTemplateTable.getInstance().getClassNameById(currentClassId.getId()));
						html.replace("%menu%", menu.toString());
					}
					else
					{
						html.setFile(player.getHtmlPrefix(), "data/html/classmaster/comebacklater.htm");
						html.replace("%level%", String.valueOf(getMinLevel(level - 1)));
					}
				}
				else
				{
					if (minLevel < Integer.MAX_VALUE)
					{
						html.setFile(player.getHtmlPrefix(), "data/html/classmaster/comebacklater.htm");
						html.replace("%level%", String.valueOf(minLevel));
					}
					else
						html.setFile(player.getHtmlPrefix(), "data/html/classmaster/nomore.htm");
				}
			}
		}
 
		html.replace("%objectId%", String.valueOf(objectId));
		html.replace("%req_items%", getRequiredItems(level));
		player.sendPacket(html);
	}
 
Code: Java

MsKira 13.04.2011 20:28

Re: Где находится диалог классмастера
 
У меня вот то что ты сказал прописано в
Код:

gameserver\data\html\classmaster\comebacklater.htm


Вот содержимое:
Код:

<html><body>
Sorry, no more class changes available.<br>
Come back here when you reach level %level% to change your class.
</body></html>

Добавлено через 52 секунды
оО сори мот я туплю! Хатя если пригодилось то норм!

Credo 14.04.2011 05:08

Re: Где находится диалог классмастера
 
Спасибо, Юр. Это то, что нужно. Выручил.


MsKira, тебе тоже спасибо. Но я уже писал, что в htm таких диалогов нет. Моей сборкой не предусмотрен вывод данного диалога из htm.


Текущее время: 05:06. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot