#player #open #sdk #developing #openmp #mp #modes

omp-gdk

Rust SDK 用于开发 open.mp 游戏模式

5 个版本 (3 个稳定版)

1.1.0 2024年6月9日
1.0.1 2024年6月6日
1.0.0 2024年6月1日
0.2.0 2024年5月20日
0.1.0 2024年5月6日

#3 in #modes


omp 中使用

Apache-2.0

230KB
5K SLoC

omprs

crates.io docs.rs build status patreon kofi

omprs 是一个用于在 Rust 中开发 open.mp 游戏模式的工具。

结构

Crate 描述
omp-codegen 自动生成导出函数和 FFI 相关代码
omp-sdk GDK crate,执行核心功能,如加载函数地址、执行、提供必要类型等
omp 主 crate,供玩家使用,优雅地暴露所有功能和 API。

用 Rust 编写我的第一个游戏模式

  1. 从这里下载 omprs 组件:这里

  2. Rust.dllRust.so 组件放入 components 文件夹

  3. 创建一个新的 Rust 项目 cargo new mygm --lib

  4. omp 添加到依赖项 cargo add omp

  5. 将以下内容添加到您的 Cargo.toml

    [lib]
    crate-type = ["cdylib"]
    
  6. 编写基本的代码如下

    use omp::{events::Events, main, register, types::colour::Colour};
    
    struct MyGM;
    
    impl Events for MyGM {
        fn on_player_connect(&mut self, player: omp::players::Player) {
            player.send_client_message(Colour::from_rgba(0xFFFFFFFF), "Welcome to my server!");
        }
    }
    
    #[main]
    pub fn game_main() {
        register!(MyGM);
    }
    
  7. 构建游戏模式

    cargo+stable-i686 build

  8. 将编译的 mygm.dllmygm.so 放入 gamemodes 文件夹

  9. 转到 config.json,并添加以下内容

    "rust":{
        "gamemode":"mygm",
    }
    
  10. 运行您的服务器


lib.rs:

GDK crate,执行核心功能,如加载函数地址、执行、提供必要类型等

依赖项

~0.2–36MB
~538K SLoC