Reboot 59 Опубликовано 10 мая, 2015 Привет всем. Решил я прикрутить bypass класс менеджера в другую html. Сборка PW Soft. Задумка была такая: стартует новичок, устанавливает ключ в игре, затем после установки ключа появляется html окно с самим ключом и предложением взять профессию: Затем я жму "получить профессию" и после этого никаких действий не происходит. Хотя bypass строчку с класс менеджера я полностью вытянул и вставил в данный html. В чем может быть проблема, подскажите пожалуйста. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MinakoMino 57 Опубликовано 10 мая, 2015 Привязка скрипта к ид нпц скорей всего проффника Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 10 мая, 2015 (изменено) Привет всем. Решил я прикрутить bypass класс менеджера в другую html. Сборка PW Soft. Задумка была такая: стартует новичок, устанавливает ключ в игре, затем после установки ключа появляется html окно с самим ключом и предложением взять профессию: Затем я жму "получить профессию" и после этого никаких действий не происходит. Хотя bypass строчку с класс менеджера я полностью вытянул и вставил в данный html. В чем может быть проблема, подскажите пожалуйста. Не реализированно использование комманды через htm. Либо функция другая. Изменено 10 мая, 2015 пользователем 2terege Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reboot 59 Опубликовано 10 мая, 2015 Не реализированно использование комманды через htm. Либо функция другая. Так я этот bypass и вытянул из htm класс менеджера. По сути должно работать. Как сказали выше, возможно привязка в скрипте по айди npc. Можно ли на PW Soft сделать как я написал в 1 посте? Знаю, что на pain-team такое работает. Если да, то как найти в сборке этот скрипт и что дописать? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 10 мая, 2015 Так я этот bypass и вытянул из htm класс менеджера. По сути должно работать. Как сказали выше, возможно привязка в скрипте по айди npc. Можно ли на PW Soft сделать как я написал в 1 посте? Знаю, что на pain-team такое работает. Если да, то как найти в сборке этот скрипт и что дописать? Глянь RequestBypassToServer.java Какие у тебя запросы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lacosta2 21 Опубликовано 10 мая, 2015 Так я этот bypass и вытянул из htm класс менеджера. По сути должно работать. Как сказали выше, возможно привязка в скрипте по айди npc. Можно ли на PW Soft сделать как я написал в 1 посте? Знаю, что на pain-team такое работает. Если да, то как найти в сборке этот скрипт и что дописать? Тоже было интересно как сделать пытался не вышло так же и с тп на квесте, как понял стоит sql запрос на нпц 31227 там по моему стоит класс classmaster если не ошибаюсь а в вашем html нету нпц с которого оно его открывает, Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Specif 245 Опубликовано 10 мая, 2015 Тоже было интересно как сделать пытался не вышло так же и с тп на квесте, как понял стоит sql запрос на нпц 31227 там по моему стоит класс classmaster если не ошибаюсь а в вашем html нету нпц с которого оно его открывает, Данное окно не как не связано с каким либо нпц. Глянь RequestBypassToServer.java Какие у тебя запросы. С чего ты взял что оно у него вообще есть? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 10 мая, 2015 Данное окно не как не связано с каким либо нпц. С чего ты взял что оно у него вообще есть? Если ты не знаешь,то я просвещу.Это пакетный файл.Без него ты вообще не сможешь , не ток у нпц смотреть, и некоторые функции не будут работать . Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Specif 245 Опубликовано 10 мая, 2015 (изменено) Если ты не знаешь,то я просвещу.Это пакетный файл.Без него ты вообще не сможешь , не ток у нпц смотреть, и некоторые функции не будут работать . Я дал ответ выше, с чего ты взял, что он у него есть в открытом доступе? Его у него нет, тру стори. Изменено 10 мая, 2015 пользователем Specif Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
◄√i®uS► 1222 Опубликовано 10 мая, 2015 lacosta2, on 10 May 2015 - 7:58 PM, said: Тоже было интересно как сделать пытался не вышло так же и с тп на квесте, как понял стоит sql запрос на нпц 31227 там по моему стоит класс classmaster если не ошибаюсь а в вашем html нету нпц с которого оно его открывает, Данное окно не как не связано с каким либо нпц. 2terege, on 10 May 2015 - 7:46 PM, said: Глянь RequestBypassToServer.java Какие у тебя запросы. С чего ты взял что оно у него вообще есть? 0 /** не обращайте внимания на автора предыдущего поста, он в каждой теме отвечает, бывает даже то что впервые слышит... так что это просто флуд для набиваниия постов Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reboot 59 Опубликовано 10 мая, 2015 Тоже было интересно как сделать пытался не вышло так же и с тп на квесте, как понял стоит sql запрос на нпц 31227 там по моему стоит класс classmaster если не ошибаюсь а в вашем html нету нпц с которого оно его открывает, В том и дело, что есть, я взял и вытянул именно с кота htm <center><button value="Получить профессию" action="bypass -h npc_%objectId%_class_master" 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reboot 59 Опубликовано 10 мая, 2015 Глянь RequestBypassToServer.java Какие у тебя запросы. Такого нету в сборке. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 10 мая, 2015 Такого нету в сборке. Напиши в скайп. я посмотрю.А тут пусть кричат что я незнайка. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lacosta2 21 Опубликовано 10 мая, 2015 Такого нету в сборке. если сделаешь отпиши Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Specif 245 Опубликовано 10 мая, 2015 давно сделали сидели в скайпе угорали как 2terege несет не понятно что под конец не сдержался заржал в слух. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
◄√i®uS► 1222 Опубликовано 10 мая, 2015 давно сделали сидели в скайпе угорали как 2terege несет не понятно что под конец не сдержался заржал в слух. ну дело в том что это его всё равно не останавливает писать в каждой теме, с поводом и без)), даже с его супер знаниями... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 10 мая, 2015 если сделаешь отпиши Остальное сами правьте под себя package scripts.commands.voicedcommandhandlers; import net.sf.l2j.Config; import net.sf.l2j.gameserver.datatables.SkillTable; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.datatables.xml.CharTemplateData; import net.sf.l2j.gameserver.model.base.ClassId; import net.sf.l2j.gameserver.model.base.ClassLevel; import net.sf.l2j.gameserver.model.base.PlayerClass; import net.sf.l2j.gameserver.model.quest.Quest; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.network.serverpackets.ActionFailed; import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; public class ClassMass implements IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = { "classmaster","change_class"}; public boolean useVoicedCommand(String command, L2PcInstance player, String target) { if (command.equalsIgnoreCase("classmaster")) { ClassId classId = player.getClassId(); int jobLevel = 0; int level = player.getLevel(); ClassLevel lvl = PlayerClass.values()[classId.getId()].getLevel(); switch (lvl) { case First:jobLevel = 1;break; case Second:jobLevel = 2;break; case Third:jobLevel = 3;break; default:jobLevel = 4; } if (player.isGM()) showChatWindowChooseClass(player); else if (((level >= 20 && jobLevel == 1) || (level >= 40 && jobLevel == 2)) && Config.ALLOW_CLASS_MASTER) showChatWindow(player, classId.getId()); else if (level >= 76 && Config.ALLOW_CLASS_MASTER && classId.getId() < 88) { for (int i = 0; i < SECONDN_CLASS_IDS.length; i++) { if (classId.getId() == SECONDN_CLASS_IDS) { NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); StringBuilder sb = new StringBuilder(); sb.append("<html><body<table width=200>"); sb.append("<tr><td><center>" + CharTemplateData.getInstance().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 " + CharTemplateData.getInstance().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()); StringBuilder sb = new StringBuilder(); 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); } player.sendPacket(ActionFailed.STATIC_PACKET); } else if (command.startsWith("change_class")) { int val = Integer.parseInt(command.substring(13)); ClassId classId = player.getClassId(); int level = player.getLevel(); int jobLevel = 0; int newJobLevel = 0; ClassLevel lvlnow = PlayerClass.values()[classId.getId()].getLevel(); if (player.isGM()) { changeClass(player, val); player.rewardSkills(); if (val >= 88) player.sendPacket(SystemMessageId.THIRD_CLASS_TRANSFER); else player.sendPacket(SystemMessageId.CLASS_TRANSFER); NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); StringBuilder sb = new StringBuilder(); sb.append("<html><body>"); sb.append("You have now become a <font color=\"LEVEL\">" + CharTemplateData.getInstance().getClassNameById(player.getClassId().getId()) + "</font>."); sb.append("</body></html>"); html.setHtml(sb.toString()); player.sendPacket(html); return; } switch (lvlnow) { case First: jobLevel = 1; break; case Second: jobLevel = 2; break; case Third: jobLevel = 3; break; default: jobLevel = 4; } if (jobLevel == 4) return; // no more job changes ClassLevel lvlnext = PlayerClass.values()[val].getLevel(); switch (lvlnext) { case First: newJobLevel = 1; break; case Second: newJobLevel = 2; break; case Third: newJobLevel = 3; break; default: newJobLevel = 4; } // prevents changing between same level jobs if (newJobLevel != jobLevel + 1) return; if (level < 20 && newJobLevel > 1) return; if (level < 40 && newJobLevel > 2) return; if (level < 75 && newJobLevel > 3) return; changeClass(player, val); player.rewardSkills(); if (val >= 88) player.sendPacket(SystemMessageId.THIRD_CLASS_TRANSFER); // system sound 3rd occupation else player.sendPacket(SystemMessageId.CLASS_TRANSFER); // system sound for 1st and 2nd occupation player.broadcastPacket(new MagicSkillUse(player, player, 5103, 1, 1000, 0)); HtmlShow(player); checks(player); checkAutoEq(player,newJobLevel); } return true; } private void changeClass(L2PcInstance player, int val) { final ClassId currentClassId = player.getClassId(); if (getMinLevel(currentClassId.level()) > player.getLevel()) return; if (!validateClassId(currentClassId, val)) return; player.setClassId(val); if (player.isSubClassActive()){player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());} else { ClassId classId = ClassId.getClassIdByOrdinal(player.getActiveClass()); if (classId.getParent() != null){while (classId.level() == 0){classId = classId.getParent();}} player.setBaseClass(classId); } player.broadcastUserInfo(); } public String[] getVoicedCommandList(){return VOICED_COMMANDS;} } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrBosS 0 Опубликовано 10 мая, 2015 давно сделали сидели в скайпе угорали как 2terege несет не понятно что под конец не сдержался заржал в слух. Можно узнать вы сделали?? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reboot 59 Опубликовано 11 мая, 2015 Спасибо большое 2terege за помощь и уделенное время. Помог всё сделать и реализовать данную функцию с 0! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lacosta2 21 Опубликовано 11 мая, 2015 Спасибо большое 2terege за помощь и уделенное время. Помог всё сделать и реализовать данную функцию с 0! сможешь поделится ??? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 11 мая, 2015 сможешь поделится ??? Таким ток продам Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты