问题标签 [steamworks-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何从 Steamworks api 中的 CSteamID 获取 Steam 名称
我正在制作一个未经改造的插件,我需要它在列表中显示基于 CSteamID 的玩家姓名我不确定从哪里开始我将列表中的 CSteamID 作为字符串,如果这有帮助的话!请在下面告诉我您需要查看我的脚本的哪些部分,我正在尝试从我在字符串列表中获得的 steam64 ID 中获取 Steam 用户名
c++ - 数组仅在第一次返回错误值
所以我正在使用 Steamworks(排行榜),但我遇到了一些奇怪的问题。当我触发我的函数以获得分数时,从调试中我知道它工作得很好。但是第一次函数运行后我的数组总是返回默认值。在我第二次触发函数后,一切都很好。我试图追查这个问题,但我失败了。
这是我在这种情况下使用的整个代码:
统计结构
向 Steam 发送请求的函数:.h
.cpp
现在来自 Steam 的回调函数:.h
.cpp
最后是在数组中写入分数的函数:
。H
.cpp
Scores 数组只是静态 TArray 分数,而 scores=true 仅用于在调用 DownloadScoresAroundUser 后进行潜在检查以继续使用函数:)
我的正常流程是: 1.我已经有了排行榜的句柄。2.我打电话给 DownloadScoresAroundUser。3.Flow 进入潜在状态,由于 score=false 而无法继续。4.在我从蒸汽 OnDownloadScore 火灾中得到回调后,给我所有需要的信息(检查是否确实如此!)。5.然后我调用 TranslateEntries 来获取所有带有名称的分数并在数组中排名。6.然后我打印整个数组(在虚幻中使用中断包)并获取我的结构的默认值。7.在我再次触发整个周期后,我得到了正确的值。
如果需要任何进一步的信息,请告诉我:)
c# - SteamKit2 在 C# 中注销消息
对此的任何帮助将不胜感激:
我目前有一个棘手的情况,我可以使用 SteamKit2 接收和记录来自 Steam 朋友的传入消息(代码是用 C# 编写的) - 这一切都很好并且准备好了 - 但是,我无法记录正在发送的传出消息无论是响应传入的消息,还是只是将消息发送给某人。
在网上查看后,我找不到任何解决方案来实际跟踪/记录/查看来自帐户的传出消息,除了一个可以将传入和传出消息写入文件的 C++ 应用程序。
由于没有文档,我什至不知道从哪里开始,如何在 C# 中做到这一点。
c# - 如何获取用户玩我的游戏的时间?Steamworks API
如何获取用户玩我的游戏的时间?在 Unity 中使用 Steamworks API 和 C#。我浏览了文档,但没有找到类似的东西,并认为我遗漏了一些东西。
我应该只使用一个简单的脚本来记录在自己的游戏中播放的分钟数,但为时已晚。如果有人可以给我一个打击或指出正确的方向,我将非常感激。
socket.io - Steam Web Api 验证 HTTP 请求错误
我是Unity和socket.io的游戏开发者。我想使用 Steam API 来检查客户端是否拥有我的游戏的所有权。我想使用 Steam Web API。所以我这样发送测试请求是因为我不知道响应的格式。
我得到了这样的错误。
我找不到参数错误的原因。我试了一整天才发现这个错误,但我找不到ㅠㅠ
steam-web-api - Steam API:访问 DOTA2 排名赛
我正在尝试使用基于 Steam HTTP 的 API 来获取有关正在进行的和最近完成的 Ranked Matchmaking DOTA2 游戏的信息。具体来说,我正在使用命令
我注意到,在我查看过的数百款使用此请求的游戏中,没有一款排名匹配游戏(lobby_type=7)。大多数游戏是 lobby_type 4 (co-op vs AI)、type 8 (solo mid) 或 type 0 (unknown)。为什么我看不到排名配对游戏?
c# - 无法将类型“Steamworks.CSteamID”隐式转换为“float”
我目前正在使用带有 Unity3d 和 C# 的 Steamworks.net。我想要做的是获取 Steam 用户 ID,在这种情况下是我自己的,然后执行一个函数。
这是我到目前为止所拥有的:
我从 Unity 收到一个错误,其中指出:
无法隐式转换类型Steamworks.CSteamID' to
float'。存在显式转换(您是否缺少演员表?)
这让我很困惑。我尝试在谷歌上进行研究以找到可能的解决方法,但找不到任何东西。任何人都可以帮忙吗?
编辑:
我试过了,但没有用:
opengl - 读取 Steam 控制器叠加层并将其渲染到 SteamVR 中的 VR 场景
背景
使用 Steam 控制器时,您可以将触摸板配置为在您开始触摸时显示在屏幕上的复杂菜单。这些菜单对于具有许多控件的游戏非常方便。它们看起来像这样:
然而,在 SteamVR 中玩游戏时,这些叠加层都不会出现在 VR 中。它们仅出现在与其一起呈现的桌面窗口上。
这是已知的错误或缺失功能。我的目标是为它写一个修复程序。但事实证明这非常棘手。
我的问题
我知道如何在 OpenVR/SteamVR 中渲染叠加层。Valve 的文档对我来说已经足够了。但是我没有想出一个好的方法来捕捉绘制在游戏窗口顶部的叠加层。
我心里有两个想法。但我不知道如何正确实施它们。
捕获覆盖
我对 Steam 控制器叠加层的技术细节一无所知。但是,我认为它与 Steam Overlay 具有相同或非常相似的实现并不是一个糟糕的假设。
根据 Steamworks API 文档,Steam 会监听应用程序触发的 Present/SwapBuffers 调用并相应地刷新覆盖。(请参阅https://partner.steamgames.com/doc/api/ISteamUtils#BOverlayNeedsPresent)另外,我的猜测是 Steam 获取窗口的 hWnd,使用其 DC 创建一个 OpenGL 上下文并在每次收到 SwapBuffers 时呈现给它呼叫它正在听。
但这就是故事的结局。我不知道如何真正阅读 Steam 在上面渲染的内容。我曾想过将自己连接到 Steam 正在使用的绘图消息队列中,并在叠加层绘制之前和之后捕获在窗口上呈现的内容。我还想过欺骗 Steam,让其认为另一个具有绿色背景的窗口是它应该渲染到的窗口,然后只是捕获其内容。但这些只是外界的猜测。我不知道我将如何实现它。
使用色度键控
选定按钮具有非常特殊的平坦和不透明的蓝色调。我可以制作窗口的屏幕截图,然后只获取具有这种特定颜色的像素。劣势相当明显。所有其他区域都是半透明的,因此不适合色度键控。抗锯齿文本也是如此。幸运的是,您可以更改图标及其颜色,如下图所示。所以这会有点工作,但它会非常难看。
有人对我的问题有更好的想法或解决方案吗?
json - 使用 Steamworks 从 Steam 游戏中获取所有评论?
目前,我正在尝试使用 Steamworks 文档中描述的方法从特定游戏中获取所有 Steam 评论: https ://partner.steamgames.com/doc/store/getreviews
但是,当我尝试使用以下方法获取诸如 Team Fortress 2 之类的游戏的评论时: http : //store.steampowered.com/appreviews/440?json=1 由于 start_offset 参数,我总是得到 20 条评论。
有没有办法在一个方法命令中获得所有评论,还是我必须创建一个具有不同 start_offset 的循环?