AccionMenu



Permite definir las opciones que aparecen en el menú de acciones del jugador. Cada entidad sólo permite definir una acción del menú.



Menú de acciones

Parámetros de esta entidad:


  • Activa
  • Con valor 'True' esta acción se aplicará al menú de acciones.

    Con valor 'False' esta acción no se aplicará al menú de acciones.



  • Num_acción
  • Número de acción (entre 1 y 8).

    Es el número de acción, de las 8 disponibles, que queremos cambiar. Las opciones están numeradas del 1 al 8 de arriba a abajo.



  • Verbo
  • Nombre de la acción.

    Texto que representará la acción que llevará a acabo el jugador cuando la seleccione.

    Este texto puede ser cualquier cosa, aunque normalmente son verbos como: Leer, Comer, Usar, Robar, etc... o lo que se te ocurra.

    Rellena este parámetro únicamente con el símbolo menos '-' y esta acción del menú de acciones del jugador no será procesada por el sistema.



    Acerca de esta entidad:


    Esta lista muestra los números de acción correspondientes al orden de las acciones con sus respectivos nombres por defecto:

    1 Usar

    2 Entregar

    3 Tomar

    4 Mostrar

    5 Comprar

    6 Vender

    7 Leer

    8 Poner


    Debes usar entidades 'AccionMenu' para cambiar las opciones que te interese modificar para adaptar este menú a las necesidades de tu juego.

    Recuerda que cada entidad es sólo para modificar el nombre de una acción del menú.

    Sitúa estas entidades en el primer nivel de tu juego para que se vean en todos los niveles.

    Para que este menú le aparezca al jugador al pulsar la tecla de inventario (tecla 'i') debes poner el valor 'Z' del parámetro 'Acciones_XY' de la entidad Marcador con valor 1.



    ¿ Para que sirven estas acciones ?:

    De hecho el efecto de estas acciones lo definirás tú con comandos en ficheros de comandos .INI. Básicamente se usan para procesar una determinada serie de comandos en función de la acción que seleccione el jugador combinada con el objeto que tenga seleccionado en su inventario de objetos.



    ¿ Cómo realiza el jugador una acción de este tipo ?:

    1.- El jugador se sitúa en el lugar del nivel que desea realizar la acción.

    2.- Hace aparecer el inventario de objetos con la tecla 'i'.

    3.- Usando las teclas de selección de objeto del inventario (por defecto las flechas derecha e izquierda del teclado numérico), seleccionará el objeto que quiere que intervenga en la acción.

    4.- Seguidamente usando las teclas de selección de acción del menú de acciones (por defecto las teclas arriba y abajo del teclado numérico), seleccionará la acción que quiere realizar combinada con el objeto que tiene seleccionado.

    5.- Finalmente pulsará la tecla 'Acción' (por defecto la tecla de espacio) para realizar la acción combinada. El jugador verá en la parte inferior de la pantalla la acción combinada que intenta realizar, independientemente de si esa acción será procesada o no.



    Yo como desarrollador del juego ... ¿ Cómo detecto y proceso esas acciones que realiza el jugador ?:

    Cada vez que el jugador realiza una acción de este tipo, de forma completamente automática, Entidad 3D guarda en la variable 'ACCION_SELECCIONADA' el texto de la acción que ha seleccionado el jugador, también guarda en la variable 'OBJETO_SELECCIONADO' el número de objeto que tiene seleccionado en el inventario de objetos.

    Pues ya te imaginas lo simple que resultará detectar la acción y el objeto que está utilizando el jugador cuando haya pulsado la tecla 'Acción'. Bastará usar en un fichero .INI asociado a una entidad, un simple 'IF COND' con dos condiciones para detectarlo.

    Ejemplo 1:
      IF COND ACCION_SELECCIONADA=Usar COND OBJETO_SELECCIONADO=3
        ACCI TEXT El jugador quiere usar el objeto 3 aqui
      ENDIF

    Como ves, de ti depende realizar los comandos que creas convenientes para las combinaciones de acciones que establezcas en tu juego.

    Observa que la detección del objeto usando la variable 'OBJETO_SELECCIONADO' no se realiza como en otros comandos de esta forma '3_tarjeta.act=1', sino que se debe utilizar el número de objeto directamente.


    Si usas la detección de acciones en ficheros .INI asociados a entidades, es importante para que funcione, que el parámetro 'Boton_accion' de la entidad que uses, esté a 'True'.



    Si, eso está muy bien para detectar y procesar acciones en lugares determinados, pero ... ¿ como hago para por ejemplo detectar cuando el jugador se tome una pócima en cualquier momento y lugar del juego ?:

    Para eso debes crear un fichero de comandos .INI independiente que se procesará cada vez que el jugador realice una acción de este tipo. El nombre de este fichero debes indicarlo en la entidad Configuracion parámetro 'FicheroAcciones'.

    Será pues en ese fichero de acciones donde deberemos detectar y procesar las posibles acciones que quiera realizar el jugador en cualquier momento y lugar del juego:

    Ejemplo 2:
    En un fichero que llamaremos 'accion_general.ini' tendríamos lo siguiente:

      IF COND ACCION_SELECCIONADA=Tomar COND OBJETO_SELECCIONADO=4
        ACCI TEXT Te has tomado la pocima
        ACCI QINV 4_pocima.act
        ACCI DSAL 50
      ENDIF

    En el parámetro 'FicheroAcciones' de la entidad 'Configuracion' habremos puesto: accion_general.ini



    También se pueden detectar acciones que prevemos que puede intentar el jugador y que no tienen una finalidad concreta en el juego pero no queremos que el jugador se quede sin algún tipo de respuesta:

    Ejemplo 3:
      IF COND ACCION_SELECCIONADA=Entregar COND OBJETO_SELECCIONADO=5
        ACCI TEXT Ese libro de codigos es como chino para mi, quita ese libro de mi vista
      ENDIF


    El jugador también puede seleccionar alguna acción del menú de acciones y no seleccionar ningún objeto en el inventario de objetos, por lo que la acción será simplemente el propio nombre de la acción, sin objeto asociado. En este caso el contenido de la variable 'OBJETO_SELECCIONADO' valdrá 0.

    Esto también lo podremos detectar de la siguiente forma:

    Ejemplo 4:
      IF COND ACCION_SELECCIONADA=Activar COND OBJETO_SELECCIONADO=0
        ACCI TEXT El panel de control que has activado muestra el código: AF1D75
      ENDIF


    Otros ejemplos:


    Ejemplo 5:
    Vender unos planos (objeto número 16):
      IF COND ACCION_SELECCIONADA=Vender COND OBJETO_SELECCIONADO=16
        ACCI TEXT Gracias por los planos secretos. Toma tus 6000 euros
        ACCI QINV 16_planos.act
        ACCI OPE+ DINERO 6000
      ENDIF


    Ejemplo 6:
    El jugador entrega un lingote de oro en espera de favores. Un favor puede ser hacer desaparecer un matón que está en una puerta que impide pasar al jugador:

      IF COND ACCION_SELECCIONADA=Entregar COND OBJETO_SELECCIONADO=17
        ACCI TEXT Gracias por tu aportacion. ¡John, dejalo pasar!
        ACCI QINVUSO 17_lingotes.act
        ACCI VIS0 maton1.act 0
      ENDIF


    El funcionamiento de la tecla 'Acción' cuando el jugador no tenga en pantalla el menú de acciones, sigue siendo igual que en anteriores versiones de Entidad 3D que no poseían el menú de acciones, es decir, lanzará el fichero de comandos asociado a la entidad si esa entidad tiene a 'True' el parámetro 'Boton_accion'.



    Coloca, en el primer nivel, tantas entidades 'AccionMenu' como nombres de acciones quieras cambiar. Las entidades pueden estar situadas en cualquier parte del nivel mientras se encuentren en el interior del mapa.

    Si no quieres cambiar ninguna de las acciones que ya existen por defecto en el menú de acciones, no es necesario que uses ninguna entidad 'AccionMenu' en todo tu juego.

    Consulta la sección Anexo Inventario para conocer más detalles sobre el menú de acciones.