Référence de l’APILib pour Lua
Toutes les fonctions aiLib
La liste complète des membres d’aiLib : côté, si l’appel attend, et la page qui le documente avec son onglet Lua.
Tous les membres d’aiLib, tirés du init.lua d’ai-lib. La plupart sont l’équivalent d’une fonction TypeScript et sont documentés sur la page de cette fonction, avec l’appel Lua dans le bloc de signature et un onglet d’exemple Lua. Attend signifie que l’appel se met en pause jusqu’à l’arrivée de la réponse : appelez-le dans un thread (voir Fonctions qui attendent).
Les méthodes d’une classe (points:add(...), job:set(...)) sont listées avec leur classe.
Les deux côtés
| Fonction | Attend | Documentée sur |
|---|---|---|
aiLib.side | non | Lib pour Lua |
aiLib.every(ms, fn, options?), job:set(active), job:stop(), job.running | non | Planification et cycle de vie : every |
aiLib.waitFor(check, timeout?, interval?) | oui | Planification et cycle de vie : waitFor |
aiLib.formatText(text, ...) | non | Texte et nombres : formatText |
aiLib.locale(resource?) | non | Langue : createLocale |
aiLib.fail(error) | non | Actions et entrées client : fail |
aiLib.numbers.round(value, decimals?) | non | Texte et nombres : round |
aiLib.numbers.groupDigits(value, separator?) | non | Texte et nombres : groupDigits |
aiLib.numbers.headingTo(from, to) | non | Positions : headingTo |
aiLib.stripGameText(text) | non | Texte et nombres : stripGameText |
aiLib.notify(...) : client (text, kind?, duration?), serveur (source, text, kind?, duration?) | non | Client : interface partagée, Serveur : joueurs |
aiLib.inventory, aiLib.world, aiLib.appearance, aiLib.mdt | voir plus bas | Les membres diffèrent selon le côté (plus bas). |
Client
| Fonction | Attend | Documentée sur |
|---|---|---|
aiLib.triggerServerCallback(name, args?, timeout?) | oui | Parler au serveur |
aiLib.onServerCallback(name, handler) | non | Parler au serveur |
aiLib.onServerEvent(name, handler) | non | Parler au serveur |
aiLib.callAction(name, args?, { fallback, timeout?, silent? }) | oui | Parler au serveur |
aiLib.cache (ped, playerId, serverId, vehicle, seat, weapon), aiLib.cache.onChange(key, handler) | non | Le joueur local |
aiLib.player (coords, heading, distanceTo, freeze, teleport, playAnim, stopAnim) | teleport oui | Le joueur local |
aiLib.fadeOut(ms?), aiLib.fadeIn(ms?) | oui | Le joueur local |
aiLib.playerPed(serverId) | non | Le joueur local |
aiLib.nearestPlayer(metres, { from?, filter? }) | non | Le joueur local |
aiLib.playerData.get(key), aiLib.playerData.onChange(key, handler) | non | Helpers propres à Lua |
aiLib.Points.new() : :add, :addModel, :addVehicle, :remove, :clear, :refresh | non | Points d’interaction |
aiLib.Zones.new() : :add, :remove, :clear, :isInside | non | Zones |
aiLib.LocalPed.new(options) : :remove | non | Peds, blips et props |
aiLib.Blips.new() : :add, :get, :remove, :clear ; aiLib.Blips.create(options) | non | Peds, blips et props |
aiLib.progress(options), aiLib.progress.cancel(), aiLib.progress.isRunning() | progress oui | Interface partagée |
aiLib.menu.show(request, listeners?) | oui | Interface partagée, la table menu |
aiLib.input(request) / aiLib.menu.input | oui | Interface partagée |
aiLib.itemPicker(request) / aiLib.menu.itemPicker | oui | Interface partagée |
aiLib.skillCheck(difficulty, keys?) / aiLib.menu.skillCheck | oui | Interface partagée |
aiLib.lockpick(options?) / aiLib.menu.lockpick | oui | Interface partagée |
aiLib.showPrompt(id, text), aiLib.hidePrompt(id), aiLib.onPromptPressed(handler) | non | Interface partagée |
aiLib.hud (hide, show, visible) | non | Écrans et contrôles |
aiLib.keyHints (show, hide) | non | Écrans et contrôles |
aiLib.controls (disable, disableAll, enable) | non | Écrans et contrôles |
aiLib.Keybind.new(options) : :disable | non | Raccourcis clavier |
aiLib.inventory (openInventory, hasItem, currentWeapon) | non | Couches via ai-core |
aiLib.world (pauseSync, resumeSync) | non | Couches via ai-core |
aiLib.appearance (apply, read, openMenu, wearOutfit, reloadSkin) | non | Couches via ai-core |
aiLib.gestures (isHandsUp, isPointing, provider, playEmote, cancelEmote, emoteProvider) | non | Couches via ai-core |
aiLib.seatbelt (isOn, onChange, provider) | non | Couches via ai-core |
aiLib.radial (add, remove, refresh) | non | Couches via ai-core |
aiLib.mdt.open() | non | Couches via ai-core |
aiLib.nearestVehicle(metres, { networked?, notOwn?, filter? }) | non | Véhicules et entités |
aiLib.waitForEntity(netId, timeout?) | oui | Véhicules et entités |
aiLib.raycast(from, to, options?) | non | Sondes et chargement |
aiLib.groundZ(x, y, z?), aiLib.locationName(coords?), aiLib.vehicleLabel(vehicle), aiLib.waypoint() | non | Sondes et chargement |
aiLib.pedHeadshot(ped, transparent?, timeout?) | oui | Sondes et chargement |
aiLib.onShot(handler) | non | Sondes et chargement |
aiLib.requestModel, requestAnimDict, requestAnimSet, requestPtfxAsset, requestTextureDict, requestWeaponAsset (name, timeout?) | oui | Sondes et chargement |
aiLib.ModelPoints et aiLib.targets sont internes (ils servent Points:addModel et les adaptateurs de scripts de ciblage) ; ne les appelez pas.
Serveur
| Fonction | Attend | Documentée sur |
|---|---|---|
aiLib.onClientCallback(name, handler, { rate?, lock?, ace? }) | non | Entrées client |
aiLib.onClientEvent(name, handler, { rate?, ace? }) | non | Entrées client |
aiLib.triggerClientCallback(name, source, args?, timeout?) | oui | Entrées client |
aiLib.progressFor(source, options) | oui | Entrées client |
aiLib.minigameFor(source, options) | oui | Entrées client |
aiLib.isAdmin(source, ace?) | non | Helpers propres à Lua |
aiLib.addCommand(name, options, handler) | non | Commandes |
aiLib.online (character, name, jobs, gangs, jobGrade, gangGrade, dutyJob, sources) | non | Helpers propres à Lua |
aiLib.onCharacter({ loaded?, unloaded? }) | non | Joueurs et personnages |
aiLib.playersNear(source, radius), aiLib.playersNearEntity(entity, radius), aiLib.nearestPlayerTo(source, metres, filter?) | non | Joueurs et personnages |
aiLib.RateLimit.new(count, windowMs) : :take(source), :release(source) | non | Joueurs et personnages |
aiLib.inventory (addItem, removeItem, getItemCount, hasItem, canCarryItem, getItems, clearInventory, registerStash, openInventory, registerUsableItem, getItemDefinition, registerShop, openShop) | non | Objets |
aiLib.spawnVehicle(options) | oui | Véhicules |
aiLib.vehicleKeys (give, remove, has) | non | Véhicules |
aiLib.vehicleFromNet(netId), aiLib.vehicleNearPlayer(source, netId, options?), aiLib.nearestVehicleTo(source, metres, filter?) | non | Véhicules |
aiLib.billing (send, unpaid, pay, provider) | unpaid oui | Argent et banque |
aiLib.banking (open, societyBalance, provider) | non | Argent et banque |
aiLib.dispatch.alert(alert) | non | Métiers et services |
aiLib.prison (jail, release, timeLeft) | non | Métiers et services |
aiLib.mdt (record, provider) | non | Métiers et services |
aiLib.ems (available, distress, provider) | non | Métiers et services |
aiLib.stress (gain, relieve, provider) | non | Métiers et services |
aiLib.world (getWeather, setWeather, getTime, setTime, setBlackout, freezeTime) | non | Monde |
aiLib.phone (number, sourceOf, hasPhone, mail, message, notify) | non | Téléphone et apparence |
aiLib.appearance (get, provider) | get oui | Téléphone et apparence |
aiLib.aiLog(channel, message, options?) | non | Journaux |