Store your data in an array or several arrays. You can use types for inventory data if you find that easier to work with (most do).
type objectdata()
id as integer
name as string
description as string
location as integer
power as integer
speed as integer
condition as integer
end type()
dim objects(objectcount) as objectdata
There may be typo's as I am rusty with DB these days, but that's the sort of thing. You can then easily reference any object and check it's properties. Do another for the map, another for characters, and your good to go. Oh possibly verbs, nouns and such also, dependent on what you are doing.
The parser side is obviously more difficult, but it is only a matter of parsing the users string input letter by letter, using the mid command. Add the letters into a new string until you find a space, or the end of the file, and saving each word into a new array. You then compare those words with your games dictionary (the commands you want to be able to use) and check if they match. Save that matched list, and then check that against your available objects, characters, room etc., to see if they exist and such not.
Not sure how that method compares to the examples you are browsing, but it has worked for me in the past when playing about with this sort of thing. If you look at how GAC and the Quill worked, they can give you ideas of how to structure your code. I did start a GAC remake in DB pro, but AppGameKit pretty much killed it, as I have moved to that and have not returned since. The editor was done, but the game engine was still pretty rough and not working with the command parsing properly. I may release it for people to play with maybe, if I still have a copy. My coding can be pretty messy though.