Dictionary key: char limit?

Okay, so I've made a Dictionary table that holds every medieval profession I can think of. It has about 2000 entries. I tested it to see if it worked first and then began adding. So, the table indicates that an NPC is, say, an archer. It then looks at the Dictionary Table master list "Archer" and determines things that are common to Archers (that, for instance, they might have levels in Fighter, that they can be of any alignment, that they're likely to use bows, things like that). Okay, fine.

The problem is that the table doesn't scan for professions with more than 10 letters! So, if I call the table with NecromancersAssistant, it won't find it. Now, I've thought about shortening the call by manipulating the string (have it create a substring with the first 10 letters and search that, but that still requires me to go through the 2000 entrees, line by line, checking the titles to make sure that there aren't any that only deviate on the 11th letter (the first 10 letters of NecromancersAssistant are the same as NecromancersFoulCreation).

So, is there anything I can do to make this process work without my having to go through my 2000 entry table? Like, is there anyway around the 10 character limit for Dictionary Keys?

Comments

  • I don't think there is. I made a list of known issues, including this one, which may be of use: http://forum.nbos.com/discussion/1643/issues-and-wishlist

  • I've found no way around it within IPP, but if you have Excel, paste the table entries into Excel. You can use the text import wizard to break the lines apart at the colon. You can use the LEFT function to truncate the lookup strings to 10 characters. You can use CONCAT to rebuild the entries with the shorter lookup strings. You could also sort the entries and use functions to warn you if two entries have the same truncated string, such as NecromancersAssistant and NecromancersDoggy both shortening to Necromance.

  • It's also possible to ditch the entire dictionary table and just use an elaborate series of [when] statements on the word that would have been the key. I haven't tried this, but it might be the most useful workaround.

  • The best option I found is to run the Dictionary list by numbers. So, two dictionary tables with the the # of one being the definition in the other.

    Set your entry for a random number.

    [#{$Entry} Profession] - [#{$Entry} ProDefinition]

    Table: Profession
    Type: Dictionary
    1:Archer
    2:Blacksmith

    Table: ProDefinition
    Type: Dictionary
    1:Someone that shoots arrows.
    2:Someone that beats metal.

    You can easily convert your list by dropping it in a spreadsheet, then adding a column before it to put the list of numbers, then insert a column in between for the ":". Drop it into a notepad, then replace the tab space with nothing. Copy, paste, done.

Leave a Comment