CAAD
https://foro.caad.es/

Hacer desaparecer comentarios de las librerias
https://foro.caad.es/viewtopic.php?f=12&t=4782
Página 1 de 3

Autor:  Melchian [ 16 May 2011 15:28 ]
Asunto:  Hacer desaparecer comentarios de las librerias

Hola, buenas a todos.

¿Hay alguna forma de desactivar los comentarios que efectua la libreria de forma automática cuando añades un objeto a una habitación? Tipo:

"Puedes ver una mesa, una llave y una gafas aquí."

Mucha gracias de antemano.

Autor:  Johan Paz [ 17 May 2011 12:30 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Melchian escribió:
Hola, buenas a todos.

¿Hay alguna forma de desactivar los comentarios que efectua la libreria de forma automática cuando añades un objeto a una habitación? Tipo:

"Puedes ver una mesa, una llave y una gafas aquí."

Mucha gracias de antemano.


Bueno... esta pregunta tiene muchas respuestas posibles y no tengo muy claro cuál es la que buscas.

  • Si lo que necesitas es que un objeto desaparezca de los visibles (porque es un decorado) lo más sencillo es simplemente declararlo como tal: 'The objeto is an scenery' (capítulo 3.8 de la documentación). (También puedes usar la librería Decorations -siempre en https://sites.google.com/site/inform7sp/extensiones- https://sites.google.com/site/johanilat ... ations.i7x para evitar crearte esta clase de objetos).
  • Si lo que quieres es que sea un objeto normal pero que 'inicialmente' no sea visible hasta que ocurra algo lo mejor es no ponerlo en el sitio (ej: 'The objeto is a thing', sin indicar 'here' o 'in location-tal') y lo haces aparecer cuando sea (ej: 'After examining otroobjeto, move objeto to the location of otroobjeto.')
  • Si lo que quieres es que el objeto tenga una descripción inicial en frase separada es aún más sencillo ('The objeto is a thing here. "Esta es la descripción inicial separada del objeto"').
  • Si quieres hacer algo bastante más sofisticado tendrás que cambiar alguna actividad, tal vez la descrita en el capítulo 17.15 de la documentación.

Como ves depende de qué es lo que quieras hacer.

Autor:  Melchian [ 17 May 2011 12:56 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Muchas gracias por tu respuesta Johan Paz

Lo que quiero hacer es que los objetos que no son scenery, es decir, llaves u objetos que puedes coger y manipular, puedan ser utilizados desde el principio en la habitacion en la que estan pero sin la tipica frase que te aparece automatica despues de poner tu la descripcion de la habitación donde estan. Por ejemplo:

"La habitación es alta osucra y rectangular. En el centro hay una mesa con una llave misteriosa.

En la habitacion hay una llave."

Quiero que desaparezca la frase "En la habitación hay una llave" pero que la llave siga estando disponible en la habitación y siga siendo utilizable.

Autor:  joruiru [ 17 May 2011 13:01 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

scenery te debe valer perfectamente para lo que quieres.

Un objeto scenery es totalmente manipulable, cogible, examinable, y todo lo able que quieras... la única diferencia con un objeto normal es que no se describe en la descripción de la localidad...

Al menos en inform6 funciona... supongo que en el 7 seguirá funcionando.

Autor:  Melchian [ 17 May 2011 13:08 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

joruiru escribió:
scenery te debe valer perfectamente para lo que quieres.

Un objeto scenery es totalmente manipulable, cogible, examinable, y todo lo able que quieras... la única diferencia con un objeto normal es que no se describe en la descripción de la localidad...

Al menos en inform6 funciona... supongo que en el 7 seguirá funcionando.


Incluso una puerta seguirá siendo una puerta que se puede abrir y cerrar, que tenga una llave relacionada etc... y una llave serguirá pudiendo abrir y cerrar puertas, y una mesilla podria seguir dejando cosas encima sin ser un supporter?

Es decir, cuando pongo scenery las llaves me sale lo siguiente cuando quiero cogerlas:

>coger llave
Difícilmente podrías llevarte eso.

Y lo que tengo de la llave es lo siguiente:

A llave de la habitacion 14 are here. The printed name of llave de la habitacion 14 is "Llave de la habitación 14". They are scenery, female. The description is "Las llaves de la habitación, será mejor que las deje en recepción antes de marcharme."

Autor:  joruiru [ 17 May 2011 13:14 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Una cosa no quita a la otra... ser scenery no significa que no pueda ser supporter. Le puedes asignar a un objeto tantas características como quieras.

Por ejemplo: The Capitains Chair is an enterable scenery supporter in the Bridge.

Autor:  Melchian [ 17 May 2011 13:23 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

joruiru escribió:
Una cosa no quita a la otra... ser scenery no significa que no pueda ser supporter. Le puedes asignar a un objeto tantas características como quieras.

Por ejemplo: The Capitains Chair is an enterable scenery supporter in the Bridge.


Perfecto, muchas gracias joruiru, no sabia que las caracteristicas de thing, door, scenery y tal no eran excluyentes. Aun así cuando pongo ambas opciones (Thing y scenery) me sigue sin dejar ocger las llaves... :(

Autor:  Johan Paz [ 17 May 2011 13:59 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

joruiru escribió:
scenery te debe valer perfectamente para lo que quieres.

Un objeto scenery es totalmente manipulable, cogible, examinable, y todo lo able que quieras... la única diferencia con un objeto normal es que no se describe en la descripción de la localidad...

Al menos en inform6 funciona... supongo que en el 7 seguirá funcionando.


No, no lo es. Un objeto 'scenery' está bastante limitado, puedes, por supuesto, añadir reglas extra para que se pueda hacer justo con ese objeto, pero serían apaños.

Autor:  Johan Paz [ 17 May 2011 14:38 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Melchian escribió:
Muchas gracias por tu respuesta Johan Paz

Lo que quiero hacer es que los objetos que no son scenery, es decir, llaves u objetos que puedes coger y manipular, puedan ser utilizados desde el principio en la habitacion en la que estan pero sin la tipica frase que te aparece automatica despues de poner tu la descripcion de la habitación donde estan. Por ejemplo:

"La habitación es alta osucra y rectangular. En el centro hay una mesa con una llave misteriosa.

En la habitacion hay una llave."

Quiero que desaparezca la frase "En la habitación hay una llave" pero que la llave siga estando disponible en la habitación y siga siendo utilizable.


La forma 'estándar' de hacer algo así sería con este código:

Código:
The initial room is a room. "La habitación es alta, oscura y rectangular".

A mesa is a female scenery. The mesa is here.

A llave is a female thing in initial room. "En el centro hay una mesa con una llave misteriosa."


Esto tiene el problema de que la mesa 'desaparece' cuando coges la llave. Una alternativa algo mejor sería:

Código:
The initial room is a room. "La habitación es alta, oscura y rectangular".

A mesa is a female supporter. "En el centro hay una mesa [if llave is on the mesa] con una llave misteriosa[end if]."

A llave is a female thing on the mesa.


Pero este código insiste en informarte dos veces de que la llave está sobre la mesa, para evitarlo tendrías que decirle a ese soporte 'la mesa' que ya te has encargado tu:

Código:
The initial room is a room. "La habitación es alta, oscura y rectangular".

A mesa is a female supporter in initial room. "En el centro hay una mesa[if llave is on the mesa] con una llave misteriosa[end if]."

Rule for writing a paragraph about mesa:
   say initial appearance of mesa;
   say line break.
   
A llave is a female thing on the mesa.


Es decir, te estás encargando tu de formar el párrafo sobre la mesa. Normalmente solemos dejar que la librería se encarge de estas descripciones, pero como puedes ver puedes rescribir cualquier cosa usando la regla correcta.

Autor:  asvelin [ 17 May 2011 14:53 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Te puedes guiar por el ejemplo del tutorial on-line de Inform 7: Empezando a programar puzzles complejos: objetos escondidos

https://sites.google.com/site/inform7sp ... zles-compl

Autor:  Melchian [ 17 May 2011 15:14 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Buuf necesito tiempo para digerir todo el codigo... Por cierto, pensaba que las cosas que ponias entre corchetes no te las leia el inform 7 como código. Esa es la forma de poner un If?

Autor:  Johan Paz [ 17 May 2011 15:26 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Melchian escribió:
Buuf necesito tiempo para digerir todo el codigo... Por cierto, pensaba que las cosas que ponias entre corchetes no te las leia el inform 7 como código. Esa es la forma de poner un If?


Es la forma de poner un if dentro de un texto. :)

En I7 tienes una enorme flexibilidad en los textos. Estos dos códigos son equivalentes, por ejemplo:

Código:
Every turn:
     say "La llave [if llave is not on mesa]no[end if] está sobre la mesa.".


Código:
Every turn:
     say "La llave ";
     if llave is not on mesa:
         say "no ";
     say "está sobre la mesa.".


En este caso puedes escoger entre cualquiera de los dos, es lo mismo exactamente (aunque yo encuentro más clara la primera opción). Pero hay veces en las que tienes que poner una cadena en un atributo (The description of..., por ejemplo), por lo que sólo tienes la primera opción (meter condicionales entre corchetes dentro del texto).

Autor:  Melchian [ 17 May 2011 15:30 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Si que hy versatibilidad si... y muchisimas cosas por aprender O_O

Sobre todo por que me tiraba de los pelos ya que no sabia meter la condicion "If..." Ahora la intento poner pero me da un error. No se si se podrá, si no se puede no veo por que no se va a poder. Lo que quiero poner es que suene un sonido si se cumpole una condicion.

If the grifo is open, play the sound grifoleak.

Por ejemplo, sin embargo me da error una y otra vez...

Autor:  asvelin [ 17 May 2011 15:57 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Para poner sonidos y que te funcione tienes que poner los sonidos en la carpeta Materials de tu proyecto y compilar para Glulx. En el tutorial te lo explican:
https://sites.google.com/site/inform7sp/inform-7/7-graficos-y-sonidos#TOC-Sonidos

Autor:  Johan Paz [ 17 May 2011 15:58 ]
Asunto:  Re: Hacer desaparecer comentarios de las librerias

Melchian escribió:
Si que hy versatibilidad si... y muchisimas cosas por aprender O_O

Sobre todo por que me tiraba de los pelos ya que no sabia meter la condicion "If..." Ahora la intento poner pero me da un error. No se si se podrá, si no se puede no veo por que no se va a poder. Lo que quiero poner es que suene un sonido si se cumpole una condicion.

If the grifo is open, play the sound grifoleak.

Por ejemplo, sin embargo me da error una y otra vez...


Imagino que estarás intentando poner la condición 'tal cual', pero tienes que situarla en un 'libro de reglas', es decir imagino que lo que quieres hacer es: 'en cada turno, si el grifo está abierto que suene su sonido'. Esto en I7 se escribiría así:

Código:
Every turn when the grifo is open:
      play the sound grifoleak.


'Every turn' es el 'libro de reglas', es decir el ámbito de ejecución (en nuestro caso 'cada turno', o sea después de que el jugador ejecute un comando) y tras el nombre del libro de reglas he puesto la condición 'when the grifo is open' y dentro de esa 'regla' que se ejecuta cada turno sólo si el grifo está abierto ya he puesto lo que tiene que pasar. Una forma equivalente de escribirlo y más cercana a la que estabas intentando (pero un poquito menos eficiente) sería:

Código:
Every turn:
      if the grifo is open:
             play the sound grifoleak.

Página 1 de 3 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/