Interactivos

El componente interactuable

Agregar un componente Interactable a una entidad mostrará automáticamente la UI cuando los jugadores estén dentro del radio que especifiques.
El radio de interacción escala con la escala mundial de la entidad, así que mantén la raíz interactuable con escala 1 y escala un hijo visual cuando quieras que el rango de interacción permanezca fijo.
Para responder a que el jugador presione el interactuable, necesitarás escribir código CSL.
Una entidad puede tener más de una Interactable. Usa prioridad cuando varias indicaciones puedan estar disponibles al mismo tiempo.
La selección de la indicación es por jugador, pero el contenido de la indicación no lo es. can_use(player) controla si un jugador puede ver y usar un interactuable; set_text, set_hold_text, set_subtitley subtitle_color cambia el único componente compartido que ve cada jugador. No actualices esos valores a partir del estado de misión, inventario o progresión específico del jugador: la última escritura de Player A también se mostraría a Player B.
Para acciones diferentes por jugador, como "Aceptar misión" y "Entregar", usa una etiqueta compartida neutral como "Hablar", o agrega interactuables separados con etiqueta fija y controla cada uno con can_use(player). Entonces cada jugador seleccionará entre los interactuables válidos para su propio estado.
El patrón más común es:
Crea una clase que herede de
InteractableLlama a
this.set_listener(this)enao_startImplementa
can_useyon_interacten tu clase
Ejemplo de basura
Ejemplo de crecimiento
Un interactuable que “hace crecer” una entidad (una vez):
Ejemplo de compra mediante indicación
Un interactuable que solicita la compra de un producto:
Referencia de la API
Ganchos opcionales del jugador (reglas globales)
También puedes implementar estos en tu Player clase para aplicar reglas de todo el juego (por ejemplo, no poder usar interactuables antes de reaparecer):
Última actualización