Actualizado:
1. Preparación (una vez)
/scoreboard objectives add coins dummy
/scoreboard objectives add roll dummy
2. Disposición
Un bloque de comandos de impulso con un botón, en Necesita redstone, seguido de bloques en cadena en Incondicional y Siempre activo. Coloca los pasos 3 a 6 en orden.
3. Comprobar las esmeraldas
/execute as @p store result score @s coins run clear @s emerald 0
/execute as @p if entity @s[scores={coins=10..}] run tag @s add gacha
/execute as @p unless entity @s[tag=gacha] run tellraw @s {"text":"Necesitas 10 esmeraldas","color":"red"}
/clear @a[tag=gacha] emerald 10
clear @s emerald 0 cuenta las esmeraldas sin quitar ninguna. Elige primero al jugador con as @p y luego compruébalo, para que no se elija a otro jugador que tenga esmeraldas.
4. Sacar del 1 al 100
/execute as @a[tag=gacha] store result score @s roll run random value 1..100
Consulta el comando random.
5. Premios por rangos
/give @a[tag=gacha,scores={roll=1..5}] diamond 3
/give @a[tag=gacha,scores={roll=6..30}] iron_ingot 5
/give @a[tag=gacha,scores={roll=31..100}] bread 3
Eso es un 5 % de premio gordo, un 25 % de premio y un 70 % de premio común. Cambia los rangos para cambiar las probabilidades, sin huecos ni solapamientos.
6. Mensaje de premio gordo y limpieza
/execute as @a[tag=gacha,scores={roll=1..5}] run tellraw @a [{"selector":"@s"},{"text":" ¡ha ganado el premio gordo!","color":"gold"}]
/execute as @a[tag=gacha,scores={roll=1..5}] at @s run playsound minecraft:ui.toast.challenge_complete master @s
/tag @a[tag=gacha] remove gacha
Solución de problemas
- Dice que no hay suficientes esmeraldas: revisa el objetivo coins y que los bloques en cadena estén en Siempre activo.
- No hay premio: random necesita la 1.20.2 o posterior.
- Bedrock Edition: usa
scoreboard players random @p roll 1 100.
Comprueba tu comando
El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.