Contrato Personalizado
Hace de contrato para Iniciar Transacción, pero en vez de guardar uno escrito a mano, lo arma cada vez con cantidades fijas o sacadas de variables y con los furnis que le lleguen de la pila.
Cómo funciona
Sección titulada «Cómo funciona»Los tres furnis de contrato —Contrato de Pago, Contrato de Tradeo y Contrato de Recompensa— guardan una definición fija. Este complemento es el cuarto contrato: tiene dos lados, Pago (lo que da el usuario) y Recompensa (lo que recibe), y según los que actives se comporta como uno u otro:
| Activado | Hace de |
|---|---|
| Solo Pago | Contrato de Pago, en Pago específico |
| Solo Recompensa | Contrato de Recompensa |
| Los dos | Contrato de Tradeo |
| Ninguno | Nada: no es un contrato válido |
Cada lado pide o da una sola cosa: créditos, esmeraldas o furnis. Con créditos o esmeraldas es un elemento con la cantidad; con furnis, un elemento por cada tipo distinto de su origen, cada uno con la cantidad.
No actúa sobre su pila. Aunque sea un complemento, no cambia nada de la baldosa en la que esté: puede ir solo en un rincón de la sala. Lo que cuenta es que lo selecciones como contrato, igual que un furni de contrato: en Contratos: de Iniciar Transacción, en Cancelar Transacción y en los causantes Transacción Completada y Transacción Fallida. Si está en la misma pila que un Iniciar Transacción pero sin seleccionar, no hace nada.
Se arma con la ejecución del efecto que lo usa. Las variables y los furnis se leen con los datos de la pila del Iniciar Transacción que lo selecciona: Usar furni desencadenante es el furni que disparó esa pila, el selector y la señal son los suyos, y el usuario desencadenante es el suyo. Así un mismo complemento puede pedir o dar un furni distinto en cada clic.
Configuración
Sección titulada «Configuración»
Advertencia de uso:, en rojo: “Este contrato puede actuar como un contrato de Pago, Tradeo o Recompensa dependiendo de su configuración. Sus furnis y cantidades pueden configurarse usando Wired como Variables y Selectores. Este es un Wired avanzado. Usa este tipo de contrato solo si sabes lo que haces. Asegúrate de probar todos los escenarios posibles en tu configuración (setup) Wired.”
Pago, una sección plegada con la casilla Activar pago. Debajo, en gris hasta que la marcas:
- Tipo de elemento:, Créditos —el de fábrica—, Esmeraldas o Furnis.
- Seleccionar cantidad:, un campo de valor o variable: escribes un número de 1 a 100.000 (de fábrica, 1) o el nombre de una variable que tenga valor. El botón de la derecha abre la lista de variables y, encima, Escoge la fuente de la variable: su ámbito —furni, usuario, global y contexto; de fábrica, contexto— y, con furni o usuario, de quién se lee. Con furni recorre las mismas cinco fuentes que los orígenes de abajo; con usuario, Usar usuario desencadenante, Usar usuarios del Selector y Usar usuarios de la Señal; global y contexto no tienen nada que elegir. Cada lado tiene su propio campo y su propia fuente.
Recompensa, otra sección plegada con Activar recompensa y los mismos dos campos.
De fábrica las dos casillas vienen quitadas: una caja recién puesta todavía no es un contrato.
En Mostrar opciones avanzadas están las dos filas de fuentes:
- Origen del furni (pago) y Origen del furni (recompensa), los furnis de muestra cuyo tipo se pide o se da. Fuentes: Usar furnis seleccionados, Selección de furnis secundarios, Usar furnis de Selector, Usar furnis de Señal y Usar furni desencadenante —la de fábrica en las dos—. Solo cuentan con su lado activado y en Furnis; si no, salen en gris.
Los dos juegos de furnis marcados a mano, “seleccionados” y “secundarios”, son de la caja y los comparten las dos filas y las fuentes de las variables: si los dos orígenes usan Usar furnis seleccionados, piden y dan los mismos tipos.
Ejemplo
Sección titulada «Ejemplo»Un escaparate que vende lo que clicas por 25 créditos, con un solo contrato para todas las muestras:
En la sala, sueltos: · Cofre de Créditos ← cobra · Cofre de Furnis ← con los tronos y las sillas que se venden
· Complemento: Contrato Personalizado (en cualquier sitio) ├─ Pago .................................... Activar pago │ ├─ Tipo de elemento ................... Créditos │ └─ Seleccionar cantidad ............... 25 ├─ Recompensa .............................. Activar recompensa │ ├─ Tipo de elemento ................... Furnis │ └─ Seleccionar cantidad ............... 1 └─ Origen del furni (recompensa) ........... Usar furni desencadenante
Pila A│├─ Causante: Click en Furni│ └─ Elige Furni ............................. Trono · Silla HC (las muestras)│└─ Efecto: Iniciar Transacción ├─ Modo de transacción ..................... Normal ├─ Cofres .................................. Usar furnis seleccionados → Cofre de Créditos · Cofre de Furnis └─ Contratos ............................... Selección de furnis secundarios → Contrato PersonalizadoClicar el Trono abre un tradeo de “25 créditos por 1 Trono”; clicar la Silla HC, “25 créditos por 1 Silla HC”. El furni desencadenante es el de la pila del efecto, no el de la baldosa del complemento.
Una cantidad que no se puede leer anula el contrato. Si la variable no existe en quien toca, si su valor no está
entre 1 y 100.000, o si un lado en Furnis no encuentra ningún furni en su origen, el contrato no vale. Si era el
único seleccionado, la transacción falla sin burbuja para el usuario: se entera
Transacción Fallida, con @event.transaction_failed.reason en
“Misconfig Too Many Or No Contracts”, y queda una línea en el registro de wired de la sala (origen System) y, como mucho una vez cada 20
segundos, el aviso de sala Fallo en la transacción.
Con varios en la referencia, uno al azar. Si la referencia de variable trae varios furnis o usuarios, la cantidad se lee de uno de ellos, elegido al azar.
Se arma una vez por ejecución del efecto. Todos los usuarios de ese Iniciar Transacción reciben el mismo contrato, con la misma cantidad.
Lo que trae de serie. Hecho pago, no lleva texto en “Recibes:” y usa el diseño genérico. Hecho recompensa, la ventana de recompensa se abre sola con el texto de fábrica “¡Felicidades! Has recibido algunas cosas :)”. Hecho recompensa o tradeo, los créditos y las esmeraldas que da van a Ganancias en la categoría Juegos. Si necesitas otra cosa, usa un furni de contrato.
No filtra los furnis. El editor de los furnis de contrato no deja pedir furnis que no se pueden tradear; este complemento no lo comprueba. Si el origen del pago es uno de esos, nadie podrá ofrecerlo y el tradeo se abrirá pero no se podrá completar; si es el de la recompensa, los cofres nunca lo tendrán.
En el registro del cofre y en las variables de transacción, el contrato es este complemento: aparece su id.