Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3591
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. Not really. Skins don't have "colors", they have patterns, which are ultimately textures.
  2. The big problem is that you'd also have to reverse engineer VAC, and have fun with that.
  3. I don't really think that's possible unfortunately, since a bot can't join a CS:GO server. I could be mistaken.
  4. No, if you want additional criteria for whether a trade offer should be canceled, you need to implement the logic of cancelTime yourself.
  5. 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)) })
  6. Your fix is correct; you must log into steam-user with your password to get a login key.
  7. Sounds like you're looking for the cancelTime constructor option.
  8. err.type is not a property that exists. You should check the text of the error message to see what caused the error.
  9. I don't know what you're doing wrong, but it seems to work for me.
  10. That's not currently possible.
  11. It sounds like your proxy is either misconfigured, or is trying to decrypt your HTTPS traffic, which is definitely suspect.
  12. Yes, the packageList argument in the callback contains the package IDs and names.
  13. Then I can only assume that the fabricate class weapons recipe is considered "high-value".
  14. 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?
  15. Are you sure 11 is the correct recipe ID?
  16. It could be just that the GC has some rate limiting.
  17. You probably want to replace that .on() call with .once() so you don't leak event listeners. Also what is your matchList() function doing?
  18. 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.
  19. You could create a global promise, await it, and resolve it in the matchList event.
  20. 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.
  21. Well, it looks like you're logging off in your matchList callback, and if you aren't logged on you can't talk to the GC.
  22. Don't call it multiple times.
  23. Sorry, this isn't something I have any plans for.
  24. Every time you call .on('loggedOn', ...), you're adding a new event listener. When the event gets emitted, each function you passed to .on will be called, which can be multiple.
  25. Not at the moment. You could manually craft the HTTP request though.
×
×
  • Create New...