PlayerDLCAPI – 玩家DLC排除 v1.6.0

PlayerDLCAPI – 玩家DLC排除 v1.6.0

PlayerDLCAPI_Rustnm_xyz_v1.6.0.zip
zip文件
3.5K

提供一个 API,用于通过创意工坊 ID 检查玩家对 DLC 物品和皮肤的所有权。

提供 API,用于通过内容或创意工坊 ID 检查玩家对 DLC 物品和皮肤的所有权
创意工坊 ID 是您在 Steam 上看到的(例如 https://steamcommunity.com/sharedfiles/filedetails/?id=513329998),大多数皮肤插件将使用创意工坊 ID
内容 ID 是 Rust 自己的付费内容标识符

原生的 CheckSkinOwnership 方法需要你提供要检查的 DLC 的 ID。如果你像大多数插件一样只有创意工坊 ID,那么这个方法就没用了。不过,假设你确实有 DLC ID。
该函数首先会调用 ItemSkinDirectory.FindByInventoryDefinitionId 方法来查找 DLC 信息。该方法会进行两次 Linq 调用,每次调用都会为每个被检查的 ID(Where 和 FirstOrDefault)生成垃圾数据。(详情请见:https://www.jacksondunstan.com/articles/4840)
该插件有 2 个 API 方法,可产生与本机函数相同的结果;
CheckContentOwnership 采用 DLC ID,与本机方法相同,但没有垃圾分配。
IsOwnedOrFreeSkin 接受的是创意工坊 ID 而不是 DLC ID,这对于存储创意工坊 ID 的插件非常有用,而且不会产生垃圾分配
通过 Oxides hook API 调用这两种 API 方法比运行本机 CheckSkinOwnership 函数更快。

该插件不仅为 DLC ID和Workshop ID 提供了更快、非分配的方法,还允许您在一次调用中过滤玩家的整个 dlc/workshop ID 列表,从而为您提供仅包含玩家可以使用的内容的列表。

HasLicense 函数要求您已创建该物品。然后,它会调用 steam_api64.dll 托管二进制文件。我们无法从那里访问 C 源代码,但它很可能向 Steam 发出 API 请求来进行比较。

© 版权声明
THE END
喜欢就支持一下吧
点赞10
评论 抢沙发

请登录后发表评论

    暂无评论内容