Git Product home page Git Product logo

bind's Introduction

Bind

Download Bind

Bind Papyrus Scripts On Game Load

Bind

Papyrus Development

This is a Developer Tool: for testing Papyrus scripts!

Usage

  1. Install Bind (it's an SKSE .dll compatible with SE/AE/GOG/VR)
  2. Create a Papyrus script

    if you want it to extend a Quest or ObjectReference, specify an extends

  3. Create a file Data\Scripts\Bindings\<your mod name>.txt
  4. Put the name of each of your scripts in the file, one line per script
    MyScriptOne
    MyScriptTwo
    
  5. Run the game!

    Each of your scripts will automatically be bound to a game object
    and the event OnInit() of each script will run

Specifying what to bind the script to.

If you create scriptName Whatever extends Quest, it will bind to an generated quest.

If you create scriptName Whatever extends ObjectRefenrence, it will bind to a generated object.

If you create scriptName Whatever extends Actor, it will bind to the Player.

If you want to extend a specific object, see the v1 details below for this release.

SomeScript 0x123
SomeScript AnEditorID

Logs

ℹ ️ If you run into any problems, check the SkyrimScripting.Bind.log in your
My Games\Skyrim Special Edition\SKSE\ folder.

v1

The goal for v1 is to be as minimal as possible:

  • Bindings are defined in Scripts\Bindings\
  • Each file should contain 1 line per desired "binding" (attach script to something)
  • Support for binding to objects by Form ID
    NameOfScript 0x14
    
  • Support for binding to objects by Editor ID
    NameOfScript dlc1serana
    
  • Support for binding to the Player (as an Actor Form, not a ReferenceAlias)
    NameOfScript $Player
    
  • Support for binding to an anonymous/generated Quest
    NameOfScript $Quest
    
  • Support for binding to an anonymous/generated Quest with a provided editor ID
    NameOfScript $Quest(MyCoolQuest)
    
  • Support for binding to an anonymous/generated ObjectReference
    NameOfScript $Object
    

    Objects are ALWAYS placed in the WEMerchantChests cell. This is not configurable.

  • Support for binding to a generated ObjectReference of a specified base Form ID
    NameOfScript $Object(0x7)
    
  • Support for binding to a generated ObjectReference of a specified base Editor ID
    NameOfScript $Object(FoodSweetroll)
    
  • Support for determining what to bind to automatically based on script extends
    NameOfScript
    
    scriptName NameOfScript extends Quest ; Anonymous Quest
    scriptName NameOfScript extends Actor ; Player
    scriptName NameOfScript extends ObjectReference ; Anonymous Object
    scriptName NameOfScript extends CustomType ; CustomType parent(s) checked
  • Binding to objects from mods (if you don't know the full Form ID) is not supported in v1
  • Nothing is configurable
Future Planned Version Features

v1.1 Champollion support (Planned)

This has not yet been implemented but is planned for the next release.

  • Read every .pex (file mtime support)
  • Auto register any including this comment:
    scriptName Whatever
    {
      BIND: Player
      BIND: $NewQuest$
    }
  • Or Simply
    scriptName Whatever
    {BIND}

bind's People

Contributors

mrowrpurr avatar

Stargazers

 avatar  avatar  avatar  avatar

bind's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.