hoske 117 Опубликовано 8 марта <td><button value="Вставить ЛС" action="bypass -h npc_%objectId&_Augment 1" width=114 height=29 back=L2UI_CH3.bigbutton2_down fore=L2UI_CH3.bigbutton2></td> <td><button value="Удалить ЛС" action="bypass -h npc_%objectId&_Augment 2" width=114 height=29 back=L2UI_CH3.bigbutton2_down fore=L2UI_CH3.bigbutton2></td> что не так я пишу куда что поставить при нажатии на кнопку ничего не открывается(((( хочу реализовать в комюнити боарб вставку гребаного лса как??????? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 8 марта (изменено) Ну так ты тут вызваешь байпассы заточенные именно под вызов от нпс Для вызова в коммунке необходимо написать новые, именно под нее. Спойлер package handler.commands.community; import l2p.gameserver.config.OtherConfig; import l2p.gameserver.model.Player; import l2p.gameserver.network.components.SystemMsg; import l2p.gameserver.network.s2c.ensoul.ExEnsoulExtractionShow; import l2p.gameserver.network.s2c.ensoul.ExShowEnsoulWindow; import l2p.gameserver.network.s2c.upgradesystem.ExShowUpgradeSystem; import l2p.gameserver.network.s2c.variation.ExShowVariationCancelWindow; import l2p.gameserver.network.s2c.variation.ExShowVariationMakeWindow; import l2p.gameserver.utils.Strings; /** * @author Gaikotsu */ public class CommunityOther extends ScriptCommunityCommand { private String[] _commands = new String[] { "_aug_add", "_aug_del", "_upgrade_equipment", "_ensoul_add", "_ensoul_del" }; @Override public String[] getCommands() { return _commands; } @Override public void useCommand(Player player, String bypass) { if (!checkConditions(player) || !player.isInPeaceZone()) return; String[] params = bypass.split(";"); String name = params.length > 0 ? params[0] : Strings.EMPTY; String page = params.length > 1 ? params[1] : Strings.EMPTY; if (name.equalsIgnoreCase("_aug_add")) { player.sendPacket(SystemMsg.SELECT_THE_ITEM_TO_BE_AUGMENTED, ExShowVariationMakeWindow.STATIC); } else if (name.equalsIgnoreCase("_aug_del")) { player.sendPacket(SystemMsg.SELECT_THE_ITEM_FROM_WHICH_YOU_WISH_TO_REMOVE_AUGMENTATION, ExShowVariationCancelWindow.STATIC); } else if (name.equalsIgnoreCase("_upgrade_equipment")) { player.sendPacket(ExShowUpgradeSystem.SHOW); } else if (name.equalsIgnoreCase("_ensoul_add")) { player.sendPacket(ExShowEnsoulWindow.STATIC); } else if (name.equalsIgnoreCase("_ensoul_del")) { if (!OtherConfig.ALLOW_ENSOUL_STONE_EXTRACTION) { player.sendPacket(SystemMsg.NOT_WORKING__PLEASE_TRY_AGAIN_LATER); return; } player.sendPacket(ExEnsoulExtractionShow.STATIC); } if (!page.isEmpty()) showPage(page, player); } } Изменено 8 марта пользователем Gaikotsu 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 10 марта Кстати еще на тему более удобного вызова диалогов вставки/удаления ЛС я бы вобще так сделал - при простом клике на ЛС открывается диалог вставки, при клике с контролом - диалог удаления. Спойлер package handler.items; import l2p.commons.collections.CollectionUtils; import l2p.gameserver.data.holder.VariationDataHolder; import l2p.gameserver.model.Playable; import l2p.gameserver.model.Player; import l2p.gameserver.model.items.ItemInstance; import l2p.gameserver.network.c2s.variation.AbstractVariationPacket; import l2p.gameserver.network.components.SystemMsg; import l2p.gameserver.network.s2c.variation.*; /** * @author Gaikotsu */ public class LifeStones extends ScriptItemHandler { @Override public final int[] getItemIds() { return CollectionUtils.toArray(VariationDataHolder.getInstance().getStones().keySet()); } @Override public boolean useItem(Playable playable, ItemInstance item, boolean ctrl) { if (playable == null || !playable.isPlayer()) return false; Player player = (Player) playable; if (!AbstractVariationPacket.isValid(player)) return false; if (!player.checkNextActionUseTime("useLifeStone", 1000L)) return false; if (!ctrl) player.sendPacket(SystemMsg.SELECT_THE_ITEM_TO_BE_AUGMENTED, ExShowVariationMakeWindow.STATIC); else player.sendPacket(SystemMsg.SELECT_THE_ITEM_FROM_WHICH_YOU_WISH_TO_REMOVE_AUGMENTATION, ExShowVariationCancelWindow.STATIC); return true; } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты