Métadonnées et réglages
Lire et écrire le sac de métadonnées d’un personnage, lire l’identité visuelle du serveur et la liste des scripts obsolètes.
GetMeta
Une valeur des métadonnées d’un personnage : un sac libre de valeurs nommées enregistré avec le personnage. Les scripts ESX et QB y gardent leurs données de personnage supplémentaires via le pont (hunger, thirst, armor, isdead...), et votre script peut y garder de petites valeurs à lui.
Côté : Serveur · Attend : non · Lib : aucune
GetMeta(src: number, key: string): unknownlocal value = exports['ai-core']:GetMeta(source, 'myscript_xp') -- n’importe quelle valeur ou nilParamètres
Prop
Type
Retour
unknown : la valeur stockée (nombre, texte, booléen, liste ou table), telle qu’elle a été définie. null quand la clé n’est pas définie ou que le joueur n’a pas de personnage chargé. Vérifiez le type avant de l’utiliser : la valeur a pu être écrite par un autre script ou par une ancienne version du vôtre.
Exemple
import { resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
/** The character's fishing level, 1 when none was stored yet. */
export function fishingLevel(source: number): number {
const value = core.GetMeta(source, "myscript_level");
return typeof value === "number" && Number.isInteger(value) && value > 0 ? value : 1;
}SetMeta
Stocke une valeur dans les métadonnées d’un personnage. La valeur est enregistrée lors du prochain enregistrement périodique du personnage (réglage du panneau, toutes les 5 minutes par défaut), à la déconnexion et à l’arrêt du serveur.
Côté : Serveur · Attend : non · Lib : aucune
SetMeta(src: number, key: string, value: unknown): booleanlocal ok = exports['ai-core']:SetMeta(source, 'myscript_level', 3)Paramètres
Prop
Type
Retour
boolean : true quand la valeur a été stockée (ou supprimée). false quand le joueur n’a pas de personnage chargé ou que key n’est pas un texte.
Le changement atteint tout de suite le propre jeu du joueur et déclenche l’événement serveur ai-core:metaChanged (src, key, value).
Exemple
import { resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
/** One level up after enough catches. */
export function levelUp(source: number): void {
const level = core.GetMeta(source, "myscript_level");
const next = (typeof level === "number" ? level : 1) + 1;
core.SetMeta(source, "myscript_level", next);
}Les métadonnées servent aux petites valeurs qui appartiennent à un personnage (un niveau, un drapeau, quelques nombres). Les listes qui grandissent (un historique, chaque prise) et tout ce que vous recherchez ou comptez entre personnages vont dans votre propre table de base de données. Les valeurs des métadonnées ne sont pas enregistrées tout de suite : l’argent et les objets n’y vont jamais.
GetBranding
Le nom, le sous-titre, les slogans et l’image de fond du serveur depuis les réglages General du panneau. Utilisez-le pour afficher le même nom sur vos propres menus plein écran.
Côté : Serveur · Attend : non · Lib : aucune
GetBranding(): Brandinglocal brand = exports['ai-core']:GetBranding() -- tableParamètres
Aucun.
Retour
Branding : une copie avec name, subtitle, tagline, taglineSub et background ("skyline" ou "wet-drive", une image dans ai-core). Voir Branding.
Exemple
import { onClientCallback, resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
// L’écran de bienvenue affiche le nom du serveur.
onClientCallback("myscript:welcome", () => {
const { name, tagline } = core.GetBranding();
return { ok: true, name, tagline };
});GetUpdates
Les scripts qui ont une release GitHub plus récente que la version en cours, d’après la vérification des mises à jour d’ai-core. ai-core interroge GitHub au plus une fois toutes les 6 heures par script (et au démarrage d’un script) pour chaque script démarré qui a une ligne repository dans son fxmanifest.lua, sauf si Check for updates (vérifier les mises à jour) est désactivé dans le panneau.
Côté : Serveur · Attend : non · Lib : aucune
GetUpdates(): UpdateInfo[]local outdated = exports['ai-core']:GetUpdates() -- liste de tablesParamètres
Aucun.
Retour
UpdateInfo[] : une entrée par script obsolète avec resource, label (le nom sous lequel on le connaît), current (version en cours), latest (release la plus récente) et url (la page de la release). Une liste vide quand tout est à jour ou que rien n’a encore été vérifié (la première vérification a lieu 15 secondes après le démarrage). Voir UpdateInfo.
Exemple
import { addCommand, resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
addCommand("outdated", { help: "Lists outdated scripts", restricted: true }, () => {
for (const u of core.GetUpdates()) console.log(`${u.label}: ${u.current} -> ${u.latest} (${u.url})`);
});Métiers et gangs
Lire et modifier les métiers, gangs, grades et le service d’un personnage, compter les joueurs en service, heures de pointe, lire les définitions des métiers et des gangs.
Objets
Ajouter, retirer, compter et vérifier des objets dans n’importe quel inventaire, enregistrer des coffres, des magasins de script et des objets utilisables, lire les définitions d’objets et le poids porté.