Permanent and Very Annoying Bug

Enpherdaen
22 May 2017, 17:58

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.


hegemonkhan
22 May 2017, 18:41

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.


The Pixie
23 May 2017, 07:08

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.


Enpherdaen
24 May 2017, 19:06

Thanks guys.
:)


Enpherdaen
24 May 2017, 19:32
</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" />

The Pixie
24 May 2017, 19:52

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.


Enpherdaen
30 May 2017, 16:24

Enpherdaen
30 May 2017, 16:25

Blah


Enpherdaen
30 May 2017, 16:26
      <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> ```

lordpalandus
30 May 2017, 17:38

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 Pixie
30 May 2017, 19:13

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>

lordpalandus
30 May 2017, 20:15

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"


Enpherdaen
31 May 2017, 16:26

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.


Enpherdaen
31 May 2017, 16:46

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.


Enpherdaen
31 May 2017, 16:51

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.


The Pixie
31 May 2017, 21:03

"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.


DarkLizerd
01 Jun 2017, 02:59

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...


Enpherdaen
02 Jun 2017, 14:15

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


Enpherdaen
02 Jun 2017, 14:20

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


The Pixie
02 Jun 2017, 16:27

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


jmnevil54
03 Jun 2017, 01:00

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


Enpherdaen
05 Jun 2017, 15:21

Alright. Danke.