Saltar al contenido principal

Sistema de apuestas

El Sistema de Apuestas añade un casino completo a EliteMobs. Los jugadores pueden apostar sus Monedas Élite en cuatro minijuegos, endeudarse cuando se queden sin dinero y recibir la visita del Cobrador de Deudas. Los administradores pueden configurar gran parte del sistema, incluidos los multiplicadores de Blackjack, Cara o Cruz y Mayor o Menor. Los pagos de la tragaperras y la deuda máxima están fijados en el código.


Preparación​

Los jugadores acceden mediante NPC configurados para ello y necesitan elitemobs.gambling.npc, concedido por defecto. Los cuatro juegos tienen tipos de interacción propios; la visualización de ganancias se selecciona por el nombre del archivo del NPC.

Para preparar un NPC de apuestas, crea un archivo de configuración de NPC y establece el interactionType en uno de los siguientes valores:

Tipo de interacciónDescripción
GAMBLING_BLACKJACKAbre el menú de apuestas del Blackjack
GAMBLING_COINFLIPAbre el menú de apuestas de Cara o Cruz
GAMBLING_SLOTSAbre el menú de apuestas de la Máquina Tragaperras
GAMBLING_HIGHERLOWERAbre el menú de apuestas de Mayor o Menor

El NPC Dueño de la Casa de Apuestas no usa un tipo de interacción especial. Para configurarlo, crea un NPC con el nombre de archivo gambling_den_owner.yml. La visualización de las ganancias de la casa aparecerá automáticamente sobre el NPC a partir de ese nombre de archivo.

EliteMobs incluye configuraciones preparadas para las cinco funciones; normalmente basta con colocar estos NPC:

ArchivoFunción
blackjack_dealer.ymlBlackjack (Vincent, el crupier)
coin_flipper.ymlCara o Cruz (Lucky Pete)
slot_machine_operator.ymlTragaperras (Spinner Sam)
card_shark.ymlMayor o Menor (Ace Morgan, el tahúr)
gambling_den_owner.ymlVisualización de ganancias de la casa

Juegos​

Blackjack​

El objetivo es acercarse a 21 lo más posible sin pasarse. Esta implementación aplica las siguientes reglas.

Reglas​

  • Tanto el jugador como el crupier reciben dos cartas.
  • La segunda carta del crupier está oculta hasta que el jugador se planta.
  • Los ases cuentan como 11 o como 1 (se ajustan automáticamente para evitar pasarse cuando es posible).
  • Las figuras (J, Q, K) cuentan como 10.
  • El crupier se planta con 17.
  • Las cartas se sortean de forma independiente y con reposición; no hay una baraja finita que contar. Llegar a 21 al pedir carta hace que te plantes automáticamente.
  • El menú muestra cinco espacios por mano. Las cartas adicionales siguen contando para el total aunque ya no quepan en esos espacios.
  • Un Blackjack natural del jugador se paga inmediatamente, incluso si el crupier también tiene uno.

Acciones​

AcciónDescripción
PedirRoba otra carta.
PlantarseConserva tu mano actual; después juega el crupier.
DoblarPaga otra apuesta del mismo importe, duplica la apuesta, recibe exactamente una carta y se planta salvo que se pase. Solo está disponible en la primera acción con 2 cartas, si el saldo restante más el crédito cubren la apuesta adicional.

Pagos​

ResultadoMultiplicador por defecto
Victoria normal (el total del jugador supera al del crupier, o el crupier se pasa)2.0x
Blackjack (21 con las dos primeras cartas)2.5x
Empate (push)1.0x (se devuelve la apuesta)
Derrota (el jugador se pasa o el total del crupier es mayor)0x (se pierde la apuesta)

Cerrar el menú​

Si un jugador cierra el menú durante el turno del crupier, la mano del crupier se juega automáticamente y el resultado se resuelve. Si un jugador cierra el menú antes de plantarse, pierde la apuesta.


Cara o Cruz​

Un simple juego al 50/50. Elige cara o cruz, y la moneda decide tu destino.

Cómo jugar​

  1. El juego se abre con un botón de cara y un botón de cruz.
  2. Haz clic en uno para elegir.
  3. Se reproduce una animación de lanzamiento de moneda.
  4. Se muestra el resultado.

Pagos​

ResultadoMultiplicador por defecto
Acierto1.9x
Canto (la moneda cae de canto)5.0x
Fallo0x (se pierde la apuesta)

El resultado de canto​

Hay un 1% de probabilidad de que la moneda caiga de canto en lugar de cara o cruz. Cuando esto ocurre, el jugador siempre gana independientemente de su elección y recibe un pago de 5x sobre su apuesta. Para este evento tan raro se muestran un mensaje de chat y una visualización especiales.

Con estos valores, cara y cruz tienen una probabilidad del 49,5% cada una. El retorno esperado es 0.495 × 1.9 + 0.01 × 5 = 0.9905 veces la apuesta: la ventaja conjunta de la casa es del 0,95%. La ventaja del 5% de un lanzamiento con pago de 1,9x solo se aplica si se deshabilita el resultado de canto. Los multiplicadores incluyen la apuesta original.

Cerrar el menú​

Si un jugador cierra el menú antes de elegir, pierde la apuesta.


Máquina Tragaperras​

Gira tres rodillos y combina símbolos para ganar. Los símbolos más raros pagan más.

Cómo jugar​

  1. El juego se abre con una cuadrícula de rodillos de 3x3 y un botón de girar.
  2. Haz clic en girar para poner en marcha los rodillos.
  3. Cada rodillo se detiene en secuencia con una animación.
  4. La fila central (la línea de pago) determina el resultado.

Símbolos y pagos​

Cada rodillo sortea un símbolo de forma independiente con los pesos siguientes. Tres símbolos iguales pagan 100 / weight. Exactamente dos iguales en cualquier posición de la fila central, incluidas la primera y la tercera, pagan el 25% de ese importe. Son retornos totales que incluyen la apuesta: una pareja de cerezas o limones devuelve menos de lo apostado aunque el menú muestre una victoria.

SímboloPesoProbabilidadPago con 3 igualesPago con 2 iguales
Cereza3535%2.86x0.71x
Limón2828%3.57x0.89x
Naranja2020%5.0x1.25x
Campana Dorada1010%10.0x2.5x
Barra de Plata55%20.0x5.0x
7 de la Suerte22%50.0x12.5x

Tres 7 de la Suerte son el Jackpot y reciben un efecto visual y de sonido especial.

Cerrar el menú​

Si un jugador cierra el menú antes de girar, pierde la apuesta.

Tras el resultado, Volver a girar cobra otra apuesta del mismo importe y vuelve a la pantalla de preparación. El jugador debe pulsar Girar; cerrar entre ambos pasos pierde la apuesta recién cobrada.


Mayor o Menor​

Un juego de cartas basado en rachas. Adivina si la siguiente carta es mayor o menor que la actual y acumula un multiplicador. Retírate en cualquier momento o arriésgalo todo.

Cómo jugar​

  1. Se roba y se muestra una carta (los valores van de 2 a 14, donde el as = 14).
  2. Adivina si la siguiente carta será Mayor o Menor que la carta actual.
  3. Si aciertas, tu multiplicador aumenta y la carta revelada pasa a ser la nueva carta actual.
  4. Puedes Retirarte en cualquier momento tras al menos un acierto.
  5. Si te equivocas, pierdes toda tu apuesta.
  6. Si la siguiente carta es igual a la carta actual, cuenta como derrota.

Multiplicador de racha​

Cada acierto multiplica tus ganancias por el multiplicador configurado (por defecto 1.3x). El multiplicador se acumula:

RachaMultiplicador (por defecto)Pago con una apuesta de 100 monedas
11.3x130
21.69x169
32.197x219.7
42.856x285.6
53.713x371.3
.........
12~23.3x~2.330

Racha máxima y retirada automática​

La racha máxima es 12. Cuando un jugador alcanza 12 aciertos, se retira automáticamente y se le otorgan sus ganancias. Esto evita multiplicadores desbocados.

Cerrar el menú​

Si un jugador cierra el menú mientras tiene una racha ganadora, se retira automáticamente y recibe sus ganancias actuales. Si lo cierra antes de hacer ninguna predicción, pierde la apuesta.


Apuestas​

Antes de que empiece cualquier juego, se le presenta al jugador un menú de apuestas para seleccionar su apuesta.

Límites de apuesta​

AjusteValor por defecto
Apuesta mínima10

No hay una apuesta máxima configurable. El menú usa cantidades enteras de monedas; Todo a una descarta las fracciones al sumar el saldo y el crédito disponible.

minBet fija el importe de Restablecer y el mínimo de los botones de disminución. El importe inicial es max(minBet, 10). No es una validación universal de las transacciones: Todo a una puede fijar un importe positivo inferior a minBet, y Jugar actualmente lo acepta si se puede pagar. No dependas de este ajuste para imponer un mínimo en todas las operaciones.

Controles del menú de apuestas​

El menú de apuestas ofrece varios controles:

  • Botones de incremento -- Tres tamaños de aumento y disminución. Con al menos 100 monedas y sin deuda, usan el 5%, 10% y 25% del saldo, truncados a monedas enteras con un mínimo de 1. En caso contrario, usan 10, 50 y 100.
  • Todo a una -- Establece la apuesta al máximo que el jugador puede permitirse (incluido el crédito disponible).
  • Restablecer -- Restablece la apuesta al mínimo.
  • Jugar -- Inicia el juego con la apuesta actual. Solo está activo si el jugador puede permitirse la apuesta.
  • Cancelar -- Cierra el menú sin apostar.

