Перейти к содержанию
Авторизация  
OrmJevil

Насмешки (Taunt) Солдата из игры Team Fortress 2

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

d5n506s-dc0925fc-2ca7-496e-9a1b-3c594b4a

Делал как то давно Король Говорит , Фразы царя Леонида из к\ф 300 спартанцев.

Но задумка была сделать насмешки , в итоге не было наката или времени .

Потом увидел случайно TF2 и понял что надо делать ;)

 

Внимание ! Модификация заменяет стандартные звуки ( Echo Crystal - 1st -10st Carol .)

Модификация несет развлекательный характер!

В архиве:

звуки в формате uax

иконка с анимацией  в формате utx (только размер 32х32)

tenor.gif.a74acda9363e0b5d44ad814e34f9e0

файлы для etcitemgrp.dat и itemname

Инструкция.

ID \ Название \Фраза

5562    Насмешка 1        Пора сообщать родственникам о смерти.
5563    Насмешка 2       Вы все ничтожества просто сборище трусов.
5564    Насмешка 3       Я вас всех с удовольствием поубиваю ничтожества.
5565    Насмешка 4       Вы только что подписали себе смертный приговоры! Дурни.
5566    Насмешка 5       Если бы господь хотел что бы вы жили он бы не создал меня.

5583    Насмешка 6       Я вам душу через горло выну!
5584    Насмешка 7       Вы все слабаки ,жалкие ничтожества!
5585    Насмешка 8       Всех вас сосунков отправят к маминькам в свинцовых гробах!
5586    Насмешка 9       Да мы вас уже окружили по крайне мере с этой стороны!
5587    Насмешка 10      Я в этой команде что-бы убивать таких дурней как вы!

 

Варианты использования данного мода (Продавать предметы в Ивент шопе, Добавить в дроп Мобам, Сделать Сундук, Сделать Квест.Ну и дальше на что хватит фантазии.)

Насмешки Солдата из игры Team Fortress 2 Для Серверов Lineage 2 Interlude.7z

  • Like 2
  • Upvote 1

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


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

А не проще просто положить в music подходящие ogg-файлы, криптанутые при помощи oggpatcher

или в voice - там вобще без крипта - обычные ogg'и, но не уверен что в клиенте интерлюда есть эта папка

после чего юзать их тупо вызовом через серверный пакет PlaySound - к примеру повесить на нужные предметы хэндлер, вызывающйи броадкаст этого пакета с нужным звуковым файлом из клиента.

Чисто для примера, использование подобного функционала для работы особых головных украшений - когда их одеваешь, то начинает играть музыка, снимаешь - перестает.

В данном случае просто вызывается по имени один из 3 ogg из папки music.

Спойлер

package listeners.items;

import gnu.trove.map.hash.TIntIntHashMap;
import l2p.gameserver.enums.SoundType;
import l2p.gameserver.listener.item.OnItemEquipListener;
import l2p.gameserver.model.Playable;
import l2p.gameserver.model.actor.listener.ItemListenerList;
import l2p.gameserver.model.items.ItemInstance;
import l2p.gameserver.network.s2c.PlaySound;
import l2p.gameserver.scripts.ScriptFile;
import l2p.gameserver.utils.Strings;

/**
 * @author Gaikotsu
 */
public class Headphone implements ScriptFile
{
	private static final String[] _music = {
		"br_music_Town",
		"br_music_Hero",
		"br_music_theme_park" };

	private static final ItemEquipListener _itemEquipListener = new ItemEquipListener();
	private static final TIntIntHashMap _items = new TIntIntHashMap();

	static
	{
		// item id, music id
		_items.put(20613, 0); // Headphone [Town Theme]
		_items.put(20614, 1); // Headphone [Hero Theme]
		_items.put(20615, 2); // Headphone [Theme Theme]
		_items.put(20616, 0); // Headphone [Town Theme: Great Adventurer's Soul Power (7-day)]
		_items.put(20617, 1); // Headphone [Hero Theme: Brave Warrior's Soul Power (7-day)]
		_items.put(20618, 2); // Headphone [Theme Park: Great Wizard's Soul Power (7-day)]
	};

	@Override
	public void onLoad()
	{
		ItemListenerList.addGlobal(_itemEquipListener);
	}

	@Override
	public void onReload()
	{
		ItemListenerList.removeGlobal(_itemEquipListener);
	}

	public static class ItemEquipListener implements OnItemEquipListener
	{
		@Override
		public void onEquip(ItemInstance item, Playable actor)
		{
			actor.sendPacket(new PlaySound(SoundType.MUSIC, _music[_items.get(item.getId())]));
		}

		@Override
		public void onUnequip(ItemInstance item, Playable actor)
		{
			actor.sendPacket(new PlaySound(SoundType.MUSIC, Strings.EMPTY));
		}

		@Override
		public boolean checkCondition(ItemInstance item)
		{
			return _items.containsKey(item.getId());
		}
	}
}

 

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, Gaikotsu сказал:

А не проще просто положить в music подходящие ogg-файлы, криптанутые при помощи oggpatcher

или в voice - там вобще без крипта - обычные ogg'и, но не уверен что в клиенте интерлюда есть эта папка

после чего юзать их тупо вызовом через серверный пакет PlaySound - к примеру повесить на нужные предметы хэндлер, вызывающйи броадкаст этого пакета с нужным звуковым файлом из клиента.

Чисто для примера, использование подобного функционала для работы особых головных украшений - когда их одеваешь, то начинает играть музыка, снимаешь - перестает.

В данном случае просто вызывается по имени один из 3 ogg из папки music.

  код (Показать контент)


package listeners.items;

import gnu.trove.map.hash.TIntIntHashMap;
import l2p.gameserver.enums.SoundType;
import l2p.gameserver.listener.item.OnItemEquipListener;
import l2p.gameserver.model.Playable;
import l2p.gameserver.model.actor.listener.ItemListenerList;
import l2p.gameserver.model.items.ItemInstance;
import l2p.gameserver.network.s2c.PlaySound;
import l2p.gameserver.scripts.ScriptFile;
import l2p.gameserver.utils.Strings;

/**
 * @author Gaikotsu
 */
public class Headphone implements ScriptFile
{
	private static final String[] _music = {
		"br_music_Town",
		"br_music_Hero",
		"br_music_theme_park" };

	private static final ItemEquipListener _itemEquipListener = new ItemEquipListener();
	private static final TIntIntHashMap _items = new TIntIntHashMap();

	static
	{
		// item id, music id
		_items.put(20613, 0); // Headphone [Town Theme]
		_items.put(20614, 1); // Headphone [Hero Theme]
		_items.put(20615, 2); // Headphone [Theme Theme]
		_items.put(20616, 0); // Headphone [Town Theme: Great Adventurer's Soul Power (7-day)]
		_items.put(20617, 1); // Headphone [Hero Theme: Brave Warrior's Soul Power (7-day)]
		_items.put(20618, 2); // Headphone [Theme Park: Great Wizard's Soul Power (7-day)]
	};

	@Override
	public void onLoad()
	{
		ItemListenerList.addGlobal(_itemEquipListener);
	}

	@Override
	public void onReload()
	{
		ItemListenerList.removeGlobal(_itemEquipListener);
	}

	public static class ItemEquipListener implements OnItemEquipListener
	{
		@Override
		public void onEquip(ItemInstance item, Playable actor)
		{
			actor.sendPacket(new PlaySound(SoundType.MUSIC, _music[_items.get(item.getId())]));
		}

		@Override
		public void onUnequip(ItemInstance item, Playable actor)
		{
			actor.sendPacket(new PlaySound(SoundType.MUSIC, Strings.EMPTY));
		}

		@Override
		public boolean checkCondition(ItemInstance item)
		{
			return _items.containsKey(item.getId());
		}
	}
}

 

В данном случае заменяли эхо кристаллы, поэтому и пакет звука родной. 

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


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

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

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

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

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

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

Войти

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

Войти
Авторизация  

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

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

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