问题标签 [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.
c# - 如何运行“git submodule init”以及如何“构建”程序
我想将SteamBot包含在我的项目中,但我已经为第一步感到困惑,即设置步骤。
来自 SteamBot 的自述文件:
第 0 步:如果您最近刚刚克隆了这个存储库,那么您需要做一些事情。
- 运行
git submodule init
初始化子模块配置文件。- 运行
git submodule update
以拉取包含的子模块的最新版本(即 SteamKit2)。- 构建程序。由于 SteamKit2 是在 LGPL 下授权的,而 SteamBot 应该在 MIT 授权下发布,所以 SteamKit2 的代码不能包含在 SteamBot 中。这包括可执行文件。我们可能会在 GitHub 上提供下载。
- 像往常一样继续。
我认为“克隆”意味着只需单击网站上的“在 Windows 中克隆”按钮,对吗?但我不知道如何“运行git submodule init
”或如何“构建程序”。如果有人能具体告诉我该怎么做,那就太好了。
c# - 字典线程 lambda add
我正在尝试管理线程机器人情况。我想将它们添加到字典中以供以后访问(关闭、暂停、传递变量),但null
即使在机器人启动后我也总是得到它们(null
变量是temp_bot
)。
c# - 如何在 C# 中多线程读取行而不暂停或中断程序?
我有一个程序在一个循环中运行,并且希望允许实时人机交互而不会中断或暂停程序。
我希望能够让它使用输入作为已经运行的程序的命令。
基本上,如果我没有正确解释它:
-主程序在前台运行。
- 寻找输入的二次无限循环在后台运行
- 输入并按下返回键 (ReadLine) 时,保存字符串并发送到另一个函数(例如 Interpreter())
- 我已经设置好读取返回的输入(一个简单的循环),我只是无法理解如何随时允许用户输入。
编辑:我知道堆栈溢出通常是为了帮助解决代码中的错误,但我知道它应该很简单,我只是不明白从哪里开始。
编辑2:
c# - 类型“”没有定义 C# 的构造函数
我正在尝试从另一个 cs 文件中调用一个方法。我创建了该方法所在的类的新实例,但出现此错误:
“SteamKit2.SteamFriends”类型没有定义构造函数
谁能帮我理解为什么会这样?
我试图从中调用此方法的类如下
引用的类如下(在单独的cs文件中)
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# 的菜鸟
json - 搜索 json 项
所以我正在尝试使用 defindex 搜索我的 json 文件中的项目并返回项目名称,但是我得到一个错误。我进行了搜索,但似乎没有什么相关的。
错误 2 非静态字段、方法或属性“schemaexample.schema.Items.get”需要对象引用
它似乎需要一个参考。我如何简单地搜索项目?
这是我的完整代码:
如果你需要它,我正在阅读的 json 在这里: http ://www50.zippyshare.com/v/13310944/file.html
c# - 如何强制机器人同时等待特定事件并继续轮询事件?
我正在使用SteamBot应用程序。
我有一个命令应该在特定事件发生时采取行动。在这种特殊情况下,我作为管理员发出命令,机器人等待交易请求,然后继续我的逻辑。我不知道如何让它等到交易请求发生然后继续。
假设我已经发出了命令并且现在在处理该命令行为的函数中。这是我正在尝试做的一个非常简单的例子。
在该// Wait here
部分中,我希望机器人在交易开始之前停止。然后,一旦它开始,它就可以继续并按预期添加项目。
我尝试在函数中添加一个inTrade
(初始化为false
)变量,然后让机器人进入睡眠状态,直到这是真的。true
OnTradeInit
然而,这会阻塞主线程并将其抛入一个紧密的循环中。当它醒来时,它会立即检查变量是否存在true
,如果不存在则让它重新进入睡眠状态。该HandleSteamMessage
函数没有时间Bot.cs
处理任何事情——即使机器人在睡眠时确实收到了一个事件。
我试过使用EventWaitHandle
,但似乎永远不会触发。
这会将主线程暂停 30 秒(由于传入的超时WaitOne
),然后按预期继续。但是,inTrade
即使已收到交易请求,它仍然是错误的。由于那时我没有进行交易,因此后续代码将无效。
那么,处理此类交互的正确方法是什么?
我也将它交叉发布到/r/steambot subreddit。我希望这不是问题,特别是因为 Github 上的一些评论提到在此处发布以获得更好的帮助。
c# - 使用 Newtonsoft.Json 从 .JSON 文件添加保存和加载价格(值)
我目前正在编辑和设置 SteamBot 以供我自己使用。这是它的源代码:https
://github.com/Jessecar96/SteamBot
我已经为它制作了自己的 UserHandle,但我希望它从 settings_prices.json 文件中加载(并保存)商品价格(现在它只记得价格直到我重新启动 .exe 文件)。
和价格更改命令(通过与机器人的蒸汽聊天),例如 Selling Key(游戏内物品)
但我希望它从 settings_prices.json 文件中保存和加载这些价格,如下所示:
c# - 如何在 SteamBot 中计算多个项目
在 Jassecar 的 SteamBot 中,有没有办法计算不同定义索引的项目并将它们相加?我试过这个:
但它会将 1 个废料(项目 Defindex 为 5000)和 1 个精炼金属(项目 Defindex 为 5002)计为 9,并告诉用户他总共添加了 18 个废料,而他只添加了 10 个。(1 个精炼 = 9废料)
c# - 如何找到一个特定项目并计算它在列表中的数量
这是我当前的代码:
totalScrap 的数量是错误的,因为 Trade.OtherOfferedItems 中有很多东西(这是一个列表)。并将其乘以该物品的价值是多少废料是行不通的,因为它会乘以 Trade.OtherOfferedItems 中的物品数量(因此,如果有人添加了 3 件物品,其中一件物品为 Defindex 5000 和一件物品为 Defindex 5002 我希望 totalScrap 为 28)