Перейти к контенту

Модификации IPB на заказ

  • записей
    28
  • комментариев
    165
  • просмотров
    148 314

Модификация для IPB: "Петы"


WildRAID

5 430 просмотров

Тема запроса на создание модификации: 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 комментариев


Рекомендуемые комментарии

Вся информация о драконе пользователя хранится в одном дополнительном поле таблицы ibf_members.

и что, грузится на каждой странице? нэээ

надо делать отдельную таблицу ibf_dragons

не у каждого же из >6000 пользователей будет заполнено это поле

плюс чую, сериалайзнутый массив там немаленький

Ссылка на комментарий

GiV, по идее, создавать скотомутантов в этом случае будет можно, но все равно при сохранении будет приниматься и проверяться массив с одетыми вещами, и уже средствами php на сервере будет создана и сохранена картинка, которую смогут увидеть другие пользователи. Если же придет некорректная информация, ничего не сохранится.

 

 

Arhar, где стоит выборка из members по маске *, там да, грузится.

 

Именно в members сделано из тех соображений, чтобы, если вдруг понадобится выводить в топики, списки пользователей, профиль, еще куда-либо информацию о драконах, то не придется плодить лишние запросы или JOIN'ы, а нужно будет просто добавить еще одно поле в выборку из members. К тому же, там уже есть поля типа text, которые у большинства пользователей пустые. Ignored_users и members_markers например.

Ссылка на комментарий

Я таки добралась до темы, чтобы прокомментировать. :) Сорри, что не сразу, не успеваю все делать просто.

 

Ну для начала спасибо, что взялся. :up:

Что касается самого мода, то узкое место ты знаешь - это загрузка всех параметров в доллмейкере дракона (одевание). Нужно что-то делать, потому что при массовом обращении время ожидания еще увеличится.

Это главное, над чем нужно попробовать еще поработать.

 

Что сильно порадовало, так это формирование слоев для доллмейкера. У меня есть один на сайте, там конечное кол-во слоев и чтобы их поменять местами, нужно переписывать прогу, можно посмотреть тут принцип работы - доллмейкер. В "Драконах" слоев гораздо больше и они более сложно организованы. Поэтому я как художник вообще счастлива, я могу нарисовать любую вещь и поместить ее хоть на отдельный новый, хоть на любой из существующих слоев. Это дает огромное кол-во вариантов украшательств драконов.

 

В процессе создания и после получения мода, я поняла, что есть несколько вещей, которые нужно сделать слегка по-другому. Но это вопросы доработки.

 

На самом деле еще масса идей что бы хотелось. :) Но есть громадное НО, это то что я писала о быстродействии. А еще то, что под такую игру на форуме должен быть хороший хостинг с адекватной техподдержкой. К сожалению мой теперешний хостинг оказался не таким, поэтому дать ссылку на работающий мод я пока не могу.

Ссылка на комментарий

dollmaker порадовал

насчет нагрузки, в долмейкере с этим все хорошо ибо там сначала нафигачиваешь картинки, а потом сохраняешь

в этом варианте как я понял сохраняется каждый раз при нажатии

но в долмейкере существует 14 фиксированных слоев, а тут как я понял можно навешивать бесконечное число вещей

 

так вот

зачем сохранять каждый раз?

можно же создавать слои! appendChild и т.д.

Ссылка на комментарий
Что касается самого мода, то узкое место ты знаешь - это загрузка всех параметров в доллмейкере дракона (одевание). Нужно что-то делать, потому что при массовом обращении время ожидания еще увеличится.

Это главное, над чем нужно попробовать еще поработать.

 

Угу. Я все жду переезда на другой хостинг. Есть сильное подозрение, что тормоза объяснялись теми самыми "атаками на сайт", из-за которых он "мешал другим сайтам на сервере" и "создавал нагрузку в 1000 хостов".

 

Если помнишь, на моем хостинге картинка склеивалась за 0,3-0,7 секунды в среднем.

 

То, что есть сейчас, постарался максимально оптимизировать. Дальше, на мой взгляд, некуда - там просто вызовы imagecopy в цикле, и больше ничего нет. Если на новом хостинге будет тормозить, то придется в javascript уходить.

Ссылка на комментарий
Угу. Я все жду переезда на другой хостинг. Есть сильное подозрение, что тормоза объяснялись теми самыми "атаками на сайт", из-за которых он "мешал другим сайтам на сервере" и "создавал нагрузку в 1000 хостов".

 

Если помнишь, на моем хостинге картинка склеивалась за 0,3-0,7 секунды в среднем.

В феврале только, переезжаю в Зенон. РБК все нервы вымотал. А сейчас опять проблемы с бекапом форума, сил нет.

Но это лирика уже. :)

 

На самом деле некоторые на форуме горевали, что закрыла пока драконов.

Ссылка на комментарий

Хотелось бы из IPB заполучить доску объявлений :rolleyes: правда не знаю стоит ли делать переделку и потянет ли IPB?

Подробно писалось тут а образец (черновик) чего в итоге хотелось бы получить... тут ===> www.karabas.info НО ЭТО ПРОСТО ЧЕРНОВИК! Мыслей "неоформленных" еще полно... :rolleyes:

Контакты есть на www.karabas.info

Ссылка на комментарий
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.