Fallout New Vegas
0 of 0

File information

Last updated

Original upload

Created by

JazzIsParis and Xilandro

Uploaded by

Xilandro

Virus scan

Safe to use

About this mod

K̵̡͍̙̥͖̥̜͆̒̀͌͊̿͑̂̈́̄͒͝Ȩ̴̹̖̱̩̲̍͆̂̾̓̓͌̆͂̈̃͑̌͆́̈́̏͒͝Y̵̧̺̯̙̳̱̫̘̺̽̂͌͒̽͛̍͘͠W̷̢̗̲̪̳̯̬̲͓̞̘̘͚̝̠̤̾̔̑͛͝ͅỎ̶̧̧̰̺͖̹̭̪͔̞̻̼̝̟̞̤̗̏R̵̡͚̣̯̘̗̤̜̬̦͉͒̀̄̔̀̊̾̎͛̀̔̇̕͝D̸̨͈̮̱̗͚͉̤͉̗̉̃̅͆̽͊͌̑̏͒̇͑̃͂̈́͘̕͠S̴̑̎͂̉̋̈̎

Requirements
Permissions and credits

[DESCRIPTION]

    JIP LN NVSE Plugin in version 57.21 introduced KEYWORDS functionality
that allows quick and easy way to apply custom metadata to any game form,
which can then be referenced by any mod, with several scripting commands.

    This mod implements an ESPless framework to create, and automatically
load keywords
in a simple user-friendly way, via use of ini config files.

Also, in comparison to default lists, keywords have superior performance
.



[FEATURES]

   Easily add any number of keywords to any game object you can think of
Perhaps, you want to add "Harvestable" category to plants? Nothing to it.
Mark holographic attachments as "HoloSights" across dozens of mods? Easy.
Maybe, you want to add "Akimbo" to all Dual Wielding pistols? Sure thing.
Any keyword, on any object. With just a text file.                       

This framework comes packed with several keywords to serve as an example:
Spoiler:  
Show

All following Keywords are for FNV and TTW (including DLCs)             
Harvestable = added harvestable plants and mushrooms                    
NotDoor = added to all invisible doors or visually NOT doors.           
Lootable = activators that might give you items on activation.          
Buttons = all activators that visually have buttons. Yes.               





[ADDING KEYWORDS]

   Create new ini file, with a unique name, inside Data\KEYWORDS\ folder.
Then, open it with any text editor, and start adding your Keywords.      

There are 3 easy ways anyone can add new Keywords to anything in the game

First way, as a list of EditorIDs, under section [0]                     
Spoiler:  
Show

[0]                                                                      
BananaYuccaPickable=Harvestable                                          
WeapMMM6U=Revolver                                                       
; It also supports comma separated values for multiple keywords          
BobbleheadSTR=Bobblehead, Collectible, Figurine ; etc..                  



Second, as a list of KEYWORDS, under section [1]                         
Spoiler:  
Show

[1]                                                                      
Oogabooga=BigAndHeavyClubID                                              
; It also supports comma separated values for multiple EditorIDs         
Harvestable=BananaYuccaPickable, BrocFlowerPlant, CaveFungusPlant ; etc..
InvisibleDoor=BlackCaveDoor, BlackDoor, CaveDoor, CaveExitDoor ; etc..   
  InvisibleDoor=NVCCBarge, NVCGBlackCaveDoor, NVCGInvisibleCaveDoor ; INVALID
 ; ^^^ Do not repeat same Keywords in multiple lines, only ONE will be read



Third, as numerical list of EditorIDs, under [YOUR_KEYWORD] section      
Spoiler:  
Show

[InvisibleDoor]                                                          
0=BlackCaveDoor                                                          
1=BlackDoor                                                              
2=CaveDoor                                                               
3=CaveExitDoor                                                           
4=CaveTunnelDoor                                                         
5=NVCGBlackCaveDoor                                                      

[Harvestable]                                                            
0=BananaYuccaPickable                                                    
1=BananaYuccaPickableWestside                                            
2=BarrelCactusPickable                                                   
3=BrocFlowerPlant                                                        
4=WhiteHorseNettle                                                       
5=XanderRootPlant                                                        
; etc..                                                                  




