AI Core
Véhiculesai-vehiclekeys

ai-vehiclekeys pour les développeurs

Les exports serveur d’ai-vehiclekeys, l’API qbx_vehiclekeys à laquelle il répond, et ses events.

Pour donner, retirer ou vérifier des clés depuis votre propre script, utilisez vehicleKeys.give(source, vehicle, purpose), vehicleKeys.remove et vehicleKeys.has de la lib (serveur). Ils passent par la couche clés d’ai-core et fonctionnent avec le script de clés que fait tourner le serveur, quel qu’il soit. Les exports ci-dessous sont ce qu’appelle cette couche tant qu’ai-vehiclekeys est le système de clés actif.

Tous les exports sont côté serveur, synchrones, et répondent sous ai-vehiclekeys comme sous qbx_vehiclekeys. Un véhicule est un handle d’entité serveur (nombre) ou une plaque (texte). Les plaques sont comparées normalisées (les espaces et la casse n’ont pas d’importance).

TypeScript
import { resourceExport, callExport } from "@aicore-fivem/lib/server";
const keys = resourceExport("ai-vehiclekeys"); // typé : HasKeys, GiveKeys, RemoveKeys
// SetLockState et IsPlayerNearVehicle ne sont pas typés : callExport("ai-vehiclekeys", "SetLockState", vehicle, "lock")

Exports serveur

HasKeys

Indique si un joueur détient la clé d’un véhicule : comme propriétaire, comme membre du métier ou du gang propriétaire, ou via une clé donnée pendant cette session.

Côté : serveur · Attend : non

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

Paramètres

Prop

Type

Retour

true quand le joueur a la clé. false sinon, aussi pour une entité qui n’existe pas.

Exemple

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;
  // ... ouvrir le coffre
});

GiveKeys

Donne une clé à un joueur pour cette session. Le joueur la garde jusqu’à ce qu’il quitte le serveur ou change de personnage. Donner une clé que le joueur détient déjà ne fait rien.

Côté : serveur · Attend : non

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

Paramètres

Prop

Type

Retour

Rien. Si le joueur est assis dans ce véhicule en ce moment, son client est prévenu (ai-vehiclekeys:client:granted) : le blocage du moteur prend fin et le moteur démarre.

RemoveKeys

Retire une clé de session à un joueur. Les clés de propriété (propriétaire, flotte de métier ou de gang) ne peuvent pas être retirées : elles suivent le propriétaire du véhicule.

Côté : serveur · Attend : non

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

Retour

Rien.

SetLockState

Verrouille ou déverrouille un véhicule sur le serveur, sans aucune vérification de clé.

Côté : serveur · Attend : non

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

Paramètres

Prop

Type

Retour

Rien. Une entité qui n’existe pas ne fait rien.

IsPlayerNearVehicle

Indique si un joueur se tient à moins de 5 m d’un véhicule.

Côté : serveur · Attend : non

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

Retour

true à moins de 5 m. false plus loin, ou quand l’un des arguments n’est pas un nombre.

Events

Les events propres à ai-vehiclekeys sont internes (callbacks client entre son client et son serveur). Ne les appelez pas depuis d’autres scripts.

NomTypeCe qu’il fait
ai-vehiclekeys:checkcallback client(netId) -> boolean : indique si le joueur détient une clé, demandé quand il prend place.
ai-vehiclekeys:toggleLockcallback client(netId) -> { ok, locked? } : la touche de verrouillage.
ai-vehiclekeys:giveNearestcallback client(netId) -> { ok } : donner les clés au joueur le plus proche.
ai-vehiclekeys:client:grantedserveur vers client(netId) : une clé est arrivée pendant qu’il est assis dans ce véhicule ; le moteur peut démarrer.

Objet utilisable

lockpick est enregistré comme objet utilisable via la couche inventaire d’ai-core. L’objet n’est consommé que lorsqu’il casse.

Sur cette page