Ping1116 1 Опубликовано 19 апреля, 2014 Когда ввожу в чате .whoiam не открывается окно со статами, а просто выводится в чат ".whoiam". В чем проблема? package com.l2jfrozen.gameserver.handler.voicedcommandhandlers; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler; import com.l2jfrozen.gameserver.handler.VoicedCommandHandler; import com.l2jfrozen.gameserver.skills.Formulas; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; /** * * @author adm */ public class whoiam implements IVoicedCommandHandler { public String getDescription(String command) { return "Дополнительная информация об игровом персонаже"; } private static final String[] _voicedCommands = { "whoiam" }; @Override public String[] getVoicedCommandList() { return new String[] {"whoiam"}; } @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if(activeChar!=null) { String html = ""; html+=" Персонаж "+activeChar.getName()+" "; html+=""; html+=""; html+=""; html+=""; html+=" HP regen. "+String.format("%3.2f", Formulas.calcHpRegen(activeChar))+" MP regen. "+String.format("%3.2f", Formulas.calcMpRegen(activeChar))+" СP regen. "+String.format("%3.2f", Formulas.calcCpRegen(activeChar))+" Уворот "+String.format("%3d", activeChar.getEvasionRate(activeChar))+" Сопротивления"; html+=" "; NpcHtmlMessage msg = new NpcHtmlMessage(5); msg.setHtml(html); activeChar.sendPacket(msg); } return false; } public static void main(String [] args) { VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new whoiam()); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexD 36 Опубликовано 19 апреля, 2014 1. Зарегистрировали ли вы свой хендлер 2. Нету проверки что вводит игрок в чат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
dislike 302 Опубликовано 19 апреля, 2014 1. Зарегистрировали ли вы свой хендлер 2. Нету проверки что вводит игрок в чат Наверняка просто конфиг не включил Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexD 36 Опубликовано 19 апреля, 2014 Наверняка просто конфиг не включил А я думаю он все таки не зарегистрировал в VoicedCommandHandler.java свой хендлер, в результате он не загрузился и не работает. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ping1116 1 Опубликовано 19 апреля, 2014 Хэндлер зарегал. Так? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexD 36 Опубликовано 19 апреля, 2014 Хэндлер зарегал. Так? Практически, это вы просто добавили в импорт (тоже нужно) а регистрировать надо так: registerVoicedCommandHandler(new whoiam()); Надеюсь найдете где нужно вставить. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ping1116 1 Опубликовано 19 апреля, 2014 Это я тоже сделал. скрин Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexD 36 Опубликовано 19 апреля, 2014 Config.ALLOW_WHOIAM_COMMAND если указали, значит в Config.java загрузку и обработку с файла конфига сделали ? Если да и в конфиге включено, запускайте и проверяйте. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ping1116 1 Опубликовано 19 апреля, 2014 Все сделал. Не работает почему-то. скрин Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexD 36 Опубликовано 19 апреля, 2014 У вас в конфиге AllowWhoiamCommand= Сервер не видит эту строку и берет значение по стандарту (Config.java) а оно там false. вот и не активировано. Сделайте там пробел. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ping1116 1 Опубликовано 19 апреля, 2014 Все поправил. Все равно не работает. Может дело в самом классе whoiam? Или то, что команда возвращается в чат, значит, что она не зарегистрирована? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты