Перейти к содержанию
Авторизация  
GretresOo

Голосовая Команда В Шоп

Рекомендуемые сообщения

Добрый день я хотел спросить можно ли сделать что бы при нажатие на кнопку открывало нужную команду которую нужно вписывать в чат например .repair!

 

 

Например

bypass -h npc_%objectId%_multisell 

это для мультисела а мне нужно для функций чата)

Изменено пользователем GretresOo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день я хотел спросить можно ли сделать что бы при нажатие на кнопку открывало нужную команду которую нужно вписывать в чат например .repair!

Очередной травокур, где вы такую дурь берете, поделитесь...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очередной травокур, где вы такую дурь берете, поделитесь...

ахахахахахаха, секрет фирмы. Изменено пользователем Faust94

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сделать можно, притом не особо сложно, вопрос зачем?

Скажите пожалуйста как сделать я просто хочу добавить в шоп восстановление чара и там есть еще пару команд!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

bypass -h user_whoami

 

Так будет выглядеть .whoami. Но это надо смотреть еще на то, как у тебя это реализовано. У меня все окей :)

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скажите пожалуйста как сделать я просто хочу добавить в шоп восстановление чара и там есть еще пару команд!

 

Вкратце, создается новый тип нпц, в него прописываются необходимые байпасы, к байпасам цепляем содержимое необходимого хендлера войс-команды.

И дописываем новый тип в статы нпц.

И создаем хтмл для этого нпц со строками

 

bypass -h npc_%objectId%_ИМЯБАЙПАСА

Изменено пользователем BrainEater
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вкратце, создается новый тип нпц, в него прописываются необходимые байпасы, к байпасам цепляем содержимое необходимого хендлера войс-команды.

И дописываем новый тип в статы нпц.

И создаем хтмл для этого нпц со строками

 

bypass -h npc_%objectId%_ИМЯБАЙПАСА

 

Воу, воу, почему так сложно?) Я конечно с ИТ не знаком, но вроде ТС ничего про ИТ и не писал. А Вы вообще профи по ГОД. Уверен, что там можно сделать так, как я писал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А при чём тут ИТ? Я говорю про проверенный мной способ, но никак не оспариваю Ваши методы.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А при чём тут ИТ? Я говорю про проверенный мной способ, но никак не оспариваю Ваши методы.

 

ИТ? Потому что мне кажется, что там все таки реализация на уровне ядра выполнена немного по-другому.

 

Ваши методы тоже не оспариваю, накапливаю для себе тоже что-то новое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вкратце, создается новый тип нпц, в него прописываются необходимые байпасы, к байпасам цепляем содержимое необходимого хендлера войс-команды.

И дописываем новый тип в статы нпц.

И создаем хтмл для этого нпц со строками

 

bypass -h npc_%objectId%_ИМЯБАЙПАСА

 

Хотя нет, все таки это изобретение велосипеда, как по мне. Что-то мне подсказывает, что на любых исходах доступ к войс командам делается через bypass...

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример хендлера и инстанса нпц для проверки лвла хелбаунда допустим:

 

Хендлер:

 

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());
 }
}
}

 

Вроде не сильно наизобретался?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример хендлера и инстанса нпц для проверки лвла хелбаунда допустим:

 

Хендлер:

 

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 + "'");

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...