18.04.2019 в 00:21 (1110 Просмотров)
Раза три задолбался с этим делом.
Вкратце: на движке MV я пытался повторить то, что делает Эйсовский скрипт "Progressive States". Суть его могу описать разве что примером. Есть два состояния, Слабый Яд и Сильный Яд. Когда цель отравляют один раз, то она получает Слабый Яд. Но если цель со Слабым Ядом травится снова (т.е. получает состояние Слабый Яд ещё раз), то Слабый Яд удаляется, а на его место приходит Сильный Яд. Который уже более опасен.
На MV это возможно, только с парой "но". Во-первых, когда я использовал Placeholder States и Overriding States, то состояния либо не менялись, либо их было невозможно удалить с помощью предмета. Что откровенно раздражало.
А во-вторых, МВ-шный Progressive States работает несколько иначе, чем я себе предполагал. Состояния под ним меняются не когда на цель применяется одно и то же состояние, а когда выполняются условия удаления этого самого состояния. И лишь тогда состояние А превращается в Б. В общем, цитата:
This plugin allows you to
set up your states so that when the state is removed automatically, new states will be added.
Попробовал, последний плагин работает. Но пока думаю, что же пошло не так, если у меня не получилось повторить на МВ то, что прекрасно работало на Эйсе?
(вариант "MV - дерьмо" не предлагать. Чибики в Эйсе находятся на уровне всего MV! Даром, что скрипты в VX Ace просты в освоении и установке.)
Ладно, впереди самое "весёлое":
1)Я научился проверять наличие состояний на всех активных участников партии (на МВ, до Эйса потом доберёмся). Делается это двумя путями, через скрипт
Код:
$gameParty.aliveMembers().every(function(member) { return member.isStateAffected(n) })
Либо через другой скрипт и переключатель (здесь x - это номер переключателя).
Код:
var allState = true;
var party = $gameParty.allMembers();
for (i = 0; i < party.length; i++) {
if (!party[i].isStateAffected(id)) {
allState = false;
}
}
$gameSwitches.setValue(x, allState)
Осталось найти скрипт, который позволял бы проверять, одето ли на активных персонажа игрока та или иная экипировка? ();
2)Сделать ещё несколько локаций, т.е. целый город. Вручную, без использования "готовых карт".
Мы же не хотим, чтобы город был построен из готовых ассетов?! Тем более, это город эльфов.
3)Заняться оптимизацией, и удалить все лишние файлы в игре. Нужно это ровно для одного: чтобы уменьшить размер архива. А поскольку MV имеет вредную привычку удалять ВСЕ файлы вместо НЕИСПОЛЬЗУЕМЫХ, то приходится делать это ручками.
И всё это для демо-игры. Призванной просто показать, как работают некоторые плагины.
P.S. Ах да, кстати, слегка лица двух героинь переделал.
До
И после