CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 18 Oct 2017 13:59

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 17 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 29 May 2009 20:17 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Bueno, ya tengo hecho y probado el tema de los PSI en Superglús, una característica que saldrá en la próxima versión. Al final la cosa queda así:

- Los PSI son objetos
- Hay un atributo de objeto que hace que un objeto sea considerado un PSI
- Los objetos de tipo PSI , por defecto, no son tenidos en cuenta por LISTAT, LISTOBJ, OBJAT y DOALL.
- Se puede cambiar dicho comportamiento cambiando un flag del sistema, que hace que se les trate igual que cualquier objeto, salvo que nunca se pasará el primer caracter a mayúsculas al pintarlo.
- Se añaden lo condactos LISTNPC locno+ y NPCAT (equivalentes a LISTOBJ y OBJAT)

Estoy pensandome si hago un par de condactos MOVENPC y MOVENPCRANDOM para permitir moverlos de manera sencilla. Lo que pasa es que no se si es adecuado porque al fin y al cabo se puede hacer con combinaciones de MOVE, RANDOM y PLACE. De hacerlo, además, tendria que añadir mensajes del sistema del tipo "_ va hacia el ", "_ entra desde el ". No se, se aceptan opiniones y sugerencias, de esto, y de todo lo demás, que para eso escribo este mensaje :)

¡Ah!, asi a primera vista os puede parece que perdemos la posibilidad de hacer un DOALL sobre los PSI, pero no es así, bastará con modificar el flag que hace que se traten los PSI como objetos antes del DOALL, y modificarlo de nuevo al acabar :)

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 11 Dic 2014 14:32 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
¿A alguien le suena aventuras realizadas en superglús en las que aparezcan PSIs con sistema de conversaciones libres?

Acabo de probar El Espíritu de la Sidra, pero la conversa es automática.

¡Gracias!

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
NotaPublicado: 12 Dic 2014 14:08 
Desconectado
Archivero
Archivero

Registrado: 05 Abr 2014 17:40
Mensajes: 264
Ese amigo uto, espero que te vaya bien.
Pregunta.
Dices que los PSI serán objetos.
Eso tal cual como en Superglus actual asignando el atributo 3, o ya el atributo 3 dejará de existir.
Si llegase a desaparecer el atributo 3 del Superglus actual que trata PSI como objetos, no será aun más limitante el tener 255 parámetros por pestaña en el nuevo Superglus.
(Lo digo ya que los PSI tratados por flag de localidad es más o menos flexible ya que es raro que se utilicen todos los flag) (Difícil, mas no imposible)
En mi aventura me he visto en la necesidad de utilizar uno que otro flag a nivel de BIT para llevar el conteo de una acción repetitiva.
Acción que debería llevar un flag por cada una, pero el derroche de flag sería innecesario.
Por ejemplo, tengo seis armarios descripción con un flag que lleva el estado abierto/cerrado a nivel de BIT.
Ahí fácilmente se hubieran usado seis flag individuales pero es mucho mejor un solo flag usando seis de sus BIT.
Ahora volviendo al tema, es decir, metemos la mayor capacidad posible de objetos más los PSI objetos, obvio, que nadie llenará los 255 lugares poniendo 200 objetos y 54 PSI tratados como objetos.
Pero ya ves que usando objetos físicos manipulables, mas nombres de objetos no manipulables (objetos de ambientación descriptiva), mas PSI tratados como objetos, se llena fácilmente la capacidad de los 255 parámetros.
Claro que esto lo digo a vuelo de pájaro sin saber si lo que digo está bien o cómo estarás elaborando la nueva versión de Superglus.
Me despido chaus cuídate.


Arriba
 Perfil  
 
NotaPublicado: 12 Dic 2014 15:04 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
El testigo escribió:
pulables, mas nombres de objetos no manipulables (objetos de ambientación descriptiva), mas PSI tratados como objetos, se llena fácilmente la capacidad de los 255 parámetros.
Claro que esto lo digo a vuelo de pájaro sin saber si lo que digo está bien o cómo estarás elaborando la nueva versión de Superglus.
Me despido chaus cuídate.

Hola,

No hay ningún plan de subir el número de objetos. Lo de los PSI lleva ya años ahí y a pesar de ello no ha salido ninguna aventura que llegue a tener ni la cuarta parte de los 256 objetos posibles, poro lo que no es algo que me plantee.

Respecto al uso de los flags a nivel de bit, es una decisión del autor, pero tampoco se de nadie que haya tenido problemas porque se le hayan acabado los flags y se haya visto obligado a hacer lo que dices (que por otro lado no está mal y tienes razón en que para abierto/cerrado, con un bit vale, y mas vale prevenir que curar).

No quiero desencantarte, pero la próxima versión de Superglús, si alguna vez llega a salir, será una versión de mantenimiento para arreglar alguna cosa que hemos visto por ahí que se puede arreglar, pero en ningún caso voy a dedicar tiempo a ponerle nuevas funcionalidades o a aumentar sus límites.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 13 Dic 2014 18:57 
Desconectado
Archivero
Archivero

Registrado: 05 Abr 2014 17:40
Mensajes: 264
Saludos amigo uto.
Espero que todo te vaya bien.
No sé si estoy seguro pero creo que hay una falla a nivel del PARSE
Explico:
He montado la conversación con el PSI tal cual está en la documentación:
DECIR PSI SAME fLocPSI 38 PREP A PROCESS 3 DONE
DECIR PSI PREP A RNDWRITELN "No hay nadie aquí con ese nombre." DONE
DECIR _ RNDWRITELN "¿Con quién quieres hablar?" DONE
Ahora bien:
-Cuando tecleo la primera entrada que me manda al proceso del habla, si me manda a dicho proceso y el PSI me habla.
-Cuando tecleo la segunda entrada sin nada entrecomillado: (DECIR A PSI), fuera de su entorno, se imprime la segunda entrada de que no hay nadie presente: No hay nadie aquí con ese nombre.
-Cuando tecleo el tercer comando equivocando el nombre del PSI, se plasma bien el mensaje: ¿Con quién quieres hablar?
El fallo que creo que hay, más no estoy seguro si el del fallo soy yo, es que cuando lanzo el segundo comando sin estar ante el PSI: DECIR A PSI “LO QUE SEA
El sistema da bien la respuesta que he dado para cuando no estemos en su localidad: No hay nadie aquí con ese nombre.
Pero además de la respuesta que le he dado, lanza una respuesta por defecto diciendo:
¿Perdón? Por favor prueba con otras palabras.
Ahora si solamente tecleo fuera de su localidad el segundo comando: DECIR A PSI
Se imprime bien la segunda entrada: No hay nadie aquí con ese nombre.
Y esta vez sin el mensaje por defecto: ¿Perdón? Por favor prueba con otras palabras.
No sé si me doy a entender.
Pero resumido sería:
-Al teclear el segundo comando en otra localidad que no sea la del PSI: DECIR mas el nombre del PSI mas la frase que le queremos decir entrecomillada, el sistema lanza la respuesta de que no hay nadie aquí mas la respuesta por defecto diciendo que probemos con otras palabras.
-Al teclear el segundo comando en otra localidad que no sea la del PSI: DECIR mas el nombre del PSI sin nada entrecomillado, el sistema lanza la respuesta diciendo que no hay nadie con ese nombre y no lanza la respuesta diciendo que probemos con otras palabras.
Espero haberme explicado.
Chaus cuídate.


Arriba
 Perfil  
 
NotaPublicado: 16 Dic 2014 22:35 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
No sé que estoy haciendo mal, pero no me sale. Y eso que parece algo sencillo.

Estoy practicando hablar con un PSI, Manolo.

En el vocabulario introduzco:

Código:
MANOLO        52       noun
SALUDO        51       noun
SALUDOS       51       noun
HOLA          51       noun


En la tabla de respuestas:

Código:
DECIR MANOLO
PARSE
PROCESS 4
DONE


En el proceso 4

Código:

