Originally Posted by 404UNF
This thing's only been out for a day, I think it'd be safe to just scrap the old name entirely.
I like my backwards compatibility reeeee
Anyways, 0.7.1 has been released
with support to convert item slot names to indices and vice-versa.
Considering what I just said about backwards compatibility, ironically enough, I do have to note that the slot values are not
compatible with those in TF2IDB and TF2II. Those two plugins return values mapping approximately to the virtual CBaseCombatWeapon::GetSlot()
function (which is what GetPlayerWeaponSlot()
looks up), while TF2 itself has a slightly different mapping.
I'll refer to the former as "weapon slots", and the latter as "loadout slots".
Here is TF2IDB's list
, and this is the current game-specific mapping for comparison (the indices go from 0 to 18 inclusive):
So, if you're porting from one of the two to this plugin, don't use the TF2ItemSlot
enum values when checking the result of TF2Econ_GetItemSlot()
-- convert between slot indices and names with TF2Econ_TranslateLoadoutSlotIndexToName()
If you want to access the entity in a specific loadout slot, it'd be preferable to use an SDKCall to CTFPlayer::GetEntityForLoadoutSlot()
or use my maintained fork of Powerlord's TF2 Wearables API
, which has a native to do just that.
Otherwise, you may want to grab a variation of GetSlotByName
and translate from loadout slot → name → weapon slot.