Skip to content

Nak2/Eel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EEL β€” Enhanced Execution Layer

A developer power-tool for Garry's Mod. Run Lua from the console with smart variables, visual debugging, and context-aware autocomplete.

License: GPL v3 Garry's Mod


Table of Contents


Features

Code run via el_run tries to return a value as an expression first, then falls back to a statement. Return values are printed with type-aware formatting:

Type Output
Function Name and parameter list
Vector In-world crosshair marker
Entity Halo + label (works for serverside-only entities too)
Color Inline color swatch β–‰β–‰β–‰ in the console
Table Recursive key/value dump


Smart Autocomplete

Typing el_run in the console opens a tab-complete dropdown that resolves identifier chains through _G and metatables β€” get completions for things like NikNaks. or me:.

  • Dot access (.) β€” shows all members
  • Colon access (:) β€” shows functions only, ranking self-taking methods highest
  • Syntax errors β€” shown inline in the dropdown before you run the command

Environment Variables

The following shorthands are available in all el_run commands:

Player & World
Variable Description
me / self The player running the command
wep Your active weapon
ground Ground entity of what you're looking at, or your own if looking at nothing
world Entity(0) β€” the world entity
map The current map name
Spatial
Variable Description
here Your current position (Vector)
there The position your crosshair is hitting (Vector)
eye Eye position of what you're looking at, or your own (Vector)
fwd Forward direction of what you're looking at, or your own (Vector)
ang Angle of what you're looking at, or your own (Angle)
vel Velocity of what you're looking at, or your own (Vector)
Targeting
Variable Description
trace Full eye-trace result table
this / that The entity you're looking at
hp Health of what you're looking at, or your own if looking at nothing
near The nearest entity to your aim position
nearme The nearest entity to your own position
Dynamic Lookups
Pattern Description
ent<id> Entity by index β€” ent42 β†’ Entity(42)
prox<distance> All entities near your aim within distance units (default 128)
ply<name> Nearest player matching a partial name β€” plyNak
p Shorthand print β€” p(value) works mid-expression

Fuzzy entity lookup β€” If an unknown variable is used, EEL searches the map for a matching entity in order: player names β†’ entity classes β†’ entity names β†’ entity models β†’ nearest match.

-- Teleports the player matching "nak" to your crosshair
el_run nak:SetPos(there)

Commands

Execution

Command Description
el_run <code> Run Lua serverside
el_run_cl <code> Run Lua clientside
el_time <code> Run serverside and print execution time
el_time_cl <code> Clientside version of el_time
el_sealed <code> Run in a read-only environment β€” _G is not modified
el_sealed_cl <code> Clientside version of el_sealed

Lazy Mode

el_lazy fills in parentheses automatically and supports pipe chaining:

el_lazy here - eye + there | me:SetPos
-- equivalent to: el_run me:SetPos(here - eye + there)

el_lazy me:SetPos there
-- equivalent to: el_run me:SetPos(there)
Command Description
el_lazy <code> Lazy execution serverside
el_lazy_cl <code> Lazy execution clientside

Entity Utilities

Command Description
el_ent_spawn <class> [amount] Spawn entities at your aim position (default 1, max 100)
el_ent_remove_all <class> Remove all entities of the given class
el_ent_sequence Print all sequences for the entity you're looking at

Debug Mode

Command Description
el_debug_mode [0/1] Toggle the clientside debug overlay

When enabled, nearby entities are rendered with:

  • Collision mesh wireframe β€” actual physics hull from the server, drawn as a cyan wireframe
  • Entity info overlay β€” class, model, position, angles, velocity, physics state, animation data, health, render properties, materials, and more

debugmode


Permissions

EEL integrates with CAMI for admin-mod compatibility. All commands require superadmin access by default, configurable through any CAMI-compatible admin mod.


Installation

  1. Download the latest release (.zip)
  2. Extract the contents
  3. Move the folder into garrysmod/addons/ so the path is:
    garrysmod/addons/eel/
    
  4. Restart your server or client

Contributing

Pull requests are welcome.


License

Licensed under the GNU General Public License v3.0. See LICENSE for details.

About

Unleashing the power of the EEL! 🐍

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages