Перейти к содержанию
hoske

Вставка ЛЛС помогитееее!!!

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

<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>

что не так я пишу куда что поставить при нажатии на кнопку ничего не открывается((((   хочу реализовать в комюнити боарб вставку гребаного лса как???????

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


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

Ну так ты тут вызваешь байпассы заточенные именно под вызов от нпс

Для вызова в коммунке необходимо написать новые, именно под нее.

Спойлер

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

 

 

Изменено пользователем Gaikotsu
  • Like 1

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


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

Кстати еще на тему более удобного вызова диалогов вставки/удаления ЛС я бы вобще так сделал - при простом клике на ЛС открывается диалог вставки, при клике с контролом - диалог удаления.

Спойлер

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

 

 

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


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

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

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

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

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

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

Войти

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

Войти

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

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

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