Configuring Your SelfServ Terminal
Welcome to a localized customization heaven.
This page assumes the user has basic knowledge of the Roblox scripting language, Luau.
Your lane-specific configuration module, found under JSM | SelfCheckout V3 -> Terminals -> Target Terminal -> Settings, is structured as follows:
--[[
_______ __ ___
/ / ___// |/ /
__ / /\__ \/ /|_/ /
/ /_/ /___/ / / / /
\____//____/_/ /_/
Self Checkout v3
Lane-Specific Configuration
Many settings are fetched from system settings ('JSM | SelfCheckout V3' → 'SystemConfig'). These options can be overriden by changing them lane by lane.
The 'CardOnly' setting has no effect on checkouts with no cash processing, or should a compatable ATM system not be found in the game.
]]--
local SysConf = require(script.Parent.Parent.Parent.SystemConfig)
local Settings = {
-----------------------------------------------------------------
["LaneNumber"] = 1,
["CardOnly"] = false,
["StartMode"] = 1,
-----------------------------------------------------------------
["UITheme"] = SysConf.UITheme,
["CustomThemeLogo"] = SysConf.CustomThemeLogo,
-----------------------------------------------------------------
["Currency"] = SysConf.Currency,
["ContactlessLimit"] = SysConf.ContactlessLimit,
["InsertCardProximityPrompt"] = SysConf.InsertCardProximityPrompt,
["PromptForBags"] = SysConf.PromptForBags,
["CarrierBagCharge"] = SysConf.CarrierBagCharge,
-----------------------------------------------------------------
["OperatorID"] = SysConf.OperatorID,
-----------------------------------------------------------------
["Maintenance"] = SysConf.Maintenance,
-----------------------------------------------------------------
["ReceiptCustomisation"] = SysConf.ReceiptCustomisation,
-----------------------------------------------------------------
["Discounts"] = SysConf.Discounts,
-----------------------------------------------------------------
["AutomaticIntegrations"] = SysConf.AutomaticIntegrations,
-----------------------------------------------------------------
["InGameStaff"] = SysConf.InGameStaff,
-----------------------------------------------------------------
["TransactionCompletion"] = SysConf.TransactionCompletion,
-----------------------------------------------------------------
["MiscUISettings"] = SysConf.MiscUISettings,
-----------------------------------------------------------------
["BarcodeType"] = SysConf["Scan&ShopSettings"].CheckoutSettings.BarcodeType,
-----------------------------------------------------------------
["HotkeySettings"] = SysConf.HotkeySettings,
-----------------------------------------------------------------
}
return Settings
Syntax
LaneNumber
number
Lane number that the SCO will use.
Example:
["LaneNumber"] = 1
This value must be unique. Otherwise, the SCO will throw an error.
CardOnly
boolean
Should the SCO accept only card/contactless transactions?
Example:
["CardOnly"] = true
StartMode
number
Start-up mode. Controls how barcodes are handled at checkout:
1— Plays full startup sequence, Lane is automatically open.2— Plays full startup sequence, Requires a member of staff to open the lane.3— Doesn't play full startup, Lane is automatically open.4— System Is off, Requires a member of staff with maintenance permissions open the lane.
Example:
["StartMode"] = 1
UITheme
string
UI Preset to load. Set to Default for JSM v3 UI, any other value will load UI from JSM | UI Template if found in ServerStorage.
Example:
["UITheme"] = SysConf.UITheme
CustomThemeLogo
string?
If set to nil, loads default ui associated with theme, either JSM or the theme creator, or loads the image id provided.
Example:
["CustomThemeLogo"] = SysConf.CustomThemeLogo
Supply just the ID, without including the rbxassetid:// part.
Currency
string
The specified character will be used as a prefix to all monetary values wherever a price is indicated.
Example:
["Currency"] = SysConf.Currency
Please be advised that this setting is purely cosmetic and does not involve any actual currency conversion.
ContactlessLimit
number
Contactless payment upper limit. Transactions worth more than the set value won't be able to be paid via contactless.
Example:
["ContactlessLimit"] = SysConf.ContactlessLimit
InsertCardProximityPrompt
boolean
Whether to insert a Proximity Prompt into the card reader instead of a Click Detector.
Example:
["InsertCardProximityPrompt"] = SysConf.InsertCardProximityPrompt
PromptForBags
boolean
Whether to prompt for shopping bags before going to the payment screen.
Example:
["PromptForBags"] = SysConf.PromptForBags
This is a purely cosmetic setting, and will not actually give any bags to the user.
CarrierBagCharge
float
Price per one shopping bag. (If enabled.)
Example:
["CarrierBagCharge"] = SysConf.CarrierBagCharge
OperatorID
{ [string]: any }
Operator ID settings, see the SCO Configuration page for more information.
Example:
["OperatorID"] = SysConf.OperatorID
Maintenance
{ [string]: any }
Maintenance settings, see the SCO Configuration page for more information.
Example:
["Maintenance"] = SysConf.Maintenance
ReceiptCustomisation
{ [string]: any }
Receipt customisation settings, see the SCO Configuration page for more information.
Example:
["ReceiptCustomisation"] = SysConf.ReceiptCustomisation
Discounts
This feature is not available yet.
AutomaticIntegrations
any
Automatic integrations settings, see the SCO Configuration page for more information.
Example:
["AutomaticIntegrations"] = SysConf.AutomaticIntegrations
InGameStaff
{ [string]: any }
In-game staff settings, see the SCO Configuration page for more information.
Example:
["InGameStaff"] = SysConf.InGameStaff
TransactionCompletion
{ [string]: any }
Transaction completion settings, see the SCO Configuration page for more information.
Example:
["TransactionCompletion"] = SysConf.TransactionCompletion
MiscUISettings
{ [string]: any }
Miscellaneous UI settings, see the SCO Configuration page for more information.
Example:
["MiscUISettings"] = SysConf.MiscUISettings
BarcodeType
number
S&S Transfer code, see the SCO Configuration page for more information.
Example:
["BarcodeType"] = SysConf["Scan&ShopSettings"].CheckoutSettings.BarcodeType
HotkeySettings
This feature is not available yet.
Configuration Complete!
Not working? Make sure you followed the syntax, or visit our FAQ Page for help, or contact Whitehill Support via our Discord server for further assistance.