Bug in german version of Game...

Horz
28 Sept 2021, 00:51

Hi,
making my first textadventure in german.

When i ask my Objekt about something, with "Ask Goblin about Door" - but in german "Frage Goblin nach Tuer" or asking any other Objekt something with "nach/about" i get following error-code

Error running script: Unhandled command variable 'Objekt' - command variable names must begin with 'object', 'exit' or 'text'

Is there a translation-error? Cause the script needs an "object" and no "Objekt" - seems the german expression for "object" makes problems

I downloaded Quest two days ago - think its the actual version.

Any ideas?

Edit: The error is there even if i have no ask/tell activated.


Horz
28 Sept 2021, 08:49

Ok, seems to be a Bug in the german Version of the Game.

Tried following:
Created a brand new german game, 1 Room, player and 1 Objekt... asked objekt about something - Bug!
Created a brand new english game, 1 Room, player and 1 Objekt ... asked objekt about something - correct response


mrangel
28 Sept 2021, 15:34

Does indeed appear to be an error.

In Deutsch.aslx, lines 209 and 210 are:

  <template templatetype="command" name="tellto"><![CDATA[^(erzähle|frage) (?<Objekt>.*) (von|nach) (?<Text>.*)$]]></template>
  <template templatetype="command" name="alttellto"><![CDATA[^(?<Objekt>.*), (?<Text>.*)$]]></template>  <template templatetype="command" name="go"><![CDATA[^gehe nach (?<exit>.*)$|^gehe (?<exit>.*)$|^nach (?<exit>.*)$|^(?<exit>norden|osten|süden|westen|nordosten|nordwesten|südosten|südwesten|raus|hoch|runter|rein|raus|n|o|s|w|no|nw|so|sw|h|r)$]]></template>

For the parser to work correctly, group names in regular expressions must start with either object, text, or exit, which tells Quest what type of value it should be matched against.

I also notice that we have two templates on one line, which isn't an error but does make the code ugly.

Those lines need to be replaced with:

  <template templatetype="command" name="tellto"><![CDATA[^(erzähle|frage) (?<object>.*) (von|nach) (?<text>.*)$]]></template>
  <template templatetype="command" name="alttellto"><![CDATA[^(?<object>.*), (?<text>.*)$]]></template>
  <template templatetype="command" name="go"><![CDATA[^gehe nach (?<exit>.*)$|^gehe (?<exit>.*)$|^nach (?<exit>.*)$|^(?<exit>norden|osten|süden|westen|nordosten|nordwesten|südosten|südwesten|raus|hoch|runter|rein|raus|n|o|s|w|no|nw|so|sw|h|r)$]]></template>

Horz
28 Sept 2021, 17:06

Thanks, this fixed the error-msg, but if i ask now an object, the answer is alway "Es do nichts" - that makes not much sence.

I tried to ask an object without askfor-keys as well with askfor-keys... the answer is always "Er/sie/es do nichts". No failure-message, but also not the correct conversation .

Edit: Ok, looked in the Deutsch.aslx and there where some templates with ask and tell later in the code - so i disabled the 2 lines above and tested it ... and it works

Everything fine now, there were just 2 old templates in the code.


Pertex
30 Sept 2021, 11:43

I think the template tellto was translated incorrectly in German. And the defaulttemplate is quite wrong, that's why it came to the wrong answer