mirror of
https://github.com/kidfearless/output-info-plugin.git
synced 2025-12-06 18:08:23 +00:00
Output Info alternative based off stripper dumps
Stocks have been updated to use the any[] versions. Entity enum structs can be passed directly through the natives if desired. |
||
|---|---|---|
| plugins | ||
| scripting | ||
| .gitattributes | ||
| README.md | ||
Stripper Dump Parser
Stripper Dump Parser is a mostly extension free alternative to slidybat's OutputInfo extension. Stripper Dump Parser processes dump files into single like keyvalues containing information relevant to the entities outputs. From there it's processed and cached into enum struct objects that can be accessed through natives and stocks. As part of being an alternative to OutputInfo, all of the natives provided by the extension are available as stocks.
Requirements
stripper_dumpfunctionality either from Stripper:Source or Level KeyValues StripperSourcemod 1.10for enum struct support
ConVars
sm_dump_parser_enabled- If 0 disables the plugin entirely. Stopping it from creating dumps and caching data.sm_dump_parser_nocache- If 0 only parses dump files, does not cache values.
Enum Structs
Output- Contains the Output, Target, Input, Parameters, Delay, and Once as members.Entity- Contains the Hammer ID, Wait value, Classname, and an ArrayList of it's Outputs.
Stocks/Natives
bool GetDumpEntity(int index, Entity ent)- Retrieves a copy of the 'Entity' enum struct for the given index.bool GetDumpEntity2(int hammerid, Entity ent)- Retrieves a copy of the 'Entity' enum struct for the given hammer id.bool IsDumpReady()- Returns whether or not it's safe to call any stocks/natives
Forwards
void OnDumpFileReady()- Fired when either JSON Dump file is found or is fully parsed.void OnDumpFileProcessed()- Fired when everything is processed and it's safe to call natives.
Limitations
- Cannot retrieve outputs from an entity that are given at run time.
- Calling the OutputInfo stocks are probably very slow and not recommended
- Cannot pass enumstructs directly through natives, so they are passed through an ArrayList instead.