API-ReferenzLib für Lua
Jede aiLib-Funktion
die vollständige Liste der aiLib-Mitglieder: Client- oder Server-Seite, ob der Aufruf wartet, und die Seite, die es mit seinem Lua-Tab dokumentiert.
Jedes Mitglied von aiLib, aus der init.lua von ai-lib. Die meisten sind der Zwilling einer TypeScript-Funktion und werden auf der Seite dieser Funktion dokumentiert, mit dem Lua-Aufruf im Signaturblock und einem Lua-Beispieltab. Wartet bedeutet, dass der Aufruf anhält, bis die Antwort kommt: Rufe ihn innerhalb eines Threads auf (siehe Funktionen, die warten).
Methoden einer Klasse (points:add(...), job:set(...)) werden mit ihrer Klasse aufgeführt.
Beide Seiten
| Funktion | Wartet | Dokumentiert auf |
|---|---|---|
aiLib.side | nein | Lib für Lua |
aiLib.every(ms, fn, options?), job:set(active), job:stop(), job.running | nein | Scheduling: every |
aiLib.waitFor(check, timeout?, interval?) | ja | Scheduling: waitFor |
aiLib.formatText(text, ...) | nein | Text und Zahlen: formatText |
aiLib.locale(resource?) | nein | Sprache: createLocale |
aiLib.fail(error) | nein | Aktionen und Client-Eingaben: fail |
aiLib.numbers.round(value, decimals?) | nein | Text und Zahlen: round |
aiLib.numbers.groupDigits(value, separator?) | nein | Text und Zahlen: groupDigits |
aiLib.numbers.headingTo(from, to) | nein | Positionen: headingTo |
aiLib.stripGameText(text) | nein | Text und Zahlen: stripGameText |
aiLib.notify(...): Client (text, kind?, duration?), Server (source, text, kind?, duration?) | nein | Client: Gemeinsame UI, Server: Spieler |
aiLib.inventory, aiLib.world, aiLib.appearance, aiLib.mdt | siehe unten | Die Mitglieder unterscheiden sich je nach Seite (unten). |
Client
| Funktion | Wartet | Dokumentiert auf |
|---|---|---|
aiLib.triggerServerCallback(name, args?, timeout?) | ja | Mit dem Server sprechen |
aiLib.onServerCallback(name, handler) | nein | Mit dem Server sprechen |
aiLib.onServerEvent(name, handler) | nein | Mit dem Server sprechen |
aiLib.callAction(name, args?, { fallback, timeout?, silent? }) | ja | Mit dem Server sprechen |
aiLib.cache (ped, playerId, serverId, vehicle, seat, weapon), aiLib.cache.onChange(key, handler) | nein | Der lokale Spieler |
aiLib.player (coords, heading, distanceTo, freeze, teleport, playAnim, stopAnim) | teleport ja | Der lokale Spieler |
aiLib.fadeOut(ms?), aiLib.fadeIn(ms?) | ja | Der lokale Spieler |
aiLib.playerPed(serverId) | nein | Der lokale Spieler |
aiLib.nearestPlayer(metres, { from?, filter? }) | nein | Der lokale Spieler |
aiLib.playerData.get(key), aiLib.playerData.onChange(key, handler) | nein | Nur-Lua-Helfer |
aiLib.Points.new(): :add, :addModel, :addVehicle, :remove, :clear, :refresh | nein | Interaktionspunkte |
aiLib.Zones.new(): :add, :remove, :clear, :isInside | nein | Zonen |
aiLib.LocalPed.new(options): :remove | nein | Peds, Blips und Props |
aiLib.Blips.new(): :add, :get, :remove, :clear; aiLib.Blips.create(options) | nein | Peds, Blips und Props |
aiLib.progress(options), aiLib.progress.cancel(), aiLib.progress.isRunning() | progress ja | Gemeinsame UI |
aiLib.menu.show(request, listeners?) | ja | Gemeinsame UI, die Menü-Tabelle |
aiLib.input(request) / aiLib.menu.input | ja | Gemeinsame UI |
aiLib.itemPicker(request) / aiLib.menu.itemPicker | ja | Gemeinsame UI |
aiLib.skillCheck(difficulty, keys?) / aiLib.menu.skillCheck | ja | Gemeinsame UI |
aiLib.lockpick(options?) / aiLib.menu.lockpick | ja | Gemeinsame UI |
aiLib.showPrompt(id, text), aiLib.hidePrompt(id), aiLib.onPromptPressed(handler) | nein | Gemeinsame UI |
aiLib.hud (hide, show, visible) | nein | Bildschirme und Steuerung |
aiLib.keyHints (show, hide) | nein | Bildschirme und Steuerung |
aiLib.controls (disable, disableAll, enable) | nein | Bildschirme und Steuerung |
aiLib.Keybind.new(options): :disable | nein | Keybinds |
aiLib.inventory (openInventory, hasItem, currentWeapon) | nein | Ebenen über ai-core |
aiLib.world (pauseSync, resumeSync) | nein | Ebenen über ai-core |
aiLib.appearance (apply, read, openMenu, wearOutfit, reloadSkin) | nein | Ebenen über ai-core |
aiLib.gestures (isHandsUp, isPointing, provider, playEmote, cancelEmote, emoteProvider) | nein | Ebenen über ai-core |
aiLib.seatbelt (isOn, onChange, provider) | nein | Ebenen über ai-core |
aiLib.radial (add, remove, refresh) | nein | Ebenen über ai-core |
aiLib.mdt.open() | nein | Ebenen über ai-core |
aiLib.nearestVehicle(metres, { networked?, notOwn?, filter? }) | nein | Fahrzeuge und Entities |
aiLib.waitForEntity(netId, timeout?) | ja | Fahrzeuge und Entities |
aiLib.raycast(from, to, options?) | nein | Abfragen und Laden |
aiLib.groundZ(x, y, z?), aiLib.locationName(coords?), aiLib.vehicleLabel(vehicle), aiLib.waypoint() | nein | Abfragen und Laden |
aiLib.pedHeadshot(ped, transparent?, timeout?) | ja | Abfragen und Laden |
aiLib.onShot(handler) | nein | Abfragen und Laden |
aiLib.requestModel, requestAnimDict, requestAnimSet, requestPtfxAsset, requestTextureDict, requestWeaponAsset (name, timeout?) | ja | Abfragen und Laden |
aiLib.ModelPoints und aiLib.targets sind intern (sie dienen Points:addModel und den Adaptern für Target-Skripte); rufe sie nicht auf.
Server
| Funktion | Wartet | Dokumentiert auf |
|---|---|---|
aiLib.onClientCallback(name, handler, { rate?, lock?, ace? }) | nein | Client-Eingaben |
aiLib.onClientEvent(name, handler, { rate?, ace? }) | nein | Client-Eingaben |
aiLib.triggerClientCallback(name, source, args?, timeout?) | ja | Client-Eingaben |
aiLib.progressFor(source, options) | ja | Client-Eingaben |
aiLib.minigameFor(source, options) | ja | Client-Eingaben |
aiLib.isAdmin(source, ace?) | nein | Nur-Lua-Helfer |
aiLib.addCommand(name, options, handler) | nein | Befehle |
aiLib.online (character, name, jobs, gangs, jobGrade, gangGrade, dutyJob, sources) | nein | Nur-Lua-Helfer |
aiLib.onCharacter({ loaded?, unloaded? }) | nein | Spieler und Charaktere |
aiLib.playersNear(source, radius), aiLib.playersNearEntity(entity, radius), aiLib.nearestPlayerTo(source, metres, filter?) | nein | Spieler und Charaktere |
aiLib.RateLimit.new(count, windowMs): :take(source), :release(source) | nein | Spieler und Charaktere |
aiLib.inventory (addItem, removeItem, getItemCount, hasItem, canCarryItem, getItems, clearInventory, registerStash, openInventory, registerUsableItem, getItemDefinition, registerShop, openShop) | nein | Items |
aiLib.spawnVehicle(options) | ja | Fahrzeuge |
aiLib.vehicleKeys (give, remove, has) | nein | Fahrzeuge |
aiLib.vehicleFromNet(netId), aiLib.vehicleNearPlayer(source, netId, options?), aiLib.nearestVehicleTo(source, metres, filter?) | nein | Fahrzeuge |
aiLib.billing (send, unpaid, pay, provider) | unpaid ja | Geld und Banking |
aiLib.banking (open, societyBalance, provider) | nein | Geld und Banking |
aiLib.dispatch.alert(alert) | nein | Jobs und Dienste |
aiLib.prison (jail, release, timeLeft) | nein | Jobs und Dienste |
aiLib.mdt (record, provider) | nein | Jobs und Dienste |
aiLib.ems (available, distress, provider) | nein | Jobs und Dienste |
aiLib.stress (gain, relieve, provider) | nein | Jobs und Dienste |
aiLib.world (getWeather, setWeather, getTime, setTime, setBlackout, freezeTime) | nein | Welt |
aiLib.phone (number, sourceOf, hasPhone, mail, message, notify) | nein | Handy und Aussehen |
aiLib.appearance (get, provider) | get ja | Handy und Aussehen |
aiLib.aiLog(channel, message, options?) | nein | Logs |