[USING KEYWORDS]

Scripting examples to check if an object has a keyword you're looking for
Spoiler:  
Show
 ________________________________________________

if HasKeyword rSomeRef "InvisibleDoor"         
     ; Success! This is in fact an invisible door!
endif                                          
 ________________________________________________

   int iButtons = HasKeyword rSomeObject "HasButtons"
if iButtons                                    
; Success! This rSomeObject has buttons!
if HasKeyword rSomeObject "Console"     
; Success! This is console!       
      elseif HasKeyword rSomeObject "ElectricSwitch"
    ; Success! This is an electric switch!
endif                                   
else                                           
; Nope, doesn't have buttons.            
endif                                          
 ________________________________________________

List of JIP LN Keyword functions (undocumented)
(0/1) HasKeyword form:form, "keyword:string"   
(array(form)) GetKeywordForms "keyword:string" 
AssignKeyword form:formOrList, "keyword:string"
 ________________________________________________




[REQUIREMENTS]

xNVSE version 6.3.3 or higher
JIP LN NVSE version 57.21 or higher
JohnnyGuitar NVSE version 4.93 or higher
Very recommended for ScriptRunner mods:
Improved Console version 1.6 or higher




[INSTALLATION]

Install all required mods first, then this one. Or the mod will not work.
Install it with mod manager or manually by copying files into data folder
Uninstallation: do the same with mod manager (or manually) but in reverse



[The "WHY"]
Fair warning, ton of text.
Spoiler:  
Show

   Oh how many times I've been thinking "I wish we had extra categories",
when I was writing long and cumbersome "just for me" inis with EditorIDs,
ton of values, and was envious of Skyrim and Fallout 4 keywords, while we
had nothing like that, even though it's a solid and very useful feature. 

   And oh how many times I've seen scripters filling their code with tons
of if statements checking values on item, praying it won't fail to return
exactly what they are looking for. "Is this a metal armor or some bikini?
If it's a light armor, why its rating is so high? What is it then? How do
I tell? What should my mod do with it? Do I apply my changes or not? Man,
I wish we had some extra categories for standardization!"
                

   Dozens and dozens of such example. And probably everyone had something
similar happen to them at some point while modding. For me, the last drop
was inability to check activators without some sketchy code. Specifically
radios, harvestable plants, and switches. And not for the first time too.
It was annoying, and required either unreliable code, or reusing old mods
data over and over and over again. Or, what's worse, creating master file
as a resource and just use formlists...                                  

   Now you wonder, why not do exactly that? Well, because nobody wants to
use lists from masters files. People usually don't even use vanilla ones.
Game's out for more than a decade and even base things aren't categorized

   With KEYWORDS mod - it's independent from ESP(M) mods, simple to apply
not only by authors, but mod users without past modding knowledge at all.
Mod also expands possibilities for ESPless mods and kNVSE animation sets,
allowing them to get and use more data with less code.                   

   There's been a discussion if this mod is even feasible, but I strongly
believe standardization with simplicity might be successful. Removing the
annoying part from the equation, opening it up to wider audience, and who
knows. It might work. So, I asked Jazz to make Keywords functions for me,
even though auxvars exist, that could've been used in the similar manner.
Because I also believe that making something into an ini isn't enough. It
has to be also stripped down to it's bare minimum, syntactically as well.

  So, will this work? I don't know. It entirely depends on the community.
I know I'll use it. Already do in an upcoming B42 Interact mod. And if it
fails? Oh well, I'll know I tried. But I doubt it'll fail. I've witnessed
people making dozens of patches for much more difficult mods. And patches
for my own mods: Dropmag, Optics, ISControl, Descriptions (which is HARD)
So yeah. All we need is some dedicated fella with an idea - how it should
all be categorized and standardized. So, how will it go - time will tell.




[CREDITS]

Jazzisparis, for making this mod possible, and investing so much into FNV
Bethesda, for the engine
Obsidian, for New Vegas

Armed Forces of Ukraine, for keeping me alive and safe

Слава Україні!