Stable ou interne
Cette page sépare ce que tu peux utiliser dans tes ressources et modules de ce qui appartient au fonctionnement interne du Socle.
| Statut | Ce que ça veut dire |
|---|---|
| Stable | Documenté dans la référence de l'API : c'est l'interface publique prévue pour ton code. Base-toi dessus. |
| Interne | Existe dans le code mais n'est pas documenté, ou sert de pont entre deux ressources livrées. Il peut changer ou disparaître à une mise à jour, sans être signalé. |
Depuis une autre ressource, passe par les exports (exports.socle:…). Depuis un module dans socle/modules/<nom>/, utilise directement l'objet Core.
Exports stables : base et réglages
| Export | Côté | Rôle |
|---|---|---|
getCoreObject(), getSharedObject() | les deux | l'objet Core (coûteux à travers un export : réserve-le aux appels ponctuels) |
getVariable(catégorie, clé) | les deux | valeur d'un réglage (côté client : attend le chargement) |
getAccent() | les deux | couleur du serveur { r, g, b } (la première couleur, même en mode dégradé) |
getAccentHex() | les deux | couleur du serveur "#rrggbb" |
panelTheme() | serveur | thème d'interface reçu du panel ({ vars, css }) |
licenseStatus(), licenseShield() | serveur | état de la licence |
log(cat, titre, message, src, données), logPush(opts) | serveur | écrire un log |
can(permission) | client | le joueur local a-t-il cette permission (affichage seulement) |
Exports stables : interface et interactions (client)
| Export | Rôle |
|---|---|
addInteractionPoint(opts), removeInteractionPoint(id) | point « appuie sur E » |
addInteractionPointThisFrame(id, opts) | point mobile, à rappeler régulièrement |
isInteractionActive() | un point est à portée de touche |
Notify(message, type, durée, options), showNotification(...) | notification |
Decide(opts) | décision Oui / Non : "yes", "no" ou "timeout" |
StartProgress({ label, duration }), CancelProgress() | barre de progression |
ShowAdvancedServerInfo(objet, message, durée, titre) | information serveur |
HelpText(texte, durée), Subtitle(texte, durée) | texte d'aide, sous-titre |
KeyHints(liste), HideKeyHints() | barre de touches |
NewsBanner(data) | bandeau d'antenne plein écran (false pour le retirer) |
drawInfo(titre, éléments), hideInfo() | panneau d'informations |
createPrompt(titre, description, description2, fn), isPromptOpen() | demande de confirmation avec curseur |
requestTextInput({ title, default }) | saisie de texte (bloquant, dans un thread) |
setWorldTag(id, data), removeWorldTag(id) | étiquette flottante dans le monde |
SetHudVisible(bool), ToggleVisible(bool) | afficher / masquer le HUD |
IsInSafeZone() | le joueur est dans une zone protégée |
licenseCard(item), showOwnedCard(nomObjet) | afficher une carte de permis ou d'identité |
kevlarUsePlates(data, slot) | utilisation des plaques de kevlar (objet ox_inventory) |
Exports stables : jeu (serveur)
| Export | Rôle |
|---|---|
getSocietyAccount, addSocietyAccount, removeSocietyAccount, setSocietyAccount | comptes de société |
getSocietyPoints, getSocietyState, setSocietyState | points et état des sociétés |
businessOnDuty, businessItemExists, businessCanCarry, businessHasItems, businessGive, businessTake, businessTakeMoney, businessCredit, businessClaimSeed | outils des commerces de joueurs |
hasLicense(src, type) | le joueur possède-t-il ce permis |
getCharacterLimit(license), addCharacterSlot(license, nombre) | emplacements de personnages |
getPlayerSkin, setPlayerSkin, getPlayerTattoos, getTattooCatalogue | apparence |
getVehicleKind, getCategoryKind, vehicleNativeType, getDefaultGarage | garages et types de véhicules |
cardealerGetStock, cardealerConsumeStock, cardealerRestoreStock | stock des concessions |
deathscreenRespawnTime(src) | délai de réapparition |
drugMarketFactor(objet), drugMarketSold(objet, quantité) | marché de la drogue |
recordTreatment(type, patient, médecin, montant, facturé) | dossier médical EMS |
getPoliceArmoury(métier), getServiceJobPoints(type) | armurerie et points des métiers de service |
Les signatures complètes et des exemples sont dans Tous les exports du Socle.
Events publics stables
Events locaux, à écouter avec AddEventHandler depuis n'importe quelle ressource : socle:accentChanged, socle:inventorySkinChanged, socle:hud:refreshHeadshot, socle:me:said, socle:characterCreated, socle:tutorial:action, plus l'event réseau hud:advancedServerInfo. Détail : Events publics.
API Core stable (dans un module)
| API | Côté | Page |
|---|---|---|
Core.Variable:defineCategory, :define, :get, :getOr, :getEntry, :watch, :version | serveur (définition), les deux (lecture) | Réglages côté code |
Core.Callback:register, :trigger, :await | les deux | Callbacks |
Core.Event:register, :registerRaw, :registerLocal, :send, :sendSegment, :broadcast, :call | serveur | Events |
Event:send, :sendSegment, :register, :registerLocal, :call | client | Events |
Core.Hook.listen, .once, .call (hooks variable:changed, permissions:changed) | les deux | Hooks |
Core.Keybind:add, :getControlLabel | client | Raccourcis clavier |
Core.Permission:can, :has, :add, :remove, :set ; Core.Group:isStaff, :getPlayerGroup | serveur | Permissions |
Core.Command:register | les deux | Permissions |
Core.Logs.push, Core.Logs.send | serveur | Logs |
Core.BanCode.format, .parse | les deux | Codes de ban |
Core.t, Core.getTranslations | les deux | Traductions |
Core.onReady, Core.registerClass, Core.resolveClass, Core.getPlayer, Core.getIdentifier, Core.getPlayerName, Core.isFinite, Core.clamp, Core.round, Core.jsonDecode, Core.jsonEncode, Core.nui, Core.rnui, Core.Player | voir la page | Core, l'objet global |
Exports internes
Ces exports existent mais ne sont pas à utiliser depuis ton code :
| Export | Pourquoi interne |
|---|---|
OxInputDialog, OxAlertDialog, OxCloseInputDialog, OxCloseAlertDialog, OxSkillCheck, OxCancelSkillCheck, OxShowTextUI, OxHideTextUI, OxNuiRaw, OxFocus, OxRelease | pont qui relaie les menus d'ox_lib dans l'interface unique. Utilise lib.* d'ox_lib, jamais ces exports. |
getAccentFill() (client) | dégradé CSS de la couleur du serveur, utilisé par l'inventaire. Non documenté : pour suivre la couleur, utilise getAccent() et socle:accentChanged. |
event local socle:accentFillChanged (client) | annonce le dégradé (css ou nil, deuxième couleur) à l'inventaire. Même remarque que getAccentFill(). |
Les exports des autres ressources livrées (core, banking, cardealer…) ne sont pas couverts par cette page : considère-les comme internes.