_ SALUDO
 WRITELN "Manolo: ¿qué tal?"
 DONE
_ _
 PARSE ;Convierte una cadena a SL
 WRITELN "Manolo: No te entiendo."
 DONE


Si tecleo decir a manolo "hola", me responde:

Código:
> decir a manolo "hola"
No quieres hablarle a eso.


Si tecleo una palabra que no está en el vocabulario:

Código:
> decir a manolo "calculadora"
Manolo: No te entiendo.


¿qué hago mal?, porque al teclear decir a manolo "hola", no me responde Manolo: ¿qué tal?

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
NotaPublicado: 17 Dic 2014 00:15 
Desconectado
Archivero
Archivero

Registrado: 05 Abr 2014 17:40
Mensajes: 264
Saludos, espero que todo te vaya bien.
Vocabulario:
MANOLO 52 noun
SALUDO 115 verb
SALUDOS 115 verb
HOLA 115 ver
Manolo por ser el nombre del PSI, forzosamente irá en la sección de nombres = noun.
Salido, saludos, hola al ser sinónimos, se les asigna el número igual para ahorrar parámetros y al ser la palabra que hará que el PSI nos responda, deberá ir en la sección de verbos = verb.
Tabla de respuestas.
DECIR MANOLO SAME fLocManolo 38 PREP A PROCESS 4 DONE
DECIR MANOLO PREP A WRITELN "No hay nadie aquí con ese nombre." DONE
DECIR _ WRITELN "¿Con quién quieres hablar?" DONE
-La primera entrada se debe teclear en presencia del PSI con la cual comprobamos que el flag del PSI y del jugador están en la misma localidad con el condacto SAME y si están presentes los 2, nos enviará al proceso referenciado para hacer imprimir su correspondiente respuesta en este caso, el saludo de Manolo.
-La segunda entrada se teclea donde sea que no se encuentr el PSI y por acción preguntará que a quién le queremos decir eso.
-La tercera entrada se teclea en cualquier localidad estando ante el PSI o no y nos pregunta en caso de que escribamos mal su nombre: DECIR MAOLO.
Proceso 4.
_ _
PARSE ;Convierte una cadena a SL
WRITELN "Manolo: No te entiendo."
DONE
SALUDO _
WRITELN "Manolo: ¿qué tal?"
DONE
_ _
WRITELN "Manolo: No te entiendo."
DONE
Deberás respetar siempre este formato si quieres que la formación de la SL se realice satisfactoriamente.
En primer lugar colocar la entrada con el condacto PARSE y la respuesta del PSI diciendo que no te entiende.
En segundo lugar, deberán ir todas las respuestas programadas que se le asignen al PSI sea saludarte, despediste, darte una pista ETC ETC ETC, siempre con la palabra que le envíes al principio ya que si colocas un signo subrayado y luego la palabra, el programa la tratará como nombre y te lanzará error diciendo que xx no es un nombre del vocabulario.
Y por último, colocar la primera entrada pero esta vez sin el condacto PARSE.
Si respetas este orden, el PSI te hablará hasta por los codos.
Ten encuenta que todas las palabras que asignarás como respuesta del PSI, tienen que ir sin exección entre la primera entrada del PARSE y la última de no entenderte.


Arriba
 Perfil  
 
NotaPublicado: 17 Dic 2014 10:30 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Hola!

Parse debe usarse en el subproceso, y al principio.

En tu ejemplo primero usas PARSE en la tabla de respuestas, lo cual es erróneo (ver descripción de PARSE aquí), y además luego lo vuelves a usar en la última opción, con lo cual en ocasiones se ejecuta dos veces.

Debería ser así:

En respuestas
Código:
DECIR MANOLO
 PROCESS pConversacionManolo
 DONE



En el proceso 4 (aka pConversacionManolo)
Código:
_ _
  PARSE
 WRITE "Manolo te mira extrañado."
 DONE
 
_ SALUDO
 WRITELN "Manolo: ¿qué tal?"
 DONE
_ _

 WRITELN "Manolo: No te entiendo."
 DONE



¿Como funciona?

