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

Comprueba tu comando

El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.