El menú muestra el saldo actual. Las líneas de deuda y crédito disponible aparecen cuando hay deuda positiva, aunque los jugadores sin deuda también pueden usar crédito.


Sistema de deuda​

Los jugadores pueden apostar más allá de su saldo endeudándose. El casino concede crédito hasta un límite fijo.

Cómo funciona la deuda​

  1. Cuando un jugador hace una apuesta que supera su saldo, la cantidad restante se añade como deuda de juego.
  2. La deuda máxima que un jugador puede acumular es de 500 monedas. Está fijada en el código y no es configurable.
  3. Los jugadores no pueden hacer apuestas que empujarían su deuda más allá del máximo.
  4. Cuando un jugador gana, sus ganancias se aplican primero a saldar la deuda antes de sumarse al saldo. Los demás ingresos obtenidos mediante EliteMobs también pagan primero esta deuda, incluso con Vault activado. Los reembolsos de compras de encantamientos no pasan por el cobro de deuda.

Crédito disponible​

Para valores de deuda finitos, el crédito disponible es max(0, maxDebt - currentDebt). El menú lo muestra cuando el jugador tiene deuda.

Advertencia de deuda​

Cuando un jugador se endeuda, recibe un mensaje de advertencia. El Cobrador de Deudas puede ir a por él mientras arrastre deuda pendiente.


Jefe Cobrador de Deudas​

El Cobrador de Deudas es un jefe personalizado que aparece para cazar a los jugadores que tienen deudas de juego.

Condiciones de aparición​

  • El jugador debe tener deuda de juego pendiente.
  • Se ejecuta una comprobación periódica cada 60 minutos (configurable) para todos los jugadores conectados.
  • La primera comprobación espera un intervalo completo tras la inicialización. También debe haber pasado un intervalo desde el último intento de aparición para ese jugador; este temporizador se reinicia al apagar el plugin.
  • Cada comprobación tiene un 50% de probabilidad (configurable) de hacer aparecer al Cobrador de Deudas para un jugador que cumpla los requisitos.
  • Solo puede haber un Cobrador de Deudas activo por jugador a la vez.
  • El Cobrador de Deudas usa el archivo de jefe personalizado debt_collector.yml.

La comprobación periódica no excluye mundos ni modos de juego por sí misma; la aparición normal de un jefe personalizado aún puede fallar. Pagar la deuda evita futuras apariciones periódicas, pero no retira automáticamente a un cobrador ya presente.

Escalado de nivel​

El archivo incluido debt_collector.yml usa nivel dinámico y scaledCombat: true, por lo que los cálculos de combate se adaptan a cada jugador. Sus multiplicadores de salud y daño proceden de ese archivo. La rutina de aparición no asigna directamente el nivel de combate del jugador perseguido; cambiar la configuración del jefe cambia su escalado.

Comportamiento​

  • El cobrador prueba diez posiciones en la superficie a entre 5 y 10 bloques horizontales. Si ninguna sirve, usa una posición a la altura del jugador con un desplazamiento de hasta 5 bloques en cada eje horizontal.
  • Selecciona inmediatamente como objetivo al jugador para el que apareció.
  • Tiene un tiempo límite de 600 segundos (10 minutos) por defecto. Si no se le mata en ese tiempo, desaparece y advierte al jugador de que volverá.

Resultados​

ResultadoEfecto
Muere el Cobrador de DeudasSu objetivo registrado recibe el mensaje de regreso si está conectado, aunque lo haya matado otro jugador. La deuda no disminuye.
El jugador muere por un golpe directo del cobradorLa deuda de la víctima disminuye 50 monedas (configurable). Se le notifica si queda saldada. El cobrador se elimina tras 5 segundos. La última entidad que causó daño debe ser directamente un jefe debt_collector.yml; el gestor no rastrea tiradores de proyectiles ni muertes ambientales posteriores.
Se agota el tiempo del gestorSe elimina al cobrador y se envía una advertencia. Una comprobación periódica futura puede crear otro si el jugador sigue cumpliendo los requisitos y supera la probabilidad de aparición.

Dueño de la Casa de Apuestas​

El Dueño de la Casa de Apuestas muestra las Ganancias de la Casa como texto flotante. Es el total registrado de apuestas menos pagos, incluidas las apuestas financiadas con deuda. No es un saldo bancario separado ni el efectivo ya cobrado a los deudores.

  • Las ganancias positivas se muestran en verde (p. ej. +1234.56).
  • Las ganancias negativas (los jugadores ganan más de lo que pierden) se muestran en rojo (p. ej. -567.89).
  • La visualización se actualiza cada segundo.
  • Las ganancias de la casa se guardan en house_earnings.yml y sobreviven a los reinicios del servidor.

