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

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

Ответ
Опции темы
Непрочитано 08.12.2013, 22:23   #1
Аватар для LastStand
Пользователь

Автор темы (Топик Стартер) Проверка на "combat=false" у скилла

В общем есть или были в игре скиллы у которых проверялось в бою или вне боя персонаж? Или можно как-нить таки вытащить эту проверку откуданить (типа завершения игры, коммунки, etc) для скилла?
Настрочить бы класс в stats/conditions/ мог-б дак исходника полноценного нет чтоб грамотно встроить
Хочу сделать некий аналог стелса из ВоВ )
LastStand вне форума Отправить сообщение для LastStand с помощью ICQ Отправить сообщение для LastStand с помощью Skype™ Ответить с цитированием
Непрочитано 08.12.2013, 22:34   #2
Аватар для finfan
fin-ex.corp

По умолчанию Re: Проверка на "combat=false" у скилла

Нужен исходник в любом случае. Ибо если это эффект, значит есть тики, если есть тики, значит не ниже 1 секунды, если не ниже одной секунды, значит задержка при проверке может быть в 1 секунду.
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 08.12.2013, 22:39   #3
Аватар для LastStand
Пользователь

Автор темы (Топик Стартер) Re: Проверка на "combat=false" у скилла

Эмм, ну уточню еще такое - главное в проверке это момент каста) Что б просто была возможность использовать Nный скилл только в/вне боя, через эффект явно 99.9% надо исходник)
Суть работы стелса ж там:
Стелс, который в состоянии боя нельзя клацнуть даже (неактив скилл).
Вот богом-забытый скилл если так подумать может иметь даже такую проверку (правда через исходник, там может эвентовая фитча или еще что, скиллов и разных много.

Появилась идея сделать вызов через эффект который может отменитс при получении дамага, но это чрезмерно отходит от темы и кустарно )
LastStand вне форума Отправить сообщение для LastStand с помощью ICQ Отправить сообщение для LastStand с помощью Skype™ Ответить с цитированием
Непрочитано 08.12.2013, 22:44   #4
Аватар для finfan
fin-ex.corp

По умолчанию Re: Проверка на "combat=false" у скилла

Цитата:
Сообщение от LastStand Посмотреть сообщение
Эмм, ну уточню еще такое - главное в проверке это момент каста) Что б просто была возможность использовать Nный скилл, через эффект явно 99.9% надо исходник)
Суть работы стелса ж там:
Стелс, который в состоянии боя нельзя клацнуть даже (неактив скилл).
я играл в ВоВ, я знаю как там работает стелс, проверку при юзе можно засунуть в checkDoCastConditions(); похожие Вы могли встречать при касте скилов которые жрут итемы > если итемов нету (необходимого кол-ва) он просто выдаёт сообщение.
А вот для того, чтобы стелс снимался именно в момент атаки или каста, првоерка в эффекте будет слишком конченной. Проще через AIAccesors реализовать.
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 08.12.2013, 22:50   #5
Аватар для LastStand
Пользователь

Автор темы (Топик Стартер) Re: Проверка на "combat=false" у скилла

Цитата:
Сообщение от finfan Посмотреть сообщение
А вот для того, чтобы стелс снимался именно в момент атаки или каста, првоерка в эффекте будет слишком конченной. Проще через AIAccesors реализовать.
Дак это и ненадо, в л2 уже практически полноценный стелс такого рода есть (Hide), но вот именно надо сделать его копию, с проверкой на состояние боя при попытке клацнуть (хайд же кастует как и все независимо).
Сама проверочка, допустим на телепорт выглядит у меня так, но вот и исходником полноценным беда
if ((player.isInCombat())
LastStand вне форума Отправить сообщение для LastStand с помощью ICQ Отправить сообщение для LastStand с помощью Skype™ Ответить с цитированием
Непрочитано 08.12.2013, 22:57   #6
Аватар для finfan
fin-ex.corp

По умолчанию Re: Проверка на "combat=false" у скилла

Цитата:
Сообщение от LastStand Посмотреть сообщение
Дак это и ненадо, в л2 уже практически полноценный стелс такого рода есть (Hide), но вот именно надо сделать его копию, с проверкой на состояние боя при попытке клацнуть (хайд же кастует как и все независимо).
L2Skill.java создаём переменную.
 
public static boolean _reqNonCombatMode;
_reqNonCombatMode = set.getBool("combatModeRequared", false);
public boolean reqNonCombatMode()
{
    return _reqNonCombatMode;
}
 
Code: Java
L2PcInstance.java вводим проверку на переменную и состояние чара.
 
	protected boolean checkDoCastConditions(L2Skill skill)
	{
		/*
		* какой-то код...
		*/
		if(skill.reqNonCombatMode() && isInCombat())
		{
			sendMessage("Иди в очко, в комбат режиме не кастуется.");
			return false;
		}
		/*
		* какой-то код...
		*/
        }
 
Code: Java
Не забудьте в xml скила вписать <set name="noneCombatModeRequared" val="true"/>

Это самый понятный и простой вариант.
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 08.12.2013, 23:01   #7
Аватар для LastStand
Пользователь

Автор темы (Топик Стартер) Re: Проверка на "combat=false" у скилла

Ну это да, было б конечно круто, но вот если б кто подсказал как без полного исхода док скомпилить в .class, а то неособо силен в этом)
LastStand вне форума Отправить сообщение для LastStand с помощью ICQ Отправить сообщение для LastStand с помощью Skype™ Ответить с цитированием
Непрочитано 08.12.2013, 23:18   #8
Аватар для Aristocrat
Мастер

По умолчанию Re: Проверка на "combat=false" у скилла

Какой предок у сборки? L2j/l2p/что-то другое?
Aristocrat вне форума Ответить с цитированием
Непрочитано 08.12.2013, 23:22   #9
Аватар для LastStand
Пользователь

Автор темы (Топик Стартер) Re: Проверка на "combat=false" у скилла

Grind-team, коего исхода нет то в шаре (только обрывок декомпила с коего толку мало). Но есть исходы их материнской сборки First-team что было б возможно кстати
\ ибо ее скопилить мона да оттуда класс впихнуть (именно так отвязывал ) Хотя маловероятно не прогадать, класс из той что сейчас и то что могу скомпилить 2кб разницы веса на примере skill.java, функционал терять жаль

Последний раз редактировалось LastStand; 09.12.2013 в 00:34.
LastStand вне форума Отправить сообщение для LastStand с помощью ICQ Отправить сообщение для LastStand с помощью Skype™ Ответить с цитированием
Непрочитано 09.12.2013, 06:45   #10
Аватар для DakChe
Пользователь

По умолчанию Re: Проверка на "combat=false" у скилла

Возможно я ошибаюсь, но почему нельзя написать хендлер нового созданного скила и засунуть элементарно в датапак. Я писал как то хендлер для итема, думаю и скилла тоже можно написать и засунуть в ДП с той же проверкой player.isInCombat()
DakChe вне форума Ответить с цитированием
Сказали спасибо:
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] Gracia Part 2 L2Dream PaInKiLlEr Рынок / Marketplace 10 04.06.2010 00:18
[Продам] Lineage2 Interlude от команды RusTeam TARAN Рынок / Marketplace 2 29.05.2010 17:17
Holywar Ihgap Курилка / Yak floor 28 19.05.2010 21:12
Ihgap Sources Ozzy Lineage II 38 11.05.2010 12:31


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

Вверх