Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3388
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. When that happens, some server is probably down or being unstable. If you wait, things will fix themselves.
  2. You'd use myCommunity as normal. Passing it in will cause TradeOfferManager to set cookies on it when you call offerManager.setCookies.
  3. No, you can't access the auto-created instance if you don't supply one. Just create your own and pass it in if you need to use it for confirmations.
  4. Asset IDs are unique, but not necessarily persistent. Only one item with a given asset ID will only exist at once within a given context (for Valve games there is only one context, so that can be expanded to "game-wide"), but it can also change to a new unique number at whim. As you discovered, you can use getReceivedItems to get the new IDs.
  5. It could be implemented, but I wouldn't bank on it happening anytime soon.
  6. Sorry, you're a bit confused as to what the function of the storage engine is. It isn't for Steam Cloud data (that hasn't been implemented in steam-user at all). Rather, it's for saving data generated by the module itself (for example, sentry files and server lists). By default that data is saved to a platform-specific application data path, but the storage engine allows you to redirect storage elsewhere.
  7. I'm confused as to what you're talking about regarding an "actual game via steam". Can you explain exactly what you're doing and what you expect to happen?
  8. I don't know exactly why you're getting "Malformed response", but your offer is getting declined somehow. Perhaps you have another bot running somewhere else that is declining offers?
  9. I'm glad you got it working. If you haven't already, I suggest that you check all the breaking changes in v2 to make sure nothing else needs to be changed on your end.
  10. Please read up on callbacks and asynchronicity in JavaScript.
  11. This function should do the trick quite nicely. As with any currency that has decimal places, floating-point imprecision can be an issue so it's best to convert everything to the lowest denomination. function decimalToMetal(dec) { var output = {}; var scrap = Math.round(dec * 9); // Convert it to the lowest denomination (scrap) because floats suck output.refined = Math.floor(scrap / 9); scrap -= output.refined * 9; output.reclaimed = Math.floor(scrap / 3); scrap -= output.reclaimed * 3; output.scrap = scrap; return output; } Returns an object with properties refined, reclaimed, and scrap.
  12. This is one of those things that has multiple solutions, and even then won't always work. For example, CS:GO by default won't announce game server IPs to Steam friends, so you can't see what map someone is playing in CS:GO if they haven't enabled that client-side option. However, for games that do announce to Steam, this is probably the easiest way: 1. Call GetPlayerSummaries for the user in question to get their game server SteamID (e.g. "gameserversteamid": "90104923353593862",) 2. Call GetServerList to look up the data for that server (e.g. https://api.steampowered.com/IGameServersService/GetServerList/v1/?key=xxx&limit=1&filter=\steamid\90104923353593862) This will give you the data for that server: { "response": { "servers": [ { "addr": "195.154.166.219:27015", "gameport": 27015, "steamid": "90104923353593862", "name": "Meta Construct - how do u carate your charecter", "appid": 4000, "gamedir": "garrysmod", "version": "16.04.30", "product": "garrysmod", "region": 3, "players": 37, "max_players": 123, "bots": 0, "map": "gm_construct_m_222", "secure": false, "dedicated": true, "os": "l", "gametype": " gm:sandbox" } ] } }
  13. It looks like you're using TradeOfferManager v1. That particular method was added in v2.
  14. That will not work. You can't return a value from an outer function from within a callback.
  15. 1. You're on your own with that. 2. When SteamUser emits webSession, call SteamCommunity#setCookies with the cookies that webSession gave you.
  16. Then you must be doing something wrong. Sorry I can't be more helpful, but error code 2 literally just means "Fail". Maybe try again later?
  17. No, that's an object. If you don't know what an array is, please google it.
  18. I have no idea what's up with the crafting event, but unless you're emitting it yourself you shouldn't be using it. You don't need to specify any appid or contextid (there is no such thing as a contextid outside of the Steam econ server). node-tf2 knows what TF2's appid is. You need to pass an array of item IDs to craft.
  19. You only need to set up your trading code to not accept overstocked items.
  20. Why are you editing the library's code? Don't do that.
  21. The documentation is pretty clear about how to add an item by assetid: https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOffer#addmyitemitem
  22. You can't try to send the offer until the callback of webSession. Please read up on asynchronous JavaScript and callbacks.
×
×
  • Create New...