- Как включить
Путь: 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
Общий вид системы.
- Как включить VIP систему и как с ней работать.
# Секция 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>
Last edited: