ai-banking pour les développeurs
Les exports d’argent de société des métiers d’ai-banking (aussi sous les noms qb-banking et Renewed-Banking), et les appels de la lib à utiliser à la place dans le nouveau code.
ai-banking ne garde aucun argent qui lui soit propre. Dans le nouveau code, déplacez l’argent des métiers et des gangs avec les exports d’argent partagé d’ai-core (GetSharedMoney, AddSharedMoney, RemoveSharedMoney) ou le money.transfer de la lib, et ouvrez l’écran bancaire avec le banking.open(source) de la lib. Ils fonctionnent avec chaque script bancaire. Les exports ci-dessous existent pour que les scripts QBCore écrits pour qb-banking ou Renewed-Banking continuent de fonctionner.
Fonctions de la lib (recommandé)
banking.open
Ouvre l’écran du script bancaire actif pour un joueur.
Côté : serveur · Attend : non
banking.open(source: number): booleanlocal ok = aiLib.banking.open(source)Retour
true quand l’écran s’est ouvert. false quand le script bancaire ne peut pas être ouvert de l’extérieur, ou qu’aucun ne tourne.
Tous les scripts bancaires ne peuvent pas être ouverts depuis une autre ressource. Vérifiez ce que répond banking.open avant de dire quoi que ce soit au joueur.
money.transfer
Déplace de l’argent entre deux comptes dans une seule transaction de base de données, en écrivant les deux lignes du registre. Utilisé par ai-banking pour chaque dépôt, retrait et virement.
Côté : serveur · Attend : non
money.transfer(from: MoneyRef, to: MoneyRef, amount: number, reason?: string, fee?: number): booleanlocal ok = exports['ai-core']:TransferMoney(from, to, amount, reason, fee)Paramètres
Prop
Type
MoneyRef
Prop
Type
Retour
true quand l’argent a été déplacé. false quand un compte manque, que les deux sont identiques, ou que from ne peut pas payer.
Exemple
Un patron verse une prime depuis le compte du métier sur la banque d’un membre :
import { money, notify } from "@aicore-fivem/lib/server";
function payBonus(boss: number, member: number, amount: number): void {
const ok = money.transfer(
{ owner: "job", id: "police", account: "bank" },
{ source: member, account: "bank" },
amount,
"bonus",
);
notify(boss, ok ? "Bonus paid" : "The job account cannot pay", ok ? "success" : "error");
}Exports serveur
Les trois agissent sur le compte bank d’un métier dans ai-core (le nom du compte est le nom du métier). Ils répondent aussi en tant que exports['qb-banking']:<même nom>, et en tant que getAccountMoney, addAccountMoney et removeAccountMoney de Renewed-Banking. Ils ne sont pas typés dans @aicore-fivem/shared : en TypeScript, utilisez callExport("ai-banking", name, ...args). Chaque export répond aussi sous son jumeau en minuscules (getAccountBalance).
GetAccountBalance
Le solde de société d’un métier.
Côté : serveur · Attend : non
GetAccountBalance(job: string): numberlocal balance = exports['ai-banking']:GetAccountBalance('police')
-- identique : exports['qb-banking']:GetAccountBalance('police')
-- identique : exports['Renewed-Banking']:getAccountMoney('police')Paramètres
Prop
Type
Retour
Le solde en $. 0 quand le métier n’a pas de compte ou que job n’est pas un texte.
AddMoney
Ajoute de l’argent au compte de société d’un métier. Chaque patron qui a l’écran bancaire ouvert voit le nouveau solde.
Côté : serveur · Attend : non
AddMoney(job: string, amount: number, reason?: string): booleanlocal ok = exports['ai-banking']:AddMoney('police', 500, 'fine')
-- identique : exports['Renewed-Banking']:addAccountMoney('police', 500, 'fine')Paramètres
Prop
Type
Retour
true quand l’argent a été ajouté. false quand job n’est pas un texte, que amount n’est pas supérieur à 0, ou qu’ai-core a refusé (pas de compte pour ce métier).
RemoveMoney
Retire de l’argent du compte de société d’un métier.
Côté : serveur · Attend : non
RemoveMoney(job: string, amount: number, reason?: string): booleanlocal ok = exports['ai-banking']:RemoveMoney('mechanic', 1200, 'parts')Paramètres
Prop
Type
Retour
true quand l’argent a été retiré. false quand le compte ne peut pas payer, n’existe pas, ou que les arguments sont incorrects.
Exemple
import { callExport } from "@aicore-fivem/lib/server";
// Un script de mécanicien achète des pièces avec le compte du métier.
function buyParts(cost: number): boolean {
return callExport("ai-banking", "RemoveMoney", "mechanic", cost, "parts") === true;
}Ces exports n’atteignent que les comptes de métier. Pour un compte de gang, utilisez AddSharedMoney('gang', name, 'bank', amount, reason) d’ai-core et ses semblables. L’argent modifié directement via les exports d’ai-core est le même argent, mais les écrans bancaires ouverts ne se mettent à jour immédiatement que pour les changements faits via ai-banking.
Callbacks privés
Les appels de l’écran bancaire (resource/common/bank.ts) : ouverture, pages d’historique, dépôt, retrait, virement et fermeture. Le serveur vérifie la position de l’agence ou du distributeur à chaque appel. Ils peuvent changer d’une version à l’autre : ne les appelez pas depuis d’autres ressources.
ai-banking
Banques et distributeurs avec dépôts, retraits, virements, l’historique des transactions et les comptes de société pour les patrons de métier.
ai-management
Les points de patron des métiers et des gangs, où les patrons recrutent, changent les grades, licencient et gèrent le compte d’argent du groupe.