Aller au contenu
TLRFRAMEWORK REDM Ma console

Référence condensée de l'API

Résumé de l'API publique de tlr_core, regroupée par domaine. La référence complète, avec les détails et les points à vérifier en jeu, est dans docs/API.md : chaque partie ci dessous indique la section correspondante. Retour au sommaire.

Tous les montants sont des entiers en centimes (150 vaut 1,50 $). Sauf mention contraire, les exports sont côté serveur et s'appellent exports.tlr_core:Nom(...).

Cœur

Section « Objet central » de docs/API.md.

  • GetCoreObject() : l'objet central TLR.
  • IsReady() : vrai quand le démarrage est terminé.
  • GetVersion() : version de tlr_core.
  • Événement serveur tlr:core:ready.

Modules et paramètres

Section « Déclarer un module ». Guide pas à pas : Créer un module externe.

  • RegisterModule(déclaration) : true ou false, message.
  • GetSetting(clé), OnSettingChanged(clé, fonction).
  • Événement serveur tlr:settings:changed (clé, valeur).

Joueurs et personnages

Section « Joueurs (serveur) ».

  • GetPlayer(src) : { source, license, character } ou nil (copie).
  • GetCharacterId(src), GetPlayerByCitizenId(id).
  • Existent aussi : GetPlayerByLicense, GetPlayerByName, GetPlayerByUid, GetPlayerUid, GetCharacterUid, FindCharacter (voir la section « Identifiants uniques »).
  • Client : GetCharacter().
  • Événements serveur : tlr:character:loaded (src, idPersonnage), tlr:character:unloaded (src, idPersonnage).

Économie

Section « Économie (serveur) » et « Argent : centimes, monnaie et billets ensanglantés ».

  • GetBalance(src, compte) avec 'cash' ou 'bank'.
  • AddMoney(src, compte, montant, motif, opId) et RemoveMoney(...) : true, nouveauSolde ou false, code (INSUFFICIENT_FUNDS, NO_CHARACTER...). Un opId rejoué n'est pas appliqué deux fois.
  • GetPrice(base) : prix de base multiplié par le profil économique. FormatMoney(150) donne '$1.50'.
  • Aussi présents : GetPriceMultiplier, ExchangeMoney.

Métiers

Section « Métiers ». Guide d'intégration : docs/integration/metiers.md.

  • GetJob(nom), GetJobs(), IsJobActive(nom), GetJobFamily(nom), IsInJobFamily(src, famille), SetJob(src, nom, grade).
  • Service : IsOnDuty(src), SetDuty(src, actif), GetDutyCount(métierOuFamille), GetOnDutyPlayers(métierOuFamille).
  • Activités : RegisterJobActivity(nom, spec), RemoveJobActivity(nom), ProvideJobItems(liste).
  • Alertes : SendJobAlert(cible, données) avec cible = 'law', 'medical' ou un nom de métier.
  • Plusieurs métiers : AddMultiJob, RemoveMultiJob, GetMultiJobs.
  • Client : GetJobState(), IsOnDuty().
  • Événements serveur : tlr:jobs:changed (nom), tlr:jobs:refresh (src), tlr:jobs:duty (src, métier, enService), tlr:jobs:activity (src, activité, type).

Inventaire et objets

Section « Inventaire (serveur) ».

  • AddItem(src, nom, qté) : true ou false, code (NO_SPACE, TOO_HEAVY, NOT_FOUND...).
  • RemoveItem(src, nom, qté) : retire d'abord les piles les plus anciennes.
  • GetItemCount(src, nom), CanCarryItem(src, nom, qté), HasItem, GetItem(nom), GetItemByName, GetItemsByName, SetItemMetadata.
  • Poids : GetTotalWeight, GetFreeWeight, GetItemWeight.
  • Client : GetNeeds() donne { hunger, thirst }.
  • Événements serveur : tlr:inventory:used (src, nomObjet), tlr:inventory:updated (idPersonnage), tlr:items:changed.

Armes et licences

Section « Armes ».

  • HasLicense(src, type), HasLicenseByCharacter(idPersonnage, type), IssueLicense(idPersonnage, type, auteur, jours), RevokeLicense(idLicence, auteur, motif).
  • GiveWeapon(src, 'WEAPON_X', { ammoBoxes = n }), RemoveWeapon(src, 'WEAPON_X'), GiveAmmo(src, 'AMMO_X', boîtes).
  • GetEquippedWeapon(src), GetAmmo(src, 'AMMO_X'), DisarmPlayer(src).
  • Catalogue : GetWeapon(nom), GetWeapons(), GetAmmoTypes().
  • Événement serveur : tlr:weapons:licenseChanged (idPersonnage).

Apparence

Section « Apparence ».

  • GetAppearance(src), OpenAppearanceEditor(src), OpenClothingShop(src, idMagasin).
  • Client : GetAppearance().

Stockage et maisons

Section « Stockage et maisons ».

  • OpenStash(src, idCoffre, options), GetStashContents(idCoffre), AddStashItem(idCoffre, objet, qté, meta), RemoveStashItem(idCoffre, objet, qté), GetStashItemCount(idCoffre, objet).
  • GetSaddlebagCapacity(), HasHouseAccess(idPersonnage, idMaison), GetCharacterHouses(idPersonnage).
  • Événements serveur : tlr:storage:transferred, tlr:storage:houseFreed.

