Jump to content

Recommended Posts

NVSE Extender (aka NX)

View File

This is a plugin for NVSE, providing new script functions for modders.

 

!!! FOMM REQUIREMENT !!!

This FOMOD install requires my custom FOMM build from right here @ loverslab. The original/vanilla FOMM will not install executable files like dll's. At least, if I remember correctly, it won't. I don't know if NMM will install them either.

 

Extender Version: 18

Released: 5-Jan-2019

 

Requires NVSE 4.5.7 or later

 

Project source code: nvse extender. Send myself or jaam a message here or there if you'd like to contribute to the project. We are both admins.

 

What does it do?

NVSE Extender provides additional functions available to modders. Some will provide information via the console as well. It uses the save/load notifications to save (and load!) its data whenever the game is saved.

 

How do I install it?

Download the FOMOD for the version you want and install it with FOMM. You do not need the other files, and you only need ONE fomod.

 

Advanced users:

 

 

 

Manually extract the fomod with 7z. Copy DLLs to data/nvse/plugins/

 

 

 

What functions are available?

There are many functions available. I need to redo this documention to list and explain them all.

 

Current implemented function list:

 

 

 

(ref.)NX_GetSkeletonPath

Available since: V16

- Returns the skeleton path for the actor reference. For example, returns "_male" for humans, "NVBigHorner" for big horners, etc.

 

NX_GetRandom

Available since: V14

- Takes two integer arguments (x and y) and returns a random value from x to y, inclusive.

 

NX_GetVersion

Available since: V1

