π¨βπ» RPS BossMenu Developer API¶
Server Exports Documentation¶
RPS BossMenu provides a powerful collection of server exports that allow developers to integrate businesses, suppliers, transactions, permissions, and marketplace functionality into their own resources.
All exports are called using:
exports['rps_bossmenu']:ExportName(...)
π Table of Contents¶
- Jungle Shop API
- Business Management API
- Permissions API
- Verification API
- Society Logs API
- Examples
- Best Practices
π Jungle Shop API¶
The Jungle Marketplace allows businesses to buy stock from suppliers.
CreateJungleShop¶
Creates (or updates) an online supplier shop.
Syntax¶
exports['rps_bossmenu']:CreateJungleShop(shopId, name, logo, categories, items)
Parameters¶
| Parameter | Type | Description |
|---|---|---|
shopId |
string | Unique shop identifier |
name |
string | Shop display name |
logo |
string | Logo URL |
categories |
table | Shop categories |
items |
table | Products available |
Example¶
exports['rps_bossmenu']:CreateJungleShop(
"mechanic_supply",
"Mechanic Supply Co.",
"https://yourdomain.com/logo.png",
{
"Parts",
"Tools"
},
{
{
item = "repairkit",
label = "Repair Kit",
price = 500
},
{
item = "advancedrepairkit",
label = "Advanced Repair Kit",
price = 1500
}
}
)
GrantBusinessJungleAccess¶
Allows a business to purchase from a supplier.
Syntax¶
exports['rps_bossmenu']:GrantBusinessJungleAccess(jobName, shopId)
Parameters¶
| Parameter | Type | Description |
|---|---|---|
jobName |
string | Business job name |
shopId |
string | Jungle shop ID |
Example¶
exports['rps_bossmenu']:GrantBusinessJungleAccess(
"mechanic",
"mechanic_supply"
)
PlaceJungleOrder¶
Places an order automatically.
Syntax¶
local success, orderId = exports['rps_bossmenu']:PlaceJungleOrder(
sellerShopId,
buyerJob,
items,
totalPrice,
skipPayment
)
Parameters¶
| Parameter | Type | Description |
|---|---|---|
sellerShopId |
string | Supplier shop |
buyerJob |
string | Business placing the order |
items |
table | Purchased items |
totalPrice |
number | Total order value |
skipPayment |
boolean | Skip society payment |
Returns¶
success
orderId
Example¶
local success, orderId = exports['rps_bossmenu']:PlaceJungleOrder(
"mechanic_supply",
"mechanic",
{
{
item = "repairkit",
amount = 10
}
},
5000,
false
)
if success then
print("Order Created:", orderId)
end
π’ Business Management API¶
CreateBossmenu¶
Registers a business.
Syntax¶
exports['rps_bossmenu']:CreateBossmenu(
jobName,
ownerCid,
minBossGrade,
allowedShops
)
Parameters¶
| Parameter | Type |
|---|---|
| jobName | string |
| ownerCid | string |
| minBossGrade | number |
| allowedShops | table |
Example¶
exports['rps_bossmenu']:CreateBossmenu(
"mechanic",
"ABC12345",
4,
{
"mechanic_supply",
"general_parts"
}
)
SetBossmenuDeliveryCoords¶
Sets the delivery parking location.
Syntax¶
exports['rps_bossmenu']:SetBossmenuDeliveryCoords(
jobName,
vector4(x, y, z, w)
)
Example¶
exports['rps_bossmenu']:SetBossmenuDeliveryCoords(
"mechanic",
vector4(
-345.12,
-133.55,
39.01,
90.0
)
)
π Employee Permissions API¶
SetEmployeePermissions¶
Modify an employee's permissions.
Syntax¶
exports['rps_bossmenu']:SetEmployeePermissions(
jobName,
citizenId,
permsTable
)
Permission Table¶
{
deposit = true,
withdraw = false,
webshop = true,
master = false
}
Example¶
exports['rps_bossmenu']:SetEmployeePermissions(
"mechanic",
"ABC12345",
{
deposit = true,
withdraw = true,
webshop = true,
master = false
}
)
β Verification API¶
HasBossAccess¶
Checks if a player has boss access.
Syntax¶
local hasAccess = exports['rps_bossmenu']:HasBossAccess(
citizenId,
jobName
)
Returns¶
true
false
Example¶
if exports['rps_bossmenu']:HasBossAccess(
citizenId,
"mechanic"
) then
print("Player is Boss")
end
π° Society Transaction API¶
LogSocietyTransaction¶
Adds an entry to the business ledger.
Syntax¶
exports['rps_bossmenu']:LogSocietyTransaction(
jobName,
typeStr,
amount,
reason,
by
)
Valid Transaction Types¶
"Deposit""Withdraw""Order"
Example¶
exports['rps_bossmenu']:LogSocietyTransaction(
"mechanic",
"Deposit",
5000,
"Vehicle Repair Income",
"John Smith"
)
π Society Logs API¶
GetSocietyLogs¶
Returns the last 50 transactions.
Syntax¶
local logs = exports['rps_bossmenu']:GetSocietyLogs(jobName)
Example¶
local logs = exports['rps_bossmenu']:GetSocietyLogs("mechanic")
for _, log in pairs(logs) do
print(
log.type,
log.amount,
log.reason
)
end
π‘ Complete Integration Example¶
exports['rps_bossmenu']:CreateBossmenu(
"mechanic",
"ABC12345",
4,
{
"mechanic_supply"
}
)
exports['rps_bossmenu']:GrantBusinessJungleAccess(
"mechanic",
"mechanic_supply"
)
exports['rps_bossmenu']:SetBossmenuDeliveryCoords(
"mechanic",
vector4(-345.0, -130.0, 39.0, 90.0)
)
exports['rps_bossmenu']:SetEmployeePermissions(
"mechanic",
"ABC12345",
{
deposit = true,
withdraw = true,
webshop = true,
master = true
}
)
π‘οΈ Best Practices¶
- Always validate user input before calling exports.
- Use unique
shopIdvalues to avoid conflicts. - Check the return value of
PlaceJungleOrder()before assuming the order was created. - Restrict sensitive exports to trusted server-side resources.
- Log important business actions using
LogSocietyTransaction()to maintain a complete financial history. - Keep permission tables consistent to avoid unintended access.
π Notes¶
- All exports are server-side only.
- These exports are intended for integration with custom jobs, businesses, economy systems, and third-party resources.
- Future updates may introduce additional exports while maintaining backwards compatibility where possible.