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
banking.open(source: number): booleanlocal 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
money.transfer(from: MoneyRef, to: MoneyRef, amount: number, reason?: string, fee?: number): booleanlocal 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
GetAccountBalance(job: string): numberlocal 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
AddMoney(job: string, amount: number, reason?: string): booleanlocal 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
RemoveMoney(job: string, amount: number, reason?: string): booleanlocal 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.