About this mod
xNVSE plugin that enhances the in-game console's abilities to be able to execute and print results from ALL available script commands. Full scripting support inside console, including creating variables and evaluating NVSE expressions (arrays, strings) for easy mod development and prototyping. Mouse wheel scrolling included too.
- Requirements
- Permissions and credits
- Changelogs
- Donations
An NVSE plugin. This mod requires xNVSE 6 or above.
>> Description
The console in Bethesda games is amazing, but has some pretty annoying limitations. For example, it is up to the person who created the command to determine if it should print it's result value or not. This means that a huge percentage of the commands available to use for scripting are useless in console and can't be used and tested during gameplay as they never print.
- Want to run GetModelPath on that selected gun you just found during gameplay? Not possible as nothing gets printed.
- Want to see a list of all the factions a character in-game is in? Sorry, you'll just have to open GECK, put the command in a script and restart the game to see.
With Improved Console, this is a non-issue. Improved Console makes scripting and prototyping a lot more convenient.
Improved Console unlocks the in-game console so that every function prints it's result value. It supports functions that return numbers, forms, strings and arrays and prints the results out in a clean, formatted manner. It is comparable to the Chrome developer console for JavaScript, CLING interactive interpreter for C++ or the Python shell, except now for Obscript. For more information, read up on REPL on Wikipedia.
For better understanding of what this mod does check the screenshots in the image section.
>> Scripting inside the console
Improved console enables you to be able to define variables inside the console, as if it was a regular script inside GECK. It also includes full support for NVSE type variables (array_var and string_var). Simply define the variable (i.e. enter "int myInteger"), then assign it and use it in the next commands (i.e. "set myInteger to 14" and "someFunction myInteger").
int iVar
set iVar to -14
abs iVar ; should print "(float) >> 14.0"
string_var svStr
let svStr := "hello world"
svStr[1:4] ; should print "ello"
You can enter any valid script expression into the console and it will evaluate the expression and print out it's result. For example any math expression will be valid.
5 + 5 ; will print out "10"
GameYear * 10 ; will print out "22810"
1 * (GetArmorDT ArmorCombat) * (GetAttackDamage WeapHuntingRifle) ; will print out "780"
>> Scrolling the console with the scroll wheel
You can already scroll the console using PageUp and PageDown, this mod will enable scrolling with the scroll wheel too as an extra feature.
>> Source code
Is available on GitHub
>> Also check out
- Console Paste Support - self explanatory
- Hot Reload - save scripts in GECK and see them reload instantly in-game
When you suggest a slightly ambitious idea as a newcomer in a modding Discord server