2015-11-05 11 views
7

Recentemente ho scoperto che è possibile controllare il valore float di un articolo dal mercato del vapore inserendo il link inspect su siti come csgo.exchange e csgozone.net.Come ottenere il valore float di CS: GO articoli di mercato?

Dopo alcune ricerche ho scoperto la sintassi di un collegamento di ispezione.

steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561197973845818A3130594988D7956282211490500705

Un normale collegamento ispezionare consiste nella SteamID del proprietario e l'assetid della voce

steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S<STEAM_ID>A<ASSET_ID>D7956282211490500705

voce di mercato di vapore ispezionare link:

steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M322366017503471651A4084214062D7521609830474722133

Con queste informazioni è possibile ottenere il valore float dell'articolo. Ma c'è una differenza tra ispezionare i collegamenti dagli articoli negli inventari dei giocatori e controllare i collegamenti dagli articoli sul mercato del vapore. Un link di ispezione dal mercato contiene il market listid invece del steamid del proprietario.

Come posso ottenere il valore float dell'articolo con le informazioni dal link di controllo del mercato?

+0

Come fai a sapere che è diverso? A quanto pare, il sito potrebbe avere solo una versione memorizzata nella cache, che tu chiami il "valore di mercato", e che non viene aggiornato con la frequenza con cui stai verificando. La versione che vedi personalmente è il reale valore reale attuale, presumo, mentre stai controllando in tempo reale a vapore. Faccio queste ipotesi perché non vedo perché avrebbero distinti "valori dei giocatori". – personjerry

risposta

6

Per completare un po 'la risposta, piuttosto che solo indicando il mio npm module, l'intero processo di conversione di un ispezionare collegamento a un valore float viene scomposto in questo modo:

  • È necessario ottenere un SteamClient collegata, per questo, fornire le informazioni di accesso. Nota che potresti avere un ritardo di alcuni giorni prima (Sicurezza di Steam).
  • Un'autenticazione corretta comporterà che il SteamGameCoordinator risponderà con un tipo di messaggio 4004, recuperato fondamentalmente da bitwising dello header.msg con ~0x80000000.
  • Dopo di che, è possibile inviare in modo efficace un CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest ai GC con 4 parametri: param_s, param_a, param_d, param_m che possono essere recuperati decomponendo il link ispezionare, nel tuo caso S: 76561197973845818, A: 3130594988 e D: 7956282211490500705 e passare 0 per M.
  • Riceverai un messaggio 9157 che si può decodificare con CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse creando un nuovo Buffer di 4 byte e writeUInt32LE il response.iteminfo.paintwear.

Ora hai il galleggiante, congratz!


csgo-float è Astraendo tutto e ti permettono di avere solo per fornire i tuoi informazioni d'accesso, e l'invio del vapore ispezionare link che restituirà una promessa, rendendo più semplice:

client.requestFloat('S76561197973845818A3130594988D7956282211490500705') 
    .then(floatValue => console.log(floatValue)) 
    .catch(err => console.log(err)) 
0

The csgo-float module (utilizzando node-steam) può ottenere il valore float di un elemento tramite il coordinatore di gioco. Gestisce sia i collegamenti di ispezione della quotazione di mercato sia i collegamenti regolari di ispezione dell'inventario.

1

Aperçu ha la soluzione e, giustamente, la risposta accettata. Tuttavia, se desideri qualcosa che ritorni i risultati molto più rapidamente, c'è un'estensione di Chrome (Stmy's CS:GO Market Details) che fa esattamente questo. Restituisce automaticamente il valore float (insieme a tutte le altre informazioni sull'elemento) per l'intera pagina. Consente inoltre di ordinare più pagine di risultati in base a criteri diversi. Ho usato un paio di altre soluzioni, ma sei costretto a fare clic per ogni valore e/o copia/incolla su un sito Web di terze parti.