Saltar para o conteúdo principal

Sistema de Apostas

O Sistema de Apostas adiciona um casino completo ao EliteMobs. Os jogadores podem apostar as suas Elite Coins em quatro minijogos, ficar endividados quando o dinheiro acaba e receber a visita do Cobrador de Dívidas. Os administradores podem configurar grande parte do sistema, incluindo os multiplicadores de Blackjack, Cara ou Coroa e Maior ou Menor. Os pagamentos das slots e a dívida máxima estão fixados no código.


Preparação​

Os jogadores acedem aos jogos através de NPCs configurados para esse fim e precisam de elitemobs.gambling.npc, concedida por predefinição. Os quatro jogos têm tipos de interação próprios; o visor dos lucros da casa é selecionado pelo nome do ficheiro do NPC.

Para configurar um NPC de apostas, crie um ficheiro de configuração de NPC e defina o interactionType para um dos seguintes valores:

Tipo de interaçãoDescrição
GAMBLING_BLACKJACKAbre o menu de aposta do Blackjack
GAMBLING_COINFLIPAbre o menu de aposta do Cara ou Coroa
GAMBLING_SLOTSAbre o menu de aposta da Máquina de Slots
GAMBLING_HIGHERLOWERAbre o menu de aposta do Maior ou Menor

O NPC Dono da Casa de Apostas não usa um tipo de interação especial. Para o configurar, crie um NPC com o nome de ficheiro gambling_den_owner.yml. O visor dos lucros da casa aparecerá automaticamente acima do NPC com base neste nome de ficheiro.

O EliteMobs inclui configurações de NPC prontas para as cinco funções; normalmente basta colocá-los:

FicheiroFunção
blackjack_dealer.ymlBlackjack (Vincent, o dealer)
coin_flipper.ymlCara ou Coroa (Lucky Pete)
slot_machine_operator.ymlMáquina de Slots (Spinner Sam)
card_shark.ymlMaior ou Menor (Ace Morgan, o jogador de cartas)
gambling_den_owner.ymlVisor dos lucros da casa

Jogos​

Blackjack​

O objetivo é chegar o mais perto possível de 21 sem passar. Esta implementação aplica as seguintes regras.

Regras​

  • Tanto o jogador como o dealer recebem duas cartas.
  • A segunda carta do dealer fica escondida até o jogador ficar (stand).
  • Os Ases contam como 11 ou 1 (ajustado automaticamente para evitar passar de 21 sempre que possível).
  • As figuras (Valete, Dama, Rei) contam como 10.
  • O dealer fica (stand) aos 17.
  • As cartas são sorteadas de forma independente, com reposição; não há um baralho finito para contar. Chegar a 21 após Hit ativa automaticamente Stand.
  • O menu mostra cinco espaços de cartas por mão. Cartas adicionais continuam a contar para o total, mesmo quando já não cabem nesses espaços.
  • Um Blackjack natural do jogador é pago imediatamente, mesmo que o dealer também tenha um Blackjack natural.

Ações​

AçãoDescrição
Pedir carta (Hit)Tira outra carta.
Ficar (Stand)Mantém a sua mão atual; o dealer joga depois.
Dobrar (Double Down)Paga outra aposta igual, duplica o total, tira exatamente uma carta e fica, salvo se passar de 21. Só está disponível na primeira ação com 2 cartas, se o saldo restante mais o crédito cobrirem a aposta adicional.

Prémios​

ResultadoMultiplicador padrão
Vitória normal (o total do jogador supera o do dealer, ou o dealer passa de 21)2.0x
Blackjack (21 com as duas primeiras cartas)2.5x
Empate (push)1.0x (aposta devolvida)
Derrota (o jogador passa de 21 ou o total do dealer é mais alto)0x (aposta perdida)

Fechar o menu​

Se um jogador fechar o menu durante a vez do dealer, a mão do dealer é jogada automaticamente e o resultado é resolvido. Se um jogador fechar o menu antes de ficar (stand), a aposta é perdida.


Cara ou Coroa​

Um jogo simples de 50/50. Escolha Cara ou Coroa, e a moeda decide o seu destino.

Como jogar​

  1. O jogo abre com um botão de Cara e um botão de Coroa.
  2. Clique num deles para fazer a sua escolha.
  3. É reproduzida uma animação de lançamento da moeda.
  4. O resultado é mostrado.

Prémios​

ResultadoMultiplicador padrão
Palpite correto1.9x
Canto (a moeda fica em pé sobre a borda)5.0x
Palpite errado0x (aposta perdida)

O resultado de borda​

Há 1% de probabilidade de a moeda ficar em pé sobre a borda em vez de sair Cara ou Coroa. Quando isso acontece, o jogador ganha sempre, independentemente da sua escolha, e recebe um prémio de 5x sobre a aposta. É mostrada uma mensagem de chat especial e um visual próprio para este evento raro.

