#league #league-of-legends #cdragon

league-of-crates

这是一个 Rust 学习的入门项目。它从 DataDragon 解析《英雄联盟》的 .json 数据到 Rust

8 个版本

0.3.4 2023 年 8 月 20 日
0.3.3 2023 年 8 月 20 日
0.2.0 2023 年 8 月 13 日
0.1.1 2023 年 8 月 11 日

301游戏

每月 38 次下载

MIT 许可证

21KB
471

这目前只是一个基本的库,用于帮助解析 CDragon 拉取的二进制数据。将来我打算稍微扩展这个库。

我是一个 Rust 新手,这是我在完成 Rustlings 后的入门学习项目。希望它能帮助我在 Rust 中达到一些合理的熟练度,并在 League of Legends 相关的任何事情上帮助他人,比如可能是一个计算器网站或类似的。

// You should be handling these errors, or not I'm not your Dad
let champ_dir = ChampDir::from_cdragon().await?;

let best_champ_in_the_game = champ_dir.get_by_key(516).unwrap();

println!("{}", best_champ_in_the_game.name);
Output: Ornn

我可能会在未来添加一些正式的文档,但鉴于它如此简单,我认为我可以仅使用一些示例代码。

当前版本仓库:https://github.com/SneedSeedFeed/league-of-crates/tree/0.2.0-rework

待办事项

  • 让从本地文件加载一切变得更容易一些
  • 允许从特定版本中提取
  • 正式文档

变更日志

  • 0.3.4 - 将关键词和仓库添加到 cargo.toml 中,以防你想查看我的糟糕代码。

  • 0.3.3 - 将 Serde 版本锁定为 1.0.171,因为预编译的二进制文件问题。这很可能不会有什么影响。

  • 0.3.2 - 导出 Clone 和 PartialEq,因为我忘记 rust 不允许你使用这个 crate 做这件事

  • 0.3.1 - 更新了说明

  • 0.3.0

    • 切换到使用 CDragon,许多重大更改
    • 统计数据现在是每秒而不是每 5 秒
    • 所有资源都已正确加载,并且与游戏二进制文件尽可能接近
    • 由于我阅读了文档,反序列化变得更加清晰
    • 目前所有内容都是从最新版本中获取的,使用 reqwest,下一步是允许你使用本地文件和特定版本
    • 英雄游戏数据最初不会加载,你需要调用 populate_gamedata().await
  • 0.2.0

    • 痛苦和苦难
    • 可以从 json 值创建英雄目录
    • 添加了宏,输出 13.15.1 的 champions.json 作为值。使用 champion_json!() 和 special_json!()
    • 添加了 "adjustments/specialcases/corrections/i need to fix all this code it's an ugly bodge" json 来修复 Riot 对攻击速度比等信息的不完整
    • 实际上并没有完全完成修正 json,所以一些英雄的攻击速度可能会有偏差
    • 修复了攻击速度计算
    • 这确实是我写过的最糟糕的代码之一,我可能会对这个库进行全面的重写,但至少我们得到了 Senna 在 18 级时的攻击速度正确到小数点后两位,并且实际上公开了攻击速度比统计数据
  • 0.1.1 - 添加了说明

  • 0.1.0 - 首次发布

依赖项

~6–18MB
~271K SLoC