3个版本 (破坏性更新)

0.3.0 2024年6月1日
0.2.0 2024年5月20日
0.1.0 2024年5月6日

#1567进程宏

Download history 143/week @ 2024-05-06 178/week @ 2024-05-20 165/week @ 2024-05-27 32/week @ 2024-06-03 14/week @ 2024-06-10 4/week @ 2024-06-17

每月155次下载
2 个Crate中使用 (通过 omp-gdk)

Apache-2.0

14KB
334

omprs

crates.io docs.rs build status patreon kofi

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

结构

描述
omp-codegen 自动生成导出函数和FFI相关代码
omp-sdk GDK包,执行核心功能,如加载函数地址、执行、提供必要的类型等
omp 主要包,玩家应该使用,整洁地公开所有功能和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+稳定-i686 构建

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

  9. 转到 config.json 并将其添加到其中

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


lib.rs:

一个codgen包,提供进程宏以自动生成导出函数和FFI相关代码

依赖项

~260–700KB
~17K SLoC