View Single Post
Author Message
nosoop
Veteran Member
Join Date: Aug 2014
Old 03-17-2019 , 07:17   [TF2] Econ Data (supercedes TF2IDB, TF2ItemsInfo) (0.18.3, 2023-01-30)
Reply With Quote #1

Description:
Read TF2 item schema properties from game memory. Alternative to TF2ItemsInfo (only took 7 years for that mem-hacking version!) and TF2 Item DB.

Looking for the CS:GO version? It's way over here.

ConVars:
  • tfecondata_version: Version string. No touchy.
Dependencies:
  • stocksoup is used to compile the shared plugin, using a few of its handle and memory-related stock functions. You don't need it unless you're interested in working on the library itself, or want to build from source. It's set up as a git submodule, so do a recursive clone to get the version the project is written against.
Installation:
Go to the releases page and get the following from the topmost release:
  • Copy tf_econ_data.smx to plugins/
  • Copy tf2.econ_data.txt to gamedata/
  • Copy tf_econ_data.inc to scripting/include/
For plugin developers:
Some example code is provided in the project README. The include file should be easy enough to read if you're familiar with how TF2 handles items; if there's anything that is unclear file an issue or post in the thread.

I've also written up a list of equivalent natives between TF2II / TF2IDB and this library, for any developers that want to migrate.

As this plugin is now able to match the feature set of the previous plugins, there is now a pre-alpha project that provides drop-in replacements for both TF2IDB and TF2ItemsInfo. If you're a developer that has plugins that depend on either, I'm sure others would appreciate any contributions to fill out the currently unimplemented natives.

Important breaking changes / fixes for server operators running older versions:
(This does not show feature additions; check the download link below or the include file link above for that.)
  • 0.18.1 Fixes the wrong value being read in TF2Econ_GetPaintKitDefinitionList, which led to out-of-bounds array accesses and crashes on Windows.
  • 0.17.1 Gamedata update; signatures were broken a recent game update used by TF2Econ_Get*DefinitionString, resulting in crashes on Windows.
  • 0.17.1 Fixes TF2Econ_TranslateAttributeNameToDefinitionInd ex returning a full 32-bit value instead of just the relevant 16 bits.
  • 0.16.6 Fixes item definition-related functions reading off a special "default" item definition.
  • 0.6.0 Deprecates TF2Econ_IsValidDefinitionIndex in favor of TF2Econ_IsValidItemDefinition. Both function names will continue to work, but this makes things consistent for when I eventually add TF2Econ_IsValidAttributeDefinition or something.
  • 0.5.1 Rectifies an issue in 0.5.0 where the SDKCall causes crashes due to nonexisting keys.

Team Fortress 2: Source / Download

CS:GO: Post
__________________
I do TF2, TF2 servers, and TF2 plugins.
I don't do DMs over Discord -- PM me on the forums regarding inquiries.
AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)

Last edited by nosoop; 01-30-2023 at 17:43.
nosoop is offline