Hi all. I’m using ye olde Unified Glulx Input (UGI). When I say chained commands, I mean when the player types “N. E. E. get lamp. Climb ladder” or “N then E then E” etc.
So, previously a bug was fixed in the extension which meant entering chained commands caused it to hang/loop. The discussion of that bug and the fixed version are over in this linked topic. So that’s been dealt with, and I’m working from the fixed version.
I now face a tangentially related problem. Recall that with UGI, you can have your game wait for a particular kind of input on any turn. The major ones being Line (enter string, press return) and Character (press a key and in it goes).
I realised that if chained line commands are entered, the game will go on executing their actions even if, say, the first one in the chain led the game to an awaiting-character-input moment.
This can mess things up because, obviously, the player wasn’t meant to be able to do anything at the char-input moment except enter a particular character, to which the game would respond in a particular way. Instead, the player goes on bouncing around like a pinball, moving to rooms they weren’t meant to have access to yet and knocking things off tables. (And when they do come to a rest, the game is awaiting char-input, though you/the player wouldn’t necessarily know it. But this is a moot point because by now, the game is in a mess.)
I understand there’s probably some high level systemic work that could be done on the extension here. But I can say that for my own purposes, I’m looking for a specific, more modest(?..) fix. Which would be that… if a stored-up chained command encounters character-input mode, it would just stop and issue ‘reject the player’s command’ for each command in the rest of the chain. The effect would be that the chain would halt and the player would just be left sitting there at the char-input moment.
Thanks much for any help.