Com estes valores, Cara e Coroa ocorrem em 49,5% dos casos cada uma. O retorno esperado é 0.495 × 1.9 + 0.01 × 5 = 0.9905 vezes a aposta, dando uma vantagem total de 0,95% à casa. A vantagem de 5% de um lançamento simples com pagamento de 1,9x só se aplica quando o resultado de borda está desativado. Os multiplicadores incluem a aposta inicial.

Fechar o menu​

Se um jogador fechar o menu antes de fazer uma escolha, a aposta é perdida.


Máquina de Slots​

Gire três rolos e combine símbolos para ganhar. Os símbolos mais raros pagam mais.

Como jogar​

  1. O jogo abre com uma grelha de rolos 3x3 e um botão de Girar.
  2. Clique em Girar para pôr os rolos a andar.
  3. Cada rolo para em sequência com uma animação.
  4. A linha do meio (linha de prémio) determina o resultado.

Símbolos e prémios​

Cada rolo sorteia um símbolo de forma independente com os pesos abaixo. Três símbolos iguais pagam 100 / weight. Exatamente dois iguais em qualquer posição da linha central, incluindo a primeira e a terceira, pagam 25% desse valor. São retornos totais que incluem a aposta: um par de cerejas ou limões devolve menos do que o valor apostado, mesmo que o menu indique uma vitória.

SímboloPesoProbabilidadePrémio de 3 iguaisPrémio de 2 iguais
Cereja3535%2.86x0.71x
Limão2828%3.57x0.89x
Laranja2020%5.0x1.25x
Sino Dourado1010%10.0x2.5x
Barra de Prata55%20.0x5.0x
7 da Sorte22%50.0x12.5x

Três 7 da Sorte é o Jackpot e recebe um efeito visual e sonoro especial.

Fechar o menu​

Se um jogador fechar o menu antes de girar, a aposta é perdida.

Após um resultado, Spin Again cobra outra aposta do mesmo valor e volta ao ecrã de preparação. O jogador tem depois de clicar em Spin; fechar o menu entre estes passos perde a aposta acabada de cobrar.


Maior ou Menor​

Um jogo de cartas baseado em sequências de acertos. Adivinhe se a carta seguinte é maior ou menor do que a atual e vá acumulando multiplicador. Retire o dinheiro a qualquer momento ou arrisque tudo.

Como jogar​

  1. É tirada uma carta e mostrada (os valores vão de 2 a 14, em que Ás = 14).
  2. Adivinhe se a carta seguinte será Maior ou Menor do que a carta atual.
  3. Se acertar, o seu multiplicador aumenta e a carta revelada passa a ser a nova carta atual.
  4. Pode Retirar (Cash Out) a qualquer momento depois de pelo menos um palpite correto.
  5. Se errar, perde a aposta inteira.
  6. Se a carta seguinte for igual à carta atual, conta como derrota.

Multiplicador de sequência​

Cada palpite correto multiplica os seus ganhos pelo multiplicador configurado (padrão 1.3x). O multiplicador acumula:

SequênciaMultiplicador (padrão)Prémio numa aposta de 100 moedas
11.3x130
21.69x169
32.197x219.7
42.856x285.6
53.713x371.3
.........
12~23.3x~2,330

Sequência máxima e retirada automática​

A sequência máxima é 12. Quando um jogador chega a 12 palpites corretos, o dinheiro é retirado automaticamente e os ganhos são atribuídos. Isto evita multiplicadores descontrolados.

Fechar o menu​

Se um jogador fechar o menu enquanto tem uma sequência vencedora, o dinheiro é retirado automaticamente e recebe os ganhos atuais. Se fechar antes de fazer qualquer palpite, a aposta é perdida.


Apostas​

Antes de qualquer jogo começar, é apresentado ao jogador um menu de aposta para escolher o valor a apostar.

Limites de aposta​

DefiniçãoValor padrão
Aposta mínima10

Não há aposta máxima configurável. O menu usa quantidades inteiras de moedas; All In descarta as frações ao somar o saldo e o crédito disponível.

minBet define o valor de Reset e o limite inferior dos botões de diminuição. O valor inicial é max(minBet, 10). Não é uma validação universal de transações: All In pode definir um valor positivo abaixo de minBet, que Play aceita atualmente se for possível pagá-lo. Não dependa desta definição para impor um mínimo em todos os percursos.

Controlos do menu de aposta​

