• Как включить
Сторона сервера
Путь: gameserver\config\server.properties
Изменить с False на True
PrimeShopEnabled = True
Выставить свою валюту - по умолчанию 29520 Vip Coin
PrimeShopGamePointItemId = 29520

Сторона игрового клиент
Путь: Lucera2Client\system_ru или \system или любое ваше название системной папки из которой вы запускаете клиент.
Файл: l2.ini
Блок [PrimeShop]
UseClassicPrimeShop=true - выставляете true по умолчанию false
NewPrimeShop=false - тут по вашему желанию, кому какой больше нравиться
Редактируете любым эидитором.

  • Как редактировать или добавлять свои продукты в Prime Shop
Сторона игрового клиента
Путь: Lucera2Client\system\ProductName_Classic-ru.dat
Пример:
product_name_begin id=100201 outer_name=[1st Class Transfer Effect Scroll] description=[1st Class Transfer Effect Scroll\n1-day 10pcs] icon=[BranchIcon.Icon.etc_g_bm_buff_scroll_i00] icon_panel=[icon.pannel_cursed] mainsubject=[] product_name_end
id=100201 - id продукта в магазине, НЕ ITEM ID предмета
outer_name=[1st Class Transfer Effect Scroll] - имя которое будет отображается в магазине
description=[1st Class Transfer Effect Scroll\n1-day 10pcs] - Описание продаваемого предмета в магазине
icon=[BranchIcon.Icon.etc_g_bm_buff_scroll_i00] - Иконка которое будет отображается в магазине

Сторона сервера
Путь: gameserver\data\prime_shop.xml
Формат: XML
Пример:
XML:
    <product id="100201" name="1st Class Transfer Effect Scroll" category="11" price="1000" is_best="true" on_sale="true" sale_start_date="1980.01.01 08:00" sale_end_date="2037.06.01 08:00">
        <component item_id="29654" count="1" />
    </product>

product id="100201" - берется из игрового клиента
name="1st Class Transfer Effect Scroll" - имя продукта, можно указывать произвольное
price="1000" - цена за предмет, ItemId берется из PrimeShopGamePointItemId = 29520, нет, свой указывать нельзя для каждого потому что валюта для Prime Shop указывается глобально.
<component item_id="29654" count="1" /> - item id и кол-во которое получит игрок
category="11" - отображаемая категория в вкладках товаров // 11 - supplies // 12 - equipment // 13 - vip // 14 - event // 15 - Reward Coin
is_best="true" - иконки оповещающие о состоянии продукта. Лучшее предложение
on_sale="true"- на продаже предмет или нет. Можно добавить с false и потом активировать когда будет необходимо.
sale_start_date="1980.01.01 08:00" sale_end_date="2037.06.01 08:00" - время ограничивающее продажу предмета, в клиенте не отображается - нужно самому руками в description это указывать, но сервер убирает.

Описание механики категории 15
Данная категория вкладки работает вне области L2 Coin и несет в себе смысл магазина за внутриигровые события как Event или награда с мобов.
В ней происходит продажа за Gold / Silver Coins которая берется из конфига
# Валюта для покупки предметов в Prime Shop ТОЛЬКО в category="15"
# Пример: price_silver_coins="1000"
PrimeShopSilverCoinItemId = 29983
# Пример: price_gold_coins="1000"
PrimeShopGoldCoinItemId = 29984

Возьмем для примера и сделаем любой продукт в 15 категории
XML:
    <product id="100201" name="1st Class Transfer Effect Scroll" category="15" price_gold_coins="1000" price_silver_coins="1000" is_best="true" on_sale="true" sale_start_date="1980.01.01 08:00" sale_end_date="2037.06.01 08:00">
        <component item_id="29654" count="1" />
    </product>

!!!Заостряем внимание на этих параметрах!!! - category="15" price_gold_coins="1000" price_silver_coins="1000"
Где category="15" - категория которая переместит предмет в крайную вкладку
Цену можно указывать сразу в двух валютах - gold coin и silver coin, но так же мы можем выставить одну из них, необязательно выставлять их в паре.
На выходе мы получаем дополнительную вкладку с "ивентовыми" предметами вне области стоимости за L2 Coin
cd98340bc834d3f031208561945525e9.png


Общий вид системы.
7c6129be9fe28994f0bb509f20039a5a.png


  • Как включить VIP систему и как с ней работать.
Конфиг: gameserver/config/server.properties
# Секция Vip панели
PrimeShopVipEnabled = False
# Максимальный уровень VIP (Уровень можете расширять в клиенте самостоятельно)
PrimeShopVipMaxLevel = 7
# При покупке предметов в Prime Shop начисляются Vip очки. Можете это выключить и набавлять только Vip Scroll'ами
PrimeShopPurchasingAddVipPoints = True
# Коэффициент начисленных Vip очков после покупки (По умолчанию сколько потратили - столько начислялось)
PrimeShopPurchasingAddVipPointsCoefficient = 1.

