#lua #garrys-mod #gmod #glua #api-bindings

rglua

使用source sdk和luajit api进行garrysmod开发的工具包

13个版本 (3个主要更新)

3.0.0-beta22022年4月1日
3.0.0-beta2022年2月20日
2.1.0 2022年1月24日
2.0.0-beta2021年12月31日
0.5.0 2021年11月26日

#1381 in 游戏开发

Download history 26/week @ 2024-03-12 4/week @ 2024-03-19 2/week @ 2024-03-26 19/week @ 2024-04-02 1/week @ 2024-05-14 28/week @ 2024-05-21 17/week @ 2024-05-28 40/week @ 2024-06-04 42/week @ 2024-06-11 1/week @ 2024-06-18

每月84次下载

MIT许可证

125KB
2K SLoC

🌑 rglua cratesio 构建状态 License github/Vurv78

这是一个允许通过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