Haplo on 5/10/2018 at 06:33
I guess it is time to reveal myself as the author of the mission and provide some details.
The mission uses the latest T1 version of NVScript (as verified by smithpd above).
This is how it tests the loading of the script (the actual set up it a bit more complex but you get the idea):
The player starts in a closed room. The only door leading out of this room is FrobInert. I have a scroll on the wall advising the players that the scripts have not been loaded properly.
I have a lever with its tweq set up so it would turn on as the mission starts. Then (all links or ControlDevice):
Lever -> a NVRelayTrap element -> DestroyTrap -> Scroll
Lever -> a NVMetaTrap element -> Door
When NVScript is loaded properly, the scroll gets destroyed and the door becomes frobbable. But when the loading fails, the script stays on the wall and the door stays FrobInert. This is what the testers are seeing.
Still, to make sure the problem is not the set up above, I gave the testers a test mission file with these added:
An ordinary lever -> NVRelayTrap -> an AnimLight
The testers reported that throwing the lever didn't alter the state of the light. Which means the script is certainly not loaded.
My personal rig is NewDark 1.25 which I have set up manually (no TFix), and I can't reproduce the problem. NVScript always gets loaded correctly for me both in DromEd and in Thief.
Unna Oertdottir on 5/10/2018 at 07:06
The testers that have the script issue need to provide savegames before/after frobbing the lever.
You can load it in Dromed.
john9818a on 5/10/2018 at 08:05
I don't know if this has anything to do with the problem, but in my Thief Gold installation all of my OSM files are in the Thief root folder. Moving them to an OSM folder under the Thief folder prevents any of the scripts from loading.
smithpd on 5/10/2018 at 08:50
Interesting, John. Just to be clear, are you saying that your path to NVScript is
Thief\NVScript
directly in the top thief folder?
My path to NVScript is an ingtermediate folder,
Thief\OSM\NVScript
I can't be sure, but I guess that Thief\OSM\ is where TFIX puts them. TFIX may be the culprit here because Haplo does not have a TFIX install, and he does not have the problem. We testers have TFIX installs, and we have the problem.
voodoo47 on 5/10/2018 at 08:59
all TFix does here is this:
-look for a script in the OSM folder, if found, use that instance with maximum priority (overriding whatever outdated version may be supplied with an FM)
-if not found in OSM, use whichever other instance that has the highest priority (usually one supplied with the FM)
so the described situation makes no sense - either the script file from the OSM folder is getting loaded and then everything should work, or it's not (getting loaded from there), and then everything should also work as the script in the FM folder should get loaded.
any script load failures in thief.log?
smithpd on 5/10/2018 at 09:25
@voodoo47
You have described how it should work, but I think it is not working that way in practice, at least for me and other testers using TFIX 1.25.
Just to be sure, we copy NVscript.osm from the FM folder to the OSM folder. The NVscript.osm version is the latest one, as described above.
The file cam_mod.ini, for us, originally contained these lines,
; these are mod paths that override the active FM in the search order
;uber_mod_path mods\UpToDateOSMs+MyGemMod
uber_mod_path OSM
So, the one in the OSM folder should override the FM version if documentation is correct. They are the same, so it shouldn't matter, right?
That fails. The scripts fail to load, as Haplo describes. The only way we testers can get it to work is to comment out the uber_mod_path line above:
;uber_mod_path OSM
Then it should use the FM version of NVscript.osm, which is the same as the OSM version, and it works. The problem with this is that all players who have a TFIX installation have to modify the cam_mod.ini file by commenting out that line. That doesn't make sense to me.
ffox on 5/10/2018 at 09:40
The log says the scripts are all loaded OK:
Code:
: Loaded script module "miss09.osm" [FileModDate=1999-Sep-28]
: Loaded script module "miss10.osm" [FileModDate=1999-Sep-28]
: Loaded script module "NVScript.osm" [FileVer=1.2.4.0 ; ProductVer=1.2.4.0 ; FileModDate=2017-Dec-30]
: Loaded script module "convict.osm" [FileModDate=1999-Sep-26]
: Loaded script module "gen.osm" [FileModDate=1999-Sep-28]
: Loaded script module "script-t1.osm" [FileVer=2.1.0.0 ; ProductVer=2.1.0.0 ; FileModDate=2009-Aug-19]
: Loaded script module "nvscript.osm" [FileVer=1.2.4.0 ; ProductVer=1.2.4.0 ; FileModDate=2017-Dec-30]
: Loaded script module "squirrel.osm" [FileVer=1.0.1.0 ; ProductVer=1.0.1.0 ; FileModDate=2018-Apr-06]
That means the following isn't working in Thief.exe but is working in DromEd:
Lever -> a NVRelayTrap element -> DestroyTrap -> Scroll
Lever -> a NVMetaTrap element -> Door
My brain hurts.
PS It looks as though the log software has a bug because 1.2.4.0 is not the version dated 2017-Dec-30 (that's 1.2.6, which is the one in the OSM folder)
voodoo47 on 5/10/2018 at 09:42
try renaming nvscript.osm in the FM folder to NVScript.osm and see whether something happens.
voodoo47 on 5/10/2018 at 10:33
Quote Posted by smithpd
all players who have a TFIX installation have to modify the cam_mod.ini file by commenting out that line.
I'm almost sure that just deleting one of the script files would also work - at the moment, I suspect that the problem is not that it's not getting loaded, but that it's getting loaded twice.
ffox on 5/10/2018 at 10:39
It's the same with either name.
To clarify: If I save immediately the mission starts, and then Load Savegame in DromEd the problem is still there. If I load the .mis file in DromEd and go straight into game mode no problem.