Jump to content

Issues with OBSE v0020


BenKenobe

Recommended Posts

Decided to fool around in Oblivion in anticipation of Skyrim arriving and ran into some issues.

 

I decided to load the latest patches and this seems to have been a bad idea.

 

My version 1.1.511 with OBSE v0009a works fine, all scripts compile without error.

 

Oblivion V1.2.416 with OBSE v0020 is a different story, not even the vanilla scripts will compile out of the box i.e with zero mods or addons installed following a clean install.

 

OSBE is reporting an Invalid Begin / End construction in scripts and it is totally wrong, the construction is fine in all the files I checked, should be since it is virgin Bethesda installed scripts that it is failing.

 

I run windows 7 64 bit, 8Gig Ram and a 6 core CPU so resource is no issue, I have no UAC issues (don't run it), it is not an Administrator or permissions issue since I unlock, rename and use the 'real' admin account (I am behind a hardware firewall and nobody but me uses this box).

 

In any case I know it isn't a machine or OS issue because as I said the version 1.1.511 Oblivion with OBSE v0009a works fine. Oblivion V1.2.416 with OBSE v0020 fails miserably with exactly the same install.

 

Any ideas?

Link to comment
Share on other sites

Can you detail your update procedure? If you have SI, you should install it before patching and then only apply the patch for SI. If you don't have SI, then you should be using the normal patch. Edited by MShoap13
Link to comment
Share on other sites

Can you detail your update procedure? If you have SI, you should install it before patching and then only apply the patch for SI. If you don't have SI, then you should be using the normal patch.

 

Don't have SI, never got around to it ... I am assuming we are talking Shivering Island ?

 

As for the update, installed Oblivion, ran the patch for 1.1.511, loaded OBSE v0009a - Result = Works fine.

 

Updated Oblivion to 1.2.416 using Oblivion official patch, replaced OBSE v0009a with OBSE v0020 - Result = Total failure, game fails.

 

Run Oblivion without using OBSE v0020 loader and it works fine but then to of my addons wouldn't work if I loaded them. The problem is definitely in OBSE or its interactions somewhere.

Edited by BenKenobe
Link to comment
Share on other sites

Try starting the game with OBSE but without any mods active. It may be that your mods are so out of date that they're incompatible with OBSE. It's actually a common occurrence, and I've seen mods that claim they need v0016 or better that will not work with v0020.
Link to comment
Share on other sites

Try starting the game with OBSE but without any mods active. It may be that your mods are so out of date that they're incompatible with OBSE. It's actually a common occurrence, and I've seen mods that claim they need v0016 or better that will not work with v0020.

 

Tried that, I currently have no mods installed at all, if I load via OBSE the game will not get past the opening menus, if I load without OBSE I can create / configure and play a character.

 

If I then load the Construction set via OBSE v0020 set Oblivion.esm as the data source and tell it to compile all scripts it fails spectacularly, these are the base scripts it is failing on - scripts such as ArenaBlueGate, they aren't even mods, that is why this is so frustrating.

 

The script below fails, I can make it compile by removing all the commented out text or simply removing the end prior to the comments and uncommenting the remaining End - but this is one of about 50 scripts that fails on the exact same error.

 

Scriptname ArenaBlueGateScript

 

;Short GateOpen

Short GateDown

Short Announce

Float Timer

 

 

 

Begin OnActivate

 

if IsActionRef player == 1

 

;this unlocks the Blue Team gate when the player is authorized to fight a match

if GateDown == 0

If Arena.FightOver == 0

If Announce == 0

;Playsound "ArenaChorrolAnnouncePitDog"

Message "The Blue Pit Dog is Announced"

Unlock

Activate

set GateDown to 1

Set Announce to 1

endif

endif

endif

endif

 

endif

 

End

 

 

 

;Begin GameMode

 

 

 

;this unlocks the Blue Team gate when the player is authorized to fight a match

;if GateDown == 0

;If GetDistance Player <= 128

;If Arena.FightOver == 0

;If Announce == 0

;Playsound "ArenaChorrolAnnouncePitDog"

;Message "The Blue Pit Dog is Announced"

;Unlock

;Activate Player

;set GateDown to 1

;Set Announce to 1

;endif

;endif

;endif

;endif

 

;if GateDown == 1

;if timer > 30

;Activate Player

;set GateDown to 0

;set Timer to 0

;else

;set timer to ( timer + GetSecondsPassed )

;endif

;endif

 

;End

Link to comment
Share on other sites

It is surprising to be reading this from a Vanilla script, but OBSE's indeed right here, this script cannot be compiled!

There are 4 opening IFs and 5 closing ENDIFs! This is invalid code structure by definition.

It did only work before, because without OBSE the CS' syntax checker likely was far more forgiving or something.

 

On the other hand, why did you even click the "recompile all scripts" button every guide and wiki in the community will tell you to stay away from? Just curious, as it's totally unneccessary.

And as long as you don't try to recompile this faulty code it will likely keep working flawlessly anyways.

Link to comment
Share on other sites

It is surprising to be reading this from a Vanilla script, but OBSE's indeed right here, this script cannot be compiled!

There are 4 opening IFs and 5 closing ENDIFs! This is invalid code structure by definition.

It did only work before, because without OBSE the CS' syntax checker likely was far more forgiving or something.

 

On the other hand, why did you even click the "recompile all scripts" button every guide and wiki in the community will tell you to stay away from? Just curious, as it's totally unneccessary.

And as long as you don't try to recompile this faulty code it will likely keep working flawlessly anyways.

 

Why did I click - good question, seemed a good idea at the time ... I redid all the scripts and corrected them some 40+ scripts) I actually found that the errors are even in the code published on an Elder Scrolls website that has exposed them as web pages so they aren't my imagination.

Link to comment
Share on other sites

So it's almost an Oblivion Script Overhaul, if I got you right.

 

Still, once you saved a script it was automatically compiled. Scripts you didn't touch will only end up as "dirty edits" in your plugin when you click "recompile all". Depending on load order this can screw up other mods trying to improve or add to them, by reverting them back to Vanilla, the state you saved in your plugin. But then, that's the same case for all scripts you touched either, so I don't know if it's really of concern here.

 

My suggestion would be to just fix Bethesda's obvious syntax errors in code structure as well, while you're at it. Can only have benefits I'd say, and OBSE will not complain unless the code's actually bogus, like the one above.

 

But as we now ruled out the scripts are to blame for the compilation errors from OBSE in the CS, let's get to the more serious issue of your game apparently not getting past the intro movies, as in "missing a masterfile", when you're using the latest patch and version of OBSE. Could you give us a complete list (in spoiler tags or anything else to scroll probably) of your loaded plugins so we could spot what might be out of place or missing? Or if it's not this, give us some more information about what actually happens that made you write "Total failure, game fails".

 

Coming to think of it, you edited the unpatched (or a lower version) Oblivion.ESM's scripts in your mod and then patched it to the latest version? It could also be that's an issue, as your mod is basically modifying scripts of a different framework, which doesn't exist anymore, then. But that's just guessing and possibilities. It could also be you used old OBSE functions in your scripts no longer supported by v0020, as you were writing them with 0009, if I got you right, and that's quite a difference. There were also some issues with special ways to upgrade your scripts, or even just recompiling them once, when moving from an older OBSE to a more recent (0009 to 0020 definitely covers the versions I have in mind there) or they will crash your game or whatever. This one actually sounds very interesting here, coming to think of it. But again that's just wild guesses.

Edited by DrakeTheDragon
Link to comment
Share on other sites

  • Recently Browsing   0 members

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