Releases: SkyrimScripting/Bind
🦃 Thanksgiving 2024
Nov 24, 2024
🦃 Thanksgiving release
Built using NG as of CharmedBaryon/CommonLibSSE-NG@b93280e
The previous release might have worked too, but I wanted to:
- Update
BIND
's build files to use the latest Skyrim CommonLib packages from https://github.com/SkyrimScripting/Packages- Build it and make sure it runs (which it does, but it might've already run)
I tested on Skyrim 1.6.1170.0
but it might possibly work for higher versions, if there are any at this time.
"They remember..." 🦖
v1.1.1
Same as v1.1
with the following added features:
- script binding now runs on
coc
again - scripts bound to named quests are remembered, they won't be bound to quest they've already been bound to
- if a quest with the provided name already exists, a new quest will not be created
NameOfScript $Quest(MyNewCoolQuest)
NameOfScript $Quest(ExistingCoolQuest)
Total of 243 Lines of Code
Below are the
v1.1
features
v1.1
Same as v1
with the following added features:
- scripts are not bound to forms, if the form already has a script attached with the same name.
- script binding runs on these events: new game, game loaded
- This means that BIND no longer runs on
coc
events - you must quick save and load to run BIND
- This means that BIND no longer runs on
Total of 212 Lines of Code
Below are the
v1
features
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 aReferenceAlias
)NameOfScript $Player
- Support for binding to an anonymous/generated
Quest
NameOfScript $Quest
- Support for binding to an anonymous/generated
Quest
with a provided editor IDNameOfScript $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 IDNameOfScript $Object(0x7)
- Support for binding to a generated
ObjectReference
of a specified base Editor IDNameOfScript $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
- Nothing is configurable
.dll
and.pdb
provided ~v1.1
is now compiled inreleasedbg
To install, install normally as a mod using your preferred mod manager
v1.1 - KISS (Only bind once)
v1.1
Same as v1
with the following added features:
- scripts are not bound to forms, if the form already has a script attached with the same name.
- script binding runs on these events: new game, game loaded
- This means that BIND no longer runs on
coc
events - you must quick save and load to run BIND
- This means that BIND no longer runs on
Total of 212 Lines of Code
Below are the
v1
features
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 aReferenceAlias
)NameOfScript $Player
- Support for binding to an anonymous/generated
Quest
NameOfScript $Quest
- Support for binding to an anonymous/generated
Quest
with a provided editor IDNameOfScript $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 IDNameOfScript $Object(0x7)
- Support for binding to a generated
ObjectReference
of a specified base Editor IDNameOfScript $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
- Nothing is configurable
.dll
and.pdb
provided ~v1.1
is now compiled inreleasedbg
To install, install normally as a mod using your preferred mod manager
v3 - {!BIND}
3.0
no longer supports the Bindings/
folder
All binding is now done via "docstring" comments on scripts:
scriptName HelloActor extends Actor
{!BIND HodRef|$Player}
v2.1- {!BIND}
v2 - {!BIND}
v2
v2
has the same features as v1
except you no longer need to create a Scripts\Bindings\
folder.
Simply annotate your scripts by including !BIND
commands into the script's top-level comment:
scriptName BindToSomeActors extends Actor
{
!BIND HodRef
!BIND SvenRef
!BIND HildeRef
}
scriptName BindToThePlayer extends Actor
{!BIND}
scriptName BindToNewQuest extends Quest
{!BIND $Quest(CoolEditorID)}
v1
Features (included)
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 aReferenceAlias
)NameOfScript $Player
- Support for binding to an anonymous/generated
Quest
NameOfScript $Quest
- Support for binding to an anonymous/generated
Quest
with a provided editor IDNameOfScript $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 IDNameOfScript $Object(0x7)
- Support for binding to a generated
ObjectReference
of a specified base Editor IDNameOfScript $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
- Nothing is configurable
v1 - Easy Papyrus Scripts!
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 aReferenceAlias
)NameOfScript $Player
- Support for binding to an anonymous/generated
Quest
NameOfScript $Quest
- Support for binding to an anonymous/generated
Quest
with a provided editor IDNameOfScript $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 IDNameOfScript $Object(0x7)
- Support for binding to a generated
ObjectReference
of a specified base Editor IDNameOfScript $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
- Nothing is configurable