This library provides the following:
* A system for creating controllers (looping processors that operate every N ticks). This includes hooks for initialization (upon creation, or in response to event hooks - see below), rebirth (after the previous controller crashed), and some code to cut out loop-related instructions and overhead if you use a controller for other purposes, such as logging.
* A system of controller indicators - these are objects displayed in a stat pane that represent the status of the controller, and onto which you can add verbs for controlling the linked controller. Included are a basic indicator with reset/start/stop verbs, and an advanced indicator for the logger, below.
* A logging library that uses byond's SQLite database to keep log information available without (I hope) using egregious memory on the DM server. The logger is a controller, and it has an indicator with verbs to allow you to display log data. Logging functions are collected on the controller, eg, Log.warning("Mob out of bounds",rogue_mob)
* A system of delegates (callbacks/stored procedures) for storing all the information necessary to call a proc in an object
* A hook system using the delegates and controller, so you can trigger multiple delegate calls based on a single event eg, Event.callback(/hook/world_loaded), or Event.callback(/hook/player_death,dead_mob)
* A secure linking library using delegates to avoid passing function parameters over insecure byond:// links. This closes numerous security vulnerabilities while hopefully being usable and readable.
This is not entirely finished but it is workable.
Controller |
|
Utility library for callbacks, controllers, and logging |
Copyright © 2025 BYOND Software.
All rights reserved.