EEL (Enhanced Execution Layer) is an addon designed to make Garry's Mod addon development a breeze. With EEL, you can quickly run Lua commands, interact with entities, and automate repetitive tasks with ease. Whether you're a seasoned developer or just getting started.
Lua executed via el_run
and other commands will attempt to return not only the result but also the function definition along with its parameters. This aids in understanding how the function operates and assists in debugging.
If a command returns a vector (position), EEL will visually display it. If it returns an entity, EEL will highlight it in the game, even if the entity is server-side only.
The el_run
command allows you to execute Lua code effortlessly. Itβs semi-smart, meaning it will try to automatically resolve nil variables by mapping them to common references:
me
/self
- The player who calls the function.wep
- Your current weapon.trace
- Eye-trace data.this
/that
- The entity you're looking at.here
- Your current location.there
- The location you're aiming at.near
- The nearest entity to the location you're aiming at.ent<id>
- Will return the entity with the given id.ent0
is the same asEntity(0)
.prox<distance>
- All entities near your aim position, at a range you put in. Distance defaults to 128 if none is given.
If the command encounters an unknown variable, it will search in the following order:
- Player names
- Entity class names
- Entity names
- Entity models
- Nearest matching entity
Example:
el_run nak:SetPos(there)
Show all commands
This is the clientside equivalent of el_run, enabling you to run Lua code on the client.
The el_sealed command runs Lua code within a custom environment, giving you more control and isolation.
Clientside version of el_sealed.
Feeling lazy? The el_lazy command automatically fills in parentheses for you. For example:
el_lazy me:SetPos there
Is the same as:
el_run me:SetPos(there)
Clientside version of el_lazy.
This command deletes all entities of a given class on the map. It also tries to autofill nearby entities for convenience.
Spawns a specified number of entities. By default, it spawns one entity.
EEL uses "CAMI" to integrate with admin-mods, giving you control over who can use these powerful commands. By default, these commands are only accessible by superadmins.
- Download the latest release as a
.zip
file. - Extract the contents of the
.zip
file. - Move the extracted folder into your Garry's Mod
addons
directory.
The final path should look like this:garrysmod/addons/eel/
- Ensure that the
eel
folder contains thelua
folder and other necessary files for the addon. - Restart your server or client to load the addon.
Feel free to fork this repository and submit pull requests. For major changes, please open an issue first to discuss what you would like to change. License
This project is licensed under the GNU General Public License v3.0. You can view the full license in the LICENSE file.
For more details, see https://www.gnu.org/licenses/gpl-3.0.html.