Newsgroup: it.comp.giochi.avventure.testuali
Titolo: HELP ME (INFORM)

Cari amici,
quella che sto per farvi è un'autentica richiesta di AIUTO... è da un po' di
tempo che esco pazzo su un frammento di codice utile per la gestione di ciò
che dovrebbe dire un personaggio nel momento in cui il player gli mostra o
gli da qualcosa.... le ho provate tutte!
Sto a dir poco sclerando ed ormai mi vengono le convulsioni non appena
rivedo il codice... non capisco dove sbaglio!
Vi allego il breve frammento di codice dove risiede il problema, questo
codice è all'interno della implementazione di una persona  che è descritta
brevemente qui di seguito...
 Object manager"persona" luogo
      with name "persona""uomo",
 sho 0,
 [;
    self.sho = 0;
 ],
 before
 [;
  Examine:"Il proprietario del negozio.";
  Show:       if (noun ==
tto){  
                                       if (parent(oggetto) == player){
                          self.sho=1; move oggetto to location; give oggetto~scenery;print "~Consegni l'oggetto al proprietario del negozio che ti promette che fra un paio d'ore al massimo sarà come nuovo!~";};
                              print "~Non hai l'oggetto con te!~";
                                         };"~Ciao~";
   ],
 Life
 [;
  Kiss:
   print "Baciare il commesso? Non credo sia una buona idea.";
            Ask, Tell:
   switch(second) {
    'oggetto' : 
     if (self.sho==0){"~Cominci a parlare al commesso del tuo oggetto e lui ti risponde che sar@'a più che felice di riparartelo una volta che glielo avrai consegnato.~";};
        "E' stato riparato il mio oggetto?";
    'te', 'stesso': 
     "~Spiacente, non ti ho mai visto da queste parti...~";
 
    default: "Il negoziante non fa attenzione alle tue parole.";
   }
      ],
 has proper animate concealed;
Questo è nel dettaglio il frammento di codice che da problemi , il resto funziona corretttamente... il compilatore non da alcun errore però questa parte della storia non funziona a dovere... quando mostro l'oggetto alla persona (nel gioco vero) questa mi risponde: "L'uomo non 
sembra interessato!"
ODIO QUESTA FRASE! Come posso fare?
Il player dovrebbe consegnare l'oggetto ad una persona che lo deve riparare
ed in seguito il player lo dovrebbe riprendere quando è stato riparato...
fino ad ora mi sono concentrato sulla consegna  che però non avviene
correttamente!
Show: if (noun == oggetto)
     {
        if (parent(oggetto) == player)
         {
           self.variabile=1; move oggetto to location; give
oggetto~scenery;print "Consegni l'oggetto alla persona in questione";
         };
        print "Non hai l'oggetto con te!";
    };
    "Forse dovresti mostrare alla persona qualcos'altro ";
Fine frammento di codice !
Confido in voi!
a presto
Ludovico

  ],
--------------------------------

L'azione Show va implementata nella regola Life,
come dice il manuale DM4, tabella 6D, pag. 527.
Ti basta semplicemente spostare il codice.
bai
t

 brevemente qui di seguito...
Come gia' di ha detto Tommy, le azioni Show e Give vengono implementate 
nella sezione life. Ad esempio io farei
Object commesso "commesso" luogo
     with name 'persona' 'uomo',
     description "Il proprietario del negozio.",
     sho FALSE,
     life [;
       Ask, Tell:
         switch(second) {
           'oggetto': if (self.sho) "Cominci a parlare al...etc.etc.";
                      "E' stato riparato il mio oggetto?";
            default: "Il negoziante non fa attenzione alle tue parole.";
       Show, Give:
          if (noun==oggetto) {
              self.sho=TRUE;
              move oggetto to location;
              give oggetto scenery;
              "Consegni L'oggetto al...etc.etc.";
          }
          "Forse dovresti mostrargli qualcos'altro.";
     ],
     has animate;
Guarda se funziona cosi'...
btw non hai bisogno di testare se l'oggetto e' in possesso del player.
bye
-- 
Paolo Lucchesi
email: 
pluc...@tin.it
homepage: 
http://www.paololucchesi.it
"Non viviamo in un mondo perfetto (per fortuna)"