Blact 1 Опубликовано 28 октября, 2011 Вообще нашел на одном форуме код для реализации меню но код настроен под Люцер сборку,очень классная менюшка,большой и вкусный функционал,помогите доработать под фрозен ,я буду очень признателен и с меня + Помогите настроить под фрозен,я импорты вроде бы правельно написал,а компилится не хочет вот собственно код Скрытый текстpackage handlers.voice; import ru.catssoftware.Config; import ru.catssoftware.Message; import ru.catssoftware.gameserver.cache.HtmCache; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.entity.events.CTF.CTF; import ru.catssoftware.gameserver.model.entity.events.DeathMatch.DeathMatch; import ru.catssoftware.gameserver.model.entity.events.LastHero.LastHero; import ru.catssoftware.gameserver.model.entity.events.TvT.TvT; import ru.catssoftware.gameserver.model.zone.L2Zone; import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage; /** * Author: m095 * Хандлер команд для конфигурации персонажа * EmuRT DevTeam **/ public class Configurator implements IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = { "menu", "events", "autoloot", "enableTrade", "disableTrade", "enableOffKnow", "disableOffKnow", "enableAutoloot", "disableAutoloot", "enableMessage", "showSkillSuccess", "disableMessage", "enableBuffAnim", "disableBuffAnim", "enableGainExp", "disableGainExp", "ignorecolors", "lang" }; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (activeChar.isInOlympiadMode() || activeChar.isInFunEvent() || activeChar.isInCombat()) { activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_NOT_ALLOWED_AT_THE_MOMENT)); return true; } if (command.startsWith("menu")) { showMainPage(activeChar); return true; } else if (command.startsWith("events")) { showEventPage(activeChar); return true; } else if (command.startsWith("showSkillSuccess")) { if(!Config.SHOW_SKILL_SUCCESS_CHANCE) activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_FORBIDEN_BY_ADMIN)); else activeChar.setShowSkillChance(!activeChar.isShowSkillChance()); showMainPage(activeChar); return true; } else if(command.equals("ignorecolors")) { boolean val = true; try { val = !activeChar.getCharacterData().getBool("ignorecolors"); activeChar.getCharacterData().set("ignorecolors",val); } catch(Exception e) { activeChar.getCharacterData().set("ignorecolors",val); } activeChar.sendMessage("Ignoring system colors "+(val?"endbled":"disabled")); } else if (command.startsWith("autoloot")) { if (!Config.ALLOW_AUTO_LOOT) { activeChar.notWorking(false); return true; } if (activeChar.isAutoLootEnabled()) { activeChar.enableAutoLoot(false); activeChar.sendMessage("AutoLoot is off."); } else { activeChar.enableAutoLoot(true); activeChar.sendMessage("AutoLoot is on"); } } else if (command.startsWith("enableTrade")) { activeChar.setTradeRefusal(false); showMainPage(activeChar); return true; } else if (command.startsWith("disableTrade")) { activeChar.setTradeRefusal(true); showMainPage(activeChar); return true; } else if (command.startsWith("enableOffKnow")) { if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE)) { activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE)); showMainPage(activeChar); return true; } activeChar.setKnowlistMode(true); showMainPage(activeChar); return true; } else if (command.startsWith("lang")) { activeChar.sendMessage(String.format(Message.getMessage(activeChar, Message.MessageId.MSG_CURRENT_LANG),HtmCache.getInstance().getLanguages().get(ac tiveChar.getLang()))); if(target!=null && target.length()>0) if(HtmCache.getInstance().getLanguages().containsKey(target)) { activeChar.setLang(target); activeChar.sendMessage(String.format(Message.getMessage(activeChar, Message.MessageId.MSG_CURRENT_LANG),HtmCache.getInstance().getLanguages().get(ac tiveChar.getLang()))); } } else if (command.startsWith("disableOffKnow")) { if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE)) { activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE)); showMainPage(activeChar); return true; } activeChar.setKnowlistMode(false); showMainPage(activeChar); return true; } else if (command.startsWith("enableAutoloot")) { if (Config.ALLOW_AUTO_LOOT) activeChar.enableAutoLoot(true); else activeChar.notWorking(false); showMainPage(activeChar); return true; } else if (command.startsWith("disableAutoloot")) { if (Config.ALLOW_AUTO_LOOT) activeChar.enableAutoLoot(false); else activeChar.notWorking(false); showMainPage(activeChar); return true; } else if (command.startsWith("enableGainExp")) { if (Config.ALLOW_USE_EXP_SET) activeChar.canGainExp(true); else activeChar.notWorking(false); showMainPage(activeChar); return true; } else if (command.startsWith("disableGainExp")) { if (Config.ALLOW_USE_EXP_SET) activeChar.canGainExp(false); else activeChar.notWorking(false); showMainPage(activeChar); return true; } else if (command.startsWith("enableMessage")) { activeChar.setMessageRefusal(false); showMainPage(activeChar); return true; } else if (command.startsWith("disableMessage")) { activeChar.setMessageRefusal(true); showMainPage(activeChar); return true; } else if (command.startsWith("enableBuffAnim")) { activeChar.setShowBuffAnim(true); showMainPage(activeChar); return true; } else if (command.startsWith("disableBuffAnim")) { activeChar.setShowBuffAnim(false); showMainPage(activeChar); return true; } return false; } private String getGainExpMode(L2PcInstance activeChar) { String result = "ON"; if (activeChar.canGainExp()) result = "OFF"; return result; } private String getBuffAnimMode(L2PcInstance activeChar) { String result = "OFF"; if (activeChar.ShowBuffAnim()) result = "ON"; return result; } private String getKnowListMode(L2PcInstance activeChar) { String result = "ON"; if (activeChar.showTraders()) result = "OFF"; return result; } private String getTradeMode(L2PcInstance activeChar) { String result = "OFF"; if (activeChar.getTradeRefusal()) result = "ON"; return result; } private String getMessageMode(L2PcInstance activeChar) { String result = "OFF"; if (activeChar.getMessageRefusal()) result = "ON"; return result; } private String getLootMode(L2PcInstance activeChar) { String result = "OFF"; if (activeChar.isAutoLootEnabled()) result = "ON"; return result; } private void showMainPage(L2PcInstance activeChar) { if(!Config.ALLOW_MENU) return; NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/menu.htm"); html.replace("%notraders%", getKnowListMode(activeChar)); html.replace("%notrade%", getTradeMode(activeChar)); html.replace("%autoloot%", getLootMode(activeChar)); html.replace("%nomsg%", getMessageMode(activeChar)); html.replace("%buffanim%", getBuffAnimMode(activeChar)); html.replace("%gainexp%", getGainExpMode(activeChar)); html.replace("%skillchance%",activeChar.isShowSkillChance()?"ON":"OFF"); activeChar.sendPacket(html); } private void showEventPage(L2PcInstance activeChar) { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/event_npc.htm"); html.replace("%tvt_state%", getEventStatus(0)); html.replace("%ctf_state%", getEventStatus(1)); html.replace("%lh_state%", getEventStatus(2)); html.replace("%dm_state%", getEventStatus(2)); activeChar.sendPacket(html); } private String getEventStatus(int event) { String result = "unknown"; int state = 0; try { switch (event) { case 0: state = TvT.getInstance().getState(); break; case 1: state = CTF.getInstance().getState(); break; case 2: state = LastHero.getInstance().getState(); break; case 3: state = DeathMatch.getInstance().getState(); break; } switch (state) { case 0: result = "Inactive"; break; case 1: result = "Active"; break; case 2: result = "Running"; break; } } catch(Exception e) { } return result; } public String getDescription(String command) { if(command.equals("menu")) return "Выводит меню команд."; return "Подробно в .menu"; } public String[] getVoicedCommandList() { return VOICED_COMMANDS; } public static void main(String [] args) { VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Configurator()); } } А вот импорты я под фрозен переписал но при компиляции ошибку пишет о том что ошибка в package handlers.voice; вот импорты как я переписал Скрытый текстpackage handlers.voice; import com.l2jfrozen.Config; import com.l2jfrozen.Message; import com.l2jfrozen.gameserver.cache.HtmCache; import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler; import com.l2jfrozen.gameserver.handler.VoicedCommandHandler; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.entity.event.CTF; import com.l2jfrozen.gameserver.model.entity.event.TvT; import com.l2jfrozen.gameserver.model.zone.L2Zone; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SystemOfADown 27 Опубликовано 28 октября, 2011 Может у фрозенов пути в голосовым командам другие ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Saick 46 Опубликовано 28 октября, 2011 может не прописаны команды в VoicedCommandHandler Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Blact 1 Опубликовано 28 октября, 2011 В VoicedCommandHandler прописал после Online - вроде бы разницы нету где прописать import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.Menu; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Blact 1 Опубликовано 28 октября, 2011 Что никому ненада такая меню?Хм странно, это скрин нашел,ну в этом меню что я дал больше функций Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Blact 1 Опубликовано 28 октября, 2011 Вот html Скрытый текст<html><title>Меню настроек</title><body><center><font color="LEVEL">Личные настройки персонажа</font></center> <table bgcolor="666666"> <tr> <td width=5></td> <td width=150>Описание команд:</td> <td width=50>Сейчас</td> <td width=30>ON</td> <td width=30>OFF</td> </tr> </table> <br> <table bgcolor="666666"> <tr> <td width=5></td> <td width=150>Не показывать trader'ов:</td> <td width=30>%notraders%</td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableOffKnow" value="ON"></td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableOffKnow" value="OFF"></td> </tr> <tr> <td width=5></td> <td width=150>Отключить обмен:</td> <td width=30>%notrade%</td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableTrade" value="ON"></td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableTrade" value="OFF"></td> </tr> <tr> <td width=5></td> <td width=150>Включить авто Loot:</td> <td width=30>%autoloot%</td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableAutoloot" value="ON"></td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableAutoloot" value="OFF"></td> </tr> <tr> <td width=5></td> <td width=150>Отключить сообщения:</td> <td width=30>%nomsg%</td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableMessage" value="ON"></td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableMessage" value="OFF"></td> </tr> <tr> <td width=5></td> <td width=150>Анимировать Buff:</td> <td width=30>%buffanim%</td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableBuffAnim" value="ON"></td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableBuffAnim" value="OFF"></td> </tr> <tr> <td width=5></td> <td width=150>Остановить опыт:</td> <td width=30>%gainexp%</td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableGainExp" value="ON"></td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableGainExp" value="OFF"></td> </tr> <tr> <td width=5></td> <td width=150>Шанс прохождения скилов:</td> <td width=30>%skillchance%</td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_showSkillSuccess" value="ON"></td> <td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_hideSkillSuccess" value="OFF"></td> </tr> </table bgcolor="666666"> <br><br> <center><font color="LEVEL">Список доступных сервисов</font></center> <table bgcolor="666666"> <tr> <td width=5></td> <td width=170>Описание кнопок:</td> <td width=100>Enable</td> </tr> </table> <br> <table bgcolor="666666"> <tr> <td width=5></td> <td width=160>Offline торговля:</td> <td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_offline" value="ENABLE"></td> </tr> <tr> <td width=5></td> <td width=160>Восстановить игрока:</td> <td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_repair" value="ENABLE"></td> </tr> <tr> <td width=5></td> <td width=160>Поиск маммонов:</td> <td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_mammon" value="ENABLE"></td> </tr> <td width=5></td> <td width=160>Статистика:</td> <td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_status" value="ENABLE"></td> </tr> <tr> <td width=5></td> <td width=160>Показать помощь:</td> <td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_help" value="ENABLE"></td> </tr> </table> </body></html> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DivFree 0 Опубликовано 28 октября, 2011 Вроде ещё нужно что то в L2PCinstance .... автолут и другое%) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Blact 1 Опубликовано 28 октября, 2011 нада импорты правильно написать,и убрать код про евенты,они там лишние,там импорт на стф,твт,ласт хиро и дм евенты,нада поубирать их с кода,я пробывал но у меня не оч получалось,очень прошу помогите правильно доработать код,уверен многие будут довольны менюшкой Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
taste 501 Опубликовано 28 октября, 2011 проси мегапк он за бабло делает или бесплатно если заинтирисуешь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Blact 1 Опубликовано 28 октября, 2011 дай его контакты Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
taste 501 Опубликовано 28 октября, 2011 15181158 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
taste 501 Опубликовано 28 октября, 2011 не говори что я дал Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Blact 1 Опубликовано 28 октября, 2011 Хех меня обломил только что разработчик сборки Люцер,его сообщение Импорты вас не спасут. Вам еще функционал лючеры надо перенести.Я спросил можете мне помочь это сделать? Ответ - Запросто. 3.5к WMR и сборка с этой командой в вашем распоряжении. аххаахах))) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
taste 501 Опубликовано 28 октября, 2011 ну вот он тебе ответил импорты не спасут.можешь заказать у него разработку этого меню хз скок запросит) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DivFree 0 Опубликовано 28 октября, 2011 Скачай файрэйдж, открой ядро винраром открой L2PCinstance и ищи потипу "autoloot, expoff, expon" всё подобное, скачай исходники фрозенов и запиливай сам ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
taste 501 Опубликовано 28 октября, 2011 у них не меню вроде у них простокоманды Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Blact 1 Опубликовано 28 октября, 2011 Ладно все по + старались,буду пробывать вытягивать функции Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xINVIZIBLx 67 Опубликовано 28 октября, 2011 Скинь польностью в одном Архиве) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Blact 1 Опубликовано 28 октября, 2011 Есть скайп или аська? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FairyTale 0 Опубликовано 28 октября, 2011 Могу помочь.Пиши.604-045-701 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
jman4ik 103 Опубликовано 28 октября, 2011 такая менюшка есть в l2jsoftware + eonsw исходы открыты бери оттуда функционал тоже можно выдрать это несложно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Symbiote 0 Опубликовано 29 ноября, 2011 Никто все-таки не вытянул из Frozen Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Excellion 0 Опубликовано 2 декабря, 2011 такая менюшка есть в l2jsoftware + eonsw исходы открыты бери оттуда функционал тоже можно выдрать это несложно Да нет это не так то и просто... ибо сам класс меню не спасет т.к. нужно еще кучу файлов править , Добовлять методы, писать условия проверки к примеру, с получением опыта: / нам нужен этот метод, еще и уникальный для каждого чара, тоесть нам понадобится //L2PcInstance получится у вас должно 2 метода getxpoff, setepoff и 1 переменная идем в L2PcInstance +public boolean _expoff; +public void setexpoff(boolean b) +{ + _expoff = b; +} +public boolean getexpoff() +{ + return _expoff; +} ну вот у нас получилось что нам есть куда записывать включил игрок функцию отключения опыта или нет тоесть при нажатии на кнопку [b]отключить получение опыта[/b] будет срабатывать код такого типа: [b]activeChar.setexpoff(true);[/b] перед кодом который дает чару Эксп, СП. нужно писать условие if(activeChar.getexpoff) { return; } ЭТО ПРОСТО ПРИМЕР! (Но если включите соображалку, то этот пример вам очень поможет) я думаю что прикрутить, менюшку с полным его функционалом, вам не кто не поможет (по крайней мере за чесное спасибо) я бы помог сделать (даже денег немного бы взял) но увы из-за принципа делать не буду ибо Фрозен не переношу З.Ы. Не знаешь - не берись. Взялся? Учись! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
shavloxa 0 Опубликовано 6 мая, 2016 Вообще нашел на одном форуме код для реализации меню но код настроен под Люцер сборку,очень классная менюшка,большой и вкусный функционал,помогите доработать под фрозен ,я буду очень признателен и с меня + Помогите настроить под фрозен,я импорты вроде бы правельно написал,а компилится не хочет вот собственно код Скрытый текстpackage handlers.voice; import ru.catssoftware.Config; import ru.catssoftware.Message; import ru.catssoftware.gameserver.cache.HtmCache; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.entity.events.CTF.CTF; import ru.catssoftware.gameserver.model.entity.events.DeathMatch.DeathMatch; import ru.catssoftware.gameserver.model.entity.events.LastHero.LastHero; import ru.catssoftware.gameserver.model.entity.events.TvT.TvT; import ru.catssoftware.gameserver.model.zone.L2Zone; import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage; /** * Author: m095 * Хандлер команд для конфигурации персонажа * EmuRT DevTeam **/ public class Configurator implements IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = { "menu", "events", "autoloot", "enableTrade", "disableTrade", "enableOffKnow", "disableOffKnow", "enableAutoloot", "disableAutoloot", "enableMessage", "showSkillSuccess", "disableMessage", "enableBuffAnim", "disableBuffAnim", "enableGainExp", "disableGainExp", "ignorecolors", "lang" }; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (activeChar.isInOlympiadMode() || activeChar.isInFunEvent() || activeChar.isInCombat()) { activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_NOT_ALLOWED_AT_THE_MOMENT)); return true; } if (command.startsWith("menu")) { showMainPage(activeChar); return true; } else if (command.startsWith("events")) { showEventPage(activeChar); return true; } else if (command.startsWith("showSkillSuccess")) { if(!Config.SHOW_SKILL_SUCCESS_CHANCE) activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_FORBIDEN_BY_ADMIN)); else activeChar.setShowSkillChance(!activeChar.isShowSkillChance()); showMainPage(activeChar); return true; } else if(command.equals("ignorecolors")) { boolean val = true; try { val = !activeChar.getCharacterData().getBool("ignorecolors"); activeChar.getCharacterData().set("ignorecolors",val); } catch(Exception e) { activeChar.getCharacterData().set("ignorecolors",val); } activeChar.sendMessage("Ignoring system colors "+(val?"endbled":"disabled")); } else if (command.startsWith("autoloot")) { if (!Config.ALLOW_AUTO_LOOT) { activeChar.notWorking(false); return true; } if (activeChar.isAutoLootEnabled()) { activeChar.enableAutoLoot(false); activeChar.sendMessage("AutoLoot is off."); } else { activeChar.enableAutoLoot(true); activeChar.sendMessage("AutoLoot is on"); } } else if (command.startsWith("enableTrade")) { activeChar.setTradeRefusal(false); showMainPage(activeChar); return true; } else if (command.startsWith("disableTrade")) { activeChar.setTradeRefusal(true); showMainPage(activeChar); return true; } else if (command.startsWith("enableOffKnow")) { if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE)) { activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE)); showMainPage(activeChar); return true; } activeChar.setKnowlistMode(true); showMainPage(activeChar); return true; } else if (command.startsWith("lang")) { activeChar.sendMessage(String.format(Message.getMessage(activeChar, Message.MessageId.MSG_CURRENT_LANG),HtmCache.getInstance().getLanguages().get(ac tiveChar.getLang()))); if(target!=null && target.length()>0) if(HtmCache.getInstance().getLanguages().containsKey(target)) { activeChar.setLang(target); activeChar.sendMessage(String.format(Message.getMessage(activeChar, Message.MessageId.MSG_CURRENT_LANG),HtmCache.getInstance().getLanguages().get(ac tiveChar.getLang()))); } } else if (command.startsWith("disableOffKnow")) { if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE)) { activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE)); showMainPage(activeChar); return true; } activeChar.setKnowlistMode(false); showMainPage(activeChar); return true; } else if (command.startsWith("enableAutoloot")) { if (Config.ALLOW_AUTO_LOOT) activeChar.enableAutoLoot(true); else activeChar.notWorking(false); showMainPage(activeChar); return true; } else if (command.startsWith("disableAutoloot")) { if (Config.ALLOW_AUTO_LOOT) activeChar.enableAutoLoot(false); else activeChar.notWorking(false); showMainPage(activeChar); return true; } else if (command.startsWith("enableGainExp")) { if (Config.ALLOW_USE_EXP_SET) activeChar.canGainExp(true); else activeChar.notWorking(false); showMainPage(activeChar); return true; } else if (command.startsWith("disableGainExp")) { if (Config.ALLOW_USE_EXP_SET) activeChar.canGainExp(false); else activeChar.notWorking(false); showMainPage(activeChar); return true; } else if (command.startsWith("enableMessage")) { activeChar.setMessageRefusal(false); showMainPage(activeChar); return true; } else if (command.startsWith("disableMessage")) { activeChar.setMessageRefusal(true); showMainPage(activeChar); return true; } else if (command.startsWith("enableBuffAnim")) { activeChar.setShowBuffAnim(true); showMainPage(activeChar); return true; } else if (command.startsWith("disableBuffAnim")) { activeChar.setShowBuffAnim(false); showMainPage(activeChar); return true; } return false; } private String getGainExpMode(L2PcInstance activeChar) { String result = "ON"; if (activeChar.canGainExp()) result = "OFF"; return result; } private String getBuffAnimMode(L2PcInstance activeChar) { String result = "OFF"; if (activeChar.ShowBuffAnim()) result = "ON"; return result; } private String getKnowListMode(L2PcInstance activeChar) { String result = "ON"; if (activeChar.showTraders()) result = "OFF"; return result; } private String getTradeMode(L2PcInstance activeChar) { String result = "OFF"; if (activeChar.getTradeRefusal()) result = "ON"; return result; } private String getMessageMode(L2PcInstance activeChar) { String result = "OFF"; if (activeChar.getMessageRefusal()) result = "ON"; return result; } private String getLootMode(L2PcInstance activeChar) { String result = "OFF"; if (activeChar.isAutoLootEnabled()) result = "ON"; return result; } private void showMainPage(L2PcInstance activeChar) { if(!Config.ALLOW_MENU) return; NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/menu.htm"); html.replace("%notraders%", getKnowListMode(activeChar)); html.replace("%notrade%", getTradeMode(activeChar)); html.replace("%autoloot%", getLootMode(activeChar)); html.replace("%nomsg%", getMessageMode(activeChar)); html.replace("%buffanim%", getBuffAnimMode(activeChar)); html.replace("%gainexp%", getGainExpMode(activeChar)); html.replace("%skillchance%",activeChar.isShowSkillChance()?"ON":"OFF"); activeChar.sendPacket(html); } private void showEventPage(L2PcInstance activeChar) { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/event_npc.htm"); html.replace("%tvt_state%", getEventStatus(0)); html.replace("%ctf_state%", getEventStatus(1)); html.replace("%lh_state%", getEventStatus(2)); html.replace("%dm_state%", getEventStatus(2)); activeChar.sendPacket(html); } private String getEventStatus(int event) { String result = "unknown"; int state = 0; try { switch (event) { case 0: state = TvT.getInstance().getState(); break; case 1: state = CTF.getInstance().getState(); break; case 2: state = LastHero.getInstance().getState(); break; case 3: state = DeathMatch.getInstance().getState(); break; } switch (state) { case 0: result = "Inactive"; break; case 1: result = "Active"; break; case 2: result = "Running"; break; } } catch(Exception e) { } return result; } public String getDescription(String command) { if(command.equals("menu")) return "Выводит меню команд."; return "Подробно в .menu"; } public String[] getVoicedCommandList() { return VOICED_COMMANDS; } public static void main(String [] args) { VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Configurator()); } } А вот импорты я под фрозен переписал но при компиляции ошибку пишет о том что ошибка в package handlers.voice; вот импорты как я переписал Скрытый текстpackage handlers.voice; import com.l2jfrozen.Config; import com.l2jfrozen.Message; import com.l2jfrozen.gameserver.cache.HtmCache; import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler; import com.l2jfrozen.gameserver.handler.VoicedCommandHandler; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.entity.event.CTF; import com.l2jfrozen.gameserver.model.entity.event.TvT; import com.l2jfrozen.gameserver.model.zone.L2Zone; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; hellow my friends . i want make this on the scripts. (Help) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты