Модификация для IPB: "Петы"
Тема запроса на создание модификации: http://www.ibresource.ru/forums/index.php?showtopic=49706
Сразу пояснение: Я не рисую драконов! Вся графика на сайте от Llam'ы и других пиксельных художников.
Итак, вот что у нас получилось.
+++
1. Модификация позволяет пользователям:
- приобрести собственного дракончика, назвать его (её), добавить желаемое описание;
- приобретать различные предметы и аксессуары для своего питомца, одевать\снимать\комбинировать их по собственному желанию, сохранять результаты;
- просматривать списки драконов других пользователей, а также профиль каждого отдельно взятого дракона;
- выставлять на продажу, а также покупать предметы для своего дракона у других пользователей;
2. Картинки с описаниями *__*
Путь пользователя при использовании нашей модификации начинается со ссылки на форуме. Перейдя по ней, он видит перед собой меню, которое также доступно со всех остальных интерфейсных экранов, и позволяет быстро воспользоваться желаемыми функциями. Пока что многие его пункты недоступны в силу того, что у пользователя еще нет своего дракона.
Покупка питомца выглядит следующим образом: http://vizjerei.com/dragon1.jpg
Выбрав понравившегося, нажимаем кнопку "Купить дракона", всё просто.
Дракончик, безусловно, очень красив и сам по себе, но хочется его украсить дополнительно. Переходим к покупке предметов: http://vizjerei.com/dragon2.jpg
Как видите, слева располагается изображение нашего дракончика со всеми вещами, которые на него в данный момент одеты. В правой же части таблицы можно увидеть список предметов, доступных к покупке. Этот список можно отфильтровать по типу предмета, а также по их стоимости. Безусловно, любой предмет можно примерить перед покупкой, просто кликнув на его изображении. Изменения на картинке слева не заставят себя ждать.
Накупив предметов, переходим непосредственно к их одеванию: http://vizjerei.com/dragon3.jpg
Интерфейс похож на то, что мы уже видели в магазине. Разве что предметы справа выводятся без дополнительного описания. При клике на превьюшку предмета он одевается на дракона. При повторном клике - снимается. Также можно заметить, что некоторые предметы имеют различные варианты, незначительно отличающиеся между собой. В этом случае внизу появляются дополнительные превьюшки для каждого варианта, при помощи которых можно выбрать желаемый.
После того, как результат нас устроит, сохраняем его при помощи соответсвующей кнопки.
Выставить ту или иную вещь на продажу, или же наоборот, снять с продажи, можно при помощи следующего экрана: http://vizjerei.com/dragon4.jpg
Купить вещи, которые выставили на продажу другие пользователи, можно при помощи другого экрана: http://vizjerei.com/dragon5.jpg
Также можно посмотреть, как выглядят все дракончики, созданные другими юзерами: http://vizjerei.com/dragon6.jpg
3. Технические подробности.
Модификация создана в виде отдельного компонента. Все шаблоны (коих больше 20), вынесены в обособленную группу. Языковые переменные в отдельном lang-файле.
Вся информация о драконе пользователя хранится в одном дополнительном поле таблицы ibf_members.
Предметы для драконов классифицируются по следующим уровням иерархии: сами предметы => объединяются в слои предметов => которые объединяются в типы предметов. Одновременно на дракона может быть одет только один предмет для каждого слоя. Если в этом слое уже был предмет, то он снимается и заменяется новым.
Слои последовательно накладываются друг на друга при создании финального изображения, причем последовательность их наложения может быть легко изменена в админке "Петов". Безусловно существует возможность создавать "фоны", т.е. слои, которые будут накладываться непосредственно перед самим драконом.
Изображения формируются средствами GD-библиотки PHP и динамически подгружаются при помощи AJAX. Изначально это делалось из соображений безопасности и предотвращения создания разлчных "скотомутантов", но если бы я сейчас все переписывал заново, то финальная картинка формировалась бы средствами javascript и проверялась бы непосредственно при сохранении результата.
Есть возможность для создания эксклюзивных предметов, которые не появляются в магазине, а могут быть только подарены администратором за особые заслуги перед родиной. Впрочем, никто не мешает продавать такие предметы на рынке б/у вещей.
15 комментариев
Рекомендуемые комментарии