# Price Types

In ExcellentShop you can use different price types for your items (products) with custom settings for each of them.

# Flat

Flat pricing works by having static price value that never changes except manual edits.

# Float

Float pricing works by generating a random number within the Min -> Max range at specific day-times defined by the Refresh Times setting.

Optionally, you can toggle it to generate whole (integer) numbers only to cut the decimals.

# Dynamic

Dynamic pricing works by adjusting the Initial Price value by the amount set in the Price Step setting, multiplied by the difference between the number of purchases and sales of the product.

The more players buys an item, the higher its price.

The more players sells an item, the lower its price.

Optionally, you can set Min and Max limits. The final price can't go above/under these values.

Final price is determined: initialPrice + ((purchases - sales) \times priceStep)

Consider the following values:

  • Initial Price: $75
  • Price Step: $25
  • Purchases Amount: 100
  • Sales Amount: 90

The price increased by $25 on purchase and decreased by $25 on sale.

Final price is determined: 75 + ((100 - 90) \times 25) = 75 + 10 \times 25 = 325

# Player Based

Player Based pricing works by adjusting the Initial Price value by the amount set in the Price Step setting, multiplied by the amount of online players.

The more players are online, the higher the price.

The less players are online, the lower the price.

There's also Adjust Step setting that defines per how much players the Price Step should have effect.

Final price is determined: initialPrice + ((playersAmount / adjustStep) \times priceStep)

Consider the following values:

  • Initial Price: $75
  • Price Step: $3
  • Adjust Step: 5
  • Players Amount: 24

The price increased by $3 for each 5 players online.

Final price is determined: 75 + ((24 / 5) * 3) = 75 + (4 * 3) = 75 + 12 = 87