Override "disambiguation menu" and other kind of p

Farvardin
22 Aug 2003, 09:40
Many old IF users prefer when the game is only with text and the O/S doesn't interfear with it, i.e. some pop up doesn't appear.
So is it possible to program / switch something to disable such menus and give a text menu / choice instead ?

> give apple to man

which man do you mean, the old one, or the young one

> give to old

given

etc...

Alex
22 Aug 2003, 10:41
This isn't possible at the moment, at least not automatically. Perhaps a library to do it might be possible.

I'm not sure whether this sort of thing would be better as an option the game author could set, or something the player could choose instead. What do other people think?

Anonymous
22 Aug 2003, 14:42
Favardin wrote:


Many old IF users prefer when the game is only with text and the O/S doesn't interfear with it, i.e. some pop up doesn't appear.
So is it possible to program / switch something to disable such menus and give a text menu / choice instead ?



Back before Quest did auto-disambiguation, I wrote a routine to do this, no idea if I still have it (it was a bit flakey) but it basically worked, so I guess it ought to be possible in the improved 'Quest 3'.

I'll have a dig through my old files that survived the theft and see if I can find the code & update it to 3.5.

Al (MaDbRiT)

Farvardin
22 Aug 2003, 17:38


I'm not sure whether this sort of thing would be better as an option the game author could set, or something the player could choose instead



yes, good idea. If possible, something similar to the option for the fonts could be good : "Allow games to change the font during the game, but force my font to be the default" and also "don't allow game to change my font"
So by default the pop up menu could appear, unless the author change this in the code so all would be in written menu instead, unless the player prefer to override this in the option.
I find rather annoying when playing and focusing on the lines written, to see such a pop up menu.


I'll have a dig through my old files that survived the theft and see if I can find the code & update it to 3.5.



yes, it'd be nice, thanks in advance.

Anonymous
22 Aug 2003, 18:18
not had a chance to dig through the old files yet, but it occurs to me that if there are only a few possible ambiguous commands it is not too much work to deal with them by simply writing a user command for each possibilty and using a procedure to offer a choice 'in the screen' to the player.

Here's an example of what I mean, using two 'widgets' - one red, one blue. Obviously 'take (the) widget' is ambiguous so that's the user command added.

(Note that I'm using the regular take construction - I'm only capturing the ambiguous possibility here.)

Basically, if both the widgets are present, the player is asked which of the two he wants to take. It doesn't matter if he replies, 'take the blue widget', 'the blue widget', 'the blue one' or just 'blue' - all will work as long as 'blue' (the distinguishing word) is used. Obviously this works for the red one too.

If his reply mentions neither red or blue, he's told he cannot see that here.

Here's the code.



' Quest 3.5 ASL Template


define game <Game Name>

asl-version <350>

game version <1.0>
game author <Your Name>
game copyright <© 2003 ...>
game info <Extra Info>
start <Start Room>
command <take widget> {
if here <widgetRed> and here <widgetBlue> then do <pickwidget>
}

end define

define synonyms
the widget = widget
end define

define room <Start Room>

look <Description Goes Here>

define object <widgetRed>
look <it's a red widget.>
alias <red widget>
alt <red widget; widget>
take
end define

define object <widgetBlue>
look <it's a blue widget.>
alias <blue widget>
alt <blue widget; widget>
take
end define

end define

define procedure <pickwidget>
msg <Do you mean the red widget or the blue widget?>
enter <colour>
msg <$symbol(gt)$ #colour#.>
if ($instr(#colour#;red)$ >0) then {
exec <take red widget>
}
else {
if ($instr(#colour#;blue)$ >0) then exec <take blue widget>
else exec <take nothere>
}
end define

define text <intro>
Enter intro text here
end define

define text <win>
Enter win text here
end define

define text <lose>
Enter lose text here
end define


Just a quick 'alternative' way to do this I came up with while looking for the files. :-)

Al (MaDbRiT)[/b]