Page 1 of 1

Extensions unable to find save files if loaded from .iss

Posted: Thu Aug 10, 2006 1:49 pm
by iluvseq
Since isxeq is best loaded once a character is already logged in, I use a small script, loadisxeq.iss to handle loading isxeq and the extensions I commonly use.

This script lives in the InnerSpace/Scripts directory and contains:

Code: Select all

function main()
{
  ext -require isxeq
  ext isxeqchatwnd
  ext isxeqcustombinds
  ext isxeqitemdisplay
  ext isxeqlabels
  ext isxeqmap
}
This works fine to load up the extensions.

However, extensions loaded in this manner can't seem to find their .xml configurations. They save configs in the InnerSpace/Scripts directory, but don't load the saved settings.

If I manually load the extensions using the console, they save/load their settings from .xml files located in the InnerSpace/ directory.

What am I doing wrong?

Posted: Thu Aug 10, 2006 3:44 pm
by onetimehero
Try this:

Code: Select all


function main() 
{ 
  cd ${LavishScript.HomeDirectory}
  ext -require isxeq 
  ext isxeqchatwnd 
  ext isxeqcustombinds 
  ext isxeqitemdisplay 
  ext isxeqlabels 
  ext isxeqmap 
}


Posted: Thu Aug 10, 2006 11:12 pm
by Lax
Ahhh.. interesting observation. The extensions are loading their configs based on the LavishScript CWD, and when they are loaded from a script, that will be the script's CWD. Extensions should not be using the script CWD for their config ;)

Just a thought, but why not just add extension loads to your startup sequence for EQ instead of a script?

Posted: Thu Aug 10, 2006 11:59 pm
by iluvseq
Onetimehero's suggestion worked!

To answer Lax's question: I used to have them load in the startup sequence, but that means they load long before character select. It was my impression based on some crashes I had and research done on these forums that it's better to load extensions once you've loaded a character and are in the world. Is this not accurate?

Posted: Fri Aug 11, 2006 12:22 am
by Lax
The problem with specific extensions is that they may use character-specific settings, but not wait until a character is actually loaded. This problem exists because MQ2 didn't load plugins at other times, so plugin developers never had to worry about it, whereas IS extensions *can* be loaded before the game runs any of its own code.

The right thing to do would be to report the bug with the specific extensions that you find it in, and then that bug should be fixed. Simply loading an extension should *never* cause a crash. But sure, as a temporary solution, you can certainly wait until your character is logged in.