[BETA] Oblivion Script Extender (OBSE) 0018

Post » Fri May 27, 2011 1:31 am

Ah, thanks.
User avatar
Rusty Billiot
 
Posts: 3431
Joined: Sat Sep 22, 2007 10:22 pm

Post » Fri May 27, 2011 4:30 pm

ok. this is weird: i had a massive increase in save time (as mentioned in my last post). i installed XP again an save time was nice. with the old same save game and all mods enabled. this was what i almost expected so far. but now this issue is also gone in win7!
i tried a fresh install of oblivion before, used a default ini... everything i had to do now with XP again. also the win7 installation was a fresh one. in XP i deleted the new oblivion folder and renamed the oblivion folder from win7 to the one from XP, so it's exactly the same data. the only thing changed was the ini file. i use the ini the game built from xp now and it's working fine in win7 (with all my settings copied over!). but the default ini built from win7 doesn't. is this weird??
User avatar
Benito Martinez
 
Posts: 3470
Joined: Thu Aug 30, 2007 6:33 am

Post » Fri May 27, 2011 1:44 pm

That's because you have to write: "let template := Call DrakeDragonRaceReplacerUpperFunction tagId item"

Thanks again, TheNiceOne! My testers reported that's exactly what kept it from working. I owe you one.

May I then suggest fixing that part of the OBSE manual about user-functions?
To call this function you would use:
Call Multiply 10 5
To store the result (50, in this case):
Let someVar := Multiply 10 5

This is what first mislead me into believing it would work "without" the call when inside an OBSE expression.
User avatar
Sabrina garzotto
 
Posts: 3384
Joined: Fri Dec 29, 2006 4:58 pm

Post » Fri May 27, 2011 1:36 am

Doc fix for the next release:
Just noticed the OBSE doc still mentions the operator '=>' in the Let statement description. Left over, I guess:

Expression Statements
Let - The Let statement is OBSE's version of Oblivion's Set statement. It takes the form let expr1 := expr2 (or let expr1 => expr2 for assignment by reference) where expr1 . . .

User avatar
Monika
 
Posts: 3469
Joined: Wed Jan 10, 2007 7:50 pm

Post » Fri May 27, 2011 1:09 am

Any chance of a GetNthSummon and GetNumSummons for in the future? Currently GetNthFollower and GetNumFollowers does not include summons while GetFollowers does. From a novice point of view this means you are able to distinguish between the two, or not? :unsure:

Another thing, I just discovered Call works without problems when used in result script (quest stages, probably dialogue aswell). I always thought any sort of 'temp' script would not work with Call/Arrays/etc. Is there a difference between how result scripts work and how the console works? Or was it a design choice to not have it work from the console? :mellow:

-kyoma

Yes, hadn't done enough decoding on summons when GetNth/NumFollowers were coded and didn't want to change its behavior in later releases.
For the time being you ought to be able to get the full list of followers including summons using getFollowers, then use getNthFollower to identify the non-summons, leaving you with a list of summons.

Result scripts are compiled in the CS, console scripts are compiled at run-time. I didn't test extensively with using stuff like Let, arrays, functions, and so on in result scripts so doing so is not officially supported; I don't expect there would be problems but I'd want to look at the code responsible for compiling them to be certain.
ok. this is weird: i had a massive increase in save time (as mentioned in my last post). i installed XP again an save time was nice. with the old same save game and all mods enabled. this was what i almost expected so far. but now this issue is also gone in win7!
i tried a fresh install of oblivion before, used a default ini... everything i had to do now with XP again. also the win7 installation was a fresh one. in XP i deleted the new oblivion folder and renamed the oblivion folder from win7 to the one from XP, so it's exactly the same data. the only thing changed was the ini file. i use the ini the game built from xp now and it's working fine in win7 (with all my settings copied over!). but the default ini built from win7 doesn't. is this weird??

If you are certain nothing else changed other than your OS and your .ini, then it would be interesting to know the difference between the two .inis.
Are there any general issues with Oblivion on Windows 7? I haven't upgraded yet and haven't looked at the HW/SW forum.
Ah, now I understand. :) I was getting worried that you seemed to have disappeared.

OT, are you by any chance a Lehigh student? (I ask because your profile says you're in Allentown, and because that's where my degree is from.)

I'm at Albright in Reading, PA, but I have friends at Lehigh.

Doc fixes noted, thanks QQuix and Drake.
User avatar
BlackaneseB
 
Posts: 3431
Joined: Sat Sep 23, 2006 1:21 am

Post » Fri May 27, 2011 3:54 am

Two wishes for the next version: GetBowDrawn and skill degradation over time. (I know someone previously requested the second one.)

Thanks!
User avatar
josie treuberg
 
