Jump to content
McKay Development

All Activity

This stream auto-updates

  1. Past hour
  2. The code is event-driven. First, login() is called. Then, the "steam guard" code is entered, and the login() request is repeated.
  3. Jonjo

    Nethook

    Yes, but when i try to inject that on steam.exe?
  4. Today
  5. Dr. McKay

    Nethook

    In admin command prompt: rundll32.exe NetHook2.dll,Inject
  6. Yesterday
  7. Jonjo

    Nethook

    There is any guide how to properly inject nethook.dll into steam.exe?
  8. Show your code please.
  9. Last week
  10. @Dr. McKay I'm having the same error right now. 2FA isn't connected (only via email). How can I fix this? My solution: First, I enter my username/password. A code is sent to my email. I enter my username/password and the code again. And I get this error: DuplicateRequest
  11. i got the code working by waiting for accountUpdate event and get the old data thanks anyway
  12. type_id=4 is the armory pass process and redeemable_balance, the protobuf definition is below: message CSOAccountXpShop { optional uint32 generation_time = 1; optional uint32 redeemable_balance = 2; repeated uint32 xp_tracks = 3; }
  13. i guess the command may like this: k_EMsgGCStorePurchaseFinalize = 2504; k_EMsgGCStorePurchaseFinalizeResponse = 2505; k_EMsgGCStorePurchaseCancel = 2506; k_EMsgGCStorePurchaseCancelResponse = 2507; k_EMsgGCStorePurchaseQueryTxn = 2508; k_EMsgGCStorePurchaseQueryTxnResponse = 2509; k_EMsgGCStorePurchaseInit = 2510; k_EMsgGCStorePurchaseInitResponse = 2511;
  14. how to use node-globaloffensive to execute the command and protocol for redeeming items with Stars in the CS2 Armory? i guess the command like this: k_EMsgGCCStrike15_v2_ClientRedeemMissionReward = 9209; and the protocol like this: message CMsgGCCstrike15_v2_ClientRedeemMissionReward { optional uint32 campaign_id = 1; optional uint32 redeem_id = 2; optional uint32 redeemable_balance = 3; optional uint32 expected_cost = 4; optional int32 bid_control = 5; } but i don't know what's the param's value i can parse redeem_balance from hello,the type id is 6 and the protocol like this: message CSOAccountXpShop { optional uint32 generation_time = 1; optional uint32 redeemable_balance = 2; repeated uint32 xp_tracks = 3; }
  15. Either event should be fine to determine if using a backpack expander succeeded, although personally I'd probably use itemRemoved.
  16. Not really. The best you could do is check whether either party is not tradable.
  17. I'm trying to find out if there is any reliable way to see who initiated a trade rollback. The GetTradeHistory API endpoint does not provide any field identifying whether party performed the revert action. Is there any endpoint, internal flag, or alternative method available to accurately determine which party reverted a trade?
  18. How to return Dota 2 and TF2 in a reply?
  19. Earlier
  20. I opened three Genesis Collectibles offers, but I can only see one offer item in my inventory. How can I view all the offer items at once? After a while, I can't even see a single offer item anymore.
  21. Hi, i wrote a script to use backpack expander to not run game anymore this script is simple 1. log in to steam 2. run the tf2 3. get backpack data and slots amount 4. find the backpack expander 5. use backpack 6. check for more backpack and do process 5 again my main question is that how can i check if i used item cuase the "useItem" method dont throw any thing and i tried that and also i have found two events "itemRemoved" and "accountUpdate" which one should i check ? i know i should try it my self but it take time and also cost me some backpacks to find out the answer here is my code that i wrote about useItem method: function checkForExpanders() { if (!tf2.backpack || tf2.backpack.length === 0) { console.log("⏳ Backpack not loaded yet..."); setTimeout(() => checkForExpanders(), 5000); return; } const expanders = tf2.backpack.filter((item) => { const defindex = item.def_index || item.defIndex || item.defindex; const schemaItem = tf2.itemSchema?.itemsByDefindex?.[defindex]; const name = schemaItem?.item_name?.toLowerCase() || ""; return defindex === 5050 || name.includes("backpack expander"); }); if (expanders.length === 0) { console.log("❌ No Backpack Expander found in your inventory."); askToCheckAgain(); return; } console.log(`🧳 Found ${expanders.length} Backpack Expander(s).`); const expander = expanders[0]; rl.question( "❓ Do you want to use a Backpack Expander? (y/n): ", (answer) => { if (answer.toLowerCase() === "y") { console.log(`🔧 Trying to use Backpack Expander... (item_id: ${expander.id})`); tf2.useItem(expander.id, (err) => { if (err) { console.error("❌ Failed to use item:", err); } else { console.log("✅ Used Backpack Expander successfully."); } setTimeout(() => { console.log("🔄 Refreshing backpack info..."); showBackpackInfo(); setTimeout(() => checkForExpanders(), 5000); }, 5000); }); } else { console.log("❎ Operation cancelled by user."); askToCheckAgain(); } } ); }
  22. Trade bans can be checked with the GetPlayerBans WebAPI method. Escrow can be checked with the GetTradeHoldDurations WebAPI method. getUserDetails() works by loading the tradeoffer page (using the user's trade link) and scraping the results from the HTML.
  23. Hi im using this logit to check if trade partner has any prohibition or escrow or not const offer = manager.createOffer({tradeLink}); offer.getUserDetails((err, me, them) => { if (err) { return res.status(200).send({ status: 1, tradeBan: true, error: err.message, }); } if (them.escrowDays) { logger(`user has trade escrow days: ${them.escrowDays}`); return res.status(200).send({ status: 1, tradeBan: true, error: 'trade has escrow', }); } but for some reason i got this error: "HTTP error 429" and its for rate limit / too many requests i want to know : 1. is there any other way to check prohibition or escrow in trade execpt the getUserDetails() method? 2. how the taradeoffermanager works and get prohibition data from ?
  24. In my personal experience, the session expires on its own, even if you actively use it. At the same time, the user does not deauthorize all devices or change anything related to security.
  25. Yeah, no reason that shouldn't work.
  26. Hi, its a little simple but can i login 2 or 3 account using steam-user in a single script sth liek this const logOnOptions1 = { accountName: config.STEAM_USER_1, password: config.STEAM_PASS_1, }; const logOnOptions2 = { accountName: config.STEAM_USER_2, password: config.STEAM_PASS_2, }; client1.logOn(logOnOptions1 ); client2.logOn(logOnOptions2 );
  27. Hello, I use Steam-User without any other functions, I have a memory leak after 3-12 hours of work, I mainly use these methods: new SteamUser({ enablePicsCache: false, renewRefreshTokens: true, httpProxy: proxy, saveAppTickets: false }); client.logOff client.logOn client.once('disconnected' client.setOption("httpProxy" client.setPersona(SteamUser.EPersonaState.Online) client.once('loggedOn' client.gamesPlayed(games) client.on('error' client.on('refreshToken' client.getUserOwnedApps client.requestFreeLicense
  28. Hi, also found out that getPersonas method doesn't return richPresence data but responsed object has such property, so maybe it is due to the changes of protobuff schemas. If somebody who understands protobuffs could fix getPersona method it would be great. Thank you @Dr. McKay
  29. Hey all, I am trying to work on a small projects trying to retrieve items from a users inv but for whatever reason some items are missing from public view and via API. However, when you go to trade offers the items in questions do show up. I am using getPartnerInventoryContents resp is: But if you got to trade offer all items show up: The AK-47 Rev would be an example as a missing item from public inventory/API response. What would cause Valve from hiding said items? (They are not trade blocked, and they are tradeable and sellable on the marketplace. Thanks for your time and help! Edit: Looks like using community.getUserInventoryContents instead of trade.getPartnerInventoryContents worked. Can disregard this post
  1. Load more activity
×
×
  • Create New...