Developer API Reference¶
Use this to look up classes or methods.
Note
Not every class is documented here. Look at the source code for usage examples. This is intended to explain data structures that might not be obvious at first as well as documenting the public interface.
Modules¶
-
class
Blueprint
¶ A blueprint defines all properties needed for a custom item.
-
class
SettingsCategory
¶ A table representing a category that contains one or more settings. The category’s path is indicated by it’s key in the table. The
info
key is used to provide a readable name for the category to be used in the configurator component. It contains multiple Settings, the path is again provided by the key.
-
class
MODULE
¶ The module information table. Contains information such as a module’s blueprints and settings. This is to be defined in the module’s sh_module.lua
-
Name
¶ The name of the module.
-
Author
¶ The author of the module
-
RestrictGamemodes
¶ A table containing gamemodes that this module is restricted to. The module will only be loaded if the active gamemode is in the list.
-
Settings
¶ A table containing the settings of the module. A seperate table for each realm exists.
Settings.Server
is only sent to admins when changing the settings,Settings.Shared
is synced with all clients. Accessing Settings is done by callingPointshop2.GetSetting()
. Each realm settings table defines Settings that can be accessed and configured easily and can contain multipleSettingsCategory
s. Settings registered this way are automatically saved the the database when changed.
-
SettingsButton
¶ A table containing information about the settings button that will show up in the management tab. The table has three elements:
label
: The label of the buttonicon
: The icon of the buttoncontrol
: The derma control that is created when clicking the button
-
-
Pointshop2.
GetSetting
(moduleName, path)¶ Retrieves a setting value that was defined in MODULE.Settings. Automatically uses the default or database saved value.
- modName: The MODULE.Name of the module where the setting is defined
- path: The category and name of the setting, seperated by a “.”
Example:
print(Pointshop2.GetSetting("TTTIntegration", "RoundWin.Innocent"))
-
Pointshop2.
AddEquipmentSlot
(name, itemValidFunction)¶ Registers a new equipment slot.
Name:label of the slot that is shown underneath the slot’s panel in the inventory. itemValidFunction: A function that takes an item as an argument and returns whether or not it can be equipped in the slot.
-
Pointshop2.
AddHatSlot
(name)¶ Adds a new slot that behaves exactly like the existing Hat/Accessory slots.
-
Pointshop2:
AddTab
(label, controlName, shouldShow)¶ Adds a new tab to the top navigation of the pointshop.
- label: The label of the tab.
- controlName: The derma control that is created as panel.
- shouldShow: optional A function returning whether or not the player should be able to see this tab.
-
Pointshop2:
AddManagementPanel
(label, icon, controlName, shouldShow)¶ Adds a new tab to the side navigation of the management panel.
- label: The label of the tab
- icon: The tab’s icon
- controlName: The derma control that is created as panel
- shouldShow: optional A function returning whether or not the player should be able to see this tab
Example:
derma.DefineControl( "DPointshopManagementTab_Settings", "", PANEL, "DPanel" ) Pointshop2:AddManagementPanel( "Settings", "pointshop2/advanced.png", "DPointshopManagementTab_Settings", function( ) return PermissionInterface.query( LocalPlayer(), "pointshop2 managemodules" ) end )
-
Pointshop2:
AddInventoryPanel
(label, icon, controlName, shouldShow)¶ Adds a new tab to the side navigation of the management panel.
- label: The label of the tab
- icon: The tab’s icon
- controlName: The derma control that is created as panel
- shouldShow: optional A function returning whether or not the player should be able to see this tab
Player integration¶
-
class
Wallet
¶ In Pointshop 2 points are stored in a player’s wallet. A wallet is a LibK model instance, you can use :save() on it after changing it.
-
points
¶ The standard points of a player.
The premium (donator) points of a player
-
-
PLAYER:
PS2_AddStandardPoints
(points, message, small)¶ Awards points to a player. If a message is specified it will show up in their pointfeed.
points: Amount of points given message: Message displayed to the pointfeed small: Use the small print (for bonus points related to a primary event)
-
PLAYER:
PS2_AddPremiumPoints
(points)¶ Adds premium points to a player’s wallet.
points: Amount of points given
Export & Import¶
-
Pointshop2Controller:
exportItems
()¶ Exports all items of the shop into a timestamped text file. The name of the file is written to console. The file is written into the data directory.
-
Pointshop2Controller:
exportCategoryOrganization
()¶ Exports all categories and item->category mappings of the shop into a timestamped text file. The name of the file is written to console. The file is written into the data directory.
-
Pointshop2Controller:
importCategoriesFromFile
(filename)¶ Imports categories and item->category mappings of the shop from a text file.
filename: Name/path of the file to import from as string, relative to the data directory.
-
Pointshop2Controller:
importItemsFromFile
(filename)¶ Imports items from a text file.
filename: Name/path of the file to import from as string, relative to the data directory.