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

Classmaster В Gmshop (Помогите)

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

всем доброго времени суток. вообщем хочу реализовать следующее: на некоторых пвп серверах видел такую штуку что в ГМ-шопе есть кнопки 1-2-3 профессия, на неё тыкаешь и html окно ГМ-шопа переходит к окну класс мастера. очень удобная вещь чтобы не спавнить котов, а всё было сразу в гм-шопе. как такое реализовать можно знает кто? на скок я понял нужно какой то байпас дописывать в ядро. вообщем кто в курсе помогите плз. если что, юзаю сборку ИЛ, исходы l2jFrozen. заранее спс за ответы.

 

Пробовал вот этот код, но бьет ошибки при компиляции

 

 

 

 

if(command.startsWith("ololo"){

if (((level >= 20 && jobLevel == 1 ) ||

(level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS)

{

showChatWindow(player, classId.getId());

}

else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88)

{

for (int i = 0; i < SECONDN_CLASS_IDS.length; i++)

{

if (classId.getId() == SECONDN_CLASS_IDS)

{

NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());

TextBuilder sb = new TextBuilder();

sb.append("<html><body<table width=200>");

sb.append("<tr><td><center>"+CharTemplateTable.getClassNameById(player.getClassId().getId())+" Class Master:</center></td></tr>");

sb.append("<tr><td><br></td></tr>");

sb.append("<tr><td><a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getClassNameById(88+i)+"</a></td></tr>");

sb.append("<tr><td><br></td></tr>");

sb.append("</table></body></html>");

html.setHtml(sb.toString());

player.sendPacket(html);

break;

}

}

}

else

{

NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());

TextBuilder sb = new TextBuilder();

sb.append("<html><body>");

switch (jobLevel)

{

case 1:

sb.append("Come back here when you reach level 20 to change your class.<br>");

break;

case 2:

sb.append("Come back here when you reach level 40 to change your class.<br>");

break;

case 3:

sb.append("There are no more class changes for you.<br>");

break;

}

 

for (Quest q : Quest.findAllEvents())

sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>");

 

sb.append("</body></html>");

html.setHtml(sb.toString());

player.sendPacket(html);

}}

 

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

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


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

всем доброго времени суток. вообщем хочу реализовать следующее: на некоторых пвп серверах видел такую штуку что в ГМ-шопе есть кнопки 1-2-3 профессия, на неё тыкаешь и html окно ГМ-шопа переходит к окну класс мастера. очень удобная вещь чтобы не спавнить котов, а всё было сразу в гм-шопе. как такое реализовать можно знает кто? на скок я понял нужно какой то байпас дописывать в ядро. вообщем кто в курсе помогите плз. если что, юзаю сборку ИЛ, исходы l2jFrozen. заранее спс за ответы.

 

Пробовал вот этот код, но бьет ошибки при компиляции

 

 

 

 

if(command.startsWith("ololo"){

if (((level >= 20 && jobLevel == 1 ) ||

(level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS)

{

showChatWindow(player, classId.getId());

}

else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88)

{

for (int i = 0; i < SECONDN_CLASS_IDS.length; i++)

{

if (classId.getId() == SECONDN_CLASS_IDS)

{

NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());

TextBuilder sb = new TextBuilder();

sb.append("<html><body<table width=200>");

sb.append("<tr><td><center>"+CharTemplateTable.getClassNameById(player.getClassId().getId())+" Class Master:</center></td></tr>");

sb.append("<tr><td><br></td></tr>");

sb.append("<tr><td><a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getClassNameById(88+i)+"</a></td></tr>");

sb.append("<tr><td><br></td></tr>");

sb.append("</table></body></html>");

html.setHtml(sb.toString());

player.sendPacket(html);

break;

}

}

}

else

{

NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());

TextBuilder sb = new TextBuilder();

sb.append("<html><body>");

switch (jobLevel)

{

case 1:

sb.append("Come back here when you reach level 20 to change your class.<br>");

break;

case 2:

sb.append("Come back here when you reach level 40 to change your class.<br>");

break;

case 3:

sb.append("There are no more class changes for you.<br>");

break;

}

 

for (Quest q : Quest.findAllEvents())

sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>");

 

sb.append("</body></html>");

html.setHtml(sb.toString());

player.sendPacket(html);

}}

 

пропиши в чате .classmaster если откроется окно, то можно в html покопаться и настроить.

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


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

Html у класс мастера нету. он весь в ядре зашит. .classmaster не работет

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


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

неужели никто не может помочь в данной проблеме?

 

 

Нашел еще вот такой вариант компилит без ошибок но не работает

 

 

if (Config.ALLOW_CLASS_MASTERS && Config.ALLOW_REMOTE_CLASS_MASTERS)

{

final L2ClassMasterInstance master_instance = L2ClassMasterInstance.getInstance();

 

if(master_instance != null){

 

ClassLevel lvlnow = PlayerClass.values()[activeChar.getClassId().getId()].getLevel();

 

if(activeChar.getLevel() >= 20 && lvlnow == ClassLevel.First)

L2ClassMasterInstance.getInstance().onAction(activeChar);

else if(activeChar.getLevel() >= 40 && lvlnow == ClassLevel.Second)

L2ClassMasterInstance.getInstance().onAction(activeChar);

else if(activeChar.getLevel() >= 76 && lvlnow == ClassLevel.Third)

L2ClassMasterInstance.getInstance().onAction(activeChar);

 

}else{

 

_log.info("Attention: Remote ClassMaster is Enabled, but not inserted into DataBase. Remember to install 31288 Custom_Npc ..");

 

}

}

 

 

 

import com.l2jfrozen.gameserver.model.actor.instance.L2ClassMasterInstance;

import com.l2jfrozen.gameserver.model.base.ClassLevel;

import com.l2jfrozen.gameserver.model.base.PlayerClass;

 

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

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


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

ты имеешь ввиду это?

 

import com.l2jfrozen.gameserver.model.actor.instance.L2ClassMasterInstance;

import com.l2jfrozen.gameserver.model.base.ClassLevel;

import com.l2jfrozen.gameserver.model.base.PlayerClass;

 

Происываю все в L2MerchantInstance

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


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

Делал подобное, могу помочь в реализации. =)

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


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

Нет, я имею ввиду, прописать как тип Npc

Тип НПЦ L2Merchant

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


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

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

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

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

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

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

Войти

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

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

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

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

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