Difference between revisions of "Category:NVC"
Jump to navigation
Jump to search
various edit
imported>Speedo (more info...) |
imported>Speedo (various edit) |
||
Line 32: | Line 32: | ||
The way NVC stores values can be thought of much like how your computer's hard drive stores files. Each value is identified by three characteristics: key (or name), location, and type (int/float/ref). | The way NVC stores values can be thought of much like how your computer's hard drive stores files. Each value is identified by three characteristics: key (or name), location, and type (int/float/ref). | ||
The container itself is essentially like the root of the drive (C:\). You may store values here if you wish, but you may also create child containers (like folders) within the container. | The container itself is essentially like the root of the drive (C:\). You may store values here if you wish, but you may also create child containers (like folders) within the container. One difference is that NVC seperates values within a container by type, so at any level it is perfectly valid to have values of different types which share the same key and location. | ||
The names of both values and child containers are case sensitive. | The names of both values and child containers are case sensitive. | ||
There is no limit on the how many child containers or values may be created within a container (other than available memory), however for speed it is recommended keep the number of child containers to a minimum. | There is no limit on the how many child containers or values may be created within a container (other than available memory), however for speed it is recommended to keep the number of child containers to a minimum. | ||
===String Input=== | ===String Input=== | ||
Because string input is so important when trying to give values actual names, this plugin supports string variables from OBSE, Pluggy and TSFC. When a NVC function needs to take string input, you will typically see a pattern like | Because string input is so important when trying to give values actual names, this plugin supports string variables from OBSE, Pluggy and TSFC. When a NVC function needs to take string input, you will typically see a pattern like: | ||
FunctionName Input:string ''StringSource:int InputStrID:int'' | FunctionName Input:string ''StringSource:int InputStrID:int'' | ||
If you wish to give the function input as a '''string constant''' (that is, a string that you actually type | If you wish to give the function input as a '''string constant''' (that is, a string that you actually type into the editor when writing a script), you need only worry about the first parameter. For example: | ||
FunctionName "Hello World!" | FunctionName "Hello World!" | ||
Line 67: | Line 67: | ||
====Mixing Sources==== | ====Mixing Sources==== | ||
If a function requires multiple strings for input, | If a function requires multiple strings for input, they '''must all be from the source'''. You may not get one string from Pluggy and another from TSFC, use one string constant and get one string from OBSE, or any other combination. | ||
== | ==Miscellaneous== | ||
*Active NVC data is saved in the .obse save file. | *Active NVC data is saved in the .obse save file. | ||
*Container information will persist in the save (and be loaded into the game) until either that container is deleted, or the owning esp is unloaded. | *Container information will persist in the save (and be loaded into the game) until either that container is deleted, or the owning esp is unloaded. | ||
* | *While the speed of NVC containers has not been fully tested, they generally should not be used in loops or other situtations where they will be heavily accessed (instead, prefer Pluggy arrays). | ||
[[Category: Functions|Z]] | [[Category: Functions|Z]] | ||
[[Category: Functions (OBSE)]] | [[Category: Functions (OBSE)]] |