ItemObject



Esta entidad se utiliza para situar todo tipo de objetos en el nivel.

Estos objetos pueden ser recogidos por el jugador para pasar a su inventario de objetos o bien pueden ser objetos que tienen una acción en ese mismo instante pero no son recogidos por el jugador.



Parámetros de esta entidad:


  • ActorFile
  • Introducir aquí el nombre del fichero .act que quieras situar como objeto en el escenario. Este fichero .act debe existir en la carpeta 'Objetos' de Entidad 3D.



  • Numero_objeto
  • En este parámetro debes indicar el número de objeto que tendrá este objeto en el juego. Debe ser un número entre 1 y 50.

    Este número te servirá posteriormente cuando tengas que referirte a este objeto usando comandos como por ejemplo QINV, QTIN, PINV, QINVUSO o DAME_OBJETO_INVENTARIO.



  • ObjectGroup
  • Podrás asociar distintos objetos a un nombre de grupo para que el jugador sólo pueda llevar en su inventario un solo objeto de cada grupo.

    Esta caja también se utiliza para asignar a un objeto la propiedad de generar luz si lo lleva el jugador. Basta con rellenar esta caja con la palabra Luz y añadir la entidad 'LuzJugador' a nuestro mapa, cuando el jugador recoja este objeto podrá activar y desactivar (con la teclas 'M' y 'N') una luz que siempre le acompañará hasta que pierda el objeto.



  • ObjectName
  • Permite asignarle un nombre al objeto. Este nombre sólo lo utiliza 'Entidad 3D' para ponerlo en pantalla mientras el jugador recoge este objeto. Si ponemos más de un objeto igual en nuestro escenario (por ejemplo dos llaves) este parámetro sólo hay que rellenarlo en la primera entidad que hemos añadido para el primer objeto, el resto de objetos de ese tipo tomarán el mismo nombre.



  • Orientation
  • Son tres cifras (X Y Z) que determinan la orientación que presentará el objeto en el escenario. Variando estos tres ángulos (con valores entre 0 y 365 grados) podremos hacer aparecer nuestro objeto boca abajo, tumbado, ladeado, etc..

    Si ponemos 0 0 0 el objeto se presentará en la orientación inicial de diseño de este objeto 3D.


    Ejes X Y Z en Entidad 3D


  • Origin
  • Son tres cifras (X Y Z) que determinan la posición de este objeto en el escenario. Estos 3 datos normalmente no se modifican aquí y se deja que se modifiquen según movemos este objeto (con el ratón) desde 'World Editor'.



  • Scale
  • Permite agrandar o reducir el tamaño inicial de nuestro objeto. Si ponemos 1 el objeto aparecerá en el escenario en el tamaño inicial de diseño de este objeto 3D. Si ponemos 2 aparecerá el doble de grande. Si ponemos 0.5 aparecerá a la mitad de su tamaño.



  • Rotate
  • Con 'True' haremos que el objeto aparezca rotando sobre si mismo.



  • Respawn
  • Con valor True haremos que el objeto (después de recogerlo el jugador) reaparezca transcurrido el tiempo indicado en el parámetro 'Tiempo_reaparicion'.

    Con valor False el objeto no reaparecerá.



  • Respawn_Origin
  • Con valor True este objeto reaparecerá (si 'Respawn' está a 'True') en la posición original del objeto (parámetro 'Origin'), no en la posición que haya podido establecer el comando ITEMOBJECT_POS
    .
    Con valor False este objeto reaparecerá (si 'Respawn' está a 'True') en la última posición donde se ubicó.


  • Catch
  • Con 'False', aún siendo un objeto recogible, podemos hacer que este objeto en concreto no lo sea.



  • Fisica_objeto
  • Con 'True' para aplicar la fuerza de gravedad al objeto. Si el objeto aparece en el aire, caerá hasta el suelo.

    Con 'False' para no aplicar la fuerza de gravedad al objeto. El objeto no caerá aunque aparezca en el aire.



  • Brillo
  • Con un valor que puede variar entre 0 y 255 podemos dar más o menos brillo al modelo 3D que represente este objeto.



  • CommandsFile
  • Introduciremos el nombre del fichero de comandos .ini que contiene los comandos que deseamos procesar cuando el jugador intente recoger este objeto. Este fichero .ini debe estar en la carpeta 'Comandos' de Entidad 3D.

    Si este fichero .ini contiene alguna condición 'IF', el resultado de la primera condición que se encuentre en el fichero .ini se tomará para decidir entregar o no el objeto al jugador.

    Si siempre quieres entregar el objeto al jugador y no quieres asociar ficheros de comandos, deja en blanco la casilla de este parámetro.

    Consulta dentro de este fichero de comandos la variable del sistema EVENTO_NUM_OBJETO si quieres saber el número de objeto que está intentando recoger el jugador.

    También puedes consultar la variable del sistema EVENTO_NOM_ITEMOBJECT si lo que necesitas saber es el nombre de la entidad perteneciente al objeto que está intentando recoger el jugador. Por ejemplo: ItemObject2, ItemObject7, ItemObject14, etc..



  • Repetir_comandos_zona
  • Consulta este parámetro en la entidad Door. El funcionamiento es el mismo.



  • Inventario_objeto
  • Con 'True', el objeto pasará al inventario de objetos del jugador cuando éste simplemente lo toque.

    Con 'False', el objeto no pasará al inventario de objetos del jugador al tocarlo, aunque desaparecerá del escenario.

    ¿ Para que sirve coger objetos que no se añaden al inventario ?. Pues puede que te interese recoger ciertos objetos que no tengan repercusión en el inventario del jugador pero quieres que cuando el jugador los recoja sólo desaparezcan y se lance un fichero de comandos (el que se indique en el parámetro 'CommandsFile') para controlar lo que quieras al recoger este objeto.

    Ejemplos de objetos que se recogen pero que no se añaden al inventario:

    - Las bolas del juego 'Pacman'.

    - Hechizos que transforman o dan al instante una cualidad especial al jugador.

    - Mapas que sólo pueden verse un instante.

    - Antídotos contra venenos.

    - Depósitos de oxígeno para que el jugador pueda seguir respirando en una cueva.

    - Objetos que restan salud al jugador, tendrá que esquivarlos entre otros que le dan salud.



  • Tiempo_reaparicion
  • Una vez recogido este objeto, establece el tiempo (en segundos) que ha de transcurrir para que el objeto vuelva a reaparecer.

    El parámetro 'Respawn' ha de estar a 'True' para que funcione este tiempo.



  • Transparencia
  • De 0 a 255.

    Nivel de transparencia del objeto.

    255 opaco, 0 completamente transparente, 128 semi-transparente.



  • Usos
  • Se usa para asignar la cantidad de usos que el jugador podrá realizar con este objeto. También se puede usar como desgaste para ciertos objetos.

    En este parámetro debemos introducir la cantidad de usos máximo que tendrá este objeto cuando entre en el inventario del jugador. Esta cifra la verá el jugador en el interior del icono del objeto en el propio inventario de objetos.

    El valor de 'Usos' puede ser de 1 a 99.

    Si no quieres que un objeto tenga número de usos, simplemente deja este parámetro con valor 1.



  • Boton_accion
  • Con 'True', condiciona la recogida del objeto y el procesamiento del fichero de comandos .INI del parámetro 'CommandsFile', a la pulsación de la tecla 'Acción' por parte del jugador.

    Es importante que lo pongas a 'True' si es un objeto que debe comprar el jugador para conseguirlo.

    Con 'False', el objeto será recogido por el jugador sin necesidad de pulsar la tecla 'Acción'. El fichero de comandos .INI que hayas indicado en el parámetro 'CommandsFile' también se procesará sin necesidad de que el jugador use la tecla 'Acción'.



  • Boton_Accion_indicador
  • Consulta este parámetro en la entidad Door. El funcionamiento es el mismo.



  • Descrip1
  • Primera línea de texto para describir este objeto. Máximo 28 caracteres por línea.

    Las cuatro líneas de texto (Descrip1, Descrip2, Descrip3 y Descrip4) se mostrarán en el cuadro de información del inventario del jugador cuando seleccione este objeto.

    También se muestran en el panel de objeto que aparece en pantalla cuando el jugador toca la entidad 'ItemObject' de este objeto situada en el nivel.



  • Descrip2
  • Segunda línea de texto para describir este objeto. Máximo 28 caracteres por línea.



  • Descrip3
  • Tercera línea de texto para describir este objeto. Máximo 28 caracteres por línea.



  • Descrip4
  • Cuarta línea de texto para describir este objeto. Máximo 28 caracteres por línea.



  • Descrip5_inv
  • Quinta línea de texto para describir este objeto. Máximo 28 caracteres por línea.

    Esta línea, y las tres siguientes, sólo serán visibles por el jugador si porta el objeto en su inventario.

    Puedes usar estas cuatro líneas para mostrar al jugador información que sólo podrá ver si consigue el objeto, como contraseñas, pistas o cómo usar el objeto.



  • Descrip6_inv
  • Sexta línea de texto para describir este objeto. Máximo 28 caracteres por línea.

    Con las mismas características que la línea 'Descrip5_inv'.



  • Descrip7_inv
  • Séptima línea de texto para describir este objeto. Máximo 28 caracteres por línea.

    Con las mismas características que la línea 'Descrip5_inv'.



  • Descrip8_inv
  • Octava línea de texto para describir este objeto. Máximo 28 caracteres por línea.

    Con las mismas características que la línea 'Descrip5_inv'.



  • PanelObjeto
  • Con 'True', cuando el jugador toque este objeto, el programa presentará el panel de objeto conteniendo datos del objeto.

    Con 'False', no se mostrará el panel de objeto cuando el jugador toque el objeto.


    Panel de objeto


  • Precio_compra
  • Precio que se establece para este objeto si lo que quieres es que el jugador lo tenga que comprar para conseguirlo.

    Este precio se muestra en el panel de objeto que aparece en pantalla cuando el jugador toca la entidad 'ItemObject' de este objeto.

    Poner 0 si el objeto lo puede recoger el jugador sin necesidad de comprarlo.
    Si has puesto un precio debes poner a 'True' el parámetro 'Boton_accion' para que funcione la compra de este objeto por parte del jugador.

    Para que el jugador pueda comprar este objeto, sólo debe colocarse cerca del objeto y seleccionar la acción 'Comprar' del menú de acciones, si tiene suficiente dinero la compra se realizará de forma automática, en caso contrario se informará al jugador de que no tiene suficiente dinero.



  • Precio_venta
  • Precio que se establece para este objeto en el caso que el jugador lo tenga en su inventario de objetos y desee venderlo.

    Poner 0 si el objeto no tiene un precio concreto y por lo tanto el jugador no podrá venderlo usando la acción 'Vender' del menú de acciones.

    Este precio aparecerá en el panel de descripción de objeto que acompaña al inventario de objetos.

    Consulta el comando 'QINVVENDER' para saber como el jugador puede vender objetos.



  • Sombra
  • 0, 1, 2 o 8.

    Establece el tipo de sombra para este objeto.

    Valor 0 sin sombra.

    Valor 1 con sombra en círculo.

    Valor 2 con sombra dinámica
    .
    Valor 8 con sombra octogonal.

    Si quieres ver ejemplos de estos tipos de sombras, consulta la sección de la entidad ConfigEnemigos.



  • Zona_influencia
  • Permite modificar el tamaño de una caja que define la zona de influencia de este objeto.

    Esta zona influye, por ejemplo, en lo cerca que deberá estar el jugador para recoger el objeto. También tiene implicaciones a nivel de visualización de objetos en el escenario, si la zona de influencia queda completamente fuera del campo de visión del jugador, el objeto que hayamos definido desaparecerá de la vista del jugador.

    Para ver en el escenario todas las zonas de influencia de todos los .ACT definidos con 'ItemObject', debes poner a 'True' el parámetro 'Ver_zona_ItemObjects' de la entidad 'Configuracion'.



  • Ver_en_radar
  • Con valor '0' este objeto no se mostrará en el radar del jugador.

    Con valor '1' este objeto se mostrará en el radar del jugador mientras permanezca dentro del alcance del radar.

    Con valor '2' este objeto se mostrará siempre en el radar del jugador, aunque se mostrará en el borde del radar si está fuera del alcance del radar.



  • Render_distancia_max
  • Permite establecer hasta qué distancia (respeto al jugador) el modelos 3D .ACT asociado a esta entidad se procesará.

    Si la distancia entre el jugador y el modelo .ACT es superior a la establecida, el modelo .ACT no se procesará y desparecerá de la vista del jugador.

    De esta forma se puede aumentar el rendimiento general de los juegos sacrificando algo de calidad gráfica en el fondo de la escena.

    Para probar esta característica usa por ejemplo el valor 1800.

    Usa el valor 0 para no utilizar esta característica.

    Usa un valor de distancia impar para que en lugar de hacer desaparecer por completo el modelo .ACT se procesen sólo la mitad de sus polígonos. A bastante distancia del jugador no importará mucho si el modelo .ACT aparece incompleto ya que apenas se apreciará con claridad desde lejos, pero el rendimiento de tu juego aumentará. Para probar esta característica usa por ejemplo el valor 1801.




    Las imágenes que forman el panel de objeto son:
    bmp \ HUD \ sistema \ panel_objeto.bmp

    bmp \ HUD \ sistema \ a_panel_objeto.bmp




    Usar la entidad 'ItemObject' en el modo de juego online 'Capturar la bandera' para definir la bandera:


    Para este modo de juego online es necesario definir en nuestro nivel la posición de la bandera a capturar por los jugadores. Esto lo realizaremos añadiendo una entidad 'ItemObject' de la manera habitual, pero rellenando sus parámetros como se indican a continuación:

    ActorFile: 2_flag_coe.act

    Boton_accion: False

    Brillo: 191

    Catch: True

    CommandsFile:

    Descrip1:

    Descrip2:

    Descrip3:

    Descrip4:

    Inventario_objeto: True

    ObjetcGroup: Bandera

    ObjectName:

    Orientation: 0 0 0

    Origin: 'la posición de la bandera en el nivel'

    PanelObjeto: False

    Precio_compra: 0

    Precio_venta: 0

    Respawn: False

    Rotate: True

    Scale: 1

    Sombra: 1

    Tiempo_reaparicion: 60

    Transparencia: 255

    Usos: 1

    Zona_influencia: 20 20 20




    Usar la entidad 'ItemObject' para definir las bases de los equipos online:


    Para algunos modos de juego online es necesario definir las posiciones de cada una de las bases de los equipos que participan en el juego. Esto lo realizaremos añadiendo una entidad 'ItemObject' de la manera habitual, pero rellenando sus parámetros como se indican a continuación:

    ActorFile: 3_base_equipo_a.act

    (en el caso de la base del equipo Rojo (A))

    ActorFile: 4_base_equipo_b.act

    (en el caso de la base del equipo Verde (B))

    ActorFile: 5_base_equipo_c.act

    (en el caso de la base del equipo Azul claro (C))

    ActorFile: 6_base_equipo_d.act

    (en el caso de la base del equipo Amarillo (D))

    ActorFile: 7_base_equipo_e.act

    (en el caso de la base del equipo Azul oscuro (E))

    ActorFile: 8_base_equipo_f.act

    (en el caso de la base del equipo Magenta (F))

    ActorFile: 9_base_equipo_g.act

    (en el caso de la base del equipo Blanco (G))

    ActorFile: 10_base_equipo_h.act

    (en el caso de la base del equipo Negro (H))

    Boton_accion: False

    Brillo: 190

    Catch: True

    CommandsFile:

    Descrip1:

    Descrip2:

    Descrip3:

    Descrip4:

    Inventario_objeto: False

    ObjetcGroup: Base equipo A

    (en el caso de la base del equipo Rojo (A))

    ObjetcGroup: Base equipo B

    (en el caso de la base del equipo Verde (B))

    ObjetcGroup: Base equipo C

    (en el caso de la base del equipo Azul claro (C))

    ObjetcGroup: Base equipo D

    (en el caso de la base del equipo Amarillo (D))

    ObjetcGroup: Base equipo E

    (en el caso de la base del equipo Azul oscuro (E))

    ObjetcGroup: Base equipo F

    (en el caso de la base del equipo Magenta (F))

    ObjetcGroup: Base equipo G

    (en el caso de la base del equipo Blanco (G))

    ObjetcGroup: Base equipo H

    (en el caso de la base del equipo Negro (H))

    ObjectName:

    Orientation: 0 0 0

    Origin: 'la posición de la base en el nivel'

    PanelObjeto: False

    Precio_compra: 0

    Precio_venta: 0

    Respawn: False

    Rotate: True

    Scale: 3

    Sombra: 1

    Tiempo_reaparicion: 60

    Transparencia: 255

    Usos: 1

    Zona_influencia: 20 320 20



    Sólo se permiten hasta un máximo de 50 entidades 'ItemObject' por nivel.


    No usar el símbolo # en nombres de objetos o descripciones del objeto, ya que Entidad 3D lo usa internamente como separador y podría crear algún conflicto.


    Consulta los comandos 'QINV', 'QTIN' y 'QINVUSO' para saber como eliminar un objeto del inventario del jugador.


    Consulta el comando DAME_OBJETO_INVENTARIO para conocer la cantidad de un objeto concreto que porta el jugador.


    Consulta la sección 'Objetos' del tutorial para ver ejemplos de esta entidad.


    Usa el comando CAMBIAR_PARAMETRO para modificar algunos parámetros de esta entidad durante el transcurso de tu juego.