скрипт с оформлениями и подарками
этот скрипт и его база данных обслуживает: магазин, оформления на странцие редактирования профиля.

что он делает? даёт каждому игроку право самому обслуживать себя в вопросах лз, плашек, фонов, иконок. купленные предметы закрепляются в инвентаре, инвентари всех игроков собраны удобно в одном месте, магазин сам формирует нужный код при покупках, игроки могут использовать на всех твинах только купленные предметы.

работает автоматически, инструкция на случай необходимости.

базовая страница - /admin_pages.php?edit_page=0profili
если смотреть на неё в режиме просмотра, это список принятых игроков со всеми их твинами. список сортируется по алфавиту относительно имени первого персонажа. после списка персонажей находятся все возможные элементы оформления и подарки. при просмотре этот блок скрыт.

список персонажей
чё, как, когда

после принятия анкеты игрока (или его твина) нужно создать (или отредактировать) его данные в списке персонажей.

шаблон:

Код:
<div class="person" data-perspage-id="testpage"><a href="profile.php?id=999">Имя Фамилия</a>
<div class="personitems">
<!--- инвентарь --->
</div>
</div>

data-perspage-id="testpage" - у нас страничек нет, поэтому не трогаем вообще.
<a href="profile.php?id=999">Имя Фамилия</a> - ссылка на профиль, если добавляете твина, просто после запятой впишите новую ссылку.
<!--- инвентарь ---> - когда человек оформит первый заказ на иконку/плашку, замените это на код его покупки.

заполненный инвентарь выглядит примерно так:

Код:
<div class="personitems">
<div class="icons">pack1:1</div> - это иконки
<div class="fons">pack1:1 pack2:1,2</div> - это фоны
</div>

pack1:1 обозначает, что игрок купил первую иконку из первого набора иконок. скрипт магазина сам вписывает в инвентарь новые покупки, поэтому эта информация только на случай, если вдруг понадобится вручную забрать иконку у одного игрока и отдать другому.

список элементов
чё, как, куда

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

познакомлю на примере иконок:

Код:
<div class="collections">
<!------------------------------------------------ иконки ----------------------------------------->
<div class="icons" data-prof-id="5" data-collection-name="иконки">

<div class="pack1" data-pack-name="покемоны">
  <div class="infolink" data-item-id="1"><img src="https://a.imgfoto.host/2025/08/20/Charmander.gif"></div>
  <div class="infolink" data-item-id="2"><img src="https://a.imgfoto.host/2025/08/20/EeveeBlink.gif"></div>
. . .
</div>

<div class="pack2" data-pack-name="эмодзи">
  <div class="infolink" data-item-id="1"><img src="https://a.imgfoto.host/2025/08/20/big_eyes_blush_pixel.png"></div>
  <div class="infolink" data-item-id="2"><img src="https://a.imgfoto.host/2025/08/20/bloodbath.png"></div>
. . .
</div>

</div>
<!------------------------------------------------ иконки конец ----------------------------------------->
</div>

div class="icons" - это тип оформления, у которого есть data-prof-id="5", который указывает, к какому полю профиля на странице редактирования дополнительных полей будут показываться эти элементы. проще говоря, раз иконки у нас в поле номер 5 - ставим 5. прочитали? можете забывать, здесь вам менять ничего не надо и не придётся.

div class="pack1" - наборы иконок. вот на этом этапе начинается инструкция, потому что дополнять придётся именно наборы.

как добавить новый набор
создайте div class="pack" с новым номером.

data-pack-name - название набора, которое будет транслироваться в магазине как заголовок.
внутри наборов находятся элементы. каждый должен иметь data-item-id! нейронки быстро справляются с этой задачей, просто попросите пронумеровать.

элементы могут быть любыми. если это хтмл-элемент, то data-item-id должен находиться в самом "внешнем" теге.
например, вот правильный и неправильный вариант:
  <div class="infolink" data-item-id="1"><img src="https://a.imgfoto.host/2025/08/20/big_eyes_blush_pixel.png"></div>
  <div class="infolink"><img src="https://a.imgfoto.host/2025/08/20/big_eyes_blush_pixel.png" data-item-id="1"></div>

как только вы создадите новый pack, он сразу станет доступен в магазине для покупки.

другие варианты
уникальные коллекции и бесплатные ништяки

1. если вы хотите сделать бесплатный набор иконок или плашек, тогда добавьте free к классу набора, например
<div class="pack111 free" data-pack-name="халява">
такой набор будет доступен каждому игроку и, конечно же, не отобразится в магазине.

2. если игрок покупает уникальную иконку/фон, то ему нужно создать отдельный набор или пополнить уже существующий.
создайте по шаблону:

Код:
    <div class="pack_idигрока limitedpack" data-pack-name="название">
(уникальные элементы с data-item-id)
    </div>

укажите айди основного профиля игрока, например, "pack_173 limitedpack", в названии можете вписать его имя.
такой набор будет доступен любому профилю этого игрока и не будет виден в магазине.

оба варианта, описанные выше, не нуждаются во внесении в <div class="personitems">.

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

для этого найдите [block='icons sell'] и впишите туда через пробел класс нового набора с его ценой через двоеточие, например pack99:2.

можно удалить устаревающие наборы, можно изменить их цену.

на этом магазин всё