问题标签 [steambot]

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.

0 投票
1 回答
1902 浏览

c# - 如何运行“git submodule init”以及如何“构建”程序

我想将SteamBot包含在我的项目中,但我已经为第一步感到困惑,即设置步骤。

来自 SteamBot 的自述文件:

第 0 步:如果您最近刚刚克隆了这个存储库,那么您需要做一些事情。

  1. 运行git submodule init初始化子模块配置文件。
  2. 运行git submodule update以拉取包含的子模块的最新版本(即 SteamKit2)。
  3. 构建程序。由于 SteamKit2 是在 LGPL 下授权的,而 SteamBot 应该在 MIT 授权下发布,所以 SteamKit2 的代码不能包含在 SteamBot 中。这包括可执行文件。我们可能会在 GitHub 上提供下载。
  4. 像往常一样继续。

我认为“克隆”意味着只需单击网站上的“在 Windows 中克隆”按钮,对吗?但我不知道如何“运行git submodule init”或如何“构建程序”。如果有人能具体告诉我该怎么做,那就太好了。

0 投票
1 回答
156 浏览

c# - 字典线程 lambda add

我正在尝试管理线程机器人情况。我想将它们添加到字典中以供以后访问(关闭、暂停、传递变量),但null即使在机器人启动后我也总是得到它们(null变量是temp_bot)。

0 投票
1 回答
3179 浏览

c# - 如何在 C# 中多线程读取行而不暂停或中断程序?

我有一个程序在一个循环中运行,并且希望允许实时人机交互而不会中断或暂停程序。

我希望能够让它使用输入作为已经运行的程序的命令。

基本上,如果我没有正确解释它:

-主程序在前台运行。

- 寻找输入的二次无限循环在后台运行

- 输入并按下返回键 (ReadLine) 时,保存字符串并发送到另一个函数(例如 Interpreter())

- 我已经设置好读取返回的输入(一个简单的循环),我只是无法理解如何随时允许用户输入。

编辑:我知道堆栈溢出通常是为了帮助解决代码中的错误,但我知道它应该很简单,我只是不明白从哪里开始。

编辑2:

0 投票
4 回答
7446 浏览

c# - 类型“”没有定义 C# 的构造函数

我正在尝试从另一个 cs 文件中调用一个方法。我创建了该方法所在的类的新实例,但出现此错误:

“SteamKit2.SteamFriends”类型没有定义构造函数

谁能帮我理解为什么会这样?

我试图从中调用此方法的类如下

引用的类如下(在单独的cs文件中)

0 投票
1 回答
7982 浏览

python - 蒸汽套件如何工作?

目前,我想为蒸汽游戏(使用python)实现一个交易系统。

所以,我搜索了github,但遗憾的是,只有

https://github.com/Jessecar96/SteamBot

https://github.com/Jessecar96/SteamKit2

是的,他们工作得很好。但它们是 C#——别告诉我 python 不能这样做:)。

所以,我想从 steamkit 部分开始。我认为这并不难(可能只是一些 web-apis),但是当我查看 SteamKit2 的代码时,我发现它似乎使用 TcpConnection 连接到 Steam 网络,不知道他们是如何获得协议的。

有没有人对此有任何想法,我考虑使用 python 加载 steamkit2.dll,但我真的是 C# 的菜鸟

0 投票
1 回答
349 浏览

json - 搜索 json 项

所以我正在尝试使用 defindex 搜索我的 json 文件中的项目并返回项目名称,但是我得到一个错误。我进行了搜索,但似乎没有什么相关的。

错误 2 非静态字段、方法或属性“schemaexample.schema.Items.get”需要对象引用

它似乎需要一个参考。我如何简单地搜索项目?

这是我的完整代码:

如果你需要它,我正在阅读的 json 在这里: http ://www50.zippyshare.com/v/13310944/file.html

0 投票
1 回答
363 浏览

c# - 如何强制机器人同时等待特定事件并继续轮询事件?

我正在使用SteamBot应用程序。

我有一个命令应该在特定事件发生时采取行动。在这种特殊情况下,我作为管理员发出命令,机器人等待交易请求,然后继续我的逻辑。我不知道如何让它等到交易请求发生然后继续。

假设我已经发出了命令并且现在在处理该命令行为的函数中。这是我正在尝试做的一个非常简单的例子。

在该// Wait here部分中,我希望机器人在交易开始之前停止。然后,一旦它开始,它就可以继续并按预期添加项目。

我尝试在函数中添加一个inTrade(初始化为false)变量,然后让机器人进入睡眠状态,直到这是真的。trueOnTradeInit

然而,这会阻塞主线程并将其抛入一个紧密的循环中。当它醒来时,它会立即检查变量是否存在true,如果不存在则让它重新进入睡眠状态。该HandleSteamMessage函数没有时间Bot.cs处理任何事情——即使机器人在睡眠时确实收到了一个事件。

我试过使用EventWaitHandle,但似乎永远不会触发。

这会将主线程暂停 30 秒(由于传入的超时WaitOne),然后按预期继续。但是,inTrade即使已收到交易请求,它仍然是错误的。由于那时我没有进行交易,因此后续代码将无效。

那么,处理此类交互的正确方法是什么?

我也将它交叉发布到/r/steambot subreddit。我希望这不是问题,特别是因为 Github 上的一些评论提到在此处发布以获得更好的帮助。

0 投票
1 回答
329 浏览

c# - 使用 Newtonsoft.Json 从 .JSON 文件添加保存和加载价格(值)

我目前正在编辑和设置 SteamBot 以供我自己使用。这是它的源代码:https
://github.com/Jessecar96/SteamBot 我已经为它制作了自己的 UserHandle,但我希望它从 settings_prices.json 文件中加载(并保存)商品价格(现在它只记得价格直到我重新启动 .exe 文件)。

和价格更改命令(通过与机器人的蒸汽聊天),例如 Selling Key(游戏内物品)

但我希望它从 settings_prices.json 文件中保存和加载这些价格,如下所示:

0 投票
1 回答
571 浏览

c# - 如何在 SteamBot 中计算多个项目

在 Jassecar 的 SteamBot 中,有没有办法计算不同定义索引的项目并将它们相加?我试过这个:

但它会将 1 个废料(项目 Defindex 为 5000)和 1 个精炼金属(项目 Defindex 为 5002)计为 9,并告诉用户他总共添加了 18 个废料,而他只添加了 10 个。(1 个精炼 = 9废料)

0 投票
1 回答
490 浏览

c# - 如何找到一个特定项目并计算它在列表中的数量

这是我当前的代码:

totalScrap 的数量是错误的,因为 Trade.OtherOfferedItems 中有很多东西(这是一个列表)。并将其乘以该物品的价值是多少废料是行不通的,因为它会乘以 Trade.OtherOfferedItems 中的物品数量(因此,如果有人添加了 3 件物品,其中一件物品为 Defindex 5000 和一件物品为 Defindex 5002 我希望 totalScrap 为 28)