- Desde la tabla de respuestas se llama al proceso. Ahí habría que hacer además lo que te dice El testigo de comprobar que el PSI está en la misma localidad, si esto tiene sentido, y comprobar la preposición "A" si crees que es necesaria (yo personalmente no suelo poner preposiciones que no son absolutamente necesarias) pero entiendo que como estás probando no te has metido en eso.

- En la tabla de respuestas primero habrá un PARSE, que lo que hace es tratar de sacar otra frase del input del jugador, si no lo consigue PARSE, que es además una condición, tiene éxito, y por tanto se pasa a las siguientes entradas (Manolo te mira extrañado, y DONE para que termine el proceso). Esto es necesario solo si quieres que se de una respuesta diferente si no había frase posterior o dicha frase no se entiende en absoluto (DECIR A MANOLO "ASDFAGSFDGSF"), en caso contrario con que la entrada tenga el PARSE vale.

- Después una entrada por cada respuesta, y finalmente una entrada para dar una respuesta genérica si no entró en ninguna. Si hiciste lo de poner el WRITE y el DONE detrás del PARSE, ahí solo llegarás si había una frase parseable pero no coincidía con ningún caso de los que hayas puesto que reconozca el NPC, en caso contrario te llegarán tanto las frases parseables, como las que no, e incluso si no hay ninguna (es decir, si el jugador teclea simplemente "DECIR A MANOLO").


Notas:

- Si te fijas como "PARSE" simplemente toma la siguiente sentencia de la orden del jugador es irrelevante si el jugador escribe

Código:
DECIR A MANOLO: HOLA
DECIR A MANOLO "HOLA"
DECIR MANOLO, HOLA


- Es recomendable que los nombre propios tengan un número inferior al 50, porque así son considerados nombres propios, lo cual afecta a las respuestas de la librería base de ngpaws (por ejemplo el verbo EMPUJAR tiene una respuesta diferente según el nombre es propio o no). De hecho el hecho de que le hayas puesto el 52 es lo que hace que en tu ejemplo te saliera "No quieres hablar con eso que dices" en lugar de "No parece interesarse por tu charla." que es lo que sale si se detecta que el nombre es propio.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 17 Dic 2014 12:21 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Gracias a los dos, también de parte de Manolo:

Código:
> decir a manolo "como te llamas"
Me llamo Manolo.
> decir a manolo "gracias"
Manolo: De nada majo.


ya me funciona.

Me lié un poco ya que el tutorial decía una cosa pero luego leyendo este hilo, creo que está equivocado: viewtopic.php?f=6&t=5704

Citar:
El testigo pregunta:
¿Cómo se puede colocar algún PSI tendero Que le digas, lista, listar, preguntar que vende etc., cualquier palabra que se le asigne para que te diga la lista de los objetos que tiene a la venta?
Uto responde:
Sobre el PSI tendero:
Para hablar con un PSI lo mas normal es usar el condacto PARSE y llamar a un proceso nuevo donde se metan las respuestas de todo lo que dice esa persona
Código:
DECIR TENDERO
AT lTienda
PARSE ---------------------------------------->>>> ¿PARSE en la tabla de respuestas?
PROCESS pRespuestasTendero
Y luego en el proceso pRespuestasTendero
Código: ------------------------------------>>> En el subproceso no veía PARSE
LISTAR _
WRITELN "Vendo peras, manzanas, uvas y bananas."
DONE
HOLA _
WRITELN "Buenos días señor"
DONE
QUIERO UVAS
WRITELN "Son 15 dólares señor"
DONE


De todas formas con la explicación me ha quedado claro.

¡Gracias!

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
NotaPublicado: 08 Jun 2016 16:21 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Como puedo evitar:

Citar:
> decir wilma hola
Wilma: ¡Bájame de aquí!
> decir wilma, hola
Wilma: ¡Bájame de aquí!
No quieres hablarle a eso.
> hablar a wilma
Wilma: ¡Bájame de aquí!
> decir a wilma hola, que tal
Wilma: ¡Bájame de aquí!
¿Perdón? Por favor prueba con otras palabras.