Posts: 3572
Joined: Wed Feb 07, 2007 7:56 am

Post » Fri May 27, 2011 12:14 pm

If you are certain nothing else changed other than your OS and your .ini, then it would be interesting to know the difference between the two .inis.
Are there any general issues with Oblivion on Windows 7? I haven't upgraded yet and haven't looked at the HW/SW forum.


I am running the German version on Vista x64 and the English version on Win 7 x64 (dual boot) for about 3 month in non default directories (\games) and don't see much of a difference between the two.
Configuration and MOD's are pretty similar except that I have the German version of the MODs that are available in that language otherwise I installed the originals with some sound directory tweaking.

Crash
User avatar
Rachel Tyson
 
Posts: 3434
Joined: Sat Oct 07, 2006 4:42 pm

Post » Fri May 27, 2011 2:23 am

If you are certain nothing else changed other than your OS and your .ini, then it would be interesting to know the difference between the two .inis.
Are there any general issues with Oblivion on Windows 7? I haven't upgraded yet and haven't looked at the HW/SW forum.


no further issues in win7. but the ati drivers are crap, at least the CCC. i had to roll back to the MS drivers.

i made a few more tests and now the issue is back, but this time a default ini doesn't help. to prevent confusion here are my exact steps:

1. re-installed oblivion in win7, used the default ini, started a new game >> mods with arrays caused long save time.
2. installed a clean XP, installed oblivion and deleted the folder, renamed the old oblivion folder from win7 to match XP, enabled all mods, used a default ini but copied my settings over >> save time ~2 secs.
3. save time was fine in win7 now too! until i changed a video setting in the options menu.
User avatar
Teghan Harris
 
Posts: 3370
Joined: Mon Mar 05, 2007 1:31 pm

Post » Fri May 27, 2011 7:30 am

I've been re-thinking a request I made a while ago which disables the string echo-ing when using sv_Construct/sv_Set/others in combination with RunScriptLine and I thought of a different approach. Dunno if it's viable or even possible though, how about adding a function which can toggle a flag/variable on and off. And that flag/variable would determine if a string-function will echo in the console or not. Would that work? :unsure:
User avatar
SiLa
 
Posts: 3447
Joined: Tue Jun 13, 2006 7:52 am

Post » Fri May 27, 2011 10:55 am

Even though this thread is for v18, I'm using obse_0017b and it is causing my CTD when starting a new game, I get to the point when the game loads a new game, finishes and CTD before the new game bik movie loads.

I'm going to overwrite obse_0017b with v18 and see if it causes the same thing.

:edit:
Sure enough OBSE is causing my CTD issue. I overwrite 17b with 18 and got the same thing, and then I deleted all of OBSE and reinstalled just the 18b4 version and still get the same thing.
User avatar
Damned_Queen
 
Posts: 3425
Joined: Fri Apr 20, 2007 5:18 pm

Post » Fri May 27, 2011 1:34 pm

Even though this thread is for v18, I'm using obse_0017b and it is causing my CTD when starting a new game, I get to the point when the game loads a new game, finishes and CTD before the new game bik movie loads.

I'm going to overwrite obse_0017b with v18 and see if it causes the same thing.

:edit:
Sure enough OBSE is causing my CTD issue. I overwrite 17b with 18 and got the same thing, and then I deleted all of OBSE and reinstalled just the 18b4 version and still get the same thing.
Oblivion runs if you start it with the normal launcher (oblivionlauncher.exe)? This bypasses the OBSE loading.

Does it run if you use the OBSELauncher.exe, but only use Oblivion.esm and no other mods?
User avatar
AnDres MeZa
 
Posts: 3349
Joined: Thu Aug 16, 2007 1:39 pm

Post » Fri May 27, 2011 3:45 pm

I use OBMM to run Oblivion (it makes things easier)... I tried running OblivionLauncher.exe and Oblivion.exe, I get CTD on new game. I tried obse_loader.exe and get new game load crash...

I then removed OBSE and started with just Oblivion.esm loaded and still am getting new game CTD...

And this is with a complete Oblivion un-reinstall for the 7th time in 2 days...
User avatar
Mackenzie
 
Posts: 3404
Joined: Tue Jan 23, 2007 9:18 pm

Post » Fri May 27, 2011 10:42 am

That doesn't sound like an OBSE problem.

It sounds like a missing master or a missing font issue.

Have you tried renaming your "My Documents/My Games/Oblivion/Oblivion.ini" file to "Oblivion.bak" and then running the original OblivionLauncher.exe program so that it will redetect your hardware and make a new ini file for you?

edit: Bad question to ask, I know, but have you been able to run the game at all with just Oblivion and the official patch installed?
User avatar
Sabrina Schwarz
 
Posts: 3538
Joined: Fri Jul 14, 2006 10:02 am

