13个版本 (3个主要更新)
3.0.0-beta2 | 2022年4月1日 |
---|---|
3.0.0-beta | 2022年2月20日 |
2.1.0 | 2022年1月24日 |
2.0.0-beta | 2021年12月31日 |
0.5.0 | 2021年11月26日 |
#1381 in 游戏开发
每月84次下载
125KB
2K SLoC
🌑 rglua
这是一个允许通过libloading和vtable绑定与(g)luajit c api以及source sdk交互的crate。您可以使用这些功能来创建二进制模块或手动注入代码,例如与Autorun-rs一起使用。
有关二进制模块的更多信息可以在garrysmod wiki上找到: 创建二进制模块和示例 在此处可以找到。
用法
如果您针对32位,请确保安装工具链并针对它构建
rustup target add i686-pc-windows-msvc
cargo build --target=i686-pc-windows-msvc
比较
实际上,有相当多的库用于gmod开发。以下是这些库的比较以及为什么您可以使用这个库。
库 | rglua | rust-glua-sys | gmod-rs | gmrs |
---|---|---|---|---|
完整的 Lua C Api绑定 | ✔️ | ❌ | ❌ | ❌ |
在Crates.io上 | ✔️ | ❌ | ✔️ | ❌ |
过程宏 | ✔️ | ❌ | ✔️ | ✔️ |
与Source SDK接口 | ✔️ | ❌ | ❌ | ❌ |
从函数返回Result<> | ✔️ | ❌ | ❌ | ✔️ |
可以在稳定版上使用 | ✔️ | ✔️ | ❌ | ✔️ |
真实世界示例 | ✔️ | ❌ | 〰️ | ✔️ |
Linux / OSX支持 | ✔️ | ❌ | ✔️ | ✔️ |
GitHub Stars | 😢 | 👍 | 👑 | 🤷♂️ |
您可以帮助解决最后一个问题 😉
致谢
garrysmod_common
这个项目在很大程度上是基于garrysmod_common的,我们在其中导出了lua_shared函数,并试图从Lua C Api复制所有内容。
依赖项
~1.3–1.8MB
~38K SLoC