Problem - Quest Doesn't Activate Right

There's a number of strange incompatibilities amongst quest commands, and things that run counter-intuitive. Here's a few common hurdles:

Problems with THIF and/or SABT

  • Symptom: The THIF or SABT command isn't triggering at all. It's supposed to happen when you get this item, or use this device, or blow up a fleet, etc, and it's not…
    • Problem: You aren't using the CONDITION TYPE explore. THIF and SABT commands only work with that CONDITION.
      • Solution: Change the quest to trigger when you explore a planet. You can't really make an item, device, passenger, fleet, etc steal from you - it can only be an event at a planet. Sadly, this makes it very much like the existing Esmerelda quests, and may not be exactly what you wanted. But as far as I know, it's the only way to steal or sabotage an item.
  • Symptom: The THIF or SABT command is triggering when it shouldn't, or triggering despite not doing the other parts of the same page. Perhaps even Esmerelda stole your lookout frogs, and they vanished, but she was captured anyway.
    • Problem: The THIF or SABT command is in a page other than PAGE 0, the first PAGE of the quest.1
      • Solution: Move THIF or SABT to PAGE 0, and it'll at least work better. You may have to juggle around some REQ0 lines and CONDITIONs to make it work.

Problems with ALLY and always

Symptom: I've got an empty planet where an Allied vessels is supposed to be waiting to join my flotilla. They didn't spawn, so it's basically a deserted planet with no items or events.

  • Problem: Your quest involves the ALLY command, and the FLAG always. This has been reported as incompatible.
    • Solution: Switch to FLAG ally on your quest. Not only does it make this work, it also tells the game how many ships are available to your flotilla, so you don't end up with more vessels than the display can handle.
    • Untested Alternate Solution: Use the SHIP (command) instead of ALLY. I haven't tested it, but it may be compatible with always.
    • Ill-Advised Alternate Solution: You could make a device that creates the ALLY when used, then add that device to an always quest. The problem with devices that use the ALLY code, of course, is that it becomes very easy to exceed the flotilla size limits. Make sure using the device removes it2, or else you'll end up with balance issues related to a potentially infinite number of ships in your flotilla3.

Problems with MERC and uvar

Symptom: I've got an empty planet where a Mercenary is supposed to be. There's no window to hire them in, and it's basically a deserted planet with no items or events.

  • Problem: Your quest involves the MERC command, and the CONDITION TYPE uvar. Testing has shown this to be incompatible. Not sure exactly why, but a MERC that's waiting on a user variable does not seem to trigger reliably.
    • Solution: Strip the uvar CONDITION out of the quest. You're probably best off placing the MERC in your first page, and using CONDITION TYPE explore, as that is known to trigger reliably. Other condition types and page placements have not been fully documented as of the time this was written.

Problems with svar, uvar, or incv

  • Symptom: A quest relying on svar, incv or uvar fails to run, or fails to change it's variable.
    • Problem: The variable needs to be initialized before it will run. It doesn't matter if you have svar or incv all over the quest, if it hasn't first been initialized by an uvar, which must be in a STAR block.
      • Solution: Add a quest with FLAG always and a STAR block that includes the uvar command to set your variable to its default value
    • Problem: If it ran fine the first time you played, but didn't run right the second or subsequent time, then the problem is likely to be that the variable never got set back to it's default setting. (I'm a little hesitant mentioning this, because I haven't had this happen personally.)
      • Solution: As with the previous problem, you could solve it by having a STAR block with uvar in a quest with FLAG always set the variable to it's default value at the start of every game, as above, regardless of whether or not the quests that reference the variable trigger for that particular play.
      • Solution: I've been told that the problem can also be solved by having an svar entry in your gameover.ini file that sets it back to the default / original value at the end of every adventure. (Untested by me, but I've been told it works.)

General advice for building and debugging quests:

  • It's easier, and less buggy, to duplicate and convert existing quests than to create new ones out of whole cloth.
    • Less satisfying and exciting, perhaps, but it's hard to argue against it working better and easier.
  • Some codes and commands care what order they appear in, or what page they belong on.
    • Mirror the structure of existing quests as much as is feasible.
    • When in doubt, I put my commands in the order they appear in the Modmaker's Guide To The Galaxy.
  • If you can't figure out why your game is crashing whenever this quest loads, the problem is probably a GFXP line. They are notoriously strict and tempermental.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License