Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

NeverLost

Uploaded by

MrNeverLost

Virus scan

Safe to use

About this mod

NL_CMD is an advanced papyrus framework created for the purpose of supporting the addition of new console commands to Skyrim SSE.

Requirements
Permissions and credits
Changelogs
Donations



Description:

Summary

NL_CMD is an advanced papyrus framework created for the purpose of supporting the addition of new console commands to Skyrim SSE. From day one it was designed with accessibility in mind, providing easy-to-use functions to simplify console - papyrus communication. Registering and unregistering new commands is almost as easy as registering for plain old, vanilla papyrus events, and argument parsing is built-in from the get-go.

Notably the mod has no additional dependencies besides SKSE and should always be compatible with every game version that SKSE supports.

Key Features

  • Actual support for new console commands
  • In-game help documentation
- Supports individual command descriptions
  • Argument parsing support
- Supports all the basic types: bool, int float, form, string
- Parsing is done automatically, all you need to do is define the callback types!
  • Built-in SendModEvent functionality
    - Ever wanted to send mod events directly from the console? Now you can.
  • Built-in console API
- Clear the console
- Print to console
- Execute native console commands
- Get the last console command
- Get the current console selection
- Set the current console selection
- All without any .dll dependencies!
  • Advanced command registration
- Register and unregister commands on the fly - in-game!


For Users:

As a user, you only need to download the main file to ensure that your load order supports mods using the NL_CMD framework. Alternatively, mod authors might have already bundled NL_CMD together with their own mod, in which case you can download the main file and overwrite their version to ensure you are always running the latest version of NL_CMD.

Running Commands

NL_CMD console commands are always prefixed with the "nl_cmd" prefix in-game. Therefore, if you for example wish to run a command named "hello" you would have to type:
nl_cmd hello

In some cases, commands might also require arguments to run, in which case they can be provided using the following syntax:
; Given a command defined as "say hello to(string)"
nl_cmd say hello to(Peter)

; Given a command defined as "spawn form(form,int)"
nl_cmd spawn form(0x00013BBF;1)

As you might have already noticed, it's worth pointing out that the syntax for calling/running a command is slightly different from when it's defined.
In the case of calling/running a command the ';' character is used to separate supplied variables. In definitions on the other hand, the ',' character is instead used to separate variable types.

This is why spawn form is defined as:
nl_cmd spawn form(form,int)

but called as:
nl_cmd spawn form(0x00013BBF;1)

Built-in Commands

NL_CMD comes off-the-shelf with 3 commands built-in:

; Print help
nl_cmd help

; Print command list
nl_cmd help commands

; Send a modevent
nl_cmd SendModEvent(eventnamehere;stringarg;floatarg)

Load Order

Preferably overwrite the NL_CMD files in any other mods that redistribute the files.


For Mod Authors:

Creating a mod using the NL_CMD framework is as simple as extending the nl_mcm_module.psc base script in your own script and registering the commands you want to add. For examples on how to do this check the API documentation and the Github examples.