Configuración​

Todos los ajustes de apuestas se almacenan en GamblingSettings.yml. A continuación están los ajustes clave que afectan a la jugabilidad.

Ajustes generales​

ClaveDescripciónPor defecto
gamblingEnabledHabilita o deshabilita todo el sistema de apuestas. Cuando está deshabilitado, los NPC de apuestas no funcionan y el Cobrador de Deudas no aparece.true
minBetImporte de Restablecer y mínimo de los botones de disminución; consulta la limitación de Todo a una anterior.10

Nota: La deuda máxima (500.0) está fijada en el código y no es configurable.

El cargador exige enteros positivos para minBet, el intervalo de comprobación del cobrador y su tiempo límite. Las probabilidades deben ser finitas y estar entre 0 y 1. Los multiplicadores de pago y la reducción de deuda por muerte deben ser finitos y no negativos. Los valores inválidos generan una advertencia y se sustituyen por los predeterminados en la configuración cargada.

Multiplicadores de pago​

ClaveDescripciónPor defecto
payouts.blackjack.normalMultiplicador de pago para una victoria normal en Blackjack.2.0
payouts.blackjack.blackjackMultiplicador de pago por conseguir un Blackjack natural (21 con las dos primeras cartas).2.5
payouts.coinFlip.normalMultiplicador por acertar cara o cruz. Un pago de 1,9x solo da una ventaja del 5% a la casa si se deshabilita el resultado de canto.1.9
payouts.coinFlip.edgeChanceProbabilidad (0.0 a 1.0) de que la moneda caiga de canto (victoria con bonificación). Ponlo a 0.0 para deshabilitarlo.0.01
payouts.coinFlip.edgePayoutMultiplicador de pago cuando la moneda cae de canto.5.0
payouts.higherLower.multiplierV2Multiplicador aplicado por cada acierto en Mayor o Menor. Se acumula de forma multiplicativa.1.3
Limitación de configuración de Cara o Cruz

Los ajustes de Cara o Cruz comparten una sola sección YAML:

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

Si tu archivo actual guarda un número directamente en payouts.coinFlip, mueve ese valor bajo normal y añade los dos ajustes de canto. EliteMobs desactiva las apuestas e informa de esta corrección sin reescribir el archivo. Recarga después de corregirlo.

Pagos de la Máquina Tragaperras​

Los pagos de la máquina tragaperras no son configurables. Se calculan automáticamente a partir de los pesos de los símbolos usando la fórmula 100 / weight:

SímboloPesoPago con 3 igualesPago con 2 iguales
Cereza352.86x0.71x
Limón283.57x0.89x
Naranja205.0x1.25x
Campana1010.0x2.50x
Barra520.0x5.00x
7 de la Suerte250.0x12.50x

En GamblingSettings.yml no existe ninguna clave payouts.slots.* — las únicas entradas de la máquina tragaperras en el archivo son las cadenas de interfaz slots.* (nombres de botones, etiquetas y títulos de resultado). Los pagos siempre se derivan de los pesos de los símbolos fijados en el código.

Ajustes del Cobrador de Deudas​

ClaveDescripciónPor defecto
debtCollector.spawnChanceProbabilidad (0.0 a 1.0) de que el Cobrador de Deudas aparezca en cada comprobación.0.5
debtCollector.checkIntervalMinutesCon qué frecuencia (en minutos) se comprueba si el Cobrador de Deudas debe aparecer para los jugadores endeudados.60
debtCollector.timeoutSecondsCuánto tiempo (en segundos) pasa antes de que el Cobrador de Deudas desaparezca si no se le mata.600
debtCollector.debtReductionOnPlayerDeathCantidad de deuda que se reduce cuando el Cobrador de Deudas mata al jugador.50.0

Seguridad de la economía​

Las apuestas se cobran antes de abrir el juego. Cara o Cruz y Tragaperras liquidan el resultado antes de su animación; Mayor o Menor registra cada predicción antes de animarla y paga cuando el jugador se retira. Blackjack resuelve cuando el crupier termina de pedir, o juega inmediatamente esa mano si el menú se cierra durante su turno. Los pagos se redondean a dos decimales e incluyen la apuesta original. El gestor común impide pagar dos veces un mismo resultado pendiente.

Las reglas de cierre anteriores también se aplican cuando el inventario se cierra al desconectarse. Estas protecciones no permiten recuperar una sesión sin terminar después de una caída del servidor o del apagado del plugin; evita reiniciar durante partidas activas.