Banking
Descrição
O Banking permite guardar dinheiro em contas por jogador e realizar depósitos e saques em caixas eletrônicos. O servidor pode oferecer várias carteiras, com moedas e limites próprios, além de pagamentos por tempo conectado e bônus para grupos de Steam IDs.
Para usar, interaja com um caixa, selecione a carteira e informe a quantia. O menu mostra o saldo bancário, o dinheiro carregado pelo personagem e o limite da conta.
Configure as moedas correspondentes em Money. Os dados bancários são salvos por Steam ID em $profile:AC/Modules/Banking/<SteamID>.json. Preserve esses arquivos para manter os saldos dos jogadores.
Configuração
Configuração padrão
Banking.json
{
"m_Enable": 0,
"m_Logging": 1,
"m_ATMs": [
{
"m_Name": "Green Mountain",
"m_Class": "AC_Banking_ATM_Red",
"m_Position": {
"m_X": 3706.575927734375,
"m_Y": 402.0,
"m_Z": 5986.47314453125
},
"m_Orientation": {
"m_Yaw": 100.0,
"m_Pitch": 0.0,
"m_Roll": 0.0
}
}
],
"m_PayCheck": {
"m_Amount": 60.0,
"m_Wallet": "",
"m_MinPlayerCount": 10,
"m_Groups": [
{
"m_Description": "desc",
"m_Steam": [
"00000000000000000"
],
"m_Bonus": 60.0
}
]
},
"m_Wallets": [
{
"m_Name": "ruble",
"m_Deposit": 1,
"m_Withdraw": 1,
"m_MaxBalance": 50000,
"m_StartBalance": 1000,
"m_Money": "ruble"
}
]
}Opções
| Opção | Tipo | Descrição |
|---|---|---|
m_Enable | bool | Ativa o módulo com 1. Com 0, os caixas configurados e as operações bancárias ficam desativados. |
m_Logging | bool | Com 1, registra depósitos e saques nos logs do módulo. Com 0, desativa esses registros. |
m_ATMs | array<object> | Lista de caixas criados pelo módulo. Use [] para não criar caixas por esta configuração. Cada entrada define uma classe, posição e orientação. |
m_PayCheck | object | Configuração dos pagamentos por tempo conectado. O cliente calcula a parcela a cada 60 segundos, e o servidor exige o número mínimo de jogadores. Frações são acumuladas até formar unidades inteiras. |
m_Wallets | array<object> | Carteiras bancárias disponíveis. Cada uma mantém um saldo independente por jogador e usa uma moeda cadastrada no módulo Money. |
m_ATMs[]
Campos de cada entrada em m_ATMs.
| Opção | Tipo | Descrição |
|---|---|---|
m_Name | string | Nome de referência do ponto na configuração; não altera a classe do caixa. |
m_Class | string | Classe do caixa eletrônico a criar. As classes disponíveis estão na seção Classes de configuração. |
m_Position | object | Posição no mundo, em metros. Ajuste as coordenadas ao mapa do servidor. |
m_Orientation | object | Rotação em graus. |
m_ATMs[].m_Position
| Opção | Tipo | Descrição |
|---|---|---|
m_X | float | Coordenada horizontal X. |
m_Y | float | Altura. |
m_Z | float | Coordenada horizontal Z. |
m_ATMs[].m_Orientation
| Opção | Tipo | Descrição |
|---|---|---|
m_Yaw | float | Direção do caixa. |
m_Pitch | float | Inclinação longitudinal. |
m_Roll | float | Inclinação lateral. |
m_PayCheck
| Opção | Tipo | Descrição |
|---|---|---|
m_Amount | float | Valor base por hora. A cada minuto é calculado m_Amount / 60; com 60.0, isso equivale a 1 unidade por minuto. Com 0, remove somente o valor base; os bônus dos grupos ainda podem gerar pagamentos. |
m_Wallet | string | Nome da carteira bancária que recebe os pagamentos, correspondente a m_Wallets[].m_Name. Vazio desativa os pagamentos. Para usar a carteira padrão, informe "ruble"; a moeda associada também precisa existir no módulo Money. |
m_MinPlayerCount | int | Quantidade mínima de jogadores conectados para creditar os pagamentos. A condição é verificada a cada solicitação; com 0, não há exigência mínima de população. |
m_Groups | array<object> | Grupos que acrescentam bônus ao pagamento. Um jogador presente em mais de um grupo recebe a soma dos bônus correspondentes. Use [] para pagar apenas o valor base. |
m_PayCheck.m_Groups[]
| Opção | Tipo | Descrição |
|---|---|---|
m_Description | string | Descrição administrativa do grupo; não define uma permissão nem altera o pagamento. |
m_Steam | array<string> | Steam IDs dos jogadores que recebem o bônus do grupo. Substitua o identificador de exemplo pelos Steam IDs reais de 17 dígitos. |
m_Bonus | float | Valor adicional por hora para os jogadores do grupo, dividido por 60 a cada minuto. Com o valor base e um bônus padrão, o jogador recebe 2 unidades por minuto quando os pagamentos estão habilitados e há jogadores suficientes. |
m_Wallets[]
| Opção | Tipo | Descrição |
|---|---|---|
m_Name | string | Identificador da carteira e nome exibido no menu. Use nomes únicos. Os saldos salvos são associados a esse identificador; renomeá-lo faz a carteira ser tratada como outra conta. |
m_Deposit | bool | Com 1, habilita o botão de depósito no menu. Com 0, desabilita esse botão. |
m_Withdraw | bool | Com 1, habilita o botão de saque no menu. Com 0, desabilita esse botão. |
m_MaxBalance | int | Limite usado para depósitos. Se a quantia solicitada ultrapassar o limite, o depósito é reduzido ao espaço disponível. O bônus individual m_Balances[].m_Bonus é somado ao limite. Os pagamentos periódicos não aplicam esse teto e podem ultrapassá-lo. |
m_StartBalance | int | Saldo atribuído ao criar o registro dessa carteira para o jogador. Alterar o valor não redefine os saldos já existentes. |
m_Money | string | Nome da moeda em Money.json, correspondente ao m_Name de uma entrada desse arquivo. Define quais itens físicos são retirados no depósito e entregues no saque. Uma moeda inexistente impede essas operações e os pagamentos dessa carteira. |
Classes de configuração
Use as classes dos caixas abaixo em m_ATMs[].m_Class e configure a posição e a orientação em Banking.json. Eles são criados pelo módulo e não devem ser incluídos no types.xml para spawn comum.
| Classe | Finalidade |
|---|---|
AC_Banking_ATM | Caixa eletrônico padrão. |
AC_Banking_ATM_Blue | Caixa eletrônico azul. |
AC_Banking_ATM_Green | Caixa eletrônico verde. |
AC_Banking_ATM_Red | Caixa eletrônico vermelho. |
Comandos
/reload banking
Recarrega a configuração do Banking pelo comando geral do módulo Commands. O Banking não registra comandos de chat próprios.
- Sintaxe:
/reload banking - Argumentos:
bankingidentifica o módulo a recarregar. - Permissão:
command.reloadouroot. - Exemplo:
/reload banking
A recarga remove e recria os caixas gerados pelo módulo com a configuração atual. Os arquivos de saldo dos jogadores são preservados.
Permissões
O Banking não verifica permissões específicas para abrir o caixa, depositar ou sacar. Essas operações ficam disponíveis pela interação com os caixas quando o módulo está ativo.
Para permitir a recarga administrativa, adicione command.reload ao m_Permissions do grupo responsável em $profile:AC/Permissions.json. Essa permissão também autoriza recarregar outros módulos; root concede acesso administrativo completo. Consulte Permissões para a estrutura do arquivo.
