Ir al contenido

Transacción Fallida

Transacción Fallida

Dispara cuando una transacción de los Cofres Wired no llega a buen puerto: el usuario cierra la ventana sin pagar, se acaba el tiempo, los cofres no tienen con qué pagarle… Es la gemela de Transacción Completada, y además te entrega el motivo.

Escucha el contrato que le marcas —o la caja de un efecto de cofre— exactamente igual que Transacción Completada, y salta con cada transacción suya que falla, venga de Iniciar Transacción, Dar Moneda desde Cofre o Dar Furni desde Cofre.

Corre una vez por cada usuario al que le falló, con él como usuario desencadenante y el contrato (o la caja del efecto) como furni desencadenante.

El motivo llega en @event.transaction_failed.reason, una variable de contexto que solo existe en las pilas que nacen de aquí. Vale un número y trae su propio texto, en inglés, que puedes enseñar con un Marcador de posición de variable en modo Textual. Los más habituales:

Valor Texto Qué pasó
0 Cancelled By User El usuario cerró su ventana de Tradeo Wired
2 Timeout Se acabó el tiempo límite que puso Iniciar Transacción
3 Cancelled By Wired La canceló Cancelar Transacción
4 Already Trading El usuario ya estaba en otro tradeo
6 No Sufficient Funds Los cofres no tienen bastante para pagarle
10 Empty Transaction “Dar todo” con los cofres vacíos
13 Chest Not In Room Alguien recogió un cofre de la transacción
15 No Wired Chests Or Locked No hay ningún cofre que se pueda usar del tipo que hace falta: los que hay tienen candado o están sin mejorar a Wired
16 Can Not Give All To Multiple Users “Dar todo” con más de un usuario
17 Trade Limit Wired La sala se quedó sin cobros: demasiados seguidos con Dar Moneda, Dar Furni o un Contrato de Recompensa
18 Rate Limit Lo intentó demasiado deprisa
20 Misconfig Invalid Multiplier El multiplicador de Iniciar Transacción está fuera de 1 a 500
21 Misconfig Too Many Or No Contracts Iniciar Transacción no tenía ningún contrato que valiera
22 Misconfig No Users El efecto no tenía a nadie a quien dar
25 User Left Room Se fue de la sala con el tradeo abierto
Ventana de configuración de Transacción Fallida

Arriba, Información de uso: “Este Wired se activará cuando un usuario no haya podido completar una transacción (selecciona el contrato). Además, el motivo del fallo se entrega a través de una variable interna.” Debajo, el enlace Ver en el menú Wired abre las Herramientas de Creador Wired en la pestaña de variables, con la del motivo ya elegida.

Elige Furni, con las mismas reglas que en Transacción Completada: los tres contratos, el Contrato Personalizado o las cajas de Dar Moneda y Dar Furni desde Cofre. Iniciar Transacción no se puede marcar.

En Mostrar opciones avanzadas, Seleccionar la fuente de furnis, entre Usar furnis seleccionados —la de fábrica— y Usar furnis de Selector.

Decirle al jugador por qué no ha podido pagar la entrada:

Pila C
│
├─ Complemento: Marcador de posición de variable
│ ├─ Nombre del identificador ................ motivo
│ ├─ Escoge una variable ..................... @event.transaction_failed.reason (ámbito contexto)
│ ├─ Escoge el tipo de visualización ......... Textual
│ └─ Tipo de identificador ................... Individual
│
├─ Causante: Transacción Fallida
│ └─ Elige Furni ............................. Contrato de Pago
│
└─ Efecto: Mensaje
├─ ¿Cuál es el mensaje? .................... "No has pasado: $(motivo)"
└─ Visibilidad del mensaje ................. Solo el usuario desencadenante

Cuidado con reintentar desde aquí. Si esta pila vuelve a lanzar Iniciar Transacción con el mismo contrato y falla en el acto —el cofre sigue vacío, o lo intenta demasiado deprisa—, el nuevo fallo la vuelve a disparar al momento, sin esperar a nada. El bucle solo se corta con el tope de ejecuciones de la pila, y para entonces el jugador se ha comido un montón de avisos.

Algunos fallos no son de nadie. “Dar todo” con varios usuarios (16) o un efecto sin nadie a quien dar (22) fallan para la ejecución entera: la pila corre una sola vez y sin usuario desencadenante. Lo mismo cuando el usuario ya se ha ido (25). En esos casos un Mensaje “solo al usuario desencadenante” no le llega a nadie.

Cancelar también es fallar. Que el usuario cierre su ventana (0) o que la cierre Cancelar Transacción (3) dispara este causante, también cuando Cancelar e Iniciar Transacción van en la misma pila para cambiarle el contrato sin cerrarle la ventana.

La variable del motivo viaja con Ejecuta Pilas, igual que las de Transacción Completada.