Not sure what i'm doing wrong in making tables

The title says it all.

Example from my source:

Some tall tomes in the tall shelf are defined by the Table of tall. [Tall tomes have text called author. Tall tomes have text called title.]

Table of tall
title author
Poetic Edda –

Example in documentation:

Some jerseys in the Staging Area are defined by the Table of Honorary Jerseys.

Table of Honorary Jerseys
jersey year established citation
a yellow jersey 1919 “race leader”

The error I get:

You wrote 'Some tall tomes in the tall shelf are defined by Table of Tall but you can only use ‘defined by’ in terms of a table, which lists the value names in the first column.

so, uh, what

Edit: Formating got screwed but i did use the tab key instead of space.

1 Like

The first column needs to be the object name; here Inform is being told that there’s a title property and author property that are being defined, but doesn’t know what to attach those properties to. So like in the example “yellow jersey” is the object name, same as if you’d said “yellow jersey is a jersey”; and then Inform knows that the year and other properties go with that newly-created object. And then I believe the header for that initial column needs to match the name of the kind of objects you’re creating.

1 Like

so i replaced “title” with “tall tome” but the report doesn’t change.

also changed Table of Tall to Table of tall tomes

1 Like

Hmm, I’m not in front of the IDE but I can take a look in a bit and see if I can figure out what’s going on!

1 Like

Yeah. What’s weird about it is that I know Inform recognizes my tables as tables because an earlier error I was getting was that my tables have no rows, but once i got that solved, there’s a disconnect of some kind.

You’ve got a lot of “tall” things so I wonder if there’s something getting confused there…

hmm yeah. that might be worth looking into. If I scrap all the tome subategories, it’ll probably recognize that not all tomes have to go into the same shelf just because they’re tomes…

Nope. Another perplexing thing is that it only reports an error on four tables out of five, and i’ve looked the code of the odd one out through many times by now, and it’s definitively exactly the same as the others. But that’s probably just Inform picking its battles.

This’ll work:

Lab is a room.  "This is a lab."

A tall tome is a kind of thing.

Some tall tomes are defined by the Table of tall. 
[Tall tomes have text called author. Tall tomes have text called title.]

Table of tall
tome	author
tome1	"Edda"

As far as I can tell, the only difference is you numbered the tomes and put the titles between quotes? I did the same to books in one shelf but Inform remains steadfast in denying me passage.

Alright! Now it stopped reporting an error on that specific shelf! I’ll do the other shelves now to verify it worked!

Yes - the former because each tome needs a unique name, the latter because titles are texts.

1 Like

Oh my god.
You wrote ‘Some tomes in an overgrown shelf are defined by Table of Overgrown’ and row 1 of the first column of that table is ‘tome1’ which I ought to create as a new value of an object. But I can’t do that: it already has a meaning (as a tome).

Repeated 33 times.

ohhhh, i have to of course change the names because now there exist two tome1s and we can’t have that. What a grind.

All right, that shelf’s sorted out! Only some 70 books to go :laughing:

1 Like

Since I think you want the player to be able to refer to each book by its title, I’d probably either name the tome objects the actual titles of the books (like, “poetic edda” rather than “tome1”), and/or use a “understand the title property as describing a tall tome” statement (docs for that last thing are here).


Please don’t say that now that i’m almost done :joy: :joy:

I’m sure i’ll be fiddling with it in the future but the main thing is that it functions and I have a grasp of the model. The game isn’t going to be finished in a hot moment, there’s time to revisit.

1 Like

Alright! The game translates and the whole shelf thing looks workable in game! Thanks guys!