if (bypass.startsWith("_bbsuser"))
{
String command = bypass.substring(9).trim();
String[] words = command.split("\\s+");
String[] word_split = words[0].split(";");
String word = word_split[0];
String args = command.substring(word.length()).trim();
if (word_split.length == 1) {
onBypassCommand(player, "_bbshome");
} else {
Util.communityNextPage(player, word_split[1]);
}
IVoicedCommandHandler vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(word);
if (vch != null)
{
vch.useVoicedCommand(word, player, args);
}
else
{
player.sendMessage("Oops, cannot find command!");
_log.warn("Unknow voiced command '" + word + "'");
}
return;
}
а ну тогда сори не понял не много суд вопросаЯ про интерфейс клиента говорю, а не серверная часть.
package org.mmocore.gameserver.network.l2.c2s;
import org.mmocore.gameserver.handler.admincommands.AdminCommandHandler;
import org.mmocore.gameserver.model.Player;
public class SendBypassBuildCmd extends L2GameClientPacket
{
private String _command;
@Override
protected void readImpl()
{
_command = readS();
if(_command != null)
_command = _command.trim();
}
@Override
protected void runImpl()
{
Player activeChar = getClient().getActiveChar();
if(activeChar == null)
return;
String cmd = _command;
if(!cmd.contains("admin_"))
cmd = "admin_" + cmd;
AdminCommandHandler.getInstance().useAdminCommandHandler(activeChar, cmd);
}
}
Такие байпасы на хф отрабатывают без проблем.. не помню точно в таком виде ли, но точно то, что RequestBypassToServer("bypass _bbshome"); у меня не работал, а RequestBypassToServer("_bbshome"); работал.но если мне к примеру нужно вызвать байпас такого содержания npc_%objectId%_multisell 002?
Всех приветствую. Встал вопрос. Как сделать вызов простых байпасов через интерфейс?
Все перепробовал но понимает только если шлются байпасы на комунку.
К примеру: RequestBypassToServer("bypass admin_admin");
Ничего не дает.
RequestBypassToServer("bypass _bbshome");
Вызывает комунку. Мне нужно к примеру вызвать админ панель, но как я только не пробовал ее вызвать с кнопки, никак не выходит. Можно к примеру пользоваться командами с чата, но если мне к примеру нужно вызвать байпас такого содержания npc_%objectId%_multisell 002?
Вот и сижу голову ломаю. И как в интерфейсе узнать objectId? Можно через таргет, а если нет в таргете этого НПЦ. Получается его надо брать в таргет и потом с таргета читать ID и вставлять. Но опять загвоздка. Байпасы не срабатывают.
есть еще файл настройки команд по уровень админаЯ в саму админку поставил кнопку. И прописал в нее команду. Не работает, даже в самой админке.
Потому что когда ты меняешь в interface.xdat "байпас на админку",оно ссылается на interface.u где собственно этот байпас и должен быть.(По типу Кб,или любого другого сделай).Просто так оно тебе не сработает,оно ищет путь в .u которого нету.Всех приветствую. Встал вопрос. Как сделать вызов простых байпасов через интерфейс?
Все перепробовал но понимает только если шлются байпасы на комунку.
К примеру: RequestBypassToServer("bypass admin_admin");
Ничего не дает.
RequestBypassToServer("bypass _bbshome");
Вызывает комунку. Мне нужно к примеру вызвать админ панель, но как я только не пробовал ее вызвать с кнопки, никак не выходит. Можно к примеру пользоваться командами с чата, но если мне к примеру нужно вызвать байпас такого содержания npc_%objectId%_multisell 002?
Вот и сижу голову ломаю. И как в интерфейсе узнать objectId? Можно через таргет, а если нет в таргете этого НПЦ. Получается его надо брать в таргет и потом с таргета читать ID и вставлять. Но опять загвоздка. Байпасы не срабатывают.
Ничего не понял. Я в xdat только кнопку создал. А дальше в u идет обработчик нажатия на эту кнопку. И что я должен сделать по типу КБ?Потому что когда ты меняешь в interface.xdat "байпас на админку",оно ссылается на interface.u где собственно этот байпас и должен быть.(По типу Кб,или любого другого сделай).Просто так оно тебе не сработает,оно ищет путь в .u которого нету.
Ну потому что кб изначально прописано в .u,а то что ты пытаешься сделать нет.Ничего не понял. Я в xdat только кнопку создал. А дальше в u идет обработчик нажатия на эту кнопку. И что я должен сделать по типу КБ?
Я просто пытаюсь чтобы сработал байпас с диалога- вот и все.
Есть еще такое применения байпасов EControlReturnType ControllerExecution( string strBypass );
Но и так не срабатывает. Это я так понял обработчик черз сам HTML к примеру я вывожу страницу с диалогом НПЦ, там я сделал кнопку - но при нажатии на нее ---> 0. Срабатывают только байпасы КБ. Остальные никак. А мне к примеру нужно по нажатия на кнопку открыть какой-то диалог или выполнить другой какой-то байпас.
в текстовом блоке название должно 100% совпадать с баттоном.Вниматльно проверьте,я когда делал 1 букву пропустил,и тоже не работало.Бред какой-то. Я тоже пытаюсь сделать в окне NPCDialogWnd. Оно тоже прописано и что-то не срабатывает. Так еще оно самое главное в обработке всех диалогов и байпасов в них- судя вашей логике оно вообще должно схватывать все сразу.
У вас не сработало скорее всего потому, что в u в обработчике было прописано другое название кнопки. А я имею ввиду сам байпас. Кнопка срабатывает и команду выполняет, но байпас не срабатывает. Вот что я пытаюсь сказать. В плане кнопок все нормально, все дело в байпасах НПЦ диалогов.в текстовом блоке название должно 100% совпадать с баттоном.Вниматльно проверьте,я когда делал 1 букву пропустил,и тоже не работало.
Я написал почему у меня не сработало,не нужно изобретать велосипед.Ладно,извините нету времени.У вас не сработало скорее всего потому, что в u в обработчике было прописано другое название кнопки. А я имею ввиду сам байпас. Кнопка срабатывает и команду выполняет, но байпас не срабатывает. Вот что я пытаюсь сказать. В плане кнопок все нормально, все дело в байпасах НПЦ диалогов.
повторюсь еще раз! вам нужно на сервере редачить пакет RequestBypassToServerДело не в админке. Я не могу ни один байпас заставить сработать. Даже от НПЦ. К примеру в диалогах чтобы перейти на другую страницу.
Прописывая напрямую %objectId% не срабатывает. Ноль- никаких движений. Если прописываю в сам диалог сразу %objectId% - то все нормально, а вот через интерфейс не хочет зараза.
Спасибо. Запустил другой сервер и посмотрел в нем все срабатывает- а в этом сервере у меня идет encrypt байпасов в BypassManager.повторюсь еще раз! вам нужно на сервере редачить пакет RequestBypassToServer
так как без его изменения просто так байпасы не попадут туда куда нужно!(при условии нормальной реализации)
когда сервер отправляете клиенту нтм %objectId% заменяется на объект ид нпц
почему не дойдёт?повторюсь еще раз! вам нужно на сервере редачить пакет RequestBypassToServer
так как без его изменения просто так байпасы не попадут туда куда нужно!(при условии нормальной реализации)
когда сервер отправляете клиенту нтм %objectId% заменяется на объект ид нпц
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?