O menu de aposta oferece vários controlos:

  • Botões de incremento -- Três tamanhos para aumentar e diminuir. Com pelo menos 100 moedas e sem dívida, usam 5%, 10% e 25% do saldo, truncados a moedas inteiras com um mínimo de 1. Caso contrário, usam 10, 50 e 100.
  • All In -- Define a aposta no máximo que o jogador pode pagar (incluindo o crédito disponível).
  • Reset -- Reinicia a aposta para o mínimo.
  • Play -- Inicia o jogo com a aposta atual. Só está ativo se o jogador tiver dinheiro para a aposta.
  • Cancel -- Fecha o menu sem apostar.

O menu mostra o saldo atual. As linhas de dívida e crédito disponível aparecem quando a dívida é positiva, embora jogadores sem dívida também possam usar crédito.


Sistema de dívida​

Os jogadores podem apostar além do seu saldo ficando endividados. O casino concede crédito até um limite fixo.

Como funciona a dívida​

  1. Quando um jogador faz uma aposta que excede o seu saldo, o valor restante é adicionado como dívida de apostas.
  2. A dívida máxima que um jogador pode acumular é de 500 moedas. Este valor está fixado no código e não é configurável.
  3. Os jogadores não podem fazer apostas que empurrassem a sua dívida acima do máximo.
  4. Quando um jogador ganha, os seus ganhos são primeiro aplicados a pagar a dívida antes de serem adicionados ao saldo. Outros rendimentos obtidos através do EliteMobs também pagam primeiro esta dívida, mesmo com a integração Vault ativa. Os reembolsos de compras de encantamentos não passam pela cobrança de dívida.

Crédito disponível​

Para valores de dívida finitos, o crédito disponível é max(0, maxDebt - currentDebt). O menu mostra-o quando o jogador tem dívida.

Aviso de dívida​

Quando um jogador fica endividado, recebe uma mensagem de aviso. O Cobrador de Dívidas pode vir atrás dele enquanto tiver dívida pendente.


Boss Cobrador de Dívidas​

O Cobrador de Dívidas é um boss personalizado que aparece para perseguir jogadores com dívidas de apostas.

Condições de spawn​

  • O jogador tem de ter dívida de apostas pendente.
  • Uma verificação periódica corre a cada 60 minutos (configurável) para todos os jogadores online.
  • A primeira verificação espera um intervalo completo após a inicialização. Também deve ter passado um intervalo desde a última tentativa de spawn para esse jogador; este temporizador é reiniciado ao desligar o plugin.
  • Cada verificação tem 50% de probabilidade (configurável) de fazer aparecer o Cobrador de Dívidas para um jogador elegível.
  • Só pode estar ativo um Cobrador de Dívidas por jogador de cada vez.
  • O Cobrador de Dívidas usa o ficheiro de boss personalizado debt_collector.yml.

A verificação periódica não exclui mundos ou modos de jogo por si só; o spawn normal de um boss personalizado pode ainda falhar. Pagar a dívida impede futuros spawns periódicos, mas não remove automaticamente um cobrador já presente.

Escalonamento de nível​

O ficheiro incluído debt_collector.yml usa nível dinâmico e scaledCombat: true, adaptando os cálculos de combate a cada jogador. Os multiplicadores de vida e dano vêm desse ficheiro. A rotina de spawn não atribui diretamente o nível de combate do jogador perseguido; alterar a configuração do boss altera o seu escalonamento.

Comportamento​

  • O cobrador tenta dez posições à superfície, entre 5 e 10 blocos de distância horizontal. Se nenhuma servir, usa um desvio de até 5 blocos em cada eixo horizontal à altura do jogador.
  • Visa imediatamente o jogador para quem apareceu.
  • Tem um tempo limite de 600 segundos (10 minutos) por padrão. Se não for morto nesse tempo, desaparece e avisa o jogador de que voltará.

Resultados​

ResultadoEfeito
O Cobrador de Dívidas morreO alvo registado recebe a mensagem de regresso se estiver online, mesmo que outro jogador o tenha matado. A dívida não diminui.
O jogador morre de um golpe direto do cobradorA dívida da vítima diminui 50 moedas (configurável). É notificada se a dívida ficar saldada. O cobrador é removido após 5 segundos. A última entidade a causar dano tem de ser diretamente um boss debt_collector.yml; o gestor não procura atiradores de projéteis nem mortes ambientais posteriores.
Expira o tempo do gestorO cobrador é removido e envia um aviso. Uma verificação periódica futura pode criar outro se o jogador continuar elegível e o sorteio de probabilidade tiver sucesso.

Dono da Casa de Apostas​

O Dono da Casa de Apostas mostra os Lucros da Casa em texto flutuante. O valor corresponde às apostas registadas menos os pagamentos, incluindo apostas financiadas com dívida. Não é um saldo bancário separado nem o dinheiro já cobrado aos devedores.

  • Os lucros positivos são mostrados a verde (por exemplo, +1234.56).
  • Os lucros negativos (jogadores a ganhar mais do que a perder) são mostrados a vermelho (por exemplo, -567.89).
  • O visor atualiza a cada segundo.
  • Os lucros da casa são guardados em house_earnings.yml e sobrevivem a reinícios do servidor.

