Команда через кнопку в КБ \ склад через КБ

fruit_131

Знающий
Участник
Сообщения
95
Розыгрыши
0
Решения
4
Репутация
0
Реакции
23
Баллы
410
Хроники
  1. Shadow of the Kamael
Исходники
Присутствуют
Сборка
Mobius
Доброго времени суток
Возможно ли привязать к кнопке в комьюнити борде команду? Например .expoff или .premium или какую угодно другую. Что бы можно было нажать на кнопку и это было равносильно написанной команде в чате. И если возможно, то как это сделать?
И так же интересует как открыть склад через кнопку.
Если покажите примеры, то вообще будет супер! Спасибо за внимание
 
Доброго времени суток
Возможно ли привязать к кнопке в комьюнити борде команду? Например .expoff или .premium или какую угодно другую. Что бы можно было нажать на кнопку и это было равносильно написанной команде в чате. И если возможно, то как это сделать?
И так же интересует как открыть склад через кнопку.
Если покажите примеры, то вообще будет супер! Спасибо за внимание
bypass -h user_whoami
 
"sent not handled RequestBypassToServer: [user_whoami]"
Вам намекают на то, что нужно реализовать сначала механику данного запроса.
Вызывать голосовые команды из кнопок можно посредством реализации простого скрипта - к примеру сервиса чей байпасс можно вызывать из коммунки - а внутрь него уже дописываем вызов команды. (Это если не хватает знаний дописать механику в ядре.)
 
Код:
package handler.commands.community;

import l2p.gameserver.handler.commands.IVoicedCommandHandler;
import l2p.gameserver.handler.commands.VoicedCommandHandler;
import l2p.gameserver.model.Player;

/**
 * @author Gaikotsu
 */
public class CommunityVoiced extends ScriptCommunityCommand
{
    private String[] _commands = new String[] { "_voiced" };

    @Override
    public String[] getCommands()
    {
        return _commands;
    }

    @Override
    public void useCommand(Player player, String bypass)
    {
        if (!checkConditions(player))
            return;

        String[] params = bypass.split(";");

        if (params.length < 3)
        {
            warn("CommunityBoard [Voiced]: Error in requested command [" + bypass + "].");
            return;
        }

        String page = params[1];
        String cmd = params[2];

        if (page.isEmpty() || cmd.isEmpty())
        {
            warn("CommunityBoard [Voiced]: Error in requested command [" + bypass + "].");
            return;
        }

        IVoicedCommandHandler handler = VoicedCommandHandler.getInstance().getHandler(cmd);

        if (!page.equalsIgnoreCase("none"))
            showPage(page, player);

        if (handler != null)
            handler.useCommand(player, cmd, null);
        else
            player.sendPopupMessage("Команда не найдена.");
    }
}
после чего можно вызывать войсед-команды байпасами типа
Код:
_voiced;page;command
command - вызываемая команда, page - какую страницу в коммунке открыть после вызова команды.
 
Кстати у меня на самом деле скрипт немного более полный и добавляет в коммунку еще один функционал - автоматическую генерацию и показ списка войседов с их описаниями :)
Для этого просто в хэндлерах войседов добавлен метод, возвращающий описание команд.

 
Последнее редактирование:
Назад
Сверху Снизу