Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

(I7) How to fake a parser?

3 views
Skip to first unread message

Basti...@hotmail.com

unread,
Oct 26, 2008, 10:28:04 AM10/26/08
to
Incoherent rambling abound.

Say I've got a conversation system that resolves around corresponding
tables wrapped up in a while loop (comparable to what happens in the
Menu extension of Emily Short). Now I want to include a conversation
topic that enables the player to type one word into a command console
for all sorts of reasons (asking about people, places, saying
passwords, etc.). Something like the conversation method in Wizardry 8
in the following screenshot only that it would be embedded in a
multiple choice dialogue system.

http://www.gamershell.com/static/screenshots/2561/41060_full.jpg

Problem is that, following RPG conventions, conversations should count
as a 'free action'. Asking for specific topics should be executed
while in itself not counting as an action (in other words they should
be handled as part of the 'talk' action). This however means that I
can't use the standard parser for input since I would have to leave
the while loop and therefore quit the 'talk' action. So what to do?

My idea would be to create a char array with static length in Inform 6
(say 21 slots, 10 for letters, 11 for positioning the cursor between
letters within the array) and put it into a separate text-grid at the
bottom of the screen. Whenever a key is pushed, the program would
investigate which command corresponds to the input key, check cursor
position, execute the command and then actualize the text-grid with
the new array (or close the text-grid depending on the command).
Should I press enter once done, the program should convert the array
into a text, which was declared in Inform 7 as a text that varies, and
finally checks if the entered text matches with an entry in a
comparison table.

Does this sound feasible or should I reconsider? In case that it
should be possible and a good enough idea, I'd be very grateful for
any pointers for Inform 6 commands that I'll inevitably need for
String/Char input and output and for handling arrays.

Basti...@hotmail.com

unread,
Oct 26, 2008, 10:30:28 AM10/26/08
to
Incoherent rambling abound.

http://www.gamershell.com/static/screenshots/2561/41060_full.jpg

Cheers
Basti

Basti...@hotmail.com

unread,
Oct 26, 2008, 10:33:34 AM10/26/08
to

Basti...@hotmail.com

unread,
Oct 26, 2008, 10:37:09 AM10/26/08
to

Basti...@hotmail.com

unread,
Oct 26, 2008, 10:39:35 AM10/26/08
to

Basti...@hotmail.com

unread,
Oct 26, 2008, 10:44:16 AM10/26/08
to

Basti...@hotmail.com

unread,
Oct 26, 2008, 1:06:15 PM10/26/08
to

Basti...@hotmail.com

unread,
Oct 26, 2008, 1:08:18 PM10/26/08
to

Basti...@hotmail.com

unread,
Oct 26, 2008, 1:15:40 PM10/26/08
to

Basti...@hotmail.com

unread,
Oct 26, 2008, 1:22:26 PM10/26/08
to
Incoherent rambling abound.

Say I've got a conversation system that resolves around corresponding
tables wrapped up in a while loop (comparable to what happens in the
Menu extension of Emily Short). Now I want to include a conversation
topic that enables the player to type one word into a command console
for all sorts of reasons (asking about people, places, saying
passwords, etc.). Something like the conversation method in Wizardry 8
in the following screenshot only that it would be embedded in a
multiple choice dialogue system.

http://tleaves.com/weblog/images/wiz8screenshot42.jpg

Basti...@hotmail.com

unread,
Oct 26, 2008, 1:24:17 PM10/26/08
to
Incoherent rambling abound.

Say I've got a conversation system that resolves around corresponding
tables wrapped up in a while loop (comparable to what happens in the
Menu extension of Emily Short). Now I want to include a conversation
topic that enables the player to type one word into a command console
for all sorts of reasons (asking about people, places, saying
passwords, etc.). Something like the conversation method in Wizardry 8

only that it would be embedded in a multiple choice dialogue system.

Problem is that, following RPG conventions, conversations should count

Basti...@hotmail.com

unread,
Oct 26, 2008, 1:33:24 PM10/26/08
to
Incoherent rambling abound.

Say I've got a conversation system that resolves around corresponding
tables wrapped up in a while loop (comparable to what happens in the
Menu extension of Emily Short). Now I want to include a conversation
topic that enables the player to type one word into a command console
for all sorts of reasons (asking about people, places, saying
passwords, etc.). Something like the conversation method in Wizardry 8

in the following screenshot only that it would be embedded in a
multiple choice dialogue system.

http://www.gamershell.com/static/screenshots/2561/41060_full.jpg

Problem is that, following RPG convention, conversations should count
as a 'free action'. Asking for specific topic should be executed while
in itself not counting as an action (in other words, they should be


handled as part of the 'talk' action). This however means that I can't
use the standard parser for input since I would have to leave the
while loop and therefore quit the 'talk' action. So what to do?

My idea would be to create a char array with static length in Inform 6
(say 21 slots, 10 for letters, 11 for positioning the cursor between
letters within the array) and put it into a separate text-grid at the
bottom of the screen. Whenever a key is pushed, the program would
investigate which command corresponds to the input key, check cursor
position, execute the command and then actualize the text-grid with
the new array (or close the text-grid depending on the command).
Should I press enter once done, the program should convert the array
into a text, which was declared in Inform 7 as a text that varies, and
finally checks if the entered text matches with an entry in a
comparison table.

Does this sound feasible or should I reconsider? In case that it

should be possible and good enough of an idea, I'd be very grateful

Basti...@hotmail.com

unread,
Oct 26, 2008, 1:35:05 PM10/26/08
to
0 new messages