-
Posts
3545 -
Joined
-
Last visited
Everything posted by Dr. McKay
-
Is there a way to make a trade link with an item in it?
Dr. McKay replied to Shubham Shah's topic in General
No, sadly that's not possible. There are some browser extensions out there that will make this work with a single item only, by appending &for_item=appid_contextid_assetid (like for_item=730_2_123456789) but that's only if the user has one of those extensions installed, and isn't using the Steam client. -
can't see at second getUserInventory
Dr. McKay replied to ahmet's topic in node-steam-tradeoffer-manager
Are you re-retrieving the user's inventory the second time? Maybe the fact that you're manipulating the response object is what's causing your problem. -
Here is where that plugin came from: https://forums.alliedmods.net/showthread.php?p=1850358 There are only a select few commands that the server can force the client to execute, and quit is not one of them. In fact, that plugin doesn't actually support running client-side commands, it only supports "fake" client commands. Meaning, it makes the server think that the client ran a command. So it's only going to work on commands that run server-side, like "kill".
-
You can't do offer.addMyItems(item.amount = 1) You need to do it like this: item.amount = 1; offer.addMyItem(item);
-
Not really. Skins don't have "colors", they have patterns, which are ultimately textures.
-
The big problem is that you'd also have to reverse engineer VAC, and have fun with that.
-
I don't really think that's possible unfortunately, since a bot can't join a CS:GO server. I could be mistaken.
-
3 minutes timeout after a trade offer has been submitted
Dr. McKay replied to ahmet's topic in node-steamcommunity
No, if you want additional criteria for whether a trade offer should be canceled, you need to implement the logic of cancelTime yourself. -
Firstly, your getOffer function is incorrect. It should look something like this: getOffer = (offerID) => { return new Promise((resolve, reject) => { console.log("Getting trade offer", offerID); this.manager.getOffer(offerID, (err, offer) => { if(err) return reject(err); resolve(offer); }); }); } I'm not super familiar with express, but I would imagine that you'd do something like this: app.get('/tradeOffer', auth, async (req, res) => { let { offerID, username } = req.query; await accounts[username].getOffer(offerID) .then(offer => {console.log("Offer", offer); res.status(200).json({id: offer.id}); }) .catch(error => console.log(error)) })
-
Your fix is correct; you must log into steam-user with your password to get a login key.
-
3 minutes timeout after a trade offer has been submitted
Dr. McKay replied to ahmet's topic in node-steamcommunity
Sounds like you're looking for the cancelTime constructor option. -
Check user's details before sending an offer.
Dr. McKay replied to SimpleThings's topic in node-steam-tradeoffer-manager
err.type is not a property that exists. You should check the text of the error message to see what caused the error. -
Any update on Issues with getAuthSessionTicket()?
Dr. McKay replied to soggytoast's topic in node-steam-user
I don't know what you're doing wrong, but it seems to work for me. -
It sounds like your proxy is either misconfigured, or is trying to decrypt your HTTPS traffic, which is definitely suspect.
-
Yes, the packageList argument in the callback contains the package IDs and names.
-
Then I can only assume that the fabricate class weapons recipe is considered "high-value".
-
I guess there must be something wrong with the way you're getting your item IDs, then. Edit: Actually, possibly that recipe might be one of the ones that Valve banned bots from using after the geel incident. I'm not sure why one would consider a weapon to be "high-value", but you never know with Valve. Can you craft those 3 items in-game?
-
Are you sure 11 is the correct recipe ID?
-
It could be just that the GC has some rate limiting.
-
You probably want to replace that .on() call with .once() so you don't leak event listeners. Also what is your matchList() function doing?
-
I'm not sure I really ever put any significant thought into how that particular part of the module architecture is designed. Thinking back, it may not have been so simple to access enums out of protobufs back when I first wrote node-tf2, and I guess I also liked having all the message names in one place rather than split throughout a bunch of protobuf files. node-globaloffensive is really just a port of node-tf2 over to CS:GO. I probably would have done it differently had I written it from scratch.
-
You could create a global promise, await it, and resolve it in the matchList event.
-
That should work, I think. You may need to enable web compatibility mode on steam-user to force it to connect using WebSockets. When you connect via WS, the CM domain name follows the format *.cm.steampowered.com so that should be fine with your proxy setup. I'm sorry, I can't recommend any proxy providers.