Рейтинг темы:
  • 1 Голос(ов) - 1 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Проверка на "combat=false" у скилла
#1
В общем есть или были в игре скиллы у которых проверялось в бою или вне боя персонаж? Или можно как-нить таки вытащить эту проверку откуданить (типа завершения игры, коммунки, etc) для скилла?
Настрочить бы класс в stats/conditions/ мог-б дак исходника полноценного нет чтоб грамотно встроитьSad
Хочу сделать некий аналог стелса из ВоВ )
Ответ
#2
Нужен исходник в любом случае. Ибо если это эффект, значит есть тики, если есть тики, значит не ниже 1 секунды, если не ниже одной секунды, значит задержка при проверке может быть в 1 секунду.
Ответ
#3
Эмм, ну уточню еще такое - главное в проверке это момент каста) Что б просто была возможность использовать Nный скилл только в/вне боя, через эффект явно 99.9% надо исходник)
Суть работы стелса ж там:
Стелс, который в состоянии боя нельзя клацнуть даже (неактив скилл).
Вот богом-забытый скилл если так подумать может иметь даже такую проверку (правда через исходник, там может эвентовая фитча или еще что, скиллов и разных много.

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

я играл в ВоВ, я знаю как там работает стелс, проверку при юзе можно засунуть в checkDoCastConditions(); похожие Вы могли встречать при касте скилов которые жрут итемы > если итемов нету (необходимого кол-ва) он просто выдаёт сообщение.
А вот для того, чтобы стелс снимался именно в момент атаки или каста, првоерка в эффекте будет слишком конченной. Проще через AIAccesors реализовать.
Ответ
#5
finfan Написал:А вот для того, чтобы стелс снимался именно в момент атаки или каста, првоерка в эффекте будет слишком конченной. Проще через AIAccesors реализовать.
Дак это и ненадо, в л2 уже практически полноценный стелс такого рода есть (Hide), но вот именно надо сделать его копию, с проверкой на состояние боя при попытке клацнуть (хайд же кастует как и все независимо).
Сама проверочка, допустим на телепорт выглядит у меня так, но вот и исходником полноценным беда Sad
if ((player.isInCombat())
Ответ
#6
LastStand Написал:Дак это и ненадо, в л2 уже практически полноценный стелс такого рода есть (Hide), но вот именно надо сделать его копию, с проверкой на состояние боя при попытке клацнуть (хайд же кастует как и все независимо).

L2Skill.java создаём переменную.
[SRC="java"]
public static boolean _reqNonCombatMode;
_reqNonCombatMode = set.getBool("combatModeRequared", false);
public boolean reqNonCombatMode()
{
return _reqNonCombatMode;
}
[/SRC]

L2PcInstance.java вводим проверку на переменную и состояние чара.
[SRC="java"]
protected boolean checkDoCastConditions(L2Skill skill)
{
/*
* какой-то код...
*/
if(skill.reqNonCombatMode() && isInCombat())
{
sendMessage("Иди в очко, в комбат режиме не кастуется.");
return false;
}
/*
* какой-то код...
*/
}
[/SRC]

Не забудьте в xml скила вписать <set name="noneCombatModeRequared" val="true"/>

Это самый понятный и простой вариант.
Ответ
#7
Ну это да, было б конечно круто, но вот если б кто подсказал как без полного исхода док скомпилить в .class, а то неособо силен в этом)
Ответ
#8
Какой предок у сборки? L2j/l2p/что-то другое?
Ответ
#9
Grind-team, коего исхода нет то в шаре (только обрывок декомпила с коего толку мало). Но есть исходы их материнской сборки First-team что было б возможно кстати
\ ибо ее скопилить мона да оттуда класс впихнуть (именно так отвязывал Big Grin) Хотя маловероятно не прогадать, класс из той что сейчас и то что могу скомпилить 2кб разницы веса на примере skill.java, функционал терять жаль
Ответ
#10
Возможно я ошибаюсь, но почему нельзя написать хендлер нового созданного скила и засунуть элементарно в датапак. Я писал как то хендлер для итема, думаю и скилла тоже можно написать и засунуть в ДП с той же проверкой player.isInCombat()
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Проверка на GameGuard dantest 0 1,209 09-21-2015, 07:49 PM
Последний пост: dantest
  Каст спела, проверка таргета Empatic 4 2,410 06-23-2015, 11:35 PM
Последний пост: Empatic
  Проверка Empatic 6 2,189 06-20-2015, 02:44 PM
Последний пост: Empatic
  Проверка условий в html NPC Fadd 0 1,735 12-15-2014, 11:45 PM
Последний пост: Fadd
  Проверка у Valakas Manager Snowball1 9 2,700 09-15-2014, 02:01 AM
Последний пост: Snowball1
  Проверка времени mishut 7 2,506 04-16-2014, 07:03 PM
Последний пост: mishut
  Проверка на символы в нике desolator 0 1,756 02-27-2014, 10:38 PM
Последний пост: desolator
  Проверка на уже выполненное действие Noize 11 3,334 05-12-2013, 07:46 PM
Последний пост: Zubastic
  Проверка на иерархию скилов finfan 8 2,393 05-10-2013, 09:57 PM
Последний пост: Gaikotsu
  L2Skill.java проверка на таргет Noize 4 2,499 03-22-2013, 05:12 PM
Последний пост: Noize

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)