0 of 0

File information

Last updated

Original upload

Created by

SkyMP Team

Uploaded by

pospelovv

Virus scan

Safe to use

Tags for this mod

About this mod

Papyrus-VM is a reimplementation of Bethesda's Papyrus programming language. Unlike the original use in game scripting, our project allows you to embed Papyrus into your apps, enabling versatile scripting capabilities.

Permissions and credits
PapyrusVM is part of SkyMP project.









Papyrus-VM: Unleashing the Power of Bethesda's Papyrus Programming Language
Scriptname Test
Function Print(String s) native global
Function Main() global
Print("Hello Papyrus!")
EndFunction

I'm excited to share Papyrus VM with you. It's a new tool that lets you use Bethesda's Papyrus programming language outside of games. You can now use it like any other language in your own applications.

Features
1. Easy Embedding: Papyrus-VM can be seamlessly integrated into your applications, allowing you to use Papyrus scripts just like you would use C++, TypeScript, or any other language.
2. Event-Driven Programming: Similar to game development, Papyrus is perfect for event-driven programming. You can easily map game events to functions and build robust and interactive applications.
3. Multi-Platform: Given its lightweight nature and flexibility, Papyrus-VM can be used on any platform that supports C++.
4. Native Function Support: The Papyrus-VM allows you to register your own native functions, enabling a seamless interaction between the Papyrus scripts and the underlying system.

How to Use Papyrus-VM.exe
papyrus-vm.exe is a command-line interface (CLI) for interacting with Papyrus-VM. Below, you'll find a step-by-step guide on how to use it.
1. Launch the interpreter: Open a command prompt or terminal window, navigate to the directory containing `papyrus-vm.exe`.
2. Running a Script: The general format to run a Papyrus script is as follows:

   > ./papyrus-vm.exe %script_path% %class_name% %function_name%
   
   In the above command:
   - script_path: This is the path to your Papyrus script file.
   - class_name: The name of the class within the Papyrus script file that contains the function you want to call.
   - function_name: The name of the function within the class that you want to call.
   For example, if you have a script at `./scripts/test.pex`, with a class `TestClass` and a function `testFunction`, you would run it like so:
   
   > ./papyrus-vm.exe ./scripts/test.pex TestClass testFunction

Questions or feedback about Papyrus VM? Please reach out - it's a work in progress and your input helps us improve. Check the source code on GitHub - it's part of a larger project. To use it, simply copy and paste the necessary files into your app. Happy coding!