Things to install...
- Skyrim (LE)
- Skyrim (VR)
- Skyrim AE with Creation Club content
- Skyrim AE without Creation Club content
ScriptName [Properties...] | |
FunctionName [Arguments...] | |
ScriptName *Selector* | |
EventName [Event Conditions] FunctionName [Arguments...] | |
ActionName [Argments...] | |
... AND WICKED BADASS PAPYRUS FUNCTIONS | |
# ------------------------------- |
void BindObjectToScript() { | |
ConsoleLog::GetSingleton()->Print("Binding the BindMe script..."); | |
auto* character = PlayerCharacter::GetSingleton(); | |
auto* vm = VirtualMachine::GetSingleton(); | |
auto* handlePolicy = vm->GetObjectHandlePolicy(); | |
auto* bindPolicy = vm->GetObjectBindPolicy(); | |
// Force load the BindMe script | |
vm->linker.Process(BSFixedString("BindMe")); |
#include <SKSE/SKSE.h> | |
#include <RE/C/ConsoleLog.h> | |
extern "C" __declspec(dllexport) bool SKSEAPI SKSEPlugin_Load(const SKSE::LoadInterface* skse) { | |
SKSE::Init(skse); | |
SKSE::GetMessagingInterface()->RegisterListener([](SKSE::MessagingInterface::Message* event){ | |
if (event->type == SKSE::MessagingInterface::kDataLoaded) { | |
RE::ConsoleLog::GetSingleton()->Print("Hello from mod."); | |
} | |
}); |
{ | |
"version": 3, | |
"configurePresets": [ | |
{ | |
"name": "base", | |
"description": "For more information: http://aka.ms/cmakepresetsvs", | |
"hidden": true, | |
"generator": "Ninja", | |
"binaryDir": "${sourceDir}/out/build/${presetName}", | |
"installDir": "${sourceDir}/out/install/${presetName}", |
namespace | |
{ | |
class MyCallback : public RE::BSScript::IStackCallbackFunctor | |
{ | |
public: | |
MyCallback() {} | |
void operator()(RE::BSScript::Variable a_result) | |
{ | |
// DO SOMETHING! | |
} |
<?xml version='1.0'?> | |
<PapyrusProject xmlns="PapyrusProject.xsd" | |
Flags="TESV_Papyrus_Flags.flg" | |
Game="sse" | |
Output="Scripts" | |
Anonymize="false" | |
Optimize="false" | |
Release="false" | |
Zip="false" | |
Package="false" |
require "fileutils" | |
FileUtils.rm_f "move_cc_files.bat" | |
BATCH_FILE = File.open "move_cc_files.bat", "a" | |
def append(line) | |
BATCH_FILE.write "#{line}\n" | |
end |
event OnInit() | |
int formId = GetOwningQuest().GetFormID() | |
int modIndex = Math.RightShift(formId, 24) | |
if modIndex == 0xFE | |
int lightModIndex = Math.LogicalAnd(Math.RightShift(formId, 12), 0xFFF) | |
Debug.MessageBox(Game.GetLightModName(lightModIndex)) | |
else | |
Debug.MessageBox(Game.GetModName(modIndex)) | |
endIf | |
endEvent |
import { printConsole, Game } from "skyrimPlatform" | |
import { getFormInfo } from "./FormInfo" | |
export default function StartRuntime() { | |
// ESPFE | |
const justDesserts = Game.getFormFromFile(0x801, "JustDesserts.esp") | |
const justDessertsInfo = getFormInfo(justDesserts!) | |
printConsole(JSON.stringify(justDessertsInfo)) | |
// Prints out: {"modName":"JustDesserts.esp","relativeFormId":2049} |