Oh, and one more thing: http://cs.elderscrol...her_mods_too%29 - that right there agrees with what I'm saying. It sounds to me like you aren't running the latest Oblivion patch. Based on my own code, GetPlayerInSEWorld should return 0, and those GetInCell checks should never be called.
You are misunderstanding that completely mate.
According to their own words that snippet of code will not avoid the game engine from parsing the getincell lines:
"When a script uses a EditorID (including spells, quests) of something that doesn't exist when Oblivion is loaded, the entire script will be ignored. Therefore, keep any SI and other mod EditorIDs in a separate script."
the Si isles editor IDs you are using are: 00096626, 00017474, 00009F18, 00096626, 00017474 or SENS, SEVitharn and SEWorld. Therefore, when you call GetInCell SEWorld.., the rest of the script will be ignored.
Here's more:
"When a script uses a function that isn't recognized by Oblivion, it acts as a return. Make sure all of your OBSE and Patch v1.2 functions occur after the test."
What they are really trying to do in that link you posted, is to show a way of identifying whether the player is using SI or not. To recognize if the player has SI installed
before the player even goes to the SI. Contrary to the GetPlayerInSEWorld function which only returns true, if the player already is in the SI.
http://cs.elderscrolls.com/constwiki/index.php/GetPlayerInSEWorld
here is how it works:You create a quest called "obSITester" with the following script inside:
player.GetIsID SE02BoneArrow1 set cobSITester.Installed to 1
Then in a
different script, you add the following snippet of code:
set cobSITester.Installed to 0 ;reinitializes the variable, in case the script has run before. SetStage cobSITester 0 ;this starts the quest if cobSITester.Installed ;if the Si isles is installed, this will return 1 cobSIEffects.Activate player 1 ;this is a way to let you know that SI is installed endif
the quest script will act as the test parameter. When the quest is started it will run its first line; player.GetIsID SE02BoneArrow1. Since SE02BoneArrow1 is a shivering Isles item, the next line will execute if and only if Si is installed.
In other words if the player has SI, "Installed" will be set to 1, otherwise "installed" will remain 0. This distinction allows the second script to determine if SI is or not installed.
If you anolyze the script you'll realize that player.GetIsID SE02BoneArrow1 is doing exactly what player.getIncell SENS is doing in RGO....interrupting the execution flow.
So what that wiki link recommends is an excellent way of implementing a single solution to avoid having multiple plugins for multiple oblivion versions. So yeah you should use it.