NerfPl0x 38 Опубликовано 4 марта, 2013 возможно ли осуществление команды .delevel на сборке фрозен ? Создал класс по мануалу, поменяв импорты package com.l2jfrozen.gameserver.handler.voicedcommandhandlers; import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.base.Experience; /** * @author Intrepid */ public class delevel implements IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = {"delevel"}; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (command.equalsIgnoreCase("delevel")) { activeChar.destroyItemByItemId("Consume", 57, 5000, activeChar, true); activeChar.getStat().removeExpAndSp((activeChar.getExp() - Experience.LEVEL[activeChar.getStat().getLevel() - 1]), 0); } return true; } public String[] getVoicedCommandList() { return VOICED_COMMANDS; } } Но в игре не реагирует на команду делевел, просто пишет её в чат. В чем беда ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
inFA 19 Опубликовано 4 марта, 2013 регистрируй войс команду в хандлере VoicedCommadHandler.java оькрой и поймешь м 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NerfPl0x 38 Опубликовано 4 марта, 2013 регистрируй войс команду в хандлере VoicedCommadHandler.java оькрой и поймешь м Ну добавил + импорт класса delevel, скомпилю и посмотрю ) Спасибку тыкнул:3 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NerfPl0x 38 Опубликовано 4 марта, 2013 Команда вроде как заработала , но эффекта нету. Т.е. пишу .delevel , в чате команду не видно и лвл не опускает. Думаю проблема в импорте, т.к. не было класса "Experience", его нашел у фрозенов на сайте и создал сам. Есть ещё предположения ?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NerfPl0x 38 Опубликовано 4 марта, 2013 Ещё еклипс ругается на public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) И public String[] getVoicedCommandList() Поможет кто ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 4 марта, 2013 над методом надо добавить @Override 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
inFA 19 Опубликовано 4 марта, 2013 посмотри по схожей войс команде какой там метод используется и там не через experince во фрозенах а чз ExperienceData или как то так не помню просто как вариант залезь в L2Rebirth там есть метод понижения лвла 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NerfPl0x 38 Опубликовано 4 марта, 2013 (изменено) над методом надо добавить @Override Помогло, наконец то работает )) Если кому нужно для фрозена /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ package com.l2jfrozen.gameserver.handler.voicedcommandhandlers; import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.base.Experience; /** * @author Intrepid */ public class delevel implements IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = {"delevel"}; @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (command.equalsIgnoreCase("delevel")) { activeChar.destroyItemByItemId("Consume", 57, 0, activeChar, true); activeChar.getStat().removeExpAndSp((activeChar.getExp() - Experience.LEVEL[activeChar.getStat().getLevel() - 1]), 0); } return true; } @Override public String[] getVoicedCommandList() { return VOICED_COMMANDS; } } Изменено 4 марта, 2013 пользователем cyber900 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Den4ik 103 Опубликовано 4 марта, 2013 вопрос... Пока я нуб в ядре, что значит "@Override" над методом Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 4 марта, 2013 вопрос... Пока я нуб в ядре, что значит "@Override" над методом Это анотация она даёт компилятору знать что метод переоприделён Не забываем ставить + 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты