Сундук с сокровищами - Страница 2 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Описание темы:шанс

Ответ
Опции темы
Непрочитано 17.01.2011, 12:24   #11
Аватар для MROBAR
Постоялец

По умолчанию Re: Сундук с сокровищами

В скиле ничего не висит ... ну ток шанст прохода , требуемые вещи , мп , и т.д ... это реально по ходу в ядре ... ну я ещё поищу , отпишусь
__________________
MROBAR вне форума Ответить с цитированием
Непрочитано 17.01.2011, 12:55   #12
Пользователь

Автор темы (Топик Стартер) Re: Сундук с сокровищами

Cборка l2j server. По ядру кто может подробнее объяснить?
zeta вне форума Ответить с цитированием
Непрочитано 17.01.2011, 16:51   #13
Герой

По умолчанию Re: Сундук с сокровищами

\data\scripts\handlers\skillhandlers\Unlock.java <--тут сия скилтайп
Код:
private static final boolean chestUnlock(L2Skill skill, L2Character chest)
	{
		int chance = 0;
		if (chest.getLevel() > 60)
		{
			if (skill.getLevel() < 10)
				return false;
			
			chance = (skill.getLevel() - 10) * 5 + 30;
		}
		else if (chest.getLevel() > 40)
		{
			if (skill.getLevel() < 6)
				return false;
			
			chance = (skill.getLevel() - 6) * 5 + 10;
		}
		else if (chest.getLevel() > 30)
		{
			if (skill.getLevel() < 3)
				return false;
			if (skill.getLevel() > 12)
				return true;
			
			chance = (skill.getLevel() - 3) * 5 + 30;
		}
		else
		{
			if (skill.getLevel() > 10)
				return true;
			
			chance = skill.getLevel() * 5 + 35;
		}
		
		chance = Math.min(chance, 50);
		return Rnd.get(100) < chance;
	}
это метод открытия сундука, тут же шанс, остальное дело ваших рук=)
incognito вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 17.01.2011, 18:53   #14
Пользователь

Автор темы (Топик Стартер) Re: Сундук с сокровищами

Задам еще оди вопрос к знатокам. Где указан id самой заточки которая падает при использовании скила унлук?
zeta вне форума Ответить с цитированием
Непрочитано 17.01.2011, 21:30   #15
Герой

По умолчанию Re: Сундук с сокровищами

Цитата:
Сообщение от zeta Посмотреть сообщение
Задам еще оди вопрос к знатокам. Где указан id самой заточки которая падает при использовании скила унлук?
в дроплисте под них все, потому что в сундуковом инстансе
Код:
public void onSpawn()
	{
		super.onSpawn();
		_isInteracted = false;
		_specialDrop = false;
		setMustRewardExpSp(true);
	}
....
public void doItemDrop(L2NpcTemplate npcTemplate, L2Character lastAttacker)
	{
		int id = getTemplate().npcId;
		
		if (!_specialDrop)
		{
			if (id >= 18265 && id <= 18286)
				id += 3536;
			else if (id == 18287 || id == 18288)
				id = 21671;
			else if (id == 18289 || id == 18290)
				id = 21694;
			else if (id == 18291 || id == 18292)
				id = 21717;
			else if (id == 18293 || id == 18294)
				id = 21740;
			else if (id == 18295 || id == 18296)
				id = 21763;
			else if (id == 18297 || id == 18298)
				id = 21786;
		}
		
		super.doItemDrop(NpcTable.getInstance().getTemplate(id),lastAttacker);
	}
а сия метод идет от
Код:
	public void doItemDrop(L2NpcTemplate npcTemplate, L2Character lastAttacker)
	{
		if (lastAttacker == null)
			return;
		
		L2PcInstance player = lastAttacker.getActingPlayer();
		
		// Don't drop anything if the last attacker or owner isn't L2PcInstance
		if (player == null)
			return;
		
		// level modifier in %'s (will be subtracted from drop chance)
		int levelModifier = calculateLevelModifierForDrop(player);
		
		CursedWeaponsManager.getInstance().checkDrop(this, player);
		
		// now throw all categorized drops and handle spoil.
		if (npcTemplate.getDropData()!=null)
		{
			for(L2DropCategory cat:npcTemplate.getDropData())
			{
				RewardItem item = null;
				if (cat.isSweep())
				{
					// according to sh1ny, seeded mobs CAN be spoiled and swept.
					if ( isSpoil()/* && !isSeeded() */)
					{
						FastList<RewardItem> sweepList = new FastList<RewardItem>();
						
						for(L2DropData drop: cat.getAllDrops() )
						{
							item = calculateRewardItem(player, drop, levelModifier, true);
							if (item == null)
								continue;
							
							if (Config.DEBUG)
								_log.fine("Item id to spoil: " + item.getItemId() + " amount: " + item.getCount());
							sweepList.add(item);
						}
						// Set the table _sweepItems of this L2Attackable
						if (!sweepList.isEmpty())
							_sweepItems = sweepList.toArray(new RewardItem[sweepList.size()]);
					}
				}
...
что и говорит мне о дроплисте
incognito вне форума Ответить с цитированием
Сказали спасибо:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 18:02. Часовой пояс GMT +3.

Вверх