Server-Exports
Läden anlegen, schließen, verbilligen und für einen Spieler öffnen.
Läden lesen
GetShops
Serverexports.cs_shops:GetShops() Gibt zurücktable { id, name, type, label, accent, description, position, interact, runtime, payment, jobs, license, hours, enabled, open, prices }[]. open ist eingeschaltet und innerhalb der Öffnungszeit, prices der Multiplikator.
GetShop
Serverexports.cs_shops:GetShop(id) Gibt zurücktable | nil
GetShopId
Serverexports.cs_shops:GetShopId(name) Gibt zurücknumber | nil
GetShopStock
Serverexports.cs_shops:GetShopStock(id) Was im Regal liegt, mit den Preisen, die der Laden gerade nimmt. Gecacht, also billig.
Gibt zurücktable | nil { { label, icon, items = { { name, label, price, max, weapon } } } }
Läden ändern
CreateShop
Serverexports.cs_shops:CreateShop(shop) Ein Laden, der nur existiert, solange der Server läuft, sofort auf jedem Client. Derselbe Block wie in Config.Shops, gelesen wird er einmal.
Gibt zurücknumber | nil die ID, oder nil ohne Position oder ohne Sortiment
local id = exports.cs_shops:CreateShop({
name = 'blackfriday',
position = vector3(1234.0, -567.0, 63.0),
label = 'BLACK FRIDAY',
accent = 'Popup',
ped = 's_m_y_dealer_01',
heading = 90.0,
categories = { { label = 'Deals', icon = 'all', items = {
{ 'bread', 1 },
}}},
})RemoveShop
Serverexports.cs_shops:RemoveShop(id) Nimmt einen Laden weg, auch einen aus der Config und schickt alle darin raus. Die ID wird nie neu vergeben.
SetShopEnabled
Serverexports.cs_shops:SetShopEnabled(id, enabled) Schließt einen Laden, ohne ihn zu entfernen. Marker, Blip und Verkäufer bleiben, wer öffnen will, hört, dass er zu ist. Alle darin fliegen raus. Für einen Raub oder ein Event.
exports.cs_shops:SetShopEnabled(2, false)IsShopEnabled
Serverexports.cs_shops:IsShopEnabled(id) Gibt zurückboolean | nil
SetPriceMultiplier
Serverexports.cs_shops:SetPriceMultiplier(id, factor) 0.8 ist zwanzig Prozent weniger, 1.5 ein Event-Wochenende, 0 gratis. Einmal auf ganze Beträge gerundet, damit Fenster, Korb und Log dieselbe Zahl zeigen. Wer im Laden steht, fliegt raus, er sieht noch die alten Preise.
exports.cs_shops:SetPriceMultiplier(1, 0.8)GetPriceMultiplier
Serverexports.cs_shops:GetPriceMultiplier(id) Gibt zurücknumber | nil 1.0, wenn nie geändert
Für einen Spieler
OpenShop
Serverexports.cs_shops:OpenShop(source, id) Öffnet einen Laden für einen Spieler, wo er auch steht. Der einzige Weg in einen Laden mit interact = false und der Weg für eine Handy-App oder einen Job-Computer. Von hier aus wird keine Lizenz angeboten, die Antwort ist license.
Gibt zurückboolean, string, string true, oder false und ein Grund: unknown, error, unavailable, closed, job, license, empty, custom. Bei custom kommt der Satz deines Hooks als dritter Wert.
exports.cs_shops:OpenShop(source, exports.cs_shops:GetShopId('phone'))CloseShop
Serverexports.cs_shops:CloseShop(source) Gibt zurückboolean
GetPlayerShop
Serverexports.cs_shops:GetPlayerShop(source) Gibt zurücknumber | nil der Laden, in dem der Spieler gerade steht
CanPlayerUse
Serverexports.cs_shops:CanPlayerUse(source, id) Ob ein Spieler gerade reinkäme, ohne zu öffnen. Gut zum Ausgrauen eines Menüeintrags.
Gibt zurückboolean, string wie bei OpenShop