Jump to content

Ok, suppose you had this happening in one of your mods...


HerrBaron

Recommended Posts

Hey folks,

 

A few weeks ago, RickerHK and I got twisted around this axle, and we still don't have a definitive answer to a problem I have in one of my mods in development. Here's how it goes:

 

I've got a scripted container in an interior cell. It is intended as a weapon storage cabinet which on a menu choice removes all but hotkeyed weapons from the player's inventory into the container. The script does this by cycling through hotkeyed items and placing their baseform id's in a formlist, which is then passed to RemoveAllTypedItems as the exception list and the cabinet as the container.

 

I'm finding that if I enter the interior cell (an autosave is made here), go immediately to the container and activate it, and elect to move weapons into the cabinet, the game will crash in NVSE_1_1.dll, every time. If I then restart the game from the autosave made upon entering the interior cell, again activate the container and select to move weapons to storage, it works just fine, time after time after time; but ONLY AFTER the game has already crashed once!

 

Also worthy of note, Ricker and I have both extracted the offending code into test .ESP's, and the code works without crashing, again, time after time after time, so I'm seriously suspecting something peculiar as pertains to the container in this particular cell...

 

Can anyone think of any reason for this kind of behavior? I'm looking to brainstorm this, and you guys are the best I know at doing this, bar none.

 

So...whadaya think?? :)

Link to comment
Share on other sites

Im assuming this a merchant container. I had a similiar thing at first, but it went away. Havent experienced it again. Sometimes geck just does things that blowsme away. But are you using it as a quest item? If it is , you may want to uncheck it, but other then that, clueless. Edited by Floatsup
Link to comment
Share on other sites

Im assuming this a merchant container. I had a similiar thing at first, but it went away. Havent experienced it again. Sometimes geck just does things that blowsme away. But are you using it as a quest item? If it is , you may want to uncheck it, but other then that, clueless.

 

Ah! Negative to both; NOT a merchant container and absolutely nothing to do with quest items... :) Thanks for joining in; stay tuned, I gotta hunch that with the modding talent we got around this place, it's gonna get interesting!

Link to comment
Share on other sites

Does this container have an OnLoad block?

 

The reason I ask is that when the game is loaded from savegame, the OnLoad blocks in the current cell don't fire.

And as far as the savegame is concerened, that crash never happened.

 

Negative; no OnLoad block. Understand about the savegame not knowing about the crash; it hasn't happened until after the save was made. So back to the question, why does it work if I pick up from that save AFTER the crash, and just keep on working until I leave the cell? The next time I enter the cell, it repeats the cycle. Savegame, activate, crash, restart, everything ok? Puzzling...

Link to comment
Share on other sites

Just to add some food for thought and stuff to try:

When you are outside the cell, the script on the container isn't running.

When you load into the cell, the script starts running. In console mode, if you click on the box, and type 'sv', is the state of the variables as expected?

When you re-load into the cell after the crash, is the state of the variables on the container the same or different?

 

Not sure if this was mentioned - but are you using scof "textfilename.txt" to write all your Printc's to a text file? And put a printc after every function on the script on the container?

Link to comment
Share on other sites

Just to add some food for thought and stuff to try:

When you are outside the cell, the script on the container isn't running.

When you load into the cell, the script starts running. In console mode, if you click on the box, and type 'sv', is the state of the variables as expected?

When you re-load into the cell after the crash, is the state of the variables on the container the same or different?

 

Not sure if this was mentioned - but are you using scof "textfilename.txt" to write all your Printc's to a text file? And put a printc after every function on the script on the container?

 

Hey Ricker! Fancy meeting you here! :) All great suggestions; I'll give 'em a try. Not familiar with scof command; where does the text file need to go? does it default to the Data directory?

 

Good to see ya!

Link to comment
Share on other sites

Just to add some food for thought and stuff to try:

When you are outside the cell, the script on the container isn't running.

When you load into the cell, the script starts running. In console mode, if you click on the box, and type 'sv', is the state of the variables as expected?

When you re-load into the cell after the crash, is the state of the variables on the container the same or different?

 

Not sure if this was mentioned - but are you using scof "textfilename.txt" to write all your Printc's to a text file? And put a printc after every function on the script on the container?

 

Hey Ricker! Fancy meeting you here! :) All great suggestions; I'll give 'em a try. Not familiar with scof command; where does the text file need to go? does it default to the Data directory?

 

Good to see ya!

You have to run the command at the console every time you restart the game. The file is saved in the main fallout directory, not the data directory. If there is no file to begin with,it makes one. http://geck.bethsoft.com/index.php/SetConsoleOuputFile

Link to comment
Share on other sites

Just to add some food for thought and stuff to try:

When you are outside the cell, the script on the container isn't running.

When you load into the cell, the script starts running. In console mode, if you click on the box, and type 'sv', is the state of the variables as expected?

When you re-load into the cell after the crash, is the state of the variables on the container the same or different?

 

Not sure if this was mentioned - but are you using scof "textfilename.txt" to write all your Printc's to a text file? And put a printc after every function on the script on the container?

 

Hey Ricker! Fancy meeting you here! :) All great suggestions; I'll give 'em a try. Not familiar with scof command; where does the text file need to go? does it default to the Data directory?

 

Good to see ya!

You have to run the command at the console every time you restart the game. The file is saved in the main fallout directory, not the data directory. If there is no file to begin with,it makes one. http://geck.bethsoft...onsoleOuputFile

 

Thanks, Ricker; hadn't run across that before; bound to be helpful in this situation.

Link to comment
Share on other sites

Hey folks,

 

A few weeks ago, RickerHK and I got twisted around this axle, and we still don't have a definitive answer to a problem I have in one of my mods in development. Here's how it goes:

 

I've got a scripted container in an interior cell. It is intended as a weapon storage cabinet which on a menu choice removes all but hotkeyed weapons from the player's inventory into the container. The script does this by cycling through hotkeyed items and placing their baseform id's in a formlist, which is then passed to RemoveAllTypedItems as the exception list and the cabinet as the container.

 

I'm finding that if I enter the interior cell (an autosave is made here), go immediately to the container and activate it, and elect to move weapons into the cabinet, the game will crash in NVSE_1_1.dll, every time. If I then restart the game from the autosave made upon entering the interior cell, again activate the container and select to move weapons to storage, it works just fine, time after time after time; but ONLY AFTER the game has already crashed once!

 

Also worthy of note, Ricker and I have both extracted the offending code into test .ESP's, and the code works without crashing, again, time after time after time, so I'm seriously suspecting something peculiar as pertains to the container in this particular cell...

 

Can anyone think of any reason for this kind of behavior? I'm looking to brainstorm this, and you guys are the best I know at doing this, bar none.

 

So...whadaya think?? :)

 

Try to refresh the form list every time you switch cells (e.g. entering a room or fast-travelling...). At least this works for my radar HUD mod....

From your description, once you restart the game and load the autosave, the form list must be update in that interior cell, and I guess it is the main difference between your two attempts. (since there is no information of when the form list is updated, I suppose you update it when the savefile is just loaded.)

Edited by invalidfate
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...