Jump to content

Can an ESP-script change ENB parameter?


JoeCasaubon

Recommended Posts

Hey experts,

 

lately I have tried to eperiment with creating an ENB (and with getting used to the GECK). I would like to control and change the ENB's parameters directly via a script to emulate weather transitions not by changing GECK's climate or weather but by manipulating the ENB. I am new to modding NV (read the tutorials, all very basic), though not new to coding, design and scripting.

 

Here comes the Tohuwabohu:

 

1. Can a script change ENB parameters? How?

2. Can I somehow (how?) get the area where I am ingame? Can I get exact coordinates and maybe even a height value or just something like "Wasteland Searchlight Area"?

3. How do I access the daytime?

4. How do I "activate" and control rain?

5. How do I do blends of different sky textures via a script?

6. How do I make a script to "get called" every lets say 10 ingame minutes? Is this too stressing for the CPU? Is there some kind of IRQ calling for scripts? I really have no idea of the basics, sorry, just the beautifull ENB and want it to be dynamic.

 

If (1.1.) is a "no", which approach could I take? I don't even know how to look up scripts from Nevada Skies, e.g.

 

Whichever input (or laughter) I get, it is apprechiated. I love this game and would like to provide my little part to the community in the form of my first mod, but my... is this hard.

 

Thanks!

 

Edit: Should a moderator feel the need to move this topic because this is the wrong subforum, go ahead. I was not sure where to post it.

Edited by JoeCasaubon
Link to comment
Share on other sites

So I'm going to start off by saying a lot of you want is possible, but it's complicated. I'm going to get into some details, but I'm not going to go super indepth. Here is a link to all/most of the functions available in the GECK, with NVSE, with JIP LN NVSE: https://geckwiki.com/index.php/Complete_List_of_Function_in_Fallout_New_Vegas

You can parse through it pretty easily by searching for keywords ("Get", "Set", "Cell", "Worldspace", etc), but can take a bit to look for what you want in specific.

 

1) Yes. It's not simple. You'll have to use the commands ReadStringFromFile, sv_find, WriteStringToFile, let, and a bit of ingenuity.

2) Yes. GetParentCell, GetParentWorldspace, GetCellCoords, etc. It's complicated and would take a bit of work for what you want in specific, but it is possible.

3) The ingame time? Year, month, day, hour, etc are all global variables and can be accessed with scripts (I'd advise against modifying them, however).

4) Rain is a specific "weather", as far as I know. This area isn't really in my ballpark, but a lot of information for weathers can be set and retrieved with scripts.

5) Now we are completely out of my ballpark. It might be possible, but I'm not certain. In any case, it is possible if you are willing and able to write a NVSE "extension"/dll file, but that is far more complicated than anything you can do with scripts and requires C++ experience, if I'm not mistaken.

6) Most scripts you'll write are related to setting a delay in one manor or another. Every "quest" in the game processes this way, and "passive" scripts will be atleast vaguely related to quests as quests are how the game executes them in the first place. The only scripts that aren't explicitly tied to a delay are object scripts, "trigger area" scripts, and some others. If we want to be technical, event handlers aren't explicitly tied to delays, but they tend to be set with quest scripts, so are atleast vaguely related to it.

 

If you want to look up scripts from Nevada Skies, FNVEdit is a good place to start as it allows you to view everything contained by any plugin in categories and lets you view the source for a script.

Link to comment
Share on other sites

Thank you very much, MildlyFootwear.

 

Yes, the function list is a very good start; I will step by step browse through them starting with the most simple task (or necessary one): establishing a "permanently" running script somehow. Something like a "hidden" quest might be appropriate - not sure by now though how often it would be checked/called by the engine.

 

1. I have my doubts that these functions help. I don't need to modify the ENB "on disk", but in memory, just as if you would tinker with Boris' ENB menu in realtime... Or would the string funtions do this? Applying changes to the ENB takes way too much time, but changing a parameter like "Daytime Tone Mapping Curve" can be done without framerate drops. So basically I would need access to the ENB floats/words/bytes in memory...

 

If this - as stated in my first post - is not possible, my idea dies, I guess. Everything else isn't too complicated.

 

Again, thanks alot. Your help was much apprechiated. Maybe you find the time to elaborate on my statement to (1.) again. The more specific the information, the better.

Link to comment
Share on other sites

Yeah, modifying them in memory isn't really possible. With "[x]StringToFile" the ENB would have to reload it.

As for script delays and quests, hidden "quests" are how a substantial amount of scripted mods work. Stuff like Project Nevada, B42 Quickthrow, and even MCM menus use hidden "quests". The delays are just a number you set on the quest menu.

Link to comment
Share on other sites

Thanks for clarifying @ENB parameters and string function calls as well as on the hidden quest standard mechanism. I will ask Boris, maybe I get an answer.

Edited by JoeCasaubon
Link to comment
Share on other sites

  • Recently Browsing   0 members

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