Post » Fri May 27, 2011 1:05 pm

I then removed OBSE and started with just Oblivion.esm loaded and still am getting new game CTD...


then not related to obse, if obse is removed, and you still crash on startup, then it something else mod related..missing master, bsa not named correctly, ui not installed correctly, load order related, patch 1.2.0416 not installed correctly, time to start disabling any new added mods and work backwards until you find out what is causing the problem..

Showler beat me to it..
User avatar
ImmaTakeYour
 
Posts: 3383
Joined: Mon Sep 03, 2007 12:45 pm

Post » Fri May 27, 2011 3:40 am

What I'm suspecting is OBSE and UOP is not compatible, I don't know why or how, but with the UOP's and OBSE loaded at the same time, the game CTD for me. Uninstalling the UOP's and running OBES loads and I'm able to start a new game, but with the 2 combined it CTD on new game.

:edit:

Reworded above.
User avatar
matt white
 
Posts: 3444
Joined: Fri Jul 27, 2007 2:43 pm

Post » Fri May 27, 2011 1:05 pm

What I'm suspecting is OBSE and UOP is not compatible, I don't know why or how, but with the UOP's and OBSE loaded at the same time, the game CTD for me. Removing the UOP's and OBES loads and I'm able to start a new game and with OBSE loaded, but without the UOP's it loads, but with the 2 combined it CTD on new game.

that makes no sense at all
User avatar
David Chambers
 
Posts: 3333
Joined: Fri May 18, 2007 4:30 am

Post » Fri May 27, 2011 9:11 am

Something weird about your version of the UOP then.

Do you have all the resources that go with it? It should be a download of about 150MB, I think.

edit: 128MB or thereabouts: http://www.tesnexus.com/downloads/file.php?id=5296

Make sure you don't have just a hotfix or upgrade version.
User avatar
carrie roche
 
Posts: 3527
Joined: Mon Jul 17, 2006 7:18 pm

Post » Fri May 27, 2011 10:55 am

