API publique de la Base
Cette référence couvre les familles d'intégration prévues pour les ressources clientes. Un export découvert dans un fichier interne n'est pas automatiquement une API stable.
Utilisation
local value = exports.core:getNumberVar('coma.timer')Le nom de ressource doit rester core. Vérifiez toujours qu'elle est démarrée avant d'appeler un export.
Configuration et traduction
| Export | Côté | Usage |
|---|---|---|
getVersion | serveur | version installée du core |
getServerConfig | serveur | configuration publique synchronisée |
getServerBanners | serveur | bannières d'une catégorie du panel |
getNumberVar | serveur | valeur Gameplay RP dynamique |
translate | partagé | traduit une clé avec ses paramètres |
getLocale | partagé | locale active |
getTranslations | partagé | catalogue d'une locale |
setLocale | partagé | change la locale active côté client |
Zones et interactions
Les zones publiques permettent de créer et retirer une zone au runtime. Le context menu expose des fonctions pour les joueurs, véhicules, PNJ, objets, zones box, sphere et poly.
local zoneId = exports.core:CreateZone({
name = 'example_zone',
owner = 'my_resource',
pos = vector3(0.0, 0.0, 72.0),
dist = 2.0,
marker = true,
visual = { message = 'Interact' },
onPressed = function() print('zone used') end,
})
exports.core:RemoveZone(zoneId)
exports.core:RemoveZone('example_zone')pos est le seul champ obligatoire : sans lui la fonction retourne -1 et ne crée rien. dist vaut 1.5 par défaut et markerDist 20.0. RemoveZone accepte l'identifiant retourné ou le name de la zone.
| Champ | Rôle |
|---|---|
pos | position de la zone (requis) |
dist | distance d'interaction |
markerDist | distance d'affichage du marker |
name | nom unique, réutilisable pour la suppression |
owner | ressource ou module propriétaire |
marker / blip / ped | éléments visuels associés |
jobs | métiers autorisés |
visual | message affiché à l'approche |
onPressed / onSecondPressed | action à la validation |
onEntered / onExited | entrée et sortie de zone |
condition | fonction d'activation dynamique |
Pour le context menu, conservez l'identifiant retourné afin de supprimer proprement l'entrée lors de l'arrêt de votre ressource.
Gameplay
Les intégrations publiques couvrent notamment :
- état Police et Ambulance ;
- réanimation d'un joueur côté serveur ;
- prison et libération ;
- création d'une facture société ;
- lecture et opérations sur les devises ;
- lecture des niveaux et avantages VIP ;
- ouverture et gestion du crafting ;
- statut coma, safezone et connexion terminée ;
- garages, véhicules, clés et données de personnage selon le module.
Consultez les pages client et serveur historiques pour les signatures détaillées déjà garanties. Les exports de cache du panel, de compatibilité framework ou de plomberie NUI sont réservés aux ressources KLMSTUDIO sauf indication contraire.
Événements et jeton
Tous les événements réseau entrants du core sont signés par un jeton. Un TriggerServerEvent brut vers un événement du core est rejeté silencieusement : aucune erreur, aucun effet.
Pour envoyer un événement au core depuis un script client, passez par l'export dédié :
-- client
exports.core:triggerServerEvent('mon:event:serveur', arg1, arg2)Dans l'autre sens, vous pouvez écouter normalement les événements que le core envoie au client. Mais un événement interne n'est pas une API : préférez toujours un export documenté quand il en existe un.
Bonnes pratiques
- Appelez les exports serveur depuis un fichier serveur et les exports client depuis un fichier client.
- Validez les paramètres venant du joueur.
- Ne déclenchez pas un événement interne à la place d'un export public.
- Ne supposez pas qu'un export non documenté conservera sa signature.
- Ajoutez
dependency 'core'dans votrefxmanifest.luasi votre ressource ne peut pas fonctionner sans lui.
dependency 'core'Support d'une intégration
Lors d'une demande de support, fournissez le nom de l'export, le côté d'exécution, les paramètres utilisés, l'erreur complète et un exemple minimal. Ne transmettez jamais de clé de licence ou de webhook.