AI Core
Fahrzeugeai-vehiclekeys

ai-vehiclekeys für Entwickler

Server-Exports von ai-vehiclekeys, die API von qbx_vehiclekeys, die es beantwortet, und seine Events.

Um aus deinem eigenen Skript Schlüssel zu geben, zu nehmen oder zu prüfen, nutze vehicleKeys.give(source, vehicle, purpose), vehicleKeys.remove und vehicleKeys.has (Server) der Lib. Sie laufen über den Schlüssel-Layer von ai-core und funktionieren mit dem Schlüsselskript, das der Server gerade nutzt. Die Exports unten sind das, was dieser Layer aufruft, solange ai-vehiclekeys das aktive Schlüsselsystem ist.

Alle Exports laufen auf dem Server, sind synchron und antworten sowohl unter ai-vehiclekeys als auch unter qbx_vehiclekeys. Ein Fahrzeug ist ein serverseitiges Entity-Handle (Zahl) oder ein Kennzeichen (Text). Kennzeichen werden normalisiert verglichen (Leerzeichen und Groß-/Kleinschreibung spielen keine Rolle).

TypeScript
import { resourceExport, callExport } from "@aicore-fivem/lib/server";
const keys = resourceExport("ai-vehiclekeys"); // typisiert: HasKeys, GiveKeys, RemoveKeys
// SetLockState und IsPlayerNearVehicle sind nicht typisiert: callExport("ai-vehiclekeys", "SetLockState", vehicle, "lock")

Server-Exports

HasKeys

Ob ein Spieler den Schlüssel zu einem Fahrzeug hat: als Besitzer, als Mitglied des besitzenden Jobs oder der besitzenden Gang oder durch einen in dieser Sitzung vergebenen Schlüssel.

Seite: Server · Wartet: nein

Signatur
HasKeys(source: number, vehicle: number | string): boolean
Lua
local has = exports['ai-vehiclekeys']:HasKeys(source, vehicle)

Parameter

Prop

Type

Rückgabewert

true, wenn der Spieler den Schlüssel hat. Sonst false, auch bei einer Entity, die nicht existiert.

Beispiel

import { resourceExport } from "@aicore-fivem/lib/server";

const keys = resourceExport("ai-vehiclekeys");

onNet("myscript:openTrunk", (netId: number) => {
  const source = globalThis.source;
  const vehicle = NetworkGetEntityFromNetworkId(netId);
  if (!keys.HasKeys(source, vehicle)) return;
  // ... den Kofferraum öffnen
});

GiveKeys

Gibt einem Spieler einen Schlüssel für diese Sitzung. Der Spieler behält ihn, bis er den Server verlässt oder den Charakter wechselt. Einen Schlüssel zu geben, den der Spieler schon hat, tut nichts.

Seite: Server · Wartet: nein

Signatur
GiveKeys(source: number, vehicle: number | string): void
Lua
exports['ai-vehiclekeys']:GiveKeys(source, vehicle)

Parameter

Prop

Type

Rückgabewert

Nichts. Sitzt der Spieler gerade in diesem Fahrzeug, wird sein Client informiert (ai-vehiclekeys:client:granted): Die Motorsperre endet und der Motor startet.

RemoveKeys

Nimmt einem Spieler einen Sitzungsschlüssel. Besitzschlüssel (Besitzer, Job- oder Gang-Fuhrpark) können nicht entfernt werden: Sie folgen dem Besitzer des Fahrzeugs.

Seite: Server · Wartet: nein

Signatur
RemoveKeys(source: number, vehicle: number | string): void
Lua
exports['ai-vehiclekeys']:RemoveKeys(source, vehicle)

Rückgabewert

Nichts.

SetLockState

Schließt ein Fahrzeug auf dem Server ab oder auf, ohne jede Schlüsselprüfung.

Seite: Server · Wartet: nein

Signatur
SetLockState(vehicle: number, state: "lock" | "unlock" | boolean | number): void
Lua
exports['ai-vehiclekeys']:SetLockState(vehicle, 'lock')

Parameter

Prop

Type

Rückgabewert

Nichts. Eine Entity, die nicht existiert, tut nichts.

IsPlayerNearVehicle

Ob ein Spieler innerhalb von 5 m von einem Fahrzeug steht.

Seite: Server · Wartet: nein

Signatur
IsPlayerNearVehicle(source: number, vehicle: number): boolean
Lua
local near = exports['ai-vehiclekeys']:IsPlayerNearVehicle(source, vehicle)

Rückgabewert

true innerhalb von 5 m. false, wenn weiter entfernt oder wenn eines der Argumente keine Zahl ist.

Events

Die eigenen Events von ai-vehiclekeys sind intern (Client-Callbacks zwischen seinem Client und Server). Rufe sie nicht aus anderen Skripten auf.

NameArtWas es macht
ai-vehiclekeys:checkClient-Callback(netId) -> boolean: ob der Spieler einen Schlüssel hat, abgefragt, wenn er Platz nimmt.
ai-vehiclekeys:toggleLockClient-Callback(netId) -> { ok, locked? }: die Schließtaste.
ai-vehiclekeys:giveNearestClient-Callback(netId) -> { ok }: die Schlüssel an den nächsten Spieler übergeben.
ai-vehiclekeys:client:grantedServer an Client(netId): Ein Schlüssel ist angekommen, während man in diesem Fahrzeug sitzt; der Motor darf starten.

Benutzbares Item

lockpick wird über den Inventar-Layer von ai-core als benutzbares Item registriert. Das Item wird nur verbraucht, wenn es zerbricht.

Auf dieser Seite