treescrub / acornlib Goto Github PK
View Code? Open in Web Editor NEWA lightweight modular Squirrel framework for Left 4 Dead 2 VScripts.
License: MIT License
A lightweight modular Squirrel framework for Left 4 Dead 2 VScripts.
License: MIT License
The logger module should log some extra info (such as module name, version, etc.) if the caller script is a module.
This has no reason to exist as is, the script name can be used in its place.
Split ScheduleTask into seperate functions for repeating tasks, timestamp tasks, and delayed tasks.
You should be able to set a file log level at which the logs will be saved to a file.
AddCustomConvar has a 1 tick delay before the convar is actually created due to SendToServerConsole.
Currently there is no simple way to log messages with a custom log level. Either a function should be added for each custom log level, or there should be a generic log function that takes a message and the level.
The module should allow creation of custom convars (using setinfo cvar value), with listeners for when convars change.
Tasks with the repeat option do not reset their time when repeating, causing them to execute every tick after reaching the scheduled time.
RegisterTickFunction should return an ID number instead of a function to make it easier to understand and print.
Automatically generate a help chat command for a specific module
Add example scripts for each module, maybe write/rewrite a somewhat complicated mutation.
Instead of having the arguments as variables in the same scope as the function, take an array of the arguments and pass them directly to the function as parameters.
RefreshModule will only return false if LoadModule fails, and otherwise will return null. It should return false if either LoadModule or UnloadModule failed, true otherwise.
Use github pages for detailed documentation of AcornLib and base modules.
Keep a list of references associated with module/script name in callbacks, timing, etc. Provide a function to free all resources.
Dependencies are loaded before the module table is inserted into modules. This causes an infinite loop of dependency loading.
Add an option for command aliases
RemoveTickFunction, RemoveConvarListener, RemoveKeyCallback, RemoveCommand are the functions that should allow removal by scope.
When a module is unloaded, its dependencies should also be unloaded if no other modules depend on them.
Add an option for a module to enable buffering with normal print output.
Instead of spawning a logic_timer in order to get function calls every tick, use worldspawn and AddThinkToEnt or similar.
Add some info about required/optional variables in module scripts
Currently the logger location regex assumes folders will be word characters or whitespace. It also assumes the calling script will be an actual script, as opposed to an anonymous script (for example, a script parsed and executed using the "script" command)
Add a parameter for tasks to bind the function to a scope
Allow dependencies to be an array instead of only a string. This might make it easier to read.
Currently HasModule, LoadModule, etc. checks the module table in a case sensitive way.
Add LoadModules, RefreshModules, and UnloadModules functions to manage multiple modules at once.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.