Garrysmod Lua Dumper & Runner, написанный на Rust.
C:Users<User>autorunlua_dumps<ServerIP>.. (асинхронно, чтобы избежать задержки ввода-вывода)lua_run и lua_openscript во внешней консолиautorun.lua ), чтобы обойти любые «античиты».autorun/logs )autorun/plugins )Autorun также может использоваться как плагин меню / автоматически требоваться от lua из состояния меню.
gmsv_autorun_win<arch>.dll в папку garrysmod/lua/bin .require("autorun") внизу garrysmod/lua/menu/menu.luaТрадиционный (но более неудобный) метод использования — просто ввести его.
В автозапуске имеется функция scripthook, что означает, что мы запустим ваш сценарий до выполнения любого другого сценария garrysmod, чтобы проверить, хотите ли вы, чтобы код запускался путем запуска вашего собственного сценария-перехватчика. *Это выполняется в отдельной среде от _G , поэтому для изменения глобальных переменных выполните _G.foo = bar
Также обратите внимание, что если вы используете autorun.lua такие функции, как http.Fetch и file.Write не будут существовать.
Используйте их аналоги C ( HTTP и file.Open )
См. пример проекта с использованием scripthook здесь.
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
└── ... Вы можете найти то, что передается в среду scripthook, в field.lua в виде файла определений EmmyLua.
Это можно использовать с чем-то вроде расширения языкового сервера vscode lua для intellisense?
крюк.lua
Этот файл запускается перед запуском каждого сценария lua на вашем клиенте из надстроек и серверов. Вы можете return true чтобы не запускать сценарий, или строку, чтобы заменить его.
-- 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Вы можете найти больше здесь
Вы можете получить «стабильный» релиз из релизов.
Вы можете получить самую последнюю загрузку (из кода в репозитории) на вкладке «Действия» Github.
Обратите внимание, что это может работать не так, как ожидалось (но я бы посоветовал попробовать это, прежде чем пытаться сообщить о проблеме, чтобы узнать, исправлена ли она).
Если вы используете это как плагин меню?, убедитесь, что DLL называется gmsv_autorun_win<arch>.dll
Возможно, вы захотите создать это самостоятельно, если хотите внести изменения/внести свой вклад (или по какой-либо причине не доверяете действиям github).
build_win_32.bat или build_win_64.bat .