CAAD
https://foro.caad.es/

Insultar a un PNJ
https://foro.caad.es/viewtopic.php?f=12&t=5257
Página 1 de 1

Autor:  victorbcn [ 06 Jun 2012 07:35 ]
Asunto:  Insultar a un PNJ

Tengo un personaje al que quiero hacer enfadar, entonces el jugador debe insultarle. El problema es cuando
Inform se confunde con los "swearing mildy". Yo lo he intentado arreglar así, poniendo avisos "PON DECIR etc..." pero no sé si se puede hacer que funcione normal. En concreto: con la palabra "tonto" cuando lo pones en modo
"personaje, tonto". Si pones "decir tonto a personaje", funciona.

-- codigo : ----------------------------------------------------------------------

Instead asking carcelero to try swearing mildly:
say "Pon: DECIR <texto> a <personaje>.".
Instead asking carcelero to try swearing obscenely:
say "Pon: DECIR <texto> a <personaje>.".
Instead asking carcelero about something:
if player's command includes "cabron/cerdo/idiota/tonto/feo/gordo" begin;
if vez is 0 begin;
...
otherwise;
...
end if;
otherwise;
say "El carcelero te grita: '¡Qué te calles!'";
end if.

Autor:  Johan Paz [ 06 Jun 2012 08:18 ]
Asunto:  Re: Insultar a un PNJ

A ver... he montado este código, que a mí me funciona:

Código:
Include Spanish by Sebastian Arg.

Lugar is a room.

Carcelero is a man in Lugar.

Instead of asking carcelero to try swearing mildly:
   say "Pon bajo: DECIR <texto> a <personaje>.".
   
Instead of asking carcelero to try swearing obscenely:
   say "Pon alto: DECIR <texto> a <personaje>.".
   
vez is a number that varies. vez is 0.
   
Instead asking carcelero about something:
   if player's command includes "cabron/cerdo/idiota/tonto/feo/gordo":
      increase vez by 1;
      say "[vez] [the topic understood].".
      
Instead answering carcelero that:
   if player's command includes "cabron/cerdo/idiota/tonto/feo/gordo":
      increase vez by 1;
      say "[vez] [the topic understood].".
      
Test me with "carcelero, tonto / carcelero, cabrón / decir tonto al carcelero / decir cabrón al carcelero".

Autor:  victorbcn [ 06 Jun 2012 13:20 ]
Asunto:  Re: Insultar a un PNJ

está bien, pero el único problema que veo es que parece que hay que repetir el codigo dos veces.

Autor:  Johan Paz [ 06 Jun 2012 14:45 ]
Asunto:  Re: Insultar a un PNJ

victorbcn escribió:
está bien, pero el único problema que veo es que parece que hay que repetir el codigo dos veces.


Ah... no... siempre puedes redireccionar unas cosas en otras con 'try', así mira:

Código:
Instead of asking carcelero to try swearing mildly:
   say "Pon bajo: DECIR <texto> a <personaje>.".
   
Instead of asking carcelero to try swearing obscenely:
   say "Pon alto: DECIR <texto> a <personaje>.".
   
vez is a number that varies. vez is 0.
   
Instead of asking carcelero about:
   try answering carcelero that the topic understood.
      
Instead of answering carcelero that:
   if player's command includes "cabron/cerdo/idiota/tonto/feo/gordo":
      increase vez by 1;
      say "[vez] [the topic understood].".
      
Test me with "carcelero, tonto / carcelero, cabrón / decir tonto al carcelero / decir cabrón al carcelero".

Autor:  victorbcn [ 06 Jun 2012 17:21 ]
Asunto:  Re: Insultar a un PNJ

mmm, he probado el código pero no me funciona, el codigo que puse es:

Código:
Include Spanish by Sebastian Arg.

Lugar is a room.

Carcelero is a man in Lugar.

Instead of asking carcelero to try swearing mildly:
   say "Pon bajo: DECIR <texto> a <personaje>.".
   
Instead of asking carcelero to try swearing obscenely:
   say "Pon alto: DECIR <texto> a <personaje>.".
   
 vez is a number that varies. vez is 0.
   
Instead of asking carcelero about:
   try answering carcelero that the topic understood.
    
Instead of answering carcelero that:
   if player's command includes "cabron/cerdo/idiota/tonto/feo/gordo":
      increase vez by 1;
      say "[vez] [the topic understood].".
    
Test me with "carcelero, tonto / carcelero, cabrón / decir tonto al carcelero / decir cabrón al carcelero".


y el resultado del test

Código:
>test me
(Testing.)

>[1] carcelero, tonto
Pon bajo: DECIR <texto> a <personaje>.

>[2] carcelero, cabrón
Pon alto: DECIR <texto> a <personaje>.

>[3] decir tonto al carcelero
1 tonto.

>[4] decir cabrón al carcelero
2 cabron.

>


los resultados 1 y 2 son malos, tendría que actuar siempre como en 3 y en 4.


EDITO:

¡He estado jugando con el Inform y creo que ya lo tengo! Ha quedado así:

Código:
Include Spanish by Sebastian Arg.

Instead of telling someone about something, try asking the noun about it. Instead of answering the noun that something, try asking the noun about it.

Lugar is a room.

Carcelero is a man in Lugar.

   
vez is a number that varies. vez is 0.
   
Instead of asking carcelero to try swearing mildly:
   try asking carcelero about "tonto";

    
Instead of asking carcelero about:
   if player's command includes "cabron/cerdo/idiota/tonto/feo/gordo" begin;
      increase vez by 1;
      say "[vez] [the topic understood].";
   end if.

 
Test me with "carcelero, tonto / carcelero, cabrón / decir tonto al carcelero / decir cabrón al carcelero".


Ahora me parece que funciona bien, voy a pasarlo al juego a ver :).

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