El mensaje "No quieres hablarle a eso.", supongo que al poner la coma me está interpretando dos sentencias:
>decir a wilma hola + decir que tal

Con este personaje en concreto "Wilma", no habrá mucho de que hablar, sólo esa respuesta "Bájame de aquí"

Código:
decir wilma
 present pWilma
 synonym hablar wilma

hablar wilma
 present pWilma
 eq fWilma 0
 writeln "{ink|yellow|Wilma: } ¡Bájame de aquí!"
 done   

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
NotaPublicado: 08 Jun 2016 16:52 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Voy con prisa, mira a ver si te vale el condacto newtext

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 08 Jun 2016 18:43 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Ya está, como siempre estaba mareandome y lo he solucionado creando un proceso:
Código:
decir wilma
 present pWilma
 synonym hablar wilma

hablar wilma
 present pWilma
 eq fWilma 0
 process 11
 done


... proceso 11

Código:
_ _
 parse
 writeln "{ink|yellow|Wilma: } ¡Bájame de aquí!"
 done     


Citar:
> decir wilma hola
Wilma : ¡Bájame de aquí!.
> hablar con wilma
Wilma : ¡Bájame de aquí!.
> decir wilma hola, que tal
Wilma : ¡Bájame de aquí!.


No quería crea un proceso sólo para esas tres líneas, pero bueno creo que es la mejor solución. Ya puestos que creé el proceso nuevo le daré alguna respuesta más.

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
NotaPublicado: 08 Jun 2016 23:45 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
el parse cogera una frase y se la pule (porque no haces nada con ella), pero si hay mas fallara.

> di a wilma hola, que tal, ¿como estas?

son tres frases, el PARSE se come la segunda, la tercera se procesará como orden

pon NEWTEXT antes del DONE en tu proceso y creo que ya está.

Disculpa el formato terrible de este mensaje, de nuevo muuuchas prisas.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 09 Jun 2016 03:40 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
No había a probarlo así. Sip con tres frases vuelve a pasar. He puesto NEWTEXT antes del done, pero hace los mismo:

Código:
> hablar con wilma
Wilma : ¡Bájame de aquí!.
> decir a wilma, hola, que tal
Wilma : ¡Bájame de aquí!
¿Perdón? Por favor prueba con otras palabras.

> decir a wilma, hola que tal
Wilma : ¡Bájame de aquí!
> decir a wilma hola que tal
Wilma : ¡Bájame de aquí!.
> decir a wilma hola, que tal
Wilma : ¡Bájame de aquí!.


Con el proceso

Código:
_ _
 parse
 writeln "{ink|yellow|Wilma: } ¡Bájame de aquí!"
 newtext
 done

_ _
 writeln "{ink|yellow|Wilma: } ¡Bájame de aquí!"
 newtext ;con o sin el hace el mismo efecto
 done


La segunda entrada en el proceso lo tuve que poner. En caso contrario algunas veces se quedaba sin respuesta en cuanto metía una coma:

Citar:
> decir a wilma, hola, que tal
¿Perdón? Por favor prueba con otras palabras.

> decir a wilma, hola que tal
> decir a wilma hola que tal
Wilma : ¡Bájame de aquí!.


Por cierto, no hay prisa, responde cuando quieras. Serán por cosas que me quedan por programar, si no estoy con esta parte voy avanzando por otro lado. Vamos que no me voy a quedar sin faena si no lo soluciono hoy o mañana. Cuando puedas. :wink:

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
NotaPublicado: 10 Jun 2016 09:11 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
He estado probando tu código y es normal que no consigas nada con newtext, la implementación del condacto tiene una sola linea, y está mal (100% de lineas con bug, jaja).

Básicamente está así:

Código:
function ACCnewtext()
{
   parser_order_buffer = '';
}


y debería ser así:


Código:
function ACCnewtext()
{
   player_order_buffer = '';
}


Una vez cambiado NEWTEXT se comporta como debe, y borra el resto de órdenes que de el jugador, de modo que te da igual si a Wilma le lees el Quijote. Está en condacts.js, por si lo quieres arreglar tú mismo.

