Newsgroup: it.comp.giochi.avventure.testuali
Titolo: [INFORM] Problemi con AskFor

Ciao a tutti,
anche se non posto praticamente mai, continuo a leggervi con piacere! ;-)
Vorrei chiedervi un aiutino per Inform: non riesco ad intercettare il verbo
AskFor.
Per intenderci, se all'interno della specifica 'life' di un oggetto animato
(has animate) scrivo quanto segue:
Object Personaggio "Personaggio"
with name 'Pesonaggio',
life [;
Ask: "Ask";
Tell: "Tell";
AskFor: "AskFor";
],
has animate;
dopo aver compilato se scrivo "chiedi a Personaggio del tempo" mi risponde
correttamente 'Ask', se scrivo "parla a Personaggio" mi risponde
correttamente 'Tell', mentre se scrivo "chiedi al personaggio la chiave" mi
risponde che il personaggio ha cose migliori da fare e se scrivo "chiedi la
chiave al personaggio" mi risponde che lo posso chiedere solo a cose animate
(premetto che ho anche aggiunto un oggetto Chiave nella stanza...).
Ho provato anche a compilare la storia con le librerie originali per capire
se era Infit a dare problemi (ODDIO COSA HO OSATO PENSARE!!! ;-) ma ho
ottenuto gli stessi umilianti risultati. Potete aiutarmi?
Grazie!
--
Raffaele Giannini

 AskFor.
Il problema e' nel file italiang.h di Infit. Dopo Sorry, le ultime due "verb
directives" devono essere cosi':
*  noun 'a'/'all^'/'allo'/'alla'/'al'/'agli'/'ai'/
                  'alle' creature
                                                 -> AskFor reverse
    *  'a'/'all^'/'allo'/'alla'/'al'/'agli'/'ai'/
                  'alle' creature noun ->Askfor;
Giovanni Riccardi, comunque, sta preparando Infit2.
ciao,
f.

 Giovanni Riccardi, comunque, sta preparando Infit2.
attendo con ansia! ;-)
Ciao.
--
Raffaele Giannini

PERSONAGGIO, DAI A ME IL PASS
ciao,
f.

 }
ciao,
f.

 PERSONAGGIO, DAI A ME IL PASS
si ma questo lo sapevo già ;-PPP
Effettivamente mi devo essere spiegato male:
il mio problema non è capire come il giocatore può farsi dare il pass (e la
tua soluzione naturalmente funziona), quanto fare in modo che se il
giocatore scrive "chiedi il pass a personaggio" questi glielo dia. Dovrei
anche premettere che (come avevo già scritto in un altro post) stò cercando
di scrivere una piccolissima avventura giocabile da chi non ha mai giocato
AT, quindi credo che sarai daccordo con me che, un giocatore alle prime armi
è molto più facile che si esprima con una frase tipo quella che ho scritto
sopra piuttosto che "personaggio, dai a me il pass", ti pare?
Fatta questa premessa, ero convinto che intercettando AskFor potessi
risolvere la questione, mentre ho avuto i problemi di cui parlavo nei post
precedenti.
Ciao.
P.S.: non essendo un assiduo frequentatore di NG, e notando che mi stà
rispondendo solo una persona, mi viene il dubbio che la questione da me
sollevata non interessi nessuno e che stia contravvenendo a qualche norma di
netiquette continuando questo botta e risposta fra due persone qui e non in
privato. Ditemi se devo smettere o se possiamo continuare ;-)
--
Raffaele Giannini

CHIEDI AL PERSONAGGIO IL PASS
Prova e vedrai che funziona. Per chiarezza ti invio la completa grammatica
del verbo 'chiedi' (rispetto a quella di
Riccardi c'e' qualche aggiunta) da inserire in italiang.h
Verb 'chiedi' 'domanda'
    * 'a'/'all^'/'allo'/'alla'/'al'/'agli'/'ai'/
                  'alle'/'ad' creature -> Ask
   * 'a'/'all^'/'allo'/'alla'/'al'/'agli'/'ai'/
                  'alle'/'ad' creature 'circa'/'su'/'sul'/'sui'/
                  'sullo'/'sull^'/'sulla'/'sugli'/
                  'sulle'/'di'/'dello'/'della'/'dell^'/'dei'/
                  'degli'/'delle' topic
                                                 -> Ask
                * 'scusa'/'scuse'     -> Sorry
                *  noun 'a'/'ad'/'all^'/'allo'/'alla'/'al'/'agli'/'ai'/
                  'alle' creature
                                                 -> AskFor reverse
    *  'a'/'all^'/'allo'/'alla'/'al'/'agli'/'ai'/
                  'alle'/'ad' creature noun ->Askfor;
Ovviamente, resta valido quello che ti ho detto prima, ovvero la routine
orders. Il verbo Askfor non deve
comparire nel tuo sorgente, devi 'aggirare' il problema usando 'Give' in
*orders*.
cioa,
f.

 privato. Ditemi se devo smettere o se possiamo continuare ;-)
Forse perché posti il messaggio durante la giornata quando la gente è al
lavoro o come me all'università e non accede ad internet fino a sera?
:-) Certo che devi continuare a postare, però non ti aspettare risposte
immediate (in serata forse hai qualche speranza in più).
HAPPY INFORMING
Giovanni


Vai tranquillo!
Anche se non interveniamo (per lo meno, il sottoscritto) è tutto molto
interessante!!
Non ho molta esperienza con infit quindi non dico nulla.
Ciao

 Prova e vedrai che funziona.
come sempre la soluzione è più semplice di quanto sembrasse: effettivamente
mi ero intestardito con AskFor mentre, come giustamente mi hai suggerito, il
'Give' in 'orders' intercetta anche la frase "chiedi il pass al
personaggio". Anche se in realtà mi sono accorto di avere un duplice
problema: infatti anche dopo aver applicato i tuoi consigli continuavo ad
avere problemi. Poi mi sono reso conto che, poichè il pass era in mano al
personaggio, esso (il pass) non era nello 'scope' del giocatore: mi è
bastato aggiungere un 'add_to_scope pass' alle prop. del personaggio per
risolvere il tutto (si sarà capito che sono alle prime armi con Inform o no?
;-)))
Francesco, grazie mille. Mi sà che ti romperò un pò le scatole in futuro!!
;-)
--
Raffaele Giannini

 bastato aggiungere un 'add_to_scope pass' alle prop. del personaggio >per  risolvere il tutto 
Strano perche' in quel caso, di solito, non si usa add to scope. Ma
hai messo l'attributo transparent al tuo personaggio?
ciao, f.