API
Ein Fahrzeug ist ein Kennzeichen, Leerzeichen sind egal. api.lua liegt offen in der Resource.
Client
OpenApp
Clientexports.cs_garage_app:OpenApp() Öffnet die App auf dem Handy dieses Spielers.
Gibt zurückboolean false, wenn lb-phone nicht will
GetAppIdentifier
Clientexports.cs_garage_app:GetAppIdentifier() Die ID, unter der lb-phone die App führt, für die Exports von lb-phone.
Gibt zurückstring
Server
GetPlayerVehicles
Serverexports.cs_garage_app:GetPlayerVehicles(who) who ist eine Server-ID oder der Identifier eines Charakters, der Spieler muss also nicht online sein. state ist, was die Zeile sagt: stored, out oder impound. spawned ist, ob das Fahrzeug wirklich auf dem Server steht.
Gibt zurücktable { plate, model, class, state, garage, favorite, nickname, fuel, engine, body, wrecked, spawned }
GetVehiclePosition
Serverexports.cs_garage_app:GetVehiclePosition('AB 12345') Dieselbe Suche wie der Orten-Knopf, ohne jemandem etwas zu berechnen.
Gibt zurück{ x, y, z }, entity nil, wenn das Kennzeichen nirgends ist
OpenApp
Serverexports.cs_garage_app:OpenApp(source) Gibt zurückboolean false, wenn der Spieler nicht auf dem Server ist
Refresh
Serverexports.cs_garage_app:Refresh(source) Sagt einem Handy, dass seine Liste veraltet ist. Ohne source gilt es für alle. Nur nötig für Änderungen, die diese Resource nicht sehen konnte.
GetGarageMode
Serverexports.cs_garage_app:GetGarageMode() Gibt zurückstring 'cs_garage', 'database' oder 'custom'
Hooks
Nichts oder true erlaubt, false lehnt ab. Ein Satz dahinter wird dem Spieler genau so gezeigt. Halte sie kurz, sie laufen in der Anfrage, auf die der Spieler wartet.
RegisterHook
Serverexports.cs_garage_app:RegisterHook(name, fn) Gibt zurücknumber | nil eine ID für RemoveHook
local function bind()
exports.cs_garage_app:RegisterHook('canOrder', function(src, plate, class)
if isWanted(plate) then return false, 'That vehicle is held.' end
end)
end
AddEventHandler('onResourceStart', function(resource)
if resource == 'cs_garage_app' then bind() end
end)
if GetResourceState('cs_garage_app') == 'started' then bind() endRemoveHook
Serverexports.cs_garage_app:RemoveHook(id) CountHooks
Serverexports.cs_garage_app:CountHooks(name) Gibt zurücknumber
canOpen
Serverfunction(source) canOrder
Serverfunction(source, plate, class) canTrack
Serverfunction(source, plate) canRename
Serverfunction(source, plate, nickname) Der Name ist schon auf die Länge gekürzt.
canFavorite
Serverfunction(source, plate, favorite) canPark
Serverfunction(source, plate, garage) garage ist der Name der Garage, in die es geht, oder nil.
Hooks liegen im Speicher. Ein Neustart von cs_garage_app verwirft alle, registriere also beim Start von cs_garage_app.
Events
-- client
cs_garage_app:delivered (plate, vehicle)
-- server
cs_garage_app:ordered (source, { plate, class, model, price, mode })
cs_garage_app:delivered (source, { plate })
cs_garage_app:tracked (source, { plate, class, model, position, price })
cs_garage_app:renamed (source, { plate, nickname })
cs_garage_app:favorite (source, { plate, favorite })
cs_garage_app:parked (source, { plate, class, model, garage, price, mode })Auf dem Client feuert delivered in dem Moment, in dem das Fahrzeug fertig gebaut ist, bevor der Fahrer losfährt. Das ist der Platz für Schlüssel. Auf dem Server feuert ordered, sobald das Geld bewegt ist, und parked, sobald die Zeile geparkt sagt.