Things to install...
- Skyrim (LE)
- Skyrim (VR)
- Skyrim AE with Creation Club content
- Skyrim AE without Creation Club content
| <?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" |
| 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 |