Here is what I got saved to anoter hard drive (I download then save files for back up's).

Oblivion_v1.1.511_FinalEnglish
ShiveringIsles_v1.2.0416_English
Unofficial Shivering_Isles_v1_4_0
Unofficial_Oblivion_Patch_v3_2_0
Unofficial_Oblivion_Patch_3_2_3a
Unofficial_Official_Mods_Patch_v15

I follow this UOP install instructions in order:
Install this way if you have Shivering Isles:1.Install Oblivion 1.02.Install Official 1.1.511 Patch (only if you want the launcher to be fully functional)3.Install Shivering Isles (which brings Oblivion to 1.2.201)4.Install Official 1.2.0416 Shivering Isles Patch5.Install Official Add-ons6.Install the Unofficial Oblivion Patch v3.2.0 (user-made mod)7.Install the Unofficial Oblivion Patch v3.2.3a (user-made mod)7.Install the Unofficial Shivering Isles Patch v1.4.0 (user-made mod)8.Install the Unofficial Official Mods Patch v1.5 (user-made mod)9.Install the Official Construction Set 1.2.404


Game loads a new game just fine as is with just the UOP's, but if I load OBSE with the UOP's, then I get the new game CTD. Removed the UOP's and the game loads a new game just fine with OBSE. Something is nutz about this, I guess I'll play the game without the UOP's.

Thanx for the help and read guys.
User avatar
Claire
 
Posts: 3329
Joined: Tue Oct 24, 2006 4:01 pm

Post » Fri May 27, 2011 10:08 am

Another doc fix:
This example and statement under User-Defined Functions:
scn SomeFunctionstring_var argstring_var local0string_var local1Begin Function { arg }	let local0 := "some string"	let local1 := someQuest.someStringVar	sv_Destruct local0End
In the above script, the string variable arg will be automatically cleaned up by OBSE when the function terminates. local1 will not be, and should not be destroyed explicitly because doing so would invalidate the someStringVar variable in an external script. local0, however, must be explicitly destroyed as it is not referenced by any other script


I understand that "let local1 := someQuest.someStringVar" will create a copy of the quest string and this copy must be destroyed at the end of the function.

Or, maybe, the example should read "set local1 to someQuest.someStringVar", in which case the statement would be true.
User avatar
Alyesha Neufeld
 
Posts: 3421
Joined: Fri Jan 19, 2007 10:45 am

Post » Fri May 27, 2011 7:24 am

Is there any functions that allow you change the cell fog RBG values? If not, is there any chance it could be added for v0019?
User avatar
Valerie Marie
 
Posts: 3451
Joined: Wed Aug 15, 2007 10:29 am

Post » Fri May 27, 2011 9:43 am

Is there any functions that allow you change the cell fog RBG values?
None at the moment.
User avatar
Sammykins
 
Posts: 3330
Joined: Fri Jun 23, 2006 10:48 am

Post » Fri May 27, 2011 1:17 pm

I know this is not the best time for a new request, but here it comes anyway:

I want a function that combines GetActiveUIComponentFullName and GetMenuStringValue in one, i.e. something like:

(value:string_var) GetActiveUIComponentStringValue trait:formatString

Where the trait parameter only contains the name of the trait (ex: "user5") and not the full patch.

The reason for this, is that I try to read out values (the item's healt) from the repair menu. This functions fine by calling:
	let s1 := GetActiveUIComponentFullName	let s1 := GetMenuStringValue "%z\user5",s1 1035

...that is - it functions as long as the highlighted item is the only item of its type in the list. If there are more of them, they have the exact same full name, and the GetMenuStringValue therefore returns the first it find, and not necessarily the one that is highligted - which I need.

But if I could read directly out a value belonging to the active UI component, that would solve the problem.
User avatar
Chris BEvan
 
Posts: 3359
Joined: Mon Jul 02, 2007 4:40 pm

Post » Fri May 27, 2011 2:15 am

....
Ha, I already requested that (twice I think). :whistle: Although I don't remember an actual yes or no anwser...
User avatar
Darrell Fawcett
 
Posts: 3336
Joined: Tue May 22, 2007 12:16 am

Post » Fri May 27, 2011 3:22 am

Hey guys I love you so much! I'm just discovering oblivion scripting and OBSE and it's plain amazing! ... loops, arrays, strings, user-defined functions ... and so many things that I'm probably missing.

User-functions can even call other user-functions! And they work perfectly! I've used up to 3 calls in a row (script calls function1, function1 calls function2, function2 calls function3) and it's working as expected. Is there a maximum of functions that could be "nested" this way, or would it freeze the frame until all code is run?

I wonder how scripters did to bypass the maximum on script lenght and nested blocks allowed by the CS before OBSE v0018 was out... well, I just can't imagine right now scripting without OBSE.

I have a minor request for the maths department, though, I'd really like to have min and max functions. Actualy it has an easy workaround, just an if check and it's done, but when one is using them several times in an expression that could save a few lines. Btw I understand it's nothing prioritary and there are more important things to attend, it's just to let you know sometimes I missed them.

I haven't had time to get into strings yet, could someone tell me if: 1) is it possible to use them in dialogues; and 2) can they be compiled and run as code? Thx!

I'm using v0018 beta 4 and there's no error I can report by now. I realised a few days ago that b5 was out, but I'm not sure I should update because I don't know how these things work. I'm currently working in a mod using obse 18b4, so if I update to b5 and find some issue, could I downgrade to b4 and still working on it? Another doubt I have, regarding what is said in the first post about changes in the bytecode that makes that mods made with b2 or higher will require for the user obse b2 or higher. Does it means that if I pack the mod with b4 installed users will need b4 or will only need b2??


Anyway, a big THANKS to you for your incredible work! Keep it up, guys!
User avatar
stevie trent
 
Posts: 3460
Joined: Thu Oct 11, 2007 3:33 pm

Post » Fri May 27, 2011 10:44 am

Hey guys I love you so much! I'm just discovering oblivion scripting and OBSE and it's plain amazing! ... loops, arrays, strings, user-defined functions ... and so many things that I'm probably missing.
I fully agree. Enhanced Economy and Map Marker Overhaul would be impossible without those things :)

User-functions can even call other user-functions! And they work perfectly! I've used up to 3 calls in a row (script calls function1, function1 calls function2, function2 calls function3) and it's working as expected. Is there a maximum of functions that could be "nested" this way, or would it freeze the frame until all code is run?

From the OBSE documentation: "OBSE allows a maximum of 30 nested function calls." So with your 3 nested calls you have a long way to go :P Btw, I beat you by 2, as Enhanced Economy have 5 levels (+ the calling script). ;)

I'm using v0018 beta 4 and there's no error I can report by now. I realised a few days ago that b5 was out, but I'm not sure I should update because I don't know how these things work. I'm currently working in a mod using obse 18b4, so if I update to b5 and find some issue, could I downgrade to b4 and still working on it?
No problem. Just replace the one dll that is the difference between the two. I have done that a few times.

Another doubt I have, regarding what is said in the first post about changes in the bytecode that makes that mods made with b2 or higher will require for the user obse b2 or higher. Does it means that if I pack the mod with b4 installed users will need b4 or will only need b2??
I'm pretty sure they will then need b4 or b5. That's why my mods are requiring 18b4 or newer.
User avatar
Angelina Mayo
 
Posts: 3427
Joined: Wed Jan 24, 2007 4:58 am

PreviousNext

Return to IV - Oblivion