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

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 11.03.2012, 20:37   #1
Аватар для finfan
fin-ex.corp

Автор темы (Топик Стартер) Новый стат

Интересует вопрос, где лопатить, чтобы создать новый стат аля "pDefSpec"
и т.д.
копал в L2Character, Formulas, Stats, куда еще мои кривые руки должны залезть?
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 11.03.2012, 20:40   #2
Аватар для Azagthtot
Эксперт

По умолчанию Re: Новый стат

в Stats и туда, где вы будете его использовать.
Azagthtot вне форума Отправить сообщение для Azagthtot с помощью ICQ Отправить сообщение для Azagthtot с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 11.03.2012, 21:40   #3
Аватар для finfan
fin-ex.corp

Автор темы (Топик Стартер) Re: Новый стат

Семпай, а вот наприме элементарный стат pDef, который мы используем в .xml, где он прописывается? как ява понимает, что pDef увеличивает именно pDef персонажа, т.е. это.. я немогу выразить правильно свою мысль =(.

Как персонаж получает защиту от простой грубо говоря строчки вписанной в .xml? как эта строчка. скажем:
<mul order="0x50" stat="pDef" val="1.1">
она увеличит защиту на 10% от той, которую мы имеем. А вот как где прпоисывается это высчитывание?, лазил в формулах, нашел там фанк PDEF, является ли он "родоначальником" нашего стата котоырй мы пишем в .xml...

Я создаю стат, который увеличивал бы мне физ. защиту на n% от физ. атаки. например создаю скил увеличивающий физ. деф на 30% от 100% физ. атаки.
<mul order="0x50" stat="pDefSpec" val="30"/>
следовательно если в строчке вал будет число 150, значит физ. деф увеличится на 150% от физ атаки.

Вроде бы и расчеты приготовил, что как делится, ан что умножается, чтобы получить проценты, но не понимаю как правильно и куда вписать pDefSpec, в статы внес, а дальше тупик.

извените за такой конченный текст, я не знаю как более доступно можно охарактеризовать "это"

Т_Т
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 11.03.2012, 21:42   #4
Аватар для Azagthtot
Эксперт

По умолчанию Re: Новый стат

в формулу рассчета физзащиты вписывайте.
Azagthtot вне форума Отправить сообщение для Azagthtot с помощью ICQ Отправить сообщение для Azagthtot с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 12.03.2012, 00:33   #5
Аватар для finfan
fin-ex.corp

Автор темы (Топик Стартер) Re: Новый стат

Чтобы приступить к работе, я все таки удостоверюсь точно:

Код:
	static class FuncPDefMod extends Func
	{
		static final FuncPDefMod _fmm_instance = new FuncPDefMod();
		
		static Func getInstance()
		{
			return _fmm_instance;
		}

		private FuncPDefMod()
		{
			super(Stats.POWER_DEFENCE, 0x20, null);
				 
		}
		
		@Override
		public void calc(Env env)
		{
			if(env.player instanceof L2PcInstance)
			{
				L2PcInstance p = (L2PcInstance) env.player;
				boolean hasMagePDef = (p.getClassId().isMage() || p.getClassId().getId() == 0x31); // orc mystics are a special case
				if (p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_HEAD) != null)
					env.value -= 12;
				L2ItemInstance chest = p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST);
				if (chest != null)
					env.value -= hasMagePDef ? 15 : 31;
				if (p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS) != null || (chest != null && chest.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR))
					env.value -= hasMagePDef ? 8 : 18;
				if (p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES) != null)
					env.value -= 8;
				if (p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET) != null)
					env.value -= 7;
			}
			if(env.player instanceof L2PcInstance)
			{
			
			}
			env.value *= env.player.getLevelMod();
		}
	}
В эту формулу необходимо вносить?
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 12.03.2012, 08:49   #6
Аватар для Azagthtot
Эксперт

По умолчанию Re: Новый стат

в формулу вносить ничего не надо. А вот в алгоритм вычисления - да.
ищем метод getPDef() в CharStats
Azagthtot вне форума Отправить сообщение для Azagthtot с помощью ICQ Отправить сообщение для Azagthtot с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новый стат MarshalRotar Lineage II 4 01.09.2011 22:19
[Продам] Новый псд АнюткаЛапочк Рынок / Marketplace 44 04.11.2010 13:49
Повышение стат от заточки [STIGMATED] Работа со скриптами 2 17.05.2010 03:28
Новый Гм шоп skil Работа со скриптами 5 17.10.2009 21:45
изменение стат Navakasi Lineage II 0 29.07.2009 21:59


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

Вверх