Chevaux

Section « Chevaux et charrettes ».

  • GetHorses(src), GetWagons(src), GetActiveHorse(src), IsHorseOwner(src, idCheval).
  • Aussi présents : IsHorseInjured, IsActiveHorseInjured, GetHorseCourage.

Boutiques

Section « Boutiques ».

  • GetShops(), GetShop(id), IsShopOpen(id).
  • Événements serveur : tlr:shops:purchased (src, idBoutique, lignes, total), tlr:shops:sold (src, idBoutique, objet, qté, total).

Banque et factures

Section « Banque et factures ».

  • CreateBill(données), GetBills(idPersonnage).
  • Comptes de métier : GetJobAccountBalance(métier), AddJobMoney(métier, montant, motif, opId), RemoveJobMoney(métier, montant, motif, opId).
  • Aussi présents : IsBankLocked, SetBankLockdown, ClearBankLockdown, IsBankAccountBlocked, SetBankAccountBlocked, GetBankTreasury, AddToTreasury, TakeFromTreasury, SendBankMessage, GetGoldPrice.

Ordre public

Section « Ordre public ».

  • IsPlayerCuffed(src), IsPlayerJailed(src), GetJailRemaining(src).
  • CanLaw(src, action) avec cuff, search, fine, jail, records.
  • AddCriminalRecord(idPersonnage, type, libellé) avec fine, jail, arrest, note, release.
  • Client : IsCuffed(), IsJailed().

Portes, zones et blips

Section « Portes, zones et blips ».

  • Serveur : IsDoorLocked(id), SetDoorLocked(id, verrouillée), GetZonesAt(x, y), SetBlip(id, spec), RemoveBlip(id).
  • Client : GetCurrentZones().

Lib tlib

Sections « Lib (logique) » et « Lib (interface) ». Inclusion : shared_script '@tlr_core/lib/init.lua'.

  • Partagé : tlib.locale, tlib.table, tlib.string, tlib.math, tlib.waitFor, tlib.timer, tlib.print.
  • Serveur : tlib.callback.register, tlib.callback.await, tlib.notify(src, données), tlib.ratelimit, tlib.logger.
  • Client : tlib.callback.await, tlib.prompt, tlib.zones, tlib.points, tlib.request, tlib.cache, tlib.onCache, tlib.raycast.
  • Interface (client) : tlib.notify, tlib.progress, tlib.input, tlib.alert, tlib.context, tlib.menu, tlib.textui, tlib.skillcheck.
  • Exports client de tlr_core pour les autres ressources : notify, progress, progressActive, cancelProgress, input, closeInput, alert, closeAlert, skillcheck, skillcheckActive, cancelSkillcheck, et les tables context, menu, textui (méthode en premier argument).
  • Événement serveur vers client : tlr:lib:notify (données).

Autres domaines

Les exports suivants existent dans le code, côté serveur ou côté client selon le cas ; leur côté et leurs signatures sont décrits dans les sections de docs/API.md indiquées.

  • Santé et maladies (section « Maladies, honneur, courage... ») : Infect, TryInfect, Cure, CureAll, HasDisease, GetPlagueState, GetAddiction, AddDose, GetAlcohol, AddAlcohol, GetAlcoholLevel, IsDead, IsPlayerDead, RevivePlayer, HealPlayer, GetInjuries, SetInjuries.
  • Honneur : GetHonor, AddHonor, GetAllHonor, GetHonorRank, GetCurrentHonorTown, GetHonorTownAt.
  • Gangs : GetGang, GetGangMembers, GetGangCamp, GetGangFunds, AddGangFunds, RemoveGangFunds.
  • VIP : GetVip.
  • Artisanat : OpenCrafting, OpenCraftingBook, GetCraftingRecipes, GetCraftingLevel, GetCraftingExp, GiveCraftingExp.
  • Écosystème et chasse : GetPopulation, GetSpecies, GetAllSpecies, GetSeason, IsHuntingLegal, HasHuntingLicense, RegisterHunt.
  • Monde et temps : GetGameTime, GetWeather, GetZone, GetZoneName, GetZoneAtCoords.
  • Événements de Noël : XmasIsActive, XmasIsEventActive, XmasGetAdventDay, XmasGetPlayerStats.
  • Surveillance : SurveillanceFlag, SurveillanceGrace (docs/SURVEILLANCE.md).
  • Divers : SendWebhook, ServerAnnouncement, SendChatMessage, GetUiTheme.

Actions RPC du panel

Section « Actions de l'interface (RPC) » et chaque section de domaine. Les actions s'enregistrent dans le code de tlr_core avec TLR.RPC.register (Architecture). Codes d'erreur stables : PERMISSION_DENIED, VALIDATION_FAILED, RATE_LIMITED, NOT_FOUND, CONFLICT, UNKNOWN_ACTION, NOT_READY, NO_CHARACTER, INSUFFICIENT_FUNDS, INTERNAL.

Source : tlr_core/docs/guide/dev_api.md