API
Why can't I find all the documentation in this wiki?
Most of the documentation of functions in guthscpbase
are only present in the source code for two reasons:
As there is no documentation generator for the code documentation convention I use, it is less work to only maintain one side.
It allows you ─ as a (probably) future module developper, to fully understand the limitations and usage of the code behind these functions since you can directly read the source code at the same time that reading its documentation.
TLDR: usual developper laziness
Despite these reasons, I will try to write documentation in this wiki for important classes and systems as well as for tutorials. Unfortunately, this take time so if you find yourself having questions that this wiki can't answer, I encourage you to read the code or to contact me via a Github issue or Discord.
Source Code
Here you can find a short summary of each file purpose:
guthscp_main.lua
: addon's loader, contain functions for console logging & requiring folder and files
cl_init.lua
: client-side part of the base entity, contain the dynamic hand symbol's codeinit.lua
: server-side part of the base entityshared.lua
: usual shared entity file
cl_init.lua
: client-side part of the configuration system, mostly vgui related codehelpers.lua
: configuration helpers functions to create custom elementsshared.lua
: shared part of the configuration systemsv_init.lua
: server-side part of the configuration system
cl_sound_channel.lua
: client-side part of the custom sound systemcl_spawnmenu.lua
: custom spawnmenu
sv_player_speed.lua
: custom player speed modifiers systemsv_sound_channel.lua
: server-side part of the custom sound system
filter.lua
: base class to filter list of entities with specific constraintsmap_entities_filter.lua
: subclass to filter list of map entitiesplayers_filter.lua
: subclass to filter list of players, useful to manage a list of SCPs
data.lua
: utility functions for data files managementevent_handler.lua
: class to handle custom events listenersnpcs.lua
: managing a list of active NPCsplayer_message.lua
: utility function to draw a message at the bottom of the screen of a playersound.lua
: function to play a client soundteam.lua
: utility functions for getting active SCPs players & managing theTEAM_
namesworld.lua
: utility functions for using 3D space
loader.lua
: module loader system, handle everythingmeta.lua
: define theMODULE
class: its properties and its methods
helpers.lua
: utility functions for semantic versioningtable.lua
: utility functions for table manipulation
cptbase_shouldcollide.lua
: workaround for fixing CPTBase'sShouldCollide
hook conflictplayable_piano_playeruse.lua
: workaround for fixing Playable Piano'sPlayerUse
conflict
main.lua
: entry point of thebase
module, useful to get a real module examplesv_entity_breaking.lua
: custom entity breaking systemunit_test.lua
: development unit testing file, actually used forguthscp.helpers.compare_versions
&guthscp.event_handler
guthscp_label_icon.lua
: clickable vgui containing a left-anchored icon and a label
Last updated