Seguendo le istruzioni contenute nella libreria e dando un'occhiata
anche a wtalk_test ho:
1) Incluso w_talk.it 3 volte, prima di Parser, dopo VerbLib e dopo
ItalianG
2) ho creato un NPC che ho chiamato claude con la proprietà conversor
che punta ad un Object claudetalk
3) ho definito:
Object claudetalk;
Dialog ->clt_hello "Salve Sig. Claude, come va?"
with description "abbastanza bene",
after [; StopTalk(); ], ! Tanto per fare una prova
has static;
4) Ho inserito TalkInit come prima istruzione della funzione
Initialise.
Ma quando faccio partire il gioco per vedere se funziona succedono le
seguenti cose:
a) Il nome della locazione mi compare nella status bar (!!!!)
b) invece della descrizione della locazione di partenza mi dice USA
SOLTANTO "PARLA CON PERSONAGGIO"
c) qualsiasi azione cerco di fare (compreso Look) mi ridà sempre e
comunque USA SOLTANTO "PARLA CON PERSONAGGIO"
dove sto sbagliando?
Sto scrivendo una nuova IF usando la libreria wtalk per gestire i
dialoghi coi png.
seguendo le istruzioni che ho trovato nel commento della libreria e in
wtalk_test ho fatto le sguenti cose:
1) Ho incluso wtalk tre volte, prima di parser, dopo VerbLib e dopo
ItalianG
2) Ho inserito la chiamata a TalkInit() come prima istruzione della
funzione Initialise
3) Ho creato un npc di prova che ho chiamato claude, dotandolo di una
proprietà conversor claudetalk.
4) quindi Ho definito
NPC claude "Claude"
with name 'claude' 'uomo',
description "descrizione di claude",
conversor claudetalk,
has proper;
Object claudetalk;
Dialog -> clt_hello "Salve, Claude. Non credo di conoscerla. Mi dica
pure."
with description "~ti dico tutto bla bla~",
after [; StopTalk(); ],
has static;
Quello che succede però quando faccio partire il gioco per provare
(modalità debug e switch -X per infit) sono le cose seguenti:
a) Il nome della locazione compare nella status bar che oltretutto
non riporta neanche la mia personalizzazione, ma il classico
Punti: ... Azioni:...
b) Mi da un prompt Usa soltanto "Parla con personaggio"
c) qualsiasi azione cerchi di fare mi risponde sempre e comunque Usa
soltanto "Parla con personaggio"
Dove sto sbagliando?
Grazie per l'aiuto
andrea
PS: avevo avuto l'idea di mettere tutti i conversor in un file a parte
da chiamare dialoghi e da includere, pr non intasare il listato
principale. Ma quando inserisco la riga Include"dialoghi" il
comilatore lo va a cercare dentro /libraries. come faccio a
specificargli il path?
Ciao Andrea,
ti premetto che non sono così esperto come gli altri, ma cercherò di
darti una mano.
Per esperienza personale ho avuto sempre molti meno problemi quando la
prima istruzione di Initialise è l'assegnazione della locazione di
partenza, prova a chiamare InitTalk() dopo aver definito la locazione,
se la lasci per prima Inform dovrà terminare
l'entry point prima di assegnare il selfobj ad un parent ed a volte da
problemi, non so se sia questo il caso ma intanto provare non costa
nulla.
Per compilare stai usando Jif?
E' normale che il compilatore cerchi le inclusioni in Libraries,
ricordati di salvarle in .h.
Spero di esserti stato d'aiuto almeno un pochino... ^_^
Gabriele