Morizel

Я манал все эти состояния

Оценить эту запись
Раза три задолбался с этим делом.

Вкратце: на движке 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) })
Спойлер Эйсовский вариант (спасибо Поли):
Код:
$game_party.alive_members.all? {|member| member.state?(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)


Осталось найти скрипт, который позволял бы проверять, одето ли на активных персонажа игрока та или иная экипировка? (
Спойлер спойлер:
Извращаемся дальше. Теперь бондаж - это не только состояние, но ещё и часть экипировки. Правда, есть только скрипты для Эйса, но можно поиздеваться и в MV! Благо со спрайтами мы постарались на славу.
);

2)Сделать ещё несколько локаций, т.е. целый город. Вручную, без использования "готовых карт".Игры на VX-map013-png
Мы же не хотим, чтобы город был построен из готовых ассетов?! Тем более, это город эльфов.

3)Заняться оптимизацией, и удалить все лишние файлы в игре. Нужно это ровно для одного: чтобы уменьшить размер архива. А поскольку MV имеет вредную привычку удалять ВСЕ файлы вместо НЕИСПОЛЬЗУЕМЫХ, то приходится делать это ручками.

И всё это для демо-игры. Призванной просто показать, как работают некоторые плагины.

P.S. Ах да, кстати, слегка лица двух героинь переделал.
До
Игры на VX-lfaceset-png
И после
Игры на VX-lfaceset-png

Отправить "Я манал все эти состояния" в Digg Отправить "Я манал все эти состояния" в del.icio.us Отправить "Я манал все эти состояния" в StumbleUpon Отправить "Я манал все эти состояния" в Google Отправить "Я манал все эти состояния" в VKontakte Отправить "Я манал все эти состояния" в Facebook

Обновлено 18.04.2019 в 00:49 Morizel

Метки: Нет Добавить / редактировать метки
Категории
Просто записи

Комментарии