Данные:
gameserver/data/prime_shop.xml
XML:
    <!-- VIP System -->
    <vip vipLevel="0" points_to_level="0" points_lose="0">
        <bonus skill="0" skillLevel="0"/>
    </vip>
    <vip vipLevel="1" points_to_level="300" points_lose="300">
        <bonus skill="55161" skillLevel="1"/>
    </vip>
    <vip vipLevel="2" points_to_level="1000" points_lose="600">
        <bonus skill="55162" skillLevel="1"/>
    </vip>
    <vip vipLevel="3" points_to_level="2000" points_lose="660">
        <bonus skill="55163" skillLevel="1"/>
    </vip>
    <vip vipLevel="4" points_to_level="3500" points_lose="1320">
        <bonus skill="55164" skillLevel="1"/>
    </vip>
    <vip vipLevel="5" points_to_level="7000" points_lose="2640">
        <bonus skill="55165" skillLevel="1"/>
    </vip>
    <vip vipLevel="6" points_to_level="20000" points_lose="5280">
        <bonus skill="55166" skillLevel="1"/>
    </vip>
    <vip vipLevel="7" points_to_level="40000" points_lose="10560">
        <bonus skill="55167" skillLevel="1"/>
    </vip>

vipLevel - уровень VIP
points_to_level - сколько нужно VIP очков что бы достичь уровня.
points_lose - через период в 30 дней теряется кол-во набранных очков.
bonus skill и skillLevel - скил который будет выдаваться на каждом уровне в котором находятся все бонусы.


Добавление очков админом: //add_vip_points count <target>
Скилы и предметы для добавления VIP очков.
Предмет:
XML:
   <etcitem id="71315" name="VIP Gain Scroll - 2400">
        <set name="default_action" value="ACTION_SKILL_REDUCE" />
        <set name="tradeable" value="false"/>
        <set name="storeable" value="false"/>
        <set name="dropable" value="false"/>
        <set name="sellable" value="false"/>
        <set name="class" value="CONSUMABLE"/>
        <set name="crystal_type" value="NONE"/>
        <set name="icon" value="BranchIcon.Icon.g_bm_vip_potion_i00"/>
        <set name="stackable" value="true"/>
        <set name="type" value="SCROLL"/>
        <set name="weight" value="5"/>
        <skills>
            <skill id="59126" level="1"/>
        </skills>
    </etcitem>
Скил:
XML:
    <skill id="59126" levels="1" name="VIP Gain Scroll - 2400">
        <set name="magicType" val="SPECIAL"/>
        <set name="icon" val="icon.skill0000"/>
        <set name="itemConsumeId" val="71315"/>
        <set name="itemConsumeCount" val="1"/>
        <set name="magicLevel" val="1"/>
        <set name="hitTime" val="500"/>
        <set name="target" val="TARGET_SELF"/>
        <set name="skillType" val="BUFF"/>
        <set name="operateType" val="OP_ACTIVE"/>
        <set name="isHandler" val="true"/>
        <for>
            <effect count="1" name="VipPointCharge" time="0" val="0">
                <def name="vipPoints" val="2400"/>
            </effect>
        </for>
    </skill>
Как это выглядит визуально:
b217d525d68e6a041b0f72f7e7d32b05.png
 
Last edited:
points_lose - через период в 30 дней теряется кол-во набранных очков.
Персонаж теряет все накопленные очки или определенное кол-во?
На офе работала система, что если ты к примеру набрал 5 уровень за 8000 очков, то в течении 30 дней достаточно потратить 2640 очков и уровень сохранялся, у нас это как работает? Через 30 дней сброс уровня идет?
 
@Deazer подскажи как добавлять условия к предмету :
1.Можно приобрести 1 предмет на аккаунт
2.Можно приобрести 1 раз в 30 дней
 
@Deazer Я конечно извиняюсь за спам, но очень бы хотелось узнать ответ на вышезаданный вопрос:
Я немного перефразирую:
1.Как выставлять предметам в прайм шопе лимиты на покупку (1 раз в день, 1 раз в 30 дней)
2.И как выставлять предметам условия покупки только 1 раз на аккаунт
 
@Deazer Я конечно извиняюсь за спам, но очень бы хотелось узнать ответ на вышезаданный вопрос:
Я немного перефразирую:
1.Как выставлять предметам в прайм шопе лимиты на покупку (1 раз в день, 1 раз в 30 дней)
2.И как выставлять предметам условия покупки только 1 раз на аккаунт
Не делал такого функционала, закинь тикет я добавлю
 
 
Back
Top