Comando ACTIVAR_EVENTO

Se usa para activar o no el evento asociado a ciertas entidades. Como es abrir puerta de la entidad Door, mover plataforma de la entidad MovingPlat, entregar objeto al jugador de la entidad ItemObject, teletransportar jugadores o Bots de la entidad Teletransporte o matar al Bot de la entidad BotActorStart.


Sintaxis: ACCI ACTIVAR_EVENTO activarlo


  • activarlo:
  • Con valor si, el evento se activará.
    Con valor no, el evento no se activará.


    Este comando se usa básicamente en ficheros de comandos que utilizan la primera condición 'IF COND' para activar el evento asociado a una entidad. Este comando precisamente sirve para ignorar esa característica de la primera condición 'IF COND' y de esta manera poder decidir con más flexibilidad cuando activamos el evento.




    Ejemplo 1:

    En una entidad 'Door' hemos definido el fichero de comandos 'abrir_puerta_almacen.ini' en el parámetro 'CommandsFile' de dicha entidad. Cuando el jugador toque la puerta queremos abrir la puerta si el contenido de la variable 'LLAVEALMACEN' es 1, de lo contrario no abrir la puerta.

      IF COND LLAVEALMACEN=1
        ACCI TEXT Abriendo puerta del almacen
      ENDIF
    Precisamente en este caso no necesitamos usar el comando ACTIVAR_EVENTO si la condición para abrir la puerta es así de simple y la podemos colocar al principio del fichero .INI.



    Ejemplo 2:

    En una entidad 'Door' hemos definido el fichero de comandos 'abrir_puerta_sotano.ini' en el parámetro 'CommandsFile' de dicha entidad. Cuando el jugador toque la puerta queremos abrir la puerta si el contenido de la variable 'LLAVESOTANO' es 2, de lo contrario no abrir la puerta. Pero no queremos usar la primera condición del fichero .INI para decidir abrir la puerta porque esa primera condición que queremos evaluar no tiene nada que ver con la apertura de la puerta.

      ACCI PONE AS=0
      IF COND AS=1
      ENDIF
      IF COND PROCESO6=3 COND PROCESO7=4
        ACCI PONE PROCESO8=10
      ENDIF
      IF COND LLAVESOTANO=2
        ACCI TEXT Abriendo puerta del sotano
        ACCI ACTIVAR_EVENTO si
      ENDIF
    El primer 'IF COND' es una condición que nunca se cumplirá para que de entrada la puerta no se abra. La siguiente condición 'IF COND' doble es la condición que no tiene nada que ver con decidir abrir o no la puerta. Y finalmente la última condición 'IF COND' es la que realmente va ha decidir si abrir o no la puerta. Si se cumple la condición, la puerta se abribrá por el comando ACTIVAR_EVENTO que hemos incluido y si no se cumple, como de entrada ya hemos establecido que no se abra pues ... no se abrirá.



    Ejemplo 3:

    En la entidad 'ItemObject15' hemos definido el fichero de comandos 'entregar_objeto_23.ini' en el parámetro 'CommandsFile' de dicha entidad. Cuando el jugador toque este objeto queremos entregarle un reloj (objeto número 23) a cambio de 5 monedas de oro de las que porte en su inventario de objetos.

      ; Primero se comprueba si este objeto número 23 se está tocando por primera vez.
      ; Si no es así se entrega el objeto sin pedir nada a cambio. Es decir, si la primera condición de este fichero .INI se cumple.
      IF COND COM_OBJ_23=1
        ACCI EXIT
      ENDIF
      ; Pero si es la primera vez que se toca el objeto hay que entregarlo al jugador a cambio de 5 monedas de oro (objeto número 10).
      ; Consultamos el inventario del jugador para averiguar la cantidad de monedas de oro (objeto número 10) que porta.
      ACCI dame_objeto_inventario 10,CANT_OBJ
      ; Comprobamos que porte al menos 5 monedas
      IF COND CANT_OBJ>4
        ; Primero le quitamos al jugador las monedas de oro correspondientes
        ACCI QINVUSO 10 5
        ; Marcamos este objeto para que no se deba volver a conseguir a cambio de las monedas
        ACCI PONE COM_OBJ_23=1
        ; Activamos el evento de esta entidad para que el sistema entregue este objeto al jugador
        ACCI ACTIVAR_EVENTO si
        ; Hacemos que no sea necesario pulsar la tecla 'Acción' para volver a recoger este objeto
        ACCI CAMBIAR_PARAMETRO ItemObject15 Boton_accion False
      ELSE
        ACCI TEXT Necesitas 5 monedas de oro para conseguir el reloj
      ENDIF


    Funcionamiento del comando en el modo de juego online

    Ámbito de actuación por defecto del comando:
    Depende de la entidad asociada al evento

    El comando soporta cambio de ámbito: