Показать сообщение отдельно
Непрочитано 28.06.2013, 13:44   #21
Аватар для Mifesto
Пользователь

По умолчанию Re: Совместимость Rguard И Lindvior

Код:
/**
	 * Бафает один бафф, снимает плату за бафф, отображает диалог с кнопкой возврата к списку бафов
	 * @param args массив строк: элемент 0 - id скида, элемент 1 - уровень скила
	 */
	public void doBuff(String[] args)
	{
		Player player = (Player) getSelf();
		Summon pet = player.getSummonList().getPet();
		NpcInstance npc = getNpc();
 
		if(!checkCondition(player, npc))
			return;
 
		if(player.getAdena() < Config.SERVICES_BUFFER_PRICE)
		{
			player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
			return;
		}
 
		try
		{
			int skill_id = Integer.valueOf(args[0]);
			int skill_lvl = Integer.valueOf(args[1]);
			
			
			if(!contains(skill_id, skill_lvl))
			{
				// По желанию сообщение что игрок изменил байпас.
				return;
			}
			
			int select_id = Integer.valueOf(args[2]);
			Skill skill = SkillTable.getInstance().getInfo(skill_id, skill_lvl);
			if(select_id == 0)
				ThreadPoolManager.getInstance().schedule(new BeginBuff(getNpc(), skill, player), 0);
			if(select_id == 1)
			{
				if(pet == null)
					return;
 
				ThreadPoolManager.getInstance().schedule(new BeginPetBuff(getNpc(), skill, pet), 0);
			}
			player.reduceAdena(Config.SERVICES_BUFFER_PRICE, true);
		}
		catch(Exception e)
		{
			player.sendMessage("Такого баффа у меня нет!");
		}
			show("scripts/services/Buffer/buffschar1.htm", player);
	}
	
	pulic boolean contains(int skillId, int skillLevel)
	{
		for(int[] skill : buffs)
			if(skill[0] == skillId && skill[0] == skillLevel)	
				return true;
		return false;
	}
примерно так.
Mifesto вне форума Отправить сообщение для Mifesto с помощью ICQ Ответить с цитированием
Сказали спасибо: