Garrysmod Lua Dumper & Runner, escrito en Rust.
C:Users<User>autorunlua_dumps<ServerIP>..
(asincrónicamente para evitar retrasos de E/S)lua_run
y lua_openscript
en una consola externaautorun.lua
), para desviar y evitar cualquier 'antitrampas'autorun/logs
)autorun/plugins
)La ejecución automática también se puede utilizar como complemento de menú/se requiere de lua automáticamente desde el estado del menú.
gmsv_autorun_win<arch>.dll
en su carpeta garrysmod/lua/bin
.require("autorun")
en la parte inferior de garrysmod/lua/menu/menu.lua
El método tradicional (pero más inconveniente) para usarlo es simplemente inyectarlo.
La ejecución automática incluye scripthook, lo que significa que ejecutaremos su script antes de que se ejecute cualquier otro script de garrysmod para verificar si desea que el código se ejecute ejecutando su propio script de gancho. *Esto se ejecuta en un entorno separado de _G
, por lo que para modificar los globales, haga _G.foo = bar
También tenga en cuenta que si está ejecutando autorun.lua
funciones como http.Fetch
y file.Write
no existirán.
Utilice sus homólogos en C ( HTTP
y file.Open
)
Vea un proyecto de ejemplo usando el scripthook aquí.
C:Users < User > autorun
├── autorun . lua # Runs *once* before autorun
├── hook . lua # Runs for every script
├── lua_dumps # Each server gets a folder with their IP as the name.
│ ├── 192.168.1 . 55_27015
│ └── X . Y . Z . W_PORT
├── logs # Logs are saved here
│ └── YYYY - MM - DD . log
├── bin # Store binary modules to be used with Autorun.requirebin
│ └── gmcl_vistrace_win64 . dll
├── plugins # Folder for Autorun plugins, same behavior as above autorun and hook.lua, but meant for plugin developers.
│ └── Safety
│ ├── src
| | ├── autorun . lua
| | └── hook . lua
│ └── plugin . toml
├── settings . toml # See autorun/src/configs/settings.toml
└── ...
Puede encontrar lo que se pasa al entorno scripthook en campos.lua como un archivo de definiciones EmmyLua.
¿Esto podría usarse con algo como una extensión de servidor de lenguaje vscode lua para intellisense?
gancho.lua
Este archivo se ejecuta antes de que se ejecute cada script lua en su cliente desde complementos y servidores. Puede return true
para no ejecutar el script o una cadena para reemplazarlo.
-- Replace all 'while true do end' scripts with 'while false do end' ?
local script = Autorun . CODE
if script : find ( " while true do end " ) then
Autorun . log ( " Found an evil script! " )
return string . Replace ( script , " while true do end " , " while false do end " )
end
Puedes encontrar más aquí
Puede obtener una versión "estable" de las versiones.
Puede obtener la última descarga absoluta (desde el código en el repositorio) en la pestaña Acciones de Github
Tenga en cuenta que es posible que no funcione como se esperaba (pero le recomiendo probar esto antes de intentar informar un problema para ver si se ha solucionado).
Si está utilizando esto como complemento de menú, asegúrese de que la DLL se llame gmsv_autorun_win<arch>.dll
Es posible que desee crear esto usted mismo si desea realizar cambios/contribuir (o no confiar en las acciones de github por cualquier motivo...)
build_win_32.bat
o build_win_64.bat
.