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?
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!
1). Yes, although somewhat indirect. You can http://cs.elderscrolls.com/constwiki/index.php/Topics_Tab inside dialogue responses so in theory you could change such a string gamesetting on-the-fly with SetStringGameSetting. Then ofcourse restore it when you are done for the rare occassions they are used in vanilla dialogue.
2). Also possible but with a few limitations, the idea is to use http://obse.silverlock.org/obse_command_doc.html#RunScriptLine to execute a string, which you've put together on-the-fly, through the console. The obvious limitations are pretty much anything from the normal console (no local variables, no let/call/arrays/other expressions), biggest downside IMO is not being able to use (most) reference function because they don't work in a MyQuest.MyRef syntax. Easiest way to check if what you are trying to do is possible with RunScriptLine is typing it out in the console.
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??
-kyoma