-- Einen öffentlichen Stash mit Interaktionspunkt erstellen (runtimeOnly = false)
local stashId = exports['jaksam_inventory']:registerStash({
label = "Public Storage",
coords = vector3(100.0, 200.0, 30.0),
maxWeight = 500,
maxSlots = 50,
radius = 5.0,
runtimeOnly = false -- Interaktionspunkte aktivieren
})
-- Einen job-eingeschränkten Stash mit Interaktionspunkt erstellen
local policeStashId = exports['jaksam_inventory']:registerStash({
id = "police_evidence",
label = "Police Evidence Locker",
coords = vector3(450.0, -990.0, 30.0),
maxWeight = 1000,
maxSlots = 100,
radius = 3.0,
allowedJobs = {police = true, sheriff = true},
runtimeOnly = false -- Interaktionspunkte aktivieren
})
-- Einen rein programmatischen Stash erstellen (Standardverhalten, runtimeOnly = true)
-- Spieler können nicht per Weltinteraktion darauf zugreifen, nur per Code
local hiddenStashId = exports['jaksam_inventory']:registerStash({
id = "secret_stash",
label = "Secret Storage",
maxWeight = 200,
maxSlots = 30
-- Keine Koordinaten angegeben, nur programmatischer Zugriff
})
-- Einen privaten Stash erstellen (jeder Spieler bekommt beim Zugriff sein eigenes Inventar)
local privateStashId = exports['jaksam_inventory']:registerStash({
id = "luxury_apartment_stash",
label = "Personal Safe",
coords = vector3(300.0, 400.0, 50.0),
maxWeight = 200,
maxSlots = 30,
isPrivate = true
})
-- Einen temporären Stash mit Startitems erstellen (wird nicht in der Datenbank gespeichert)
local tempStashId = exports['jaksam_inventory']:registerStash({
label = "Event Loot Box",
coords = vector3(500.0, 600.0, 20.0),
maxWeight = 100,
maxSlots = 20,
temporary = true,
startingItems = {
{"bread", 5, nil},
{"water", 3, nil},
{"money", 1000, nil}
}
})
-- Einen menübasierten Stash erstellen (runtimeOnly = true standardmäßig)
-- Nützlich für eigene UI-/Menüsysteme
local virtualStashId = exports['jaksam_inventory']:registerStash({
id = "player_bank_vault",
label = "Bank Vault",
maxWeight = 500,
maxSlots = 50,
isPrivate = true
-- runtimeOnly = true standardmäßig, nur programmatischer Zugriff
})
-- Stash programmatisch vom Server öffnen (z.B. aus einem Menü oder Befehl)
RegisterCommand('openvault', function(source)
local charId = Framework.getPlayerCharIdentifier(source)
local stashId = "player_bank_vault_" .. charId
exports['jaksam_inventory']:forceOpenInventory(source, stashId)
end)
-- Alternative: Vom Client-Script aus öffnen
-- exports['jaksam_inventory']:openInventory('stashId')