- How to Enable
Server Side
Path: gameserver\config\server.properties
Change from False to True
PrimeShopEnabled = True
Set your currency - default is 29520 Vip Coin
PrimeShopGamePointItemId = 29520
Client Side
Path: Lucera2Client\system_en or \system or any name of the system folder from which you run the client.
File: l2.ini
[PrimeShop] section
UseClassicPrimeShop=true - set to true, default is false
NewPrimeShop=false - this is optional, based on your preference
Edit with any editor.
- How to edit or add your products to Prime Shop
Client Side
Path: Lucera2Client\system\ProductName_Classic-en.dat
Example:
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 - product ID in the shop, NOT ITEM ID
outer_name=[1st Class Transfer Effect Scroll] - the name displayed in the shop
description=[1st Class Transfer Effect Scroll\n1-day 10pcs] - Description of the item being sold in the shop
icon=[BranchIcon.Icon.etc_g_bm_buff_scroll_i00] - Icon displayed in the shop
Server Side
Path: gameserver\data\prime_shop.xml
Format: XML
Example:
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" - taken from the game client
name="1st Class Transfer Effect Scroll" - product name, can be any name you prefer
category="11" - displayed category in product tabs // 11 - supplies // 12 - equipment // 13 - vip // 14 - event
price="1000" - the price for the item. The ItemId is taken from PrimeShopGamePointItemId = 29520. It's not possible to specify your own for each item because the currency for Prime Shop is set globally.<component item_id="29654" count="1" /> - item id and the quantity that the player will receive.
is_best="true" - icons indicating the product's status. Best offer
on_sale="true" - whether the product is for sale or not. You can add it with false and then activate it if needed.
sale_start_date="1980.01.01 08:00" sale_end_date="2037.06.01 08:00" - time restricting the sale of the item, not displayed in the client - you need to specify it in the description manually, but the server removes it.
Description of Category 15 Mechanics:
This category tab operates outside the realm of L2 Coin and serves as a store for in-game events such as Events or rewards from mobs.
In this category, items are sold for Gold and Silver Coins, as specified in the configuration.
# Currency for purchasing items in Prime Shop ONLY in category="15"
# Example: price_silver_coins="1000"
PrimeShopSilverCoinItemId = 29983
# Example: price_gold_coins="1000"
PrimeShopGoldCoinItemId = 29984
For example, let's create any product in Category 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>
!!!Emphasis on these parameters!!! - category="15" price_gold_coins="1000" price_silver_coins="1000"
Where category="15" is the category that moves the item to the farthest tab.
You can specify the price in two currencies at once - Gold Coins and Silver Coins. However, you can also set only one of them; it is not necessary to set both.
As a result, we obtain an additional tab with "event" items outside the scope of L2 Coin costs.
This is what the result looks like.
- How to enable the VIP system and how to work with it.
### Vip section
PrimeShopVipEnabled = False
# Maximum VIP level (The level can be expanded by the client independently)
PrimeShopVipMaxLevel = 7
# Vip points are awarded when purchasing items from the Prime Shop. You can turn this off and add only Vip Scrolls
PrimeShopPurchasingAddVipPoints = True
# Coefficient of accrued VIP points after purchase (By default: how much you spent - so much was awarded)
PrimeShopPurchasingAddVipPointsCoefficient = 1.
Data:
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 level
points_to_level - how many VIP points are needed to reach the level.
points_lose - after a period of 30 days, the number of points accumulated is lost.
bonus skill and skillLevel - a skill that will be issued at each level in which all bonuses are located.
Adding points by admin: //add_vip_points count <target>
Skills and items to add VIP points.
Предмет:
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>
Game Client Side:
Folder: L2text_classic
Files: vipsystem_help_vip001.htm,vipsystem_help_vip002.htm and etc.
Editor Encrypt and Decrypt
L2Editor for change vipsystem_help_vip001.htm,vipsystem_help_vip002.htm and etc.
How it looks visually:
If anyone has difficulty identifying and updating the HTML of VIP information, simply follow the steps below.
- All files are located in the client folder: L2text_classic
- The files need to be decrypted using encode 121 before they can be edited.
- After editing, the files will need to be encrypted using encode 121 again.
Tutorial Encrypt/Decrypt HTML Files
I didn't find the download link here on the forum, so I uploaded it with the files I already use.- Download Encrypt/Decrypt Files: https://www.mediafire.com/file/2bdr5pwxzvz1iqq/Encrypt_and_Decrypt_Files.rar/file
- Virus Total: https://www.virustotal.com/gui/file...4fd87320e9a162117f6c02f4ab3429294fc/detection
- Move the HTML file you want to edit into l2decrypt.exe, it will create a copy of the file with ".clear" at the end of the file name.
- Now, just edit the new .html file
- After editing, you need to encrypt the file again with the same name as the original file. To do this, renamed the "vipsystem help vip001.clear.htm" file to "vipsystem help vip001.htm", for exemple.
- Open the encrypt UTX.bat file with the text editor and update the name of the file you want to encrypt. After that, run the encrypt UTX.bat file.
- Rename the generated encrypted file and replaced it in the client folder: L2text classic
- Ready!
Last edited: