GretresOo 161 Опубликовано 23 июля, 2013 (изменено) Добрый день я хотел спросить можно ли сделать что бы при нажатие на кнопку открывало нужную команду которую нужно вписывать в чат например .repair! Например bypass -h npc_%objectId%_multisell это для мультисела а мне нужно для функций чата) Изменено 23 июля, 2013 пользователем GretresOo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
OnaHa 46 Опубликовано 23 июля, 2013 Добрый день я хотел спросить можно ли сделать что бы при нажатие на кнопку открывало нужную команду которую нужно вписывать в чат например .repair! Очередной травокур, где вы такую дурь берете, поделитесь... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Faust94 12 Опубликовано 23 июля, 2013 (изменено) Очередной травокур, где вы такую дурь берете, поделитесь... ахахахахахаха, секрет фирмы. Изменено 23 июля, 2013 пользователем Faust94 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 23 июля, 2013 сделать можно, притом не особо сложно, вопрос зачем? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GretresOo 161 Опубликовано 23 июля, 2013 сделать можно, притом не особо сложно, вопрос зачем? Скажите пожалуйста как сделать я просто хочу добавить в шоп восстановление чара и там есть еще пару команд! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BORDIR 62 Опубликовано 23 июля, 2013 bypass -h user_whoami Так будет выглядеть .whoami. Но это надо смотреть еще на то, как у тебя это реализовано. У меня все окей 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 23 июля, 2013 (изменено) Скажите пожалуйста как сделать я просто хочу добавить в шоп восстановление чара и там есть еще пару команд! Вкратце, создается новый тип нпц, в него прописываются необходимые байпасы, к байпасам цепляем содержимое необходимого хендлера войс-команды. И дописываем новый тип в статы нпц. И создаем хтмл для этого нпц со строками bypass -h npc_%objectId%_ИМЯБАЙПАСА Изменено 23 июля, 2013 пользователем BrainEater 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BORDIR 62 Опубликовано 23 июля, 2013 Вкратце, создается новый тип нпц, в него прописываются необходимые байпасы, к байпасам цепляем содержимое необходимого хендлера войс-команды. И дописываем новый тип в статы нпц. И создаем хтмл для этого нпц со строками bypass -h npc_%objectId%_ИМЯБАЙПАСА Воу, воу, почему так сложно?) Я конечно с ИТ не знаком, но вроде ТС ничего про ИТ и не писал. А Вы вообще профи по ГОД. Уверен, что там можно сделать так, как я писал. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 23 июля, 2013 А при чём тут ИТ? Я говорю про проверенный мной способ, но никак не оспариваю Ваши методы. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BORDIR 62 Опубликовано 23 июля, 2013 А при чём тут ИТ? Я говорю про проверенный мной способ, но никак не оспариваю Ваши методы. ИТ? Потому что мне кажется, что там все таки реализация на уровне ядра выполнена немного по-другому. Ваши методы тоже не оспариваю, накапливаю для себе тоже что-то новое. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BORDIR 62 Опубликовано 23 июля, 2013 Вкратце, создается новый тип нпц, в него прописываются необходимые байпасы, к байпасам цепляем содержимое необходимого хендлера войс-команды. И дописываем новый тип в статы нпц. И создаем хтмл для этого нпц со строками bypass -h npc_%objectId%_ИМЯБАЙПАСА Хотя нет, все таки это изобретение велосипеда, как по мне. Что-то мне подсказывает, что на любых исходах доступ к войс командам делается через bypass... 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 23 июля, 2013 Пример хендлера и инстанса нпц для проверки лвла хелбаунда допустим: Хендлер: public class Hellbound extends Functions implements IVoicedCommandHandler { private final String[] _commandList = new String[]{"hellbound"}; @Override public String[] getVoicedCommandList() { return _commandList; } @Override public boolean useVoicedCommand(String command, Player activeChar, String target) { if(command.equals("hellbound")) { activeChar.sendMessage("Hellbound level: " + HellboundManager.getHellboundLevel()); activeChar.sendMessage("Confidence: " + HellboundManager.getConfidence()); } return false; } } Тип: public class TestInstance extends NpcInstance { public TestInstance(int objectId, NpcTemplate template) { super(objectId, template); } public void onBypassFeedback(Player activeChar, String command) { if(!canBypassCheck(player, this)) { return; } if(command.startsWith("hellbound")) { activeChar.sendMessage("Hellbound level: " + HellboundManager.getHellboundLevel()); activeChar.sendMessage("Confidence: " + HellboundManager.getConfidence()); } } } Вроде не сильно наизобретался? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BORDIR 62 Опубликовано 23 июля, 2013 Пример хендлера и инстанса нпц для проверки лвла хелбаунда допустим: Хендлер: public class Hellbound extends Functions implements IVoicedCommandHandler { private final String[] _commandList = new String[]{"hellbound"}; @Override public String[] getVoicedCommandList() { return _commandList; } @Override public boolean useVoicedCommand(String command, Player activeChar, String target) { if(command.equals("hellbound")) { activeChar.sendMessage("Hellbound level: " + HellboundManager.getHellboundLevel()); activeChar.sendMessage("Confidence: " + HellboundManager.getConfidence()); } return false; } } Тип: public class TestInstance extends NpcInstance { public TestInstance(int objectId, NpcTemplate template) { super(objectId, template); } public void onBypassFeedback(Player activeChar, String command) { if(!canBypassCheck(player, this)) { return; } if(command.startsWith("hellbound")) { activeChar.sendMessage("Hellbound level: " + HellboundManager.getHellboundLevel()); activeChar.sendMessage("Confidence: " + HellboundManager.getConfidence()); } } } Вроде не сильно наизобретался? Если и не велосипед, то костыль точно. Дальнейшего развития у этого пути нету. RequestBypassToServer.java else if(bp.bypass.startsWith("user_")) { String command = bp.bypass.substring(5).trim(); String word = command.split("\\s+")[0]; String args = command.substring(word.length()).trim(); IVoicedCommandHandler vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(word); if(vch != null) vch.useVoicedCommand(word, activeChar, args); else _log.warn("Unknow voiced command '" + word + "'"); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 23 июля, 2013 Okay( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты