Pular para o conteúdo

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
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çãoTipoDescrição
m_EnableboolAtiva o módulo com 1. Com 0, os caixas configurados e as operações bancárias ficam desativados.
m_LoggingboolCom 1, registra depósitos e saques nos logs do módulo. Com 0, desativa esses registros.
m_ATMsarray<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_PayCheckobjectConfiguraçã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_Walletsarray<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çãoTipoDescrição
m_NamestringNome de referência do ponto na configuração; não altera a classe do caixa.
m_ClassstringClasse do caixa eletrônico a criar. As classes disponíveis estão na seção Classes de configuração.
m_PositionobjectPosição no mundo, em metros. Ajuste as coordenadas ao mapa do servidor.
m_OrientationobjectRotação em graus.

m_ATMs[].m_Position ​

OpçãoTipoDescrição
m_XfloatCoordenada horizontal X.
m_YfloatAltura.
m_ZfloatCoordenada horizontal Z.

m_ATMs[].m_Orientation ​

OpçãoTipoDescrição
m_YawfloatDireção do caixa.
m_PitchfloatInclinação longitudinal.
m_RollfloatInclinação lateral.

m_PayCheck ​

OpçãoTipoDescrição
m_AmountfloatValor 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_WalletstringNome 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_MinPlayerCountintQuantidade 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_Groupsarray<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çãoTipoDescrição
m_DescriptionstringDescrição administrativa do grupo; não define uma permissão nem altera o pagamento.
m_Steamarray<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_BonusfloatValor 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çãoTipoDescrição
m_NamestringIdentificador 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_DepositboolCom 1, habilita o botão de depósito no menu. Com 0, desabilita esse botão.
m_WithdrawboolCom 1, habilita o botão de saque no menu. Com 0, desabilita esse botão.
m_MaxBalanceintLimite 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_StartBalanceintSaldo atribuído ao criar o registro dessa carteira para o jogador. Alterar o valor não redefine os saldos já existentes.
m_MoneystringNome 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.

ClasseFinalidade
AC_Banking_ATMCaixa eletrônico padrão.
AC_Banking_ATM_BlueCaixa eletrônico azul.
AC_Banking_ATM_GreenCaixa eletrônico verde.
AC_Banking_ATM_RedCaixa 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: banking identifica o módulo a recarregar.
  • Permissão: command.reload ou root.
  • 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.

Distribuído sob a licença MIT.