🧮 Price Types

In ExcellentShop you can use different price types for your items with different and unique features in each!

There are 4 price types available to use. See below for details!

🪧 Flat

The most common and basic type. Price always stays at the same value.

Example: You set 50 as buy price, and 20 as sell price. Product price will stay at these values. It still can be affected by shop's discounts.

🍃 Float

A bit complex one. Price is generated from min -> max range that you set in the price editor at specified times.

You need to provide days & times when price generation should perform.

Example: You want the price to be 100-500 for buying and 50-250 for selling on daily basis.

Solution:

  1. Set buy price range: 100 (min) - 500 (max)

  2. Set sell price range: 50 (min) - 250 (max)

  3. Add all 7 days and one time: 04:00 (24 hour format)

Now item price will change every day at 4 AM in specified range. If it happens that generated sell price is greater than buy one, it will be floored to the buy price to prevent money abuse.

If you don't set days & times for price generation, it won't refresh properly and will change from time to time on its own.

💹 Dynamic

Another complex one. Price changes by specified amount depends on item purchases/sales amount.

Price is increased by certain amount if the product has been bought more times than it has been sold.

Price is decreased by certain amount if the product has been sold more times than it has been bought.

There is initial price for both, buying and selling. This price will be used as default (start) one. Especially for new items with 0 sales and purchases.

There is also min. and max. price values for buying and/or selling. These values can be used to prevent price from going too high or too low.

Finally, there is "price step" setting for both, buying and selling. This value will be multiplied by dominating amount of item sales or purchases and added to the initial price.

Formula:

  1. Get the price step value: X = price_step.

  2. Get the difference of purchases and sales: Y = purchases - sales.

  3. Calculate final price: price = initial_price + (Y * X).

And with numbers:

  1. Let's say initial price is 100 for both, buy and sell: initial_price = 100.

  2. Let's say price step is 50: X = 50.

  3. Let's say product has been purchased 100 times and sold 90 times: Y = purchases - sales = Y = 100 - 90 = Y = 10.

  4. Calculate final price: price = 100 + (10 * 50) = 600.

If purchases > sales, their difference value (Y) will be positive = price increased.

If purchases < sales, their difference values (Y) will be negative = price decreased.

📶 Player Based

This one is similar to the Dynamic type above, but it works on amount of online players rather than purchases amount.

There is initial price for both, buying and selling. This price will be used as start value.

There is also min. and max. price values for buying and/or selling. These values can be used to prevent price from going too high or too low.

There is adjust amount setting for both, buying and selling. This value will be multiplied by players amount and added to the initial price.

Finally, there is adjust step setting. It defines for each how many players the price should be adjusted.

Formula:

  1. Get the adjust amount value: X = adjust_amount.

  2. Get the players amount value: Y = players_amount / adjust_step.

  3. Calculate final price: price = initial_price + (Y * X).

And with numbers:

  1. Let's say initial price is 100 for both, buy and sell: initial_price = 100.

  2. Let's say adjust amount is 50: X = 50.

  3. Let's say there is 15 players, and adjust step is 2: Y = 15 / 2 = Y = 7.

  4. Calculate final price: price = 100 + (7 * 50) = 450.

Last updated