NO MOM
I CANT PAUSE.
Scientific Number Tools Documentación
Soporte
Explorar lecciones

4. Sustituye la cartera por Safe y compara el trabajo necesario

Construye este ejemplo en tu proyecto de Unreal y comprueba el resultado en cada paso.

En esta página

    Conserva la práctica Normal. Duplica BP_MiCartera como BP_MiCarteraSafe y el widget como WBP_MiCarteraSafe. Haz los cambios en las copias.

    1. En BP_MiCarteraSafe añade Scientific Number Safe Value Component llamado WalletSafe. Durante BeginPlay, conecta Make Scientific Number (Base 1000, Exponent 0) directamente a New Value de Try Set Value, con WalletSafe como Target. Conecta la ejecución de BeginPlay directamente a Try Set Value y comprueba Return Value con Branch; en False conecta Out Error a Print Scientific Number Error. No añadas Try Make Safe Scientific Number: New Value recibe un Scientific Number normal y el componente lo protege internamente. Si ya añadiste ese nodo intermedio, elimínalo y reconecta ambos cables directamente. El componente ya se inicializa a cero antes de BeginPlay; aquí estableces el saldo inicial de 1000.
    2. En WBP_MiCarteraSafe cambia el tipo de la variable Cartera a BP_MiCarteraSafe Object Reference. Compila. En el actor cambia Create Widget a WBP_MiCarteraSafe y reconecta Self.
    3. En ActualizarSaldo reemplaza Get Value de Normal por Try Get Value de WalletSafe. Añade Branch. En True formatea Out Value y actualiza TXT_Saldo. En False muestra No se pudo autenticar el saldo; no lo reemplaces por cero.
    4. En Producir usa Try Add de WalletSafe, Amount 25. Revisa éxito/error y refresca la lectura autenticada.
    5. En Comprar usa Try Spend de WalletSafe, Cost 100. Este nodo devuelve si pudo gastar y conserva el saldo si no puede. Para False distingue Out Error = None (saldo insuficiente) de un error numérico/autenticación. No reinstancies WalletSafe ni recrees 1000 en cada clic.
    6. En el nivel sustituye la instancia Normal por la Safe. Repite la tabla anterior completa y pausa en Try Spend para observar los pines.
    7. Para el fallo numérico añade temporalmente un tercer botón que ejecute Try Divide con Amount cero. Debe devolver False/DivisionByZero y la lectura posterior debe conservar el saldo anterior.