Permanent and Very Annoying Bug

For some reason, whenever I click on an object I made, (an crashed plane which you can enter) Quest says "Sorry, an internal error has occured". It only happens when I click on this specific object, and hasn't happened before. I haven't altered the object since the last time I worked on this game (yesterday), and it didn't happen then. It also won't fix when I restart Quest or even complete ex of the window entirely. Somebody please help me claim victory over this evil bug.


go into the code and remove the object (if it's a big content object, then copy it into a word/text file and save it), and see if that fixes the issue... if it does... it might mean you got some coding involved with the Object that is bad/wrong, otherwise.... more knowledgeable people will have to help you... lol.


Even better, copy the code into a post so we can see what might cause it.

Back-up your game first! If you are not familiar with code view, you need to look for a line like this:

    <object name="crashed plane">

And go all the way down to a line like this

    </object>

There will be many ending lines like that, you need to find the first one after the start line that has the same number of spaces at the start.


Thanks guys.
:)


</firstenter>
<object name="P51D Mustang">
  <usedefaultprefix type="boolean">false</usedefaultprefix>
  <exitslistprefix type="string"></exitslistprefix>
  <description>Flight controls and your the pilot's seat is here.</description>
  <objectslistprefix>You can see:</objectslistprefix>
  <alias>P51D Mustang</alias>
  <scenery />
  <enter type="string"></enter>
  <firstenter type="script">
  </firstenter>
  <exit name="Plane Exit" alias="out" to="Crash Sight">
    <inherit name="outdirection" />

We need more! You need to go down to </object>.

The ony odd bit is this line:

<enter type="string"></enter>

But even that failed to crash my game.



Blah


      <usedefaultprefix type="boolean">false</usedefaultprefix>
      <exitslistprefix type="string"></exitslistprefix>
      <description>Flight controls and your the pilot's seat is here.</description>
      <objectslistprefix>You can see:</objectslistprefix>
      <alias>P51D Mustang</alias>
      <scenery />
      <enter type="string"></enter>
      <firstenter type="script">
      </firstenter>
      <exit name="Plane Exit" alias="out" to="Crash Sight">
        <inherit name="outdirection" />
      </exit>
    </object>
  </object>
  <verb>
    <property>exit</property>
    <pattern>exit</pattern>
    <defaultexpression>"You can't exit " + object.article + "."</defaultexpression>
  </verb> ```

Only four things I notice here, that may or may not be significant are:

  1. </firstenter> ... and is listed once at the very top and then again in the code block for <object> </object>

  2. <alias>P51D Mustang</alias> ... and I notice that the <object name = "P51D Mustang"> has quotations, and maybe alias needs them as well. Then again, I don't do code view so unsure on this one.

  3. <scenery /> ...and then no <scenery> anywhere

  4. </verb> ``` ...and don't know if those tilde key marks are supposed to be there or are just leftovers from copying the code to here.


The </firstenter> at the top certainly looks wrong, but that depends on what is above.

The <alias> does not need quotes as the string in the content, not the value of an XML attribute; that is fine.

The <scenery /> is also fine; the slash at the end indicates an empty element, so no end tag required.

The backticks at the end I would agree are probably from pasting it here.

What I noticed was the <exit in the top half is not matched by an` later. So this:

      </exit>
    </object>
  </object>

I pasted it into a very simple game, and it does not crash for me.

<asl version="550">
  <include ref="English.aslx" />
  <include ref="Core.aslx" />
  <game name="test">
    <gameid>e949389d-91d5-4314-8b3f-ccd1985fc11d</gameid>
    <version>1.0</version>
    <firstpublished>2017</firstpublished>
  </game>
  <object name="Crash Sight">
    <inherit name="editor_room" />
    <object name="player">
      <inherit name="editor_object" />
      <inherit name="editor_player" />
    </object>
    <object name="P51D Mustang">
      <usedefaultprefix type="boolean">false</usedefaultprefix>
      <exitslistprefix type="string"></exitslistprefix>
      <description>Flight controls and your the pilot's seat is here.</description>
      <objectslistprefix>You can see:</objectslistprefix>
      <alias>P51D Mustang</alias>
      <scenery />
      <enter type="string"></enter>
      <firstenter type="script">
      </firstenter>
      <exit name="Plane Exit" alias="out" to="Crash Sight">
        <inherit name="outdirection" />
      </exit>
    </object>
    <exit alias="in" to="P51D Mustang">
      <inherit name="indirection" />
    </exit>
  </object>
  <verb>
    <property>exit</property>
    <pattern>exit</pattern>
    <defaultexpression>"You can't exit " + object.article + "."</defaultexpression>
  </verb>
</asl>

Otherwise the only issues I find with the code is English grammar/spelling related, with the text that would be displayed to the player.

"Flight controls and your the pilot's seat is here" should be "Your flight controls and the pilot's seat is here"

or

"Crash Sight" should be "Crash Site"


I can confirm that yes, those backticks were just leftover from pasting and are not in the original code.

Thanks for pointing out the grammar, that'd be a consequence of me rushing the descriptions too quickly.

I should mention that the bug only occurs when I am editing on the online version, but has no visible effect when I am editing in the Quest program. Although in both the online version and offline one, interacting with the Mustang object during game play seems to have no issues as far as I can tell.


I decided to delete the object entirely, then replace it with a clone of the same thing. It seems to have no issues now, but I still wonder what caused the bug in the first place.


Alright, the bug has now reoccurred after I tried to enter add a verb to the Mustang object, which was "enter". It seems as well that "enter" is the only verb that causes this issue, and does so before I even write the script for the verb. Perhaps the verbs are the root of the issue as I do remember trying the same thing last time some time before the original bug first popped up. For the record, the object is an object/room since one should be able to actually enter it.


"enter" is the name of a scipt that runs when you go into a room (and verbs are scripts too), and that may be confusing Quest. Should be okay as a command, and you can have commands in a specific room.


Maybe have the Mustang as a room.
the exit direction would be "in" to enter it and "out" to exit it...
You could use "enter the Mustang" as the alias to go in...
and "exit the Mustang" as the alias to go leave...


The exit is out, and the entry is in. But I'll look into the rest.


The reason I used the "enter" verb is because if I type enter Mustang in game, I'm told I cannot enter it.


I think if you do it as a command, rather than a verb, I think it will be fine.


Delete the entire code.
*cough
Delete the problem code.


Alright. Danke.


This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums