Vendor Library
This page documents vendor-related helpers.
Overview
The vendor library stores item presets and rarity colours for use with in-game vendor NPCs. Presets allow vendors to be configured quickly with predefined items while rarities customise item name colours in the vendor menu. The library also exposes a client-side lia.vendor.editor
table containing functions that send edits to the server.
lia.vendor.addRarities
Purpose
Registers a new rarity colour that can be referenced by name.
Parameters
name
(string): Identifier for the rarity.color
(Color): Colour to display in menus.
Realm
Shared
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.addPreset
Purpose
Defines a reusable vendor preset of items.
Parameters
name
(string): Preset name.items
(table): Map of item unique IDs to price/stock tables.
Realm
Shared
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.addPreset("medical", {
medkit = {price = 100, stock = 5},
bandage = {price = 20, stock = 20}
})
lia.vendor.getPreset
Purpose
Fetches a preset by name.
Parameters
name
(string): Name of the preset.
Realm
Shared
Returns
- table | nil: The preset table or
nil
if not found.
Example Usage
lia.vendor.editor.name
Purpose
Sets the name displayed above a vendor.
Parameters
name
(string): New vendor name.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.mode
Purpose
Changes how the vendor handles a specific item.
Parameters
itemType
(string): Item unique ID.mode
(number | nil): Trade mode constant ornil
.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.price
Purpose
Sets the buy or sell price for an item.
Parameters
itemType
(string): Item unique ID.price
(number | nil): Price in currency ornil
.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.flag
Purpose
Restricts vendor access to characters with a flag.
Parameters
flag
(string): Single-character permission flag.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.stockDisable
Purpose
Removes the stock limit for an item.
Parameters
itemType
(string): Item unique ID.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.welcome
Purpose
Changes the vendor's welcome message.
Parameters
message
(string): Text shown when players open the vendor.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.stockMax
Purpose
Sets the maximum stock for an item.
Parameters
itemType
(string): Item unique ID.value
(number): Maximum quantity.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.stock
Purpose
Manually sets the current stock for an item.
Parameters
itemType
(string): Item unique ID.value
(number): Current quantity.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.faction
Purpose
Allows or disallows a faction from using the vendor.
Parameters
factionID
(number): Faction index.allowed
(boolean):true
to allow,false
to remove.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.class
Purpose
Allows or disallows a class from using the vendor.
Parameters
classID
(number): Class index.allowed
(boolean):true
to allow,false
to remove.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.model
Purpose
Updates the vendor's model.
Parameters
model
(string): Model path.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.skin
Purpose
Changes the vendor's skin index.
Parameters
skin
(number): Skin ID.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.bodygroup
Purpose
Sets a bodygroup on the vendor model.
Parameters
index
(number): Bodygroup slot.value
(number): Value to apply.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.useMoney
Purpose
Toggles whether the vendor uses a money pool.
Parameters
useMoney
(boolean):true
to enable,false
to disable.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.money
Purpose
Sets the vendor's available money.
Parameters
value
(number): Amount of currency.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.scale
Purpose
Adjusts the price multiplier for selling items.
Parameters
scale
(number): Multiplier applied to sell prices.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage
lia.vendor.editor.preset
Purpose
Applies a saved item preset to the vendor.
Parameters
name
(string): Preset name.
Realm
Client
Returns
- nil: This function does not return a value.
Example Usage