Configuração​

Todas as definições de apostas estão guardadas no GamblingSettings.yml. Abaixo estão as principais definições que afetam a jogabilidade.

Definições gerais​

ChaveDescriçãoPadrão
gamblingEnabledAtiva ou desativa todo o sistema de apostas. Quando desativado, os NPCs de apostas não funcionam e o Cobrador de Dívidas não aparece.true
minBetValor de Reset e limite inferior dos botões de diminuição; consulte a limitação de All In acima.10

Nota: a dívida máxima (500.0) está fixada no código e não é configurável.

O carregador exige inteiros positivos para minBet, o intervalo de verificação do cobrador e o tempo limite. As probabilidades devem ser finitas e estar entre 0 e 1. Os multiplicadores de pagamento e a redução de dívida por morte devem ser finitos e não negativos. Valores inválidos geram um aviso e são substituídos pelos predefinidos na configuração carregada.

Multiplicadores de prémio​

ChaveDescriçãoPadrão
payouts.blackjack.normalMultiplicador de prémio para uma vitória normal no Blackjack.2.0
payouts.blackjack.blackjackMultiplicador de prémio por conseguir um Blackjack natural (21 com as duas primeiras cartas).2.5
payouts.coinFlip.normalMultiplicador por acertar Cara/Coroa. Um pagamento de 1,9x só dá uma vantagem de 5% à casa quando o resultado de borda está desativado.1.9
payouts.coinFlip.edgeChanceProbabilidade (0.0 a 1.0) de a moeda ficar em pé sobre a borda (vitória bónus). Defina 0.0 para desativar.0.01
payouts.coinFlip.edgePayoutMultiplicador de prémio quando a moeda fica em pé sobre a borda.5.0
payouts.higherLower.multiplierV2Multiplicador aplicado por cada palpite correto no Maior ou Menor. Acumula multiplicativamente.1.3
Limitação da configuração de Cara ou Coroa

As definições de Cara ou Coroa partilham uma única secção YAML:

payouts:
coinFlip:
normal: 1.9
edgeChance: 0.01
edgePayout: 5.0

Se o seu ficheiro existente guarda um número diretamente em payouts.coinFlip, mova esse valor para normal e acrescente as duas definições de borda. O EliteMobs desativa as apostas e indica esta correção sem reescrever o ficheiro. Recarregue depois de a corrigir.

Prémios da Máquina de Slots​

Os prémios da máquina de slots não são configuráveis. São calculados automaticamente a partir dos pesos dos símbolos usando a fórmula 100 / weight:

SímboloPesoPrémio de 3 iguaisPrémio de 2 iguais
Cereja352.86x0.71x
Limão283.57x0.89x
Laranja205.0x1.25x
Sino1010.0x2.50x
Barra520.0x5.00x
7 da Sorte250.0x12.50x

Não existem quaisquer chaves payouts.slots.* no GamblingSettings.yml — as únicas entradas de máquina de slots no ficheiro são as strings de interface slots.* (nomes de botões, etiquetas, títulos de resultado). Os prémios são sempre derivados dos pesos de símbolos fixados no código.

Definições do Cobrador de Dívidas​

ChaveDescriçãoPadrão
debtCollector.spawnChanceProbabilidade (0.0 a 1.0) de o Cobrador de Dívidas aparecer em cada verificação.0.5
debtCollector.checkIntervalMinutesCom que frequência (em minutos) se verifica se o Cobrador de Dívidas deve aparecer para jogadores endividados.60
debtCollector.timeoutSecondsQuanto tempo (em segundos) até o Cobrador de Dívidas desaparecer se não for morto.600
debtCollector.debtReductionOnPlayerDeathValor de dívida reduzido quando o Cobrador de Dívidas mata o jogador.50.0

Segurança da economia​

As apostas são cobradas antes de abrir o jogo. Cara ou Coroa e Slots liquidam o resultado antes da animação; Maior ou Menor regista cada palpite antes da animação e paga quando o jogador retira os ganhos. Blackjack resolve o resultado quando o dealer acaba de tirar cartas, ou joga imediatamente essa mão se o menu fechar durante a vez dele. Os pagamentos são arredondados a duas casas decimais e incluem a aposta original. O gestor comum impede que o mesmo pagamento pendente seja atribuído duas vezes.

As regras de fecho acima também se aplicam quando o inventário fecha ao desligar-se do servidor. Estas proteções não permitem recuperar uma sessão inacabada após uma falha do servidor ou o encerramento do plugin; evite reiniciar durante partidas ativas.