Por otro lado, en tu código veo una utilización incorrecta de PARSE, que es la que "te obliga" a poner la frase de Wilma dos veces. Si te fijas en la descripción del condacto PARSE se trata de una condición, mezclada con accion . El condacto trata de parsear una frase más del input del jugador, y si no lo consigue tiene éxito como condición y se ejecuta la linea siguiente. En caso contrario (si consigue sacar una frase) la condición falla, y por tanto se pasa a la siguiente entrada.

Por eso en el propio ejemplo de la ayuda, pone esto:

Código:
_   _   PARSE           
        WRITELN "No te entiendo" ; No hay más frases pendiente o no se entendió
        DONE

verbo  nombre   Lista de CondActos      ; Cualquier frase que el NPC entienda

_   _   WRITELN "No te entiendo" ; o mensaje similar para cualquier LS que sí tenía sentido pero no habíamos considerado


Es decir, lo normal es poner "No te entiendo al principio si el PARSE no encuentra frase, porque será que has puesto "DECIR WILMA" a secas, o "DECIR WILMA, ADASDASDASS" (algo no parseable). Después, estarían las respuestas normales de WILMA a cosas que entiende. Ese "verbo nombre Lista de CondActos " vendría a ser una o varias entradas donde pongas cosas que Wilma podría entender. La última entrada, es por si has dicho algo a Wilma que, aunque parseable, Wilma no entiende.

En tu caso, en el cual Wilma es presa del pánico y es irrelevante lo que le digas que siempre dice lo mismo, veo dos opciones:

1) La más sencilla, no te complicas la vida y directamente en respuestas:

Código:
decir wilma
 present oWilma
 synonym hablar wilma   

hablar wilma
  present oWilma
  eq fWilma 0
  writeln "{ink|yellow|Wilma: } ¡Bájame de aquí!"
  newtext
  done   


Esto tiene la desventaja de que incluso si pones "DECIR WILMA" a secas, te va a soltar la frase, proque

2) Una un poco más elaborada, en la que miras a ver si le has dicho algo a Wilma, y si no es así, dices algo diferente. Mantendrías lo que tienes en la tabla de respuestas, y en el proceso sería así:

Código:
_ _
 PARSE
 WRITELN "Le dices algo a Wilma, pero con los nervios no se te entiende nada."
 NEWTEXT
 DONE

_ _
 writeln "{ink|yellow|Wilma: } ¡Bájame de aquí!"
 NEWTEXT
 DONE
 


Este tiene la desventaja de que si pones "HABLAR WILMA" te va a decir que no se te entiende nada, porque no puede parsear una frase detras.

En general, quizá no deberías hacer sinónimos DECIR y HABLAR, porque aunque es lo mismo, no se usan igual:

> HABLAR CON WILMA
> DECIR A WILMA, HOLA

Decir suele requerir poner lo que se dice, y HABLAR no.

Así, una solución general sería:

En Respuestas:

Código:
HABLAR WILMA
 PRESENT oWilma
 EQ fWilma 0    ; Que por cierto, está perfecto, pero quizá es mas sencillo "ZERO fWilma"
 WRITELN ink|yellow|Wilma: } ¡Bájame de aquí!"
 DONE

DECIR WILMA
 PRESENT oWilma
 EQ fWilma 0    ; Que por cierto, está perfecto, pero quizá es mas sencillo "ZERO fWilma"
 PROCESS 11
 DONE


y en el proceso 11:


Código:
_ _
 PARSE
 WRITELN "Le dices algo a Wilma, pero con los nervios no se te entiende nada."
 NEWTEXT
 DONE

_ _
 writeln "{ink|yellow|Wilma: } ¡Bájame de aquí!"
 NEWTEXT
 DONE
 


Verás que no hago NEWTEXT en el caso de HABLAR WILMA, porque no se espera nada detrás, pero sí lo hago con DECIR, porque sí se espera algo.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 17 mensajes ]  Ir a página 1, 2  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM