AI Core
Empregos e serviçosai-banking

ai-banking para desenvolvedores

Exports de dinheiro de sociedade de empregos do ai-banking (também com os nomes do qb-banking e do Renewed-Banking), e as chamadas da lib para usar no lugar em código novo.

O ai-banking não guarda dinheiro próprio. Em código novo, mova o dinheiro de empregos e gangues com os exports de dinheiro compartilhado do ai-core (GetSharedMoney, AddSharedMoney, RemoveSharedMoney) ou com o money.transfer da lib, e abra a tela do banco com o banking.open(source) da lib. Eles funcionam com todo script de banco. Os exports abaixo existem para que scripts QBCore escritos para o qb-banking ou o Renewed-Banking continuem funcionando.

Funções da lib (recomendado)

banking.open

Abre a tela do script de banco ativo para um jogador.

Lado: Servidor · Espera: não

Signature
banking.open(source: number): boolean
Lua
local ok = aiLib.banking.open(source)

Retorno

true quando a tela abriu. false quando o script de banco não pode ser aberto de fora, ou nenhum está rodando.

Nem todo script de banco pode ser aberto a partir de outro recurso. Verifique o que banking.open responde antes de dizer qualquer coisa ao jogador.

money.transfer

Move dinheiro entre duas contas em uma única transação do banco de dados, escrevendo as duas linhas de registro. Usado pelo ai-banking em todo depósito, saque e transferência.

Lado: Servidor · Espera: não

Signature
money.transfer(from: MoneyRef, to: MoneyRef, amount: number, reason?: string, fee?: number): boolean
Lua
local ok = exports['ai-core']:TransferMoney(from, to, amount, reason, fee)

Parâmetros

Prop

Type

MoneyRef

Prop

Type

Retorno

true quando o dinheiro se moveu. false quando falta uma conta, as duas são a mesma, ou from não consegue pagar.

Exemplo

Um chefe paga um bônus da conta do emprego para o banco de um membro:

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 do servidor

Os três agem sobre a conta bank do ai-core de um emprego (o nome da conta é o nome do emprego). Eles também respondem como exports['qb-banking']:<mesmo nome>, e como getAccountMoney, addAccountMoney e removeAccountMoney do Renewed-Banking. Eles não são tipados em @aicore-fivem/shared: em TypeScript use callExport("ai-banking", name, ...args). Cada export também responde com seu equivalente em minúsculas (getAccountBalance).

GetAccountBalance

O saldo da sociedade de um emprego.

Lado: Servidor · Espera: não

Signature
GetAccountBalance(job: string): number
Lua
local balance = exports['ai-banking']:GetAccountBalance('police')
-- o mesmo: exports['qb-banking']:GetAccountBalance('police')
-- o mesmo: exports['Renewed-Banking']:getAccountMoney('police')

Parâmetros

Prop

Type

Retorno

O saldo em $. 0 quando o emprego não tem conta ou job não é um texto.

AddMoney

Adiciona dinheiro à conta da sociedade de um emprego. Todo chefe com a tela do banco aberta vê o novo saldo.

Lado: Servidor · Espera: não

Signature
AddMoney(job: string, amount: number, reason?: string): boolean
Lua
local ok = exports['ai-banking']:AddMoney('police', 500, 'fine')
-- o mesmo: exports['Renewed-Banking']:addAccountMoney('police', 500, 'fine')

Parâmetros

Prop

Type

Retorno

true quando o dinheiro foi adicionado. false quando job não é um texto, amount não está acima de 0, ou o ai-core recusou (não existe essa conta de emprego).

RemoveMoney

Tira dinheiro da conta da sociedade de um emprego.

Lado: Servidor · Espera: não

Signature
RemoveMoney(job: string, amount: number, reason?: string): boolean
Lua
local ok = exports['ai-banking']:RemoveMoney('mechanic', 1200, 'parts')

Parâmetros

Prop

Type

Retorno

true quando o dinheiro foi retirado. false quando a conta não consegue pagar, não existe, ou os argumentos estão errados.

Exemplo

import { callExport } from "@aicore-fivem/lib/server";

// Um script de mecânico compra peças com a conta do emprego.
function buyParts(cost: number): boolean {
  return callExport("ai-banking", "RemoveMoney", "mechanic", cost, "parts") === true;
}

Esses exports só alcançam contas de empregos. Para uma conta de gangue use o AddSharedMoney('gang', name, 'bank', amount, reason) do ai-core e seus parentes. O dinheiro alterado diretamente pelos exports do ai-core é o mesmo dinheiro, mas as telas de banco abertas só se atualizam na hora para mudanças feitas pelo ai-banking.

Callbacks privados

As chamadas da tela do banco (resource/common/bank.ts): abrir, páginas do histórico, depositar, sacar, transferir e fechar. O servidor verifica a posição da agência ou do caixa eletrônico a cada chamada. Elas podem mudar entre versões: não as chame a partir de outros recursos.

Nesta página