- Returns an integer representing the version (release #), starting from 1.

 

int (ref.)NX_IsUsingSkeleton name:string (actor:ref)

Available since: V1 Fixed in V6, thanks Ashmedai

- Given a skeleton name fragment and an actor reference (player, NPC, or creature), returns the 1 if the actor is using a skeleton in that directory, 0 otherwise. The directory fragment must match the subdirectory under meshes, and is not case sensitive.

 


player.NX_IsUsingSkeleton "_male" ; will return 1player.NX_IsUsingSkeleton "nvgecko" ; will return 0RexREF.NX_IsUsingSkeleton "_male" ; will return 0RexREF.NX_IsUsingSkeleton "dog" ; will return 1
 

int NX_IsInList list:formlist item:object (recurse:int)

Available since: V1 Fixed in V5

- Given a formlist and an item (base object, reference, or dynamic reference), will return 0 if the item is not in the list at all, or a value greater than 0 indicating how the object was found. The recurse flag is an optional integer that should be 1 or 0. It is currently not implemented. In the future, it will search formlists contained within formlists.

 

0 : item not in list.

1 : item in list exactly.

2 : base form of item in list.

3 : item is a baseform of another item in list.

4 : base form of item is the same as base form of another item in list.

 

Take the following three vars:


set itemA to AcousticGuitarset itemB to player.placeatme AcousticGuitar 1set itemC to player.placeatme AcousticGuitar 1
 

And two formlists. List1 contains itemA, list2 contains itemB.

 

"NX_IsInList List1 itemA" and "NX_IsInList List2 itemB" will both return 1.

"NX_IsInList List1 itemB" will return 2.

"NX_IsInList List2 itemA" will return 3.

"NX_IsInList List2 itemC" will return 4.

 

Notes on the SetEV* and GetEV* functions:

1. The persist flag, as yet, does nothing. These values are saved with savegames will persist across game sessions.

 

2. The keys are NOT shared between types. You can safely store a float and a form both under the key 'my key' and they will not overwrite one another. Internally they are stored in entirely separate arrays (maps actually), one per "type."

 

(ref.)NX_SetEVFl key:string value:float (persist:int)

Available since: V3

- Stores a floating point value with a reference. 'key' is the name for the value used in the SET and GET functions. 511 character maximum.


playerREF.NX_SetEVFl "test value" 3.1415 0
 

Will create the variable 'test value', associated with the player, and set it equal to 3.1514. This is basically the same thing as an associative array in perl, php, java (via an object), etc. As yet, there is no key iterator.

 

(ref.)NX_GetEVFl key:string

Available since: V3

- Retrieves a floating point value set via the above syntax. Will return 0 if the value has never been set.

 

(ref.)NX_SetEVFo key:string value:form (persist:int)

Available since: V3 (Fixed in v9)

- See NX_SetEVFl above. This is the same, but stores a form instead (reference, base, or dynamic).

 

(ref.)NX_GetEVFo key:string

Available since: V3

- See NX_GetEVFl above. This is the same but retrieves a form.

 

(ref.)NX_GetConversationPartner

Available since: V7 Thanks a ton, jaam!

- Returns the current conversation partner if in a conversation AND the NPC initiated the conversation via StartConversation topic. Only makes sense when called on the player. Only works in MENUMODE blocks, as that is where conversations happen. To use in gamemode scripts, just create a menumode block that calls it fairly often and stores the result in a quest var that you can use in GAMEMODE blocks.


someref.startconversation sometopic; wait a bit, and be in a menumode blockref = player.NX_GetConversationPartner; ref now == someref
 

(ref.)NX_ClrEVFl key (match)

Available since: V9

- Clears out the key on ref.

- Match is optional. If set to 2, clears all keys starting with the one you specify, e.g. "mymod" will clear all keys starting with the string "mymod".

 

(ref.)NX_ClrEVFo key (match)

Available since: V9

- Same as NX_ClrEVFl, but for the form vars.

 

 

 

Can I include this with my mod, upload it elsewhere, etc?

Sure. You can do whatever you want with it.

 

If you screw up your players by installing an older version than they already have, you deserve a slap. If you upload it somewhere else and claim to be the author, you can field the bug reports and write the fixes, while rotting in hell.

 

I'm all about letting people do whatever they want with stuff I create, but be responsible about it and don't be a dick.

 

What does the future hold?

Many other functions are planned, they are discussed in the support thread.


  • Submitter
  • Submitted
    12/30/2013
  • Category
  • Requires
    fallout new vegas, NVSE, FOMM

 

Link to comment

File Name: NVSE Extender (aka NX)

!!! NOTICE !!!

For v11: Install the latest BETA of NVSE. As of now, that is NVSE V3 beta 2, available here.

For v12+: nstall the latest ALPHA of NVSE. As of now, that is NVSE V4 beta 1, available here.

 

 

Just to mention: The link for the V4beta1 leads to the old Extender 11 download-topic.

Link to comment

There is now a FOMOD packaged version of v12b1.

 

All new users should use the FOMOD package. If the support requests continue for people that can't read instructions and install correctly, I will remove the archive/zip versions. You more advanced kids know how to open a fomod and do a manual install anyway.

Link to comment

Oh right.. changes. New in v12b2:

 

- Notification hook for savegame deletion. Deleting a savegame will delete the NX datafile associated with it.

- Save renaming should work as well, though I can't find a way to actually do this in FONV, so it's untested.

- Initial SQLite support in place, hence the size jump. Before long, all savedata will be in the new savedata.db file (in data/nvse/plugins/extender) and the individual per-save files will vanish.

Link to comment

I use the last NVSE 4.2b2 (GetNVSEVersion returns 4) and all worked with NX11

 

I installed NX 12 with the fomod ( and using loverslab FOMM ) and when I launch my game I've a message 'Sexout requires NVSE Extender v11 but you have v0'.

 

What did I miss ? Perhaps NX is not working in the game but don't know how to test.

 

 

Let's go, I'm a newbie and missed the install of NVSE, was in 4b1 ^^

Link to comment

Updated the OP to reflect the fact that our latest build of NVSE is now 'official' and available at the silverlock site. The local NVSE beta has been taken down.

 

IMPORTANT

NX v11 requires NVSE v3 or newer, and NX v12 requires NVSE v4 or newer. Since NVSE v3 is no longer available anywhere, both versions of NX require NVSE v4.
Link to comment

So, now sexout is ready for the 4.2b2 and NX12+ ?

 

Any issues to be aware of? Things that might happen r/t the new NVSE and Extender so that I don't go posting on some poor soul's thread that something is wrong with their mod and it actually be because of recent changes to Sexout / NVSE / Extender.

 

I will be refreshing my data folder soon with new versions of my old favorites and some tasty new mods to boot.

Link to comment

Just about any version of NVSE or NX is fine with sexout, no gotchas with the latest stuff that I'm aware of. Both versions of NX that are available now require NVSE v3 or better, and that version isn't 'available' anymore, so it's v4 or nothing now (unless you already have v3).

Link to comment

Just about any version of NVSE or NX is fine with sexout, no gotchas with the latest stuff that I'm aware of. Both versions of NX that are available now require NVSE v3 or better, and that version isn't 'available' anymore, so it's v4 or nothing now (unless you already have v3).

Those latest versions of NVSE & Extender seem to be working for me just fine.

Link to comment

Just about any version of NVSE or NX is fine with sexout, no gotchas with the latest stuff that I'm aware of. Both versions of NX that are available now require NVSE v3 or better, and that version isn't 'available' anymore, so it's v4 or nothing now (unless you already have v3).

Cool and thanks. I am refreshing my game so I might as well use the newer versions of the files anyway even though I still have the older versions.

 

Those latest versions of NVSE & Extender seem to be working for me just fine.

Great Halstrom. Now I can be confident that SCR will work and be referenced properly without any issues.

Which reminds me we should update the sexout install guides with the new number, or people are liable to revert back to v2b12 :dodgy:

Also the actual mod that reference NVSE and the Extender should be updated as well